P_Schedule

Antworten
Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 203
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 435 mal
Wurde bedankt: 474 mal

P_Schedule

#1

Beitrag von PeterVT11 Verified »

Hallo,

ich hatte die neue Schedule-Funktion ja schon in der alten Tageszeitung vorgestellt. Ich hab jetzt einen eigenen Thread dafür aufgemacht, damit man sie leichter wiederfindet.

Nachdem mir die eingebaute Schedule-Funktion nicht so zugesagt hat, habe ich eine Extension programmiert (Danke an Hardi zum Einstieg in die Extension-Materie).
In der P_Schedule-Funktion können die Zeitwerte in Stunden und Minuten eingegeben werden. Ebenso den Zufallsfaktor, der ggf. 0 sein darf.

Die Erweiterung kann von Github heruntergeladen werden. Dort ist die aktuelle Version hinterlegt.

https://github.com/PeterVT11/P_ScheduleMLX

Die ZIP-Datei muss nach P_ScheduleMLX (also ohne das anhängende "-main" im Verzeichnis C:\Users\<Benutzername>\Documents\Arduino\libraries entpackt werden. Nach einem Neustart des Programm-Generators ist die Funktion unter Erweiterungen zu finden.
In diesem Verzeichnis ist auch eine PDF-Datei mit der Beschreibung.
Es ist eine Beta-Version, sie kann also noch Fehler enthalten. Aktuell ist das die Version 0.19. Neu ist die Unterstützung für den Raspberry Pico.
2024-10-18 17_36_46-Auswahl des Makros.png
2024-10-18 17_36_46-P_Schedule_Eingaben.png

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
hlinke Verified
MLL-TEAM
MLL-TEAM
Beiträge: 170
Registriert: Do 10. Apr 2025, 19:30
Wohnort: Trier
Hat sich bedankt: 140 mal
Wurde bedankt: 163 mal
Kontaktdaten:

Re: P_Schedule

#2

Beitrag von hlinke Verified »

Hallo Peter,

danke für diese nette Erweiterung.

Leider funktioniert der link bei mir nicht. Es kommt ein Fehler 404, die Seite existiert nicht ...

Kannst Du das bitte nochmal überprüfen?

Danke

Harold

hlinke Verified
MLL-TEAM
MLL-TEAM
Beiträge: 170
Registriert: Do 10. Apr 2025, 19:30
Wohnort: Trier
Hat sich bedankt: 140 mal
Wurde bedankt: 163 mal
Kontaktdaten:

Re: P_Schedule

#3

Beitrag von hlinke Verified »

Ich habe es gefunden:

https://github.com/PeterVT11/P_ScheduleMLX

Kleiner Tippfehler BT anstatt VT.

Harold

Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 203
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 435 mal
Wurde bedankt: 474 mal

Re: P_Schedule

#4

Beitrag von PeterVT11 Verified »

Hallo Harold,

Danke für die Info. Da war ein Tippfehler in meinem Link. Hab´s geändert.

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Benutzeravatar
Gasco Verified
Novize des Beleuchters
Beiträge: 237
Registriert: Di 15. Apr 2025, 14:24
Wohnort: Grevenbroich
Hat sich bedankt: 329 mal
Wurde bedankt: 535 mal

Re: P_Schedule

#5

Beitrag von Gasco Verified »

Hallo Peter

ich hab noch eine Frage zur Funktion des Zufalls Ticks. Wir haben mal darüber gesprochen, aber zu meiner Schande muß ich gestehen, ich habs vergessen.

Könntest du mir das nochmal erläutern ?

Folgender Fall, zwei Schlafzimmer, Eltern und Kind, sie sollten nach dem Fernsehabend zu unterschiedlichen Zeiten zu Bett gehen. Wenn möglich nicht jeden Tag gleich. Läßt sich das über den Zufalls Tick realisieren ?

Im Biathlon 2ter geworden... wie?? er hatte doch eine Waffe dabei
viele Grüße aus dem Rheinland
Bodo

und denkt an das 11te Gebot
dua di ned deischn....
noch was wichtiges ...http://www.flugpate.com/
mein Projekt: meine Neue
Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 203
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 435 mal
Wurde bedankt: 474 mal

Re: P_Schedule

#6

Beitrag von PeterVT11 Verified »

Hallo Bodo,

das ist ggf. mit den Zufalls-Ticks möglich. So kann man z.B. 20:00 ein und 21:00 Uhr aus machen und einen Zufallstick von 10 verwenden, das wären dann +- 30 Minuten. D.h. also ein zwischen 19:30 und 20:30 und aus zwischen 20:30 und 21:30. Allerdings wird P_Shedule das so nicht zulassen und den Zufallsfaktor verkürzen. Sonst könnte es ja passieren, dass der Ausschaltbefehl vor dem Einschalten kommt.
2025-08-05 22_10_04-Prog_Generator_MobaLedLib.xlsm - Excel.png
2025-08-05 22_10_04-Prog_Generator_MobaLedLib.xlsm - Excel.png (7.62 KiB) 804 mal betrachtet
Ich würd's so vielleicht machen.

Auszug aus der Doku:
Der Zufallswert kann programmtechnisch automatisch verkürzt werden, wenn sich Aus- und Einschaltzeit in die Quere kommen.
Beispiel für die Einschaltzeit 8 Uhr 00 und Ausschaltzeit 9 Uhr bei einem Zufallswert von 15 sprich 45 Minuten.
Bild1.png
Bild1.png (6.51 KiB) 804 mal betrachtet
Damit würde es eine Überschneidung von Ein- und Ausschaltzeitpunkt geben und das Ganze zum wirklichen Zufall machen. Das ist aber nicht gewollt. Daher passt das Programm den Zufallswert an (ggf. sogar auf 0).
Bild2.png
Bild2.png (7.14 KiB) 804 mal betrachtet
Dateianhänge
P_Schedule.pdf
(369.36 KiB) 38-mal heruntergeladen

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Benutzeravatar
Gasco Verified
Novize des Beleuchters
Beiträge: 237
Registriert: Di 15. Apr 2025, 14:24
Wohnort: Grevenbroich
Hat sich bedankt: 329 mal
Wurde bedankt: 535 mal

Re: P_Schedule

#7

Beitrag von Gasco Verified »

Hallo Peter

danke für Infos, ich werde das morgen mal austesten

Im Biathlon 2ter geworden... wie?? er hatte doch eine Waffe dabei
viele Grüße aus dem Rheinland
Bodo

und denkt an das 11te Gebot
dua di ned deischn....
noch was wichtiges ...http://www.flugpate.com/
mein Projekt: meine Neue
Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 203
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 435 mal
Wurde bedankt: 474 mal

Re: P_Schedule

#8

Beitrag von PeterVT11 Verified »

Hallo miteinander,

es gibt eine neue Version der P_Schedule. Das ist Version 0.20. neu ist:

Bei einem Neustart wird ein alter Einschaltbefehl sofort aktiviert. Beispiel die LED soll um 8 Uhr angehen.
Bisher musste ein mal Mitternacht abgewartet werden, bis der Schaltauftrag aktiviert wurde.
Jetzt passiert es nach dem Reset.

Hier gibt es die neue Version:

https://github.com/PeterVT11/P_ScheduleMLX

Einfach die Dateien ggf. austauschen. Download und Installation ist unten beschrieben (1).

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Eckhart Verified
Novize des Beleuchters
Beiträge: 214
Registriert: Di 15. Apr 2025, 17:09
Wohnort: bei Berlin
Hat sich bedankt: 200 mal
Wurde bedankt: 210 mal

Re: P_Schedule

#9

Beitrag von Eckhart Verified »

Hallo Peter!

Erst einmal vorweg finde ich deine Schedule Implementierung funktional sehr nützlich! Ich habe aber eine Anmerkung und eine Frage:

1. Versionsmanagement der Extensions

Es wäre sehr hilfreich, wenn es ein Standardverfahren geben würde, die Extension auch in der Bibliotheks-Verwaltung der MLL updaten und/oder downgraden zu können. Alternativ könntest du beschreiben, wie man dein git Repository nach Arduino/libraries clont und dort eine Version hoch, oder runter gehen kann. Files hin und her zu kopieren, bzw. zu überschreiben ist doch sehr "C64 in den 1980ern ..." ;)

2. Warum habt ihr (ich meine @jueff und dich, denn andere Extensionprogramierer kenne ich nicht) bei den Extensions ganz was anderes gemacht, als @Hardi sich mal ausgedacht hat?

Hardie hat in der Ur-MobaLedLib ja einen Mechanismus vorgegeben, wie man Extension in die Codepunktleiste der MLL Funktionen einhängen kann und von dort die sehr effiziente und kompakte Parameterierung, aus dem MLL-Config Speicher mit abarbeiten kann. Ihr (s.o.) hingegen benutzt Hardies tollen Mechanismus gar nicht, sondern verwendet eine C++ Überladung und Methoden Polymorphismen, die alleine von der Speicherablage deutlich ineffizienter sind, als Hardies Format. (bei ESP32 und Pico sicherlich kein Problem, aber beim Nano wird es schon sichtbar)

Warum seid ihr diesen abweichenden Weg gegangen, bzw. was war an Hardies Vorgaben nicht passend?

Gruß, Eckhart

Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 203
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 435 mal
Wurde bedankt: 474 mal

Re: P_Schedule

#10

Beitrag von PeterVT11 Verified »

Hallo Eckhart,

das ist wieder ein typischer Eckhart-Post. Warum hab ihr/hab ihr nicht, statt selbst zu zeigen wie es geht. Sorry, musste mal gesagt sein.

Zu 1.: Man könnte es in die Arduino-Bibliotheken einbringen. Aber ich hab keine Ahnung, wie das geht und ob ich das überhaupt für die MLL darf. Auch ist die Verbreitung von P_Schedule nicht so ausgeprägt, dass hier was getan werden müsste.
Du planst ja gerade eine neue MLL, vielleicht kann da so was eingebaut werden.

Zu .: Wo hast Du das her, dass Hardi sich das anders ausgedacht hat? Ich kenne hierzu keine Beschreibung. Schade, dass Hardi mit seinen Motorradreisen die Lust an MLL verloren hat und hier nicht antworten wird.
Nur zu meiner Programmierung: der Einstieg zu einer Extension ist mir nur durch freundliche Hilfe (fast 3 Stunden online Videokonferenz mit Hardi) gelungen. Da hat er mir gezeigt, wie ich das machen kann. Dass das Ganze Speicher braucht und eher in ESP32/RP2040 kommen sollte war damals schon klar. Aber in kleinerem Umfang geht das auch im Arduino (selbst ausprobiert).

Aber: Der Code ist ja "Open Source", d.h. DU kannst das sicher viel besser integrieren.

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag

Zurück zu „MLL-Extensions“