HB-Dis-EP-42BW - 4.2" ePaper Display

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von TomMajor » 19.04.2019, 20:24

lame hat geschrieben:
19.04.2019, 18:32
TomMajor hat geschrieben:
19.04.2019, 18:02
Sollte gefixt sein, octal number Problem.
Gerade getestet, passt jetzt :D
Danke dafür.

Octal :shock: da hatte ich ja schon ewig nichts mehr von gehört.
Ich hoffe das ich euch den Feiertag nicht verdorben habe.
Freut mich das der Skript einen Bug weniger hat :wink:
Kein Problem, hatte gerade etwas Zeit dafür.
Ist übrigens das gleiche in C, führende 0 kennzeichnet octal und bei 08 geht das schief..
Viele Grüße,
Tom

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von jp112sdl » 19.04.2019, 22:21

Hab heut auch noch ein bisschen Code-Refactoring betrieben.
Muss mal schauen, ob ich für die V1.1 einen neuen Thread eröffne.
Werd ich dann voraussichtlich Montag zusammen mit einer neuen Addon Version veröffentlichen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von TomMajor » 20.04.2019, 01:18

jp112sdl hat geschrieben:
19.04.2019, 22:21
Hab heut auch noch ein bisschen Code-Refactoring betrieben.
Muss mal schauen, ob ich für die V1.1 einen neuen Thread eröffne.
Werd ich dann voraussichtlich Montag zusammen mit einer neuen Addon Version veröffentlichen.
Meinst du eine neue Firmware 1.1 für neue Device Parameter - hat nichts mit Marcos Board Version 1.1 zu tun, korrekt?
Viele Grüße,
Tom

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von jp112sdl » 20.04.2019, 06:40

TomMajor hat geschrieben:
20.04.2019, 01:18
hat nichts mit Marcos Board Version 1.1 zu tun, korrekt?
Korrekt.
TomMajor hat geschrieben:
20.04.2019, 01:18
Meinst du eine neue Firmware 1.1 für neue Device Parameter
Richtig.
Wobei beim Anlegen neuer Parameter ja nicht neu angelernt werden muss.
Selbst wenn jemand mit altem Code-Stand den neuen Parameter setzt, passiert nix (ist also abwärtskompatibel).
Die neue Versionsnummer hätte ich nur wegen der "Optik" verwendet.

Die größte Neuerung ist die verzögerte Darstellung, falls mehrere Texte (bspw. gesplittet wegen Überlänge) ans Display gesendet werden.
Die Idee kam aus einem Gespräch mit stan23.
Bisher ist es so, dass nach dem Empfang eines Telegramms sofort das ePaper aktualisiert wird.
Währenddessen ist das Gerät blockiert und man kann erst mit dem nächsten Telegramm fortfahren, wenn das durch ist.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von lame » 20.04.2019, 09:11

jp112sdl hat geschrieben:
20.04.2019, 06:40
Die größte Neuerung ist die verzögerte Darstellung...
Hört sich gut an.

Ich wollte nochmal nachfragen ob die 20fache Ausgabe der Debug Daten aus dem Sketch heraus normal war.
Siehe viewtopic.php?f=76&t=48153&start=280#p504712
Viele Grüße
Lars

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von jp112sdl » 20.04.2019, 09:23

lame hat geschrieben:
20.04.2019, 09:11
jp112sdl hat geschrieben:
20.04.2019, 06:40
Die größte Neuerung ist die verzögerte Darstellung...
Hört sich gut an.

Ich wollte nochmal nachfragen ob die 20fache Ausgabe der Debug Daten aus dem Sketch heraus normal war.
Siehe viewtopic.php?f=76&t=48153&start=280#p504712
Ja. Ist korrekt so.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von lame » 20.04.2019, 11:48

jp112sdl hat geschrieben:
20.04.2019, 09:23
Ja. Ist korrekt so.
Danke für die Info und ein schönes Wochenende.
Viele Grüße
Lars

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von TomMajor » 21.04.2019, 01:20

jp112sdl hat geschrieben:
20.04.2019, 06:40

Die größte Neuerung ist die verzögerte Darstellung, falls mehrere Texte (bspw. gesplittet wegen Überlänge) ans Display gesendet werden.
Die Idee kam aus einem Gespräch mit stan23.
Bisher ist es so, dass nach dem Empfang eines Telegramms sofort das ePaper aktualisiert wird.
Währenddessen ist das Gerät blockiert und man kann erst mit dem nächsten Telegramm fortfahren, wenn das durch ist.
Klingt sehr sinnvoll, auch für den Fall das man alle 10 Zeilen beschreiben will und wegen dem CCU/Protokoll Telegramm Limit auf 2 Sendebefehle aufteilen muss...
Viele Grüße,
Tom

Alexxx2005
Beiträge: 252
Registriert: 17.12.2014, 18:56
Hat sich bedankt: 19 Mal
Danksagung erhalten: 3 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von Alexxx2005 » 21.04.2019, 11:47

Hallo,
wie kann ich in dem Skript die Position zur Anzeige des Datum's
ändern , momentan wird der Tag in Zeile 3 und das Datum in Zeile 4
angezeit ich möchte es aber in Zeile 1 und 2 haben.

Grüße Alex
Datum (wird nachts um 0 Uhr gesetzt):

Code: Alles auswählen

integer d = system.Date("%w").ToInteger() + 82;
string dayCommand = "0x"#d.ToString();

string datum = system.Date("%d.%m.%Y");
    
string substitutions = "A,0x41\tB,0x42\tC,0x43\tD,0x44\tE,0x45\tF,0x46\tG,0x47\tH,0x48\tI,0x49\tJ,0x4A\tK,0x4B\tL,0x4C\tM,0x4D\tN,0x4E\tO,0x4F\tP,0x50\tQ,0x51\tR,0x52\tS,0x53\tT,0x54\tU,0x55\tV,0x56\tW,0x57\tX,0x58\tY,0x59\tZ,0x5A";
    substitutions = substitutions # "\ta,0x61\tb,0x62\tc,0x63\td,0x64\te,0x65\tf,0x66\tg,0x67\th,0x68\ti,0x69\tj,0x6A\tk,0x6B\tl,0x6C\tm,0x6D\tn,0x6E\to,0x6F\tp,0x70\tq,0x71\tr,0x72\ts,0x73\tt,0x74\tu,0x75\tv,0x76\tw,0x77\tx,0x78\ty,0x79\tz,0x7A";
    substitutions = substitutions # "\t0,0x30\t1,0x31\t2,0x32\t3,0x33\t4,0x34\t5,0x35\t6,0x36\t7,0x37\t8,0x38\t9,0x39\t ,0x20\t!,0x21\t\",0x22\t%,0x25\t&,0x26\t=,0x27\t(,0x28\t),0x29\t*,0x2A\t+,0x2B\t,,0x2C\t-,0x2D\t.,0x2E\t/,0x2F";
    substitutions = substitutions # "\tÄ,0x5B\tÖ,0x23\tÜ,0x24\tä,0x7B\tö,0x7C\tü,0x7D\tß,0x5F\t:,0x3A\t;,0x3B\t@,0x40\t>,0x3E";

string bufferLine;
string substEntry;
integer i;
string char;
string line;

string command = ",0x0A";

foreach(bufferLine, datum) {
   line = bufferLine;
   integer linelength = line.Length();
   if ((linelength > 0)) {
      command = command # ",0x12";
      if ((linelength == 4) && (line.Substr(0,2) == "0x")) {
         command = command # "," # line;
         i = 12;
      }
      else {
         i = 0;
      }
      if (linelength > 12) {
        linelength = 12;
      }
      while (i < linelength) {
        char = line.Substr(i, 1);   
        boolean b = true;
        foreach(substEntry, substitutions){
          if (b == true){
            if (char == substEntry.Substr(0,1)){
              command = command # substEntry.Substr(1,5);
              b = false;
            }
          }
        }
        i = i + 1;
       }
   }
   command = command # ",0x0A";
}


var cmd = "0x02,0x0A,0x0A,0x12,"#dayCommand#command#",0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x03";

WriteLine(cmd);

dom.GetObject("BidCos-RF.JPDISEP001:11.SUBMIT").State(cmd);
verwendete Fixtexte:
Bildschirmfoto 2019-03-06 um 12.49.07.png

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von lame » 21.04.2019, 12:12

Hi Alex,

Code: Alles auswählen

var cmd = "0x02,0x0A,0x0A,0x12,"#dayCommand#command#",0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x03";
Jedes 0x0A steht für das Ende einer Display Zeile.
Nimm am Anfang zwei weg und füge sie am Ende des cmd Strings, vor der 0x03, wieder ein.

Ich kann an dieser Stelle das TCL Helper Script nur empfehlen.
Viele Grüße
Lars

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“