Hallo,
mir ist aufgefallen, dass die Reihenfolge der Effekte (Beleuchtung, Tasten usw.) sehr wichtig ist.
So habe ich zuerst eine LED definiert und
erst darunter einen Pushbutton.
Ergebnis: Die LED bleibt aus. Und es ist egal ob da Test0 (LED leuchtet im "Aus"-Zustand) oder Test1 (LED leuchtet im betätigten Zustand) angegeben wird.
Ist das ein richtiges Verhalten oder ein Bug?
Gut beim ersten Durchlauf ist die Variable undefiniert, aber beim 2. Durchlauf hat sie ja ihren Wert. Oder liege ich hier falsch?
Getestet mit 3.5.0D4, passiert aber auch mit 3.5.0H an einer Lichtmaschine Pro.
Reihenfolge der Effekte
- PeterVT11 Verified
- MLL-TEAM

- Beiträge: 378
- Registriert: Mi 9. Apr 2025, 21:21
- Hat sich bedankt: 765 mal
- Wurde bedankt: 708 mal
Reihenfolge der Effekte
- Dateianhänge
-
LEDs_AutoProg.h.txt- (7.5 KiB) 8-mal heruntergeladen
-
- Rehenfolge.MLL_pgf
- (357 Bytes) 8-mal heruntergeladen
Viele Grüße Peter
Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
- jueff Verified
- MLL-TEAM

- Beiträge: 197
- Registriert: Fr 18. Apr 2025, 07:25
- Wohnort: Hallein/AT
- Hat sich bedankt: 80 mal
- Wurde bedankt: 417 mal
Re: Reihenfolge der Effekte
Servus Peter,
danke, das ist ein sehr wichtiger Hinweis!
genauers könnte vielleicht @Hardi dazu sagen, aber ich vermute, dass es so ist:
- der LED-Wert einer Const-LED wird nur beim Einschalten oder beim Ausschalten gesetzt
- ein Variable hat vier Werte: aus, ein, ausgeschaltet, eingeschaltet
- beim Start sind alle Variablen 0, aus
- die Konfiguration wird in jener Reihenfolge abgearbeitet, in der sie definiert sind
- die LED ist aus, weil Variablen TEST0 'aus'
- erst beim erreichen der Taster-Zeile wird entweder TEST0 oder TEST1 gesetzt
- die Variable TEST0 wird auf 'eingeschaltet' gesestzt
- die Konfiguration ist fertig abgearbeitet
- nach jedem Durchlauf werden die Variablen überarbeitet: eingeschaltet wird zu ein, ausgeschaltet wird zu aus
Nächste Loop
- die LED bleibt wie gehabt, weil die Variable zwar "ein" ist, aber der Const darauf nicht reagiert.
Das ist einer der Optimierungen, die @Hardi vermutlich eingebaut hat, um die CPU-Resourcen maximal zu schonen.
Aus MobaLedLib.cpp
Jürgen...
danke, das ist ein sehr wichtiger Hinweis!
genauers könnte vielleicht @Hardi dazu sagen, aber ich vermute, dass es so ist:
- der LED-Wert einer Const-LED wird nur beim Einschalten oder beim Ausschalten gesetzt
- ein Variable hat vier Werte: aus, ein, ausgeschaltet, eingeschaltet
- beim Start sind alle Variablen 0, aus
- die Konfiguration wird in jener Reihenfolge abgearbeitet, in der sie definiert sind
- die LED ist aus, weil Variablen TEST0 'aus'
- erst beim erreichen der Taster-Zeile wird entweder TEST0 oder TEST1 gesetzt
- die Variable TEST0 wird auf 'eingeschaltet' gesestzt
- die Konfiguration ist fertig abgearbeitet
- nach jedem Durchlauf werden die Variablen überarbeitet: eingeschaltet wird zu ein, ausgeschaltet wird zu aus
Nächste Loop
- die LED bleibt wie gehabt, weil die Variable zwar "ein" ist, aber der Const darauf nicht reagiert.
Das ist einer der Optimierungen, die @Hardi vermutlich eingebaut hat, um die CPU-Resourcen maximal zu schonen.
Aus MobaLedLib.cpp
Code: Alles auswählen
//-----------------------------
void MobaLedLib_C::Proc_Const()
//-----------------------------
{
uint8_t Inp = Get_Input(pgm_read_byte_near(cp+P_INPCHANEL));
if (Inp == INP_TURNED_ON || Inp == INP_TURNED_OFF || Initialize)
- rstaiger Verified
- MLL-TEAM

- Beiträge: 357
- Registriert: Di 15. Apr 2025, 11:23
- Wohnort: Nationalpark Eifel
- Hat sich bedankt: 494 mal
- Wurde bedankt: 828 mal
Re: Reihenfolge der Effekte
… deswegen habe ich mir angewöhnt, die Pushbuttons zusammen als „Päckchen“ im PG weit oben anzuordnen, vor der ersten Aktion, die die auslösen sollen. Ist auch übersichtlicher.
LG Ralph
LG Ralph
Spur Z digital
Märklin Gleise (in komplett-Restauration wegen reinigungshalber geschrumpfter Schwellen) und Weichen-Walters wunderschöne Weichen
Licht und Sound mit der MLL
im Aufbau:
YaMoRC Zentrale YD7010, Rückmelder YD6016LN-RC
ITrain
Märklin Gleise (in komplett-Restauration wegen reinigungshalber geschrumpfter Schwellen) und Weichen-Walters wunderschöne Weichen
Licht und Sound mit der MLL
im Aufbau:
YaMoRC Zentrale YD7010, Rückmelder YD6016LN-RC
ITrain
-
- Vergleichbare Themen
- Antworten
- Zugriffe
- Letzter Beitrag
