Unerwarteter Speichermangel Lichtmaschine 101

Antworten
screatch Verified
Kerzenanzünder
Beiträge: 20
Registriert: Do 29. Jan 2026, 19:42
Wohnort: Thüringen
Hat sich bedankt: 30 mal
Wurde bedankt: 8 mal

Unerwarteter Speichermangel Lichtmaschine 101

#1

Beitrag von screatch Verified »

Hallo . liebe Mobaliber, ich habe eine Frage zur Programmierung des LED Nano. Ich habe das unte zusehende Programm auf den Nano geladen.
Prog_Gen_Data_15_06_2026_actuell_mit Weichen391-395_erweitert. [code][attachment=0]Prog_Gen_Data_15_06_2026_actuell_mit Weichen391-395_erweitert.MLL_pgf
[/code]
Wenn ich alle Programmzeilen aktiviere zur Programmierung erhalte ich 97 % Programm und 75 % dynamisch angezeigt .
Das Programm läuft aber nicht, dh. Heartbeat auf der Platine flackert nur schwach unkontrolliert.
Ich habe danach einzelne Programmteile abgewählt und dann erneut programmiert:
- ohne BBW Zeile 10 -22 deaktiviert 97% 71%
-einige Stepper- deaktiviert Zeile 110 -127 91% 69%.
Ich habe die Stepper auf LED Kanal 2 umgestellt, von der LED Steuerung Kanal 0 getrennt.
Jetzt meine Frage: was ist an meinem Programm nicht in Ordnung, das die Speicherauslastung so hoch ist, oder geht nicht mehr drauf.
Ich habe ja nur 62 LED Kanal 0 und 21 auf Kanal 2. Braucht die Steppersteuerung zu viel Speicher?
Wer könnte mir dazu mal ein Feedback geben.
Noch eine Anmerkung: bei der Prommierung nur Zeile 3 - 46 blitzen alle LED´s sporadisch.
Dateianhänge
Prog_Gen_Data_15_06_2026_actuell_mit Weichen391-395_erweitert.MLL_pgf
(7.88 KiB) 8-mal heruntergeladen

Viele Grüße aus Thüringen.
Dietmar.
__________________________________________________________________________________________
Spur TT; WIN-Digiped2009; Uhlenbrock Basic;Weichendecoder Sven Brand; Dekoderwerk;Besetztmelder ;Sven Brandt; Yamork ;LDT; MLL 101; LocoTurn; MLL Stepper;
Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 523
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 925 mal
Wurde bedankt: 838 mal

Re: Unerwarteter Speichermangel Lichtmaschine 101

#2

Beitrag von PeterVT11 Verified »

Hallo Dietmar,

Das ist eindeutig Zuviel für den Arduino. Genaue Zahlen (sprich Prozentzahlen) hab ich nicht. Aber mir ist das auch passiert. Abhilfe gibt es nur mit der Lichtmaschine Pro (mit dem ESP32) oder zwei Lichtmaschine Classic (mit Arduino). Früher gab es auch eine ESP32-Erweiterung, aber die war aus meiner Sicht nicht optimal.
Da sicher noch mehr Programmzeilen dazu kommen, ist die Lichtmaschine Pro die richtige Wahl.

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Benutzeravatar
Frank_TT Verified
MLL-TEAM
MLL-TEAM
Beiträge: 566
Registriert: Di 8. Apr 2025, 17:34
Wohnort: Stuttgart (MLL-Shop)
Hat sich bedankt: 2172 mal
Wurde bedankt: 1269 mal

Re: Unerwarteter Speichermangel Lichtmaschine 101

#3

Beitrag von Frank_TT Verified »

Hallo Dietmar,

versuche mal über den Programmgenerator den Bootloader für Full Memory zu installieren.
Vielleicht kommst du damit für den Moment ein Stück weiter.

Viele Grüße Frank

Alle Informationen und auch die Bauanleitungen zur MobaLedLib findet ihr hier: https://wiki.mobaledlib.de/
Der Shop der MobaLedLib ist hier zu finden: https://shop.mobaledlib.de / Telefon: +49 711 16120 789
Benutzeravatar
raily74 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 761
Registriert: Di 8. Apr 2025, 20:48
Wohnort: Kassel (LK)
Hat sich bedankt: 1331 mal
Wurde bedankt: 3187 mal
Kontaktdaten:

Re: Unerwarteter Speichermangel Lichtmaschine 101

#4

Beitrag von raily74 Verified »

Hallo Dietmar,

leider habe ich aktuell keinen Zugriff auf die MobaLedLib und kann mir die PGF nicht anschauen. Gut 80 LEDs sind aber in der Tat ziemlich wenig, wo doch der Arduino bis zu 256 RGBs schalten könnte.

Ohne dass ich es mir genauer ansehen kann, so kann ich aber zumindest aufzählen, welche Funktionen Speicher belegen und somit die Anzahl der maximal möglichen LEDs reduzieren.
  • Muster aus dem Pattern Configurator (vor allem mit 8 Bits)
  • Variablen (glaube ich)
  • Reservierte LEDs (z. B. für ungenutzte WS2811)
  • Farbeinstellungen (um vorgegebene Helligkeiten zu ändern)
  • RGB LEDs statt einstellbarer LEDs
Wenn du davon viel verwendest, ist die Lichtmaschine Pro wie von Peter beschrieben die beste Lösung.

Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau ─ YouTube MLL | Erwecke deine Modellbahn zum Leben
Neu! Die MLL-Suche | Teste sie jetzt! Du wirst begeistert sein. ─ MobaLedLib Wiki | Alle Lösungen zentral an einem Ort
Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 523
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 925 mal
Wurde bedankt: 838 mal

Re: Unerwarteter Speichermangel Lichtmaschine 101

#5

Beitrag von PeterVT11 Verified »

Hallo Dietmar,

ich hab gerade versucht deine PGF zu laden. Leider schlägt das fehl. Daher meine Frage:

Welche Version der MobaLedLib verwendest Du? (Steht im Prog_Generator im Excel-Sheet oben rechts).

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Benutzeravatar
jueff Verified
MLL-TEAM
MLL-TEAM
Beiträge: 274
Registriert: Fr 18. Apr 2025, 07:25
Wohnort: Hallein/AT
Hat sich bedankt: 101 mal
Wurde bedankt: 536 mal

Re: Unerwarteter Speichermangel Lichtmaschine 101

#6

Beitrag von jueff Verified »

Servus Zusammen,

irgend etwas stimmt hier nicht zusammen.
- das Export File lässt sich nicht importieren, es sind zusätzliche, unerwartete Zeilenumbrück in der Datei

Wird der Export manuell korrigiert und importiert zeigt es bei mir

- Flash: 27762 bytes (90%) of 30720
- RAM: 997 bytes (48%) of 2048

bei Dietmar: 97 % Programm und 75 % dynamisch angezeigt .

Bei mir läuft das importierte Programm.

Was anzumerken ist: Es sind drei Scheduler konfiguriert, einer davon wird gar nicht verwendet.
Der Scheduler braucht ca 1000 byte + ca 110 Byte pro Instanz = 1330 gesamt, das ist im Umfeld der MobaLedLib RIESIG viel Speicher. Zusätzlich braucht der Scheduler mindestens 30 Byte RAM pro Instanz, also 90. Diese werden vom Scheduler dynmisch allokiert, werden also bei der Kompilierung nicht ausgewiesen. Sind schon 75% benutzt sind noch 500 Byte RAM übrig, für die Scheduler und den MobaLedLib Core. Das könnte je nach Situation knapp werden.

Grundlegend wäre zu klären:
1.) warum 97% und 75%?
2.) Kann der Scheduler optimiert werden?


zu 2.) ich glaube ja, bezüglich RAM werden einige Variablen als Instanzvariablen angelegt, die nur im Konstruktor verwendet werden (start_Std, start_Min, end_Std, end_Min), manche Instanzvariablen können durch lokale variablen ersetzt werden (DstVar, z_diff), optimierungsmöglichkeiten bei Variablen neuZufall und orgZufall. Auch die Flash Speichernutzung kann deutlich reduziert werden, weil einiges an redundantem Code vorhanden ist. Würde ca. 300 byte sparen.

Soweit mein Feedback dazu.
Jürgen...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag

Zurück zu „Lichtmaschine Classic 2.0“