hlinke hat geschrieben: Fr 18. Apr 2025, 15:27
Eckhart hat geschrieben: Fr 18. Apr 2025, 14:55
Hallo Harold!
hlinke hat geschrieben: Fr 18. Apr 2025, 14:27
Wie bekommen wir es hin, daß die Firmware konstant bleibt und nur Konfigurationsdaten ausgetauscht werden müssen und wir trotzdem die gesamte Funktionalität der MLL behalten?
Ich habe darauf keine Antwort.
Vielleicht kann Jürgen @jueff etwas dazu sagen?
Gibt es da eine Chance?
Viele Grüße
Harold
Ich bin zwar nicht Jürgen, aber ich kenne dennoch die Antwort. In meiner Pico Umgebung ist der Orginal-Soure von Hardi und Jürgen eincompiliert. Ich musste bislang keine einzige Zeile Code verändern, sondern konnte alles über einen Mantel-Wrapper, quasi als Virtualisierung der Arduino Umgebung lösen.
Mein "Haupttrick" ist dabei das Ausnutzen einer historischen Altlast des Atmel Assembler Instruction Sets. Dieses hat zwingend erfordert, dass man "const" Daten, die im Flash gespeichert waren, mit sog. PGM_READ_xxx Zugriffen attributieren musste. Das hat Hardi konsequent genutzt und mir ermöglicht, das mit meinem virtuellen Arduino Wrapper auf eine eigene Konfiguration umzulenken, die über das WLAN/Webinterface ladbar ist.
Es sind wirklich alle MLL Funktionen verfügbar und auch für eine nachträglich eingebrachte LED Konfiguration. (die auch deutlich umfangreicher sein kann)
Gruß, Eckhart
Hallo Eckhart,
wenn das bei Dir funktioniert, wo ist dann das Problem?
Vielleicht könntest Du mal in einen Ablaufplan zeigen, was machst Du genau, um von dem Excel-Programm zu Deinen Konfigurationsdaten zu kommen, die dann an den Prozessor gesendet werden?
Leider verstehe ich immer noch nicht so ganz, was Du da machst.
Viele Grüße
Harold
Hallo Harold!
Ich meine natürlich nicht die Textdaten, sondern das Binärformat! Die MobaLedLib Bibliothek, mit allen MLL Funktionen, ist IMMER (egal, wieviel davon genutzt wird!) auf JEDER MLL-Hauptplatine komplett verfügbar! Die binäre Konfiguration ist also zwischen den Hauptplatinen austascubar und es wandern IMMER ALLE konfigurierten Funktionen mit!
Mein Workflow:
- Ich kreiere mit deinem pyPG eine beliebige LED_AutoProg.h (mit welchen Macros auch immer)
- Dann übersetze ich die MLL nicht für einen Nano, oder ESP32, sondern für meinen Pico und lade es auf ebenjenen (einen Pico on Bench)
- Dieser Pico hat auch eine Webschnittstelle und damit kann man die binäre Konfiguration extrahieren und in dem Fileformat speichern, das ich bereits zeigte. Das ist sehr kompakt und nur wenige Bytes pro Macro!
- Diese Datei lade ich, wieder via Webschnittstelle, als File auf einen beliebigen anderen Pico auf meiner Bahn
- Das aktiviere ich dort und es sind alle Macros transferiert und laufen auf der Zielplatine ab.
Das meinte ich oben mit "Umwege"! Wenn der Programm Generator die paar Byte direkt erzeugen könnte, wäre es einfacher. 99% des Compilates sind ja bereits auf allen Haupplatinen. (und überall gleich!)
Gruß, Eckhart