Zitat von gaulois im Beitrag #2975
Hallo Jürgen,
woher weiß denn der Programmgenerator, dass es eine Verknüpfung gibt? Durch die einzutragende DCC-Adresse, auch wenn die gar nicht extern genutzt wird ?
Gruß
Gerd
Hallo Gerd,
mit dem Makro InCh_to_TmpVar reserviert der Programmgenerator eine Variable, in der der Status gespeichert wird. Als Quelle für die Variable dient im DCC Fall ein DCC Zubehördecoder-Telegramm, wie im Beispiel beginnend mit Adresse 10.
Den Signalen ist es aber egal, woher diese Variable gesetzt wird. Das kann auch über Switches erfolgen, siehe dieses Beispiel mit den drei Tasten auf der MLL Hauptplatine.
Bild entfernt (keine Rechte)
InCh_To_TmpVar(#InCh, 3) befüllt hier die Variable mit den 3 (=zweiter Parameter) Tasten beginnend mit #InCh=SwitchD1. Drückst du SwitchD1 wird das 1. Signalbild aktiviert, mit SwitchD2 das zweite etc.
Es hat dazu auch schon mal Postings gegeben, wo gezeigt wird, wie Signale mit Tasten und DCC gemeinsam bedient werden. Auch kann ich mich erinnern, einmal ein Video gesehen zu haben, in dem Hardi die verschiedenen Aktivierungsmethoden beschreibt.
Aber wie schon im vorigen Artikel geschrieben, die Logik sitzt hier im ProgrammGenerator, welcher den Arduino Programmcode erzeugt. Ich selbst verwende immer den ProgrammGenerator und PatternGenerator, obwohl ich auch Arduino Code entwickeln könnte, aber die Tools sind einfach praktisch.
Alternativ kannst du deinen eigenen Source-Code in der Arduino IDE programmieren, welcher diese Logik erzeugt und damit die MLL Komponenten steuert. Beispiele dazu gibt's
im Git repo oder im Ordner C:Users....DocumentsArduinoMobaLedLibexamples, wenn du MLL bei dir installiert hast.
Jürgen...