Hallo Zusammen,
nun ist es scheinbar so weit, die nächste Beta Version ist fertig.
Diese Beta beinhaltet neben vielen anderen Neuerung und Verbesserungen eine große Erweiterung, das Include Makro. Noch nie habe ich an einem einzelnen Feature so lange gearbeitet, schon im Dezember hatte ich damit begonnen, und erst jetzt ist es fertig. Aber zuerst wie gewohnt der Überblick.
Neuerungen
- neues Makro "include" - der Inhalt eines anderen Konfigurationsblattes wird an dieser Stelle eingefügt
- Unterstützung der ATTiny Gleisbesetztmelder via CAN Bus
- neue Makros SingleLedSignal und SingleLedSignalEx - Anzeige von vier Signalbegriffen mit einer rot/grün LED
- Verbesserte Möglichkeiten, lange Tastendrücke über DCC/CAN zu behandeln
- Verbesserte Erkennung von Signalverlust bei DCC und Selectrix
- SEND_INPUTS liefert nun auch Änderungen von SwitchA, SwitchD und Variablen
- Store_Status: unterstützt SwitchB, erweitert auf max. InCnt 63
Verbesserungen
- fehlende Makros InCh_to_LocalVar, InCh_to_LocalVar1 und Bin_InCh_to_TmpVar1 hinzugefügt
- Vermeiden des Verlusts von Auslösern, wenn die Ein/Aus-Meldung sehr schnell kommt
- Fehlerbehebung, wenn NEXT_LED der letzte Eintrag einer Konfiguration ist
- Der ESP32 hat sich ein eigenes Bild verdient
- vieles, vieles mehr....
Installation wie immer über Optionen -> Update -> Installiere Beta Test.
und nun etwas ins Detail
Das Include Makro
Wozu braucht man denn so etwas? Gerade bei großen Konfigurationen habe ich es als praktisch empfunden, die Konfiguration über mehrere Excel-Blätter zu verteilen. So könnte z.B. jeder LED-Bus sein eigenes Blatt haben, oder es gibt komplexe Konfiguration, die ich mehrfach verwenden möchte, ohne sie kopieren zu müssen.
Durch die Möglichkeit, ein Konfigurationsblatt auch mehrfach einbinden zu können, ergeben sich natürlich einige zusätzliche Hürden
- Wie werden Variablen wiederverwendet?
- Was passiert mit den Adressen?
Aber Eins nach dem Anderen
Das neue Makro ist in „Konfiguration“ zu finden
Bild entfernt (keine Rechte)
Der Makro Dialog fragt nach zwei Argumenten: den Blattnamen und ein Adresse Offset.
Der Blattname ist klar, das Blatt mit diesem Namen soll eingebunden werden.
Das Adresse Offset wird zu jeder DCC/CAN/SX Adresse addiert, welche im eingebundenen Blatt vorkommt
Bild entfernt (keine Rechte)
So kann ich ein Blatt mehrfach verwenden, mit jeweils anderen Steueradressen
Bild entfernt (keine Rechte)
Blatt „Lauflicht“
Bild entfernt (keine Rechte)
Die Warn-Lights haben somit Adressen 21,24,27,30 und 33. Die Andreaskreuze 22, 25, 28 und so weiter.
Habt ihr bemerkt, dass hier unterschiedliche LED-Kanäle im eingebundenen Blatt sind? Ja, auch das geht.
Nun gibt es auch noch die Möglichkeit, Variablen in einem eingebundenen Blatt dynamisch zu vergeben. Beginnt eine Variable mit dem „$“ Zeichen heißt das, dass sie pro eingebunden Blatt eindeutig ist. Ohne „$“ Zeichen handelt es sich um dieselbe Variable auf allen eingebundenen Seiten.
Bild entfernt (keine Rechte)
Alternativ kann ich auch in einem Hauptblatt eine Variable setzen, und in jedem eingebunden Blatt auf diese zugreifen, ohne „$“.
Experimentiert einfach ein bisschen damit herum.
Lange Tastendrücke über DCC/CAN verarbeiten
Im bisherigen ProgGenerator war es nicht möglich, mit DCC einen langen Tastendruck zu verarbeiten, z.B. für einen Entkuppler. Das lag daran, dass die MLL Hauptroutine ca. 400ms nach dem Drücken einer Taste automatisch das Loslassen simulierte. Grund war ursprünglich, weil die Lenz LZ100 kein Loslassen der Taste schickte. Moderne DCC-Zentralen schicken sowohl das Drücken als auch das Loslassen der Taste. Beim aktuellen ProgGenerator ist das Verhalten nun einstellbar.
Bild entfernt (keine Rechte)
ATTiny Gleisbesetztmelder via CAN Bus
Hardi zeigte beim letzten Stammtisch seine winzigen Rückmeldemodule, die über den CAN Bus mit der MLL Hautplatine verbunden sind. Diese Module werden nun auch im ProgrammGenerator unterstützt.
SingleLedSignal und SingleLedSignalEx
Zwei neue Makros, um ein vierbegriffiges Signal mit nur einer Rot/Grün LED darzustellen.
Verbesserte Erkennung von Signalverlust bei DCC und Selectrix
Der DCC/Selectrix Arduino zeigt nun auch die fehlende Verbindung zum LED Arduino an. Das geschieht durch dreifache kurzes Blitzen.
Vielen Dank an alle Entwickler, Tester und Helfer, die diese Version ermöglicht haben. Ihr seid Spitze!
Und nun viel Spaß mit der neuen Version - ich freue mich über jede Rückmeldung.
Grüße, Jürgen...