Fehlermeldung nach der Erweiterung von Ausgängen

Antworten
EP2Bernie Verified
Beiträge: 3
Registriert: Di 15. Apr 2025, 14:42
Wohnort: Sindelfingen
Hat sich bedankt: 65 mal
Wurde bedankt: 3 mal

Fehlermeldung nach der Erweiterung von Ausgängen

#1

Beitrag von EP2Bernie Verified »



Was lässt sich nicht machen?
Durch die stetige Erweiterung der Beleuchtungen/Weichen bin ich jetzt auf eine Fehlermeldung gestoßen:
Die Anzahl der verwendeten Eingangskanäle ist zu groß. Es sind maximal 250 verfügbar.
Ansonsten funktioniert alles einwandfrei.

Was wurde schon alles unternommen, um den Fehler zu finden bzw. einzugrenzen?
Zurücknehmen der neuen Stepperplatine.

Hat es schon mal funktioniert und wenn ja, was wurde danach verändert?
Ja, durch Hinzufügen einer weiteren Stepperplatine.

Zusatzinformationen:

Software
Betriebsystem:Windows 11
Version der MobaLedLib:Betaversion - Ver 3.4.0A - 28.05.2025
eingesetztes Version von Excel:MS Excel 2019
Hardware
Version der Hauptplatine:Version 1.8.2 - 22.12.2022
Controller auf der Hauptplatine:ESP32 38-polig
Ansteuerung der MobaLedLib-Effekte:DCC
Verwendete LEDs/ICs:WS2812B
WS2811 - IC


Bilder und Dateianhänge
Dieser Text wurde erstellt mit dem Generator für Hilfeanfragen der MobaLedLib.
Fehlermeldung 250 Eingangskanäle.pdf
(264.28 KiB) 15-mal heruntergeladen
Prog+BWges+LS+Weichen.MLL_pgf
(33.42 KiB) 22-mal heruntergeladen
Gibt es die Möglichkeit diese Eingangskanäle zu erweitern, oder muss ich meine Definitionen auf mehrere Hauptplatinen verteilen?

Ich bedanke mich schon im Voraus für Lösungsvorschläge.

Grüße, Bernd

Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 198
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 406 mal
Wurde bedankt: 462 mal

Re: Fehlermeldung nach der Erweiterung von Ausgängen

#2

Beitrag von PeterVT11 Verified »

Hallo Bernd,

das ist ein Fehler oder Problem. Ich bin mir nicht sicher, ob die Begrenzung auf 250 eine Bedeutung (1 Byte) hat oder willkürlich gewählt wurde.
Hier werden die INCH_DCC_xxx, Switch-Tasten und alle verwendeten Variablen zusammen gezählt. Das sind in deinem Fall eben 251.
Ich denke, da kann uns nur @jueff oder @Hardi helfen.

Nachtrag:
Ich hab mal den Wert erhöht, doch das gibt dann Compilerfehler, da Variablen von 16 Bit gefordert sind, aber nur 8 Bit definiert sind.
Ich fürchte, das ist im Moment die Grenze für die MobaLedLib. Man könnte/müsste das Ganze auf zwei Lichtmaschinen verteilen. Zumindest bis es eine Software-Lösung gibt.

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
EP2Bernie Verified
Beiträge: 3
Registriert: Di 15. Apr 2025, 14:42
Wohnort: Sindelfingen
Hat sich bedankt: 65 mal
Wurde bedankt: 3 mal

Re: Fehlermeldung nach der Erweiterung von Ausgängen

#3

Beitrag von EP2Bernie Verified »

Hallo Peter,

vielen Dank für deine schnelle Antwort. Wie bereits erwähnt werde ich im Endausbau die Beleuchtung und die Weichen auf mindestens 2 Lichtmaschinen aufteilen. Da kommen noch einige weitere Beleuchtungen, Weichen, Signale und Sound dazu. Soweit reicht mir vorläufig mal deine hilfreiche Antwort. Besten Dank dafür.

Gruß, Bernd

Benutzeravatar
jueff Verified
Kerzenanzünder
Beiträge: 42
Registriert: Fr 18. Apr 2025, 07:25
Wohnort: Hallein/AT
Hat sich bedankt: 36 mal
Wurde bedankt: 172 mal

Re: Fehlermeldung nach der Erweiterung von Ausgängen

#4

Beitrag von jueff Verified »

PeterVT11 hat geschrieben: Mi 20. Aug 2025, 17:57
Hallo Bernd,

Ich denke, da kann uns nur @jueff oder @Hardi helfen.
Nach meinem Urlaub….

Grüße aus Brasilien,
Jürgen…
Zuletzt geändert von jueff Verified am Di 16. Sep 2025, 20:54, insgesamt 1-mal geändert.

Benutzeravatar
jueff Verified
Kerzenanzünder
Beiträge: 42
Registriert: Fr 18. Apr 2025, 07:25
Wohnort: Hallein/AT
Hat sich bedankt: 36 mal
Wurde bedankt: 172 mal

Re: Fehlermeldung nach der Erweiterung von Ausgängen

#5

Beitrag von jueff Verified »

Hallo Zusammen,

Jede Variable in der MobaLedLib benötigt 2 Bit Speicher. Aufgrund des geringen Speichers das Nano (ATMega328) hat Hardi den Speicher für Variablen auf 64 Byte begrenzt, was wiederum 64*8/2 = 256 Variablen maximal bedeutet. Einige Variablen sind vordefiniert, womit 250 freie Variablen übrigbleiben.
Daher ist in weiterer Folge die Variablennummer in der gesamten Bibliothek mit einem Byte definiert.

Um das zu Erweitern muss statt eines Byte (0..255) ein Word (0...65535) verwendet werden, und das natürlich nur auf den Prozessoren mit mehr RAM (ESP, PICO), für den Nano muss alles beim Alten bleiben.

Es nun JEDE Makrodefinition, welche mit einer Variable arbeitet (also ca. 95%), angepasst und die dahinertliegende MobaLedLib Funktion überarbeitet werden . Einige Makros wie z.B. Logic sind dabei richtig aufwändig und benötigen zusätzlich Änderungen im ProgGenerator. Und dann noch so Sonderfunktionen wir Copy_Bits_to_InpStructArray.

Das wird richtig aufwändig - also bitte Freiwillige vor, die diese Änderung betreuen.

Jürgen...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag

Zurück zu „Bugs und offene Punkte“