Hallo Peter,
Zitat von PeterVT11 im Beitrag #11808
Hallo,
ich würde gerne einen neuen Scheduler programmieren.
.
Vielen Dank
Peter
das liegt daran, dass in der Datei MobaLedLib.properties ein InCnt von -1 angegeben wurde. InCnt gibt an, wie viele Eingangs-Adressen das Makro benötigt. Der Scheduler braucht keine, also InCnt="0".
Der C++ code, wie er in deinem Zip ist, funktioniert so auch nicht, sieht eher nach einer Kopie der internen Funktionen des MLL Schedulers aus.
Eine Extension muss immer eine Klasse sein, die von MLLExtension ableitet, einen passenden Konstruktor hat und die Funktionen setup(..) und loop(..) implementiert.
Anbei ist eine Zip mit einem funktionierendem MLX, das lässt sich im ProgGenerator richtig konfigurieren und auch das Kompilieren funktioniert.
Die Funktionen setup() und loop(..) sind noch leer, da musst du nun dein eigenes Scheduler Programm einbauen.
Änderungen:
- das Libraries Verzeichnis heißt nun P_ScheduleMLX, der Name sollte immer so lauten, wie deine Extension.
- InCnt von "-1" auf "0" geändert
- OutCnt="n2" hinzugefügt, wird benötigt, für Makros, welche eigene Variablen definieren (DstVar1..DstVarN)
- passenden Konstruktor P_ScheduleExtension hinzugefügt
- leere setup() und loop() funktionen
- nicht kompilierbaren Code entfernt -> MLX ist ohne Funktion
bei den Details, wie du so eine Schedule Funktion programmierst, kann ich dir leider nicht weiterhelfen. Aber dein Ansatz, den Code von Hardi zu verwenden und anzupassen, denke ich ist der richtige Weg.
Da das Library Verzeichnis nun anders heißt musst du dein bisheriges Verzeichnis ScheduleMLX aus dem Arduino/libraries entfernen. Bei jedem Neustart des ProgGenerators werden die Extensions neu eingelesen.
Achtung für alle anderen: Das Teil ist OHNE FUNKTION!!Grüße, Jürgen...