Hallo Mitanwender,
heute geht es um ein neues Zusatz-Progrämmchen auf dem BananaPi, genannt ms1relay. Diese SW erlaubt es, eine MS1 an einem CAN-Bus mit aktuellem Märklin-Protokoll zu betreiben, indem sie die beiden CAN-Dialekte in den jeweils anderen übersetzt. Wer Gerds OperWRT-Image benutzt, kann sie über die Paketverwaltung nachinstallieren. Im Augenblick ist das Programm noch sehr rudimentär, auch weil bei jedem Arbeitsschritt beim Autor die Überlegung hochkommt, in wieweit sich der Aufwand, das alte MS1-Ding mitbetreiben zu können, lohnt. Aber andererseits will man ja auch nichts wegwerfen.
Mein Versuch, die MS1 einfach so mitbetreiben zu können, weil die Protokollumsetzung ja auch die ältere CS-Software übernehmen kann, misslang, weil dabei meine MS1 alle paar Sekunden neu startete. Der Erfahrungsaustausch ergab, dass das wohl an meiner 15 Jahre alten MS1 mit SW-Stand 1.1 liegen muss. Für das Updaten der SW muss man aber erst jemanden finden, der das kann, was insbesondere durch unsere kontaktreduzierte Zeit erschwert wird.
Da mir die Frage keine Ruhe ließ, wie die MS1 als Slave an einer anderen MS1 funktioniert haben konnte (damals gab es ja noch keine CS), habe ich mit genanntem ms1relay angefangen, bei dem ich die Initialisierungsdaten einfach variieren konnte. Es zeigte sich, dass wenn man beim Initialisieren der MS1 statt der Knotennummern für CS-Slave (3, 5, ...) die Knotennummer für MS-Slave (1) zuweist, sie ganz brav mitspielt. Nachteil ist, dass man so nur EINE MS1 verwenden kann.
Das ms1relay als Master muss drei Funktionalitäten bieten:
- das Anmelden der MS1 und ihre Inbetriebnahme als Slave
- das Übersetzen von Befehlen und Statusmeldungen MS1<->XS2-CAN
- die Lokzuweisung
Der dritte Punkt erfordert eine grafische Anwenderschnittstelle. Da diese aufwandsbedingt bisher nicht realisiert ist, wird momentan eine Lok fest zugewiesen.
Bisherige Funktionalität ist das Schalten des Gleisstroms über die STOP-Taste, das Fahren der MM-Lok 11 und Bedienen ihrer 5 Funktionen, sowie die Anzeige von Systemstatusmeldungen vom XS2-CAN auf der MS1 (STOP, GO, OVERLOAD).
Ein paar Einschränkungen zwingt die alte MS1-SW auf:
- bei der Inbetriebnahme werden von der MS1 bei den Systemfunktionen nur der Typ abgefragt und nicht der Zustand
- die Abfrage nach der Anzahl der Lok-Speicherplätze funktioniert nicht (aber der Wert ist ja bekannt)
- es ist mir nicht gelungen, eine Lokfunktion auf Momentbetrieb umzuschalten
Es fehlen jetzt hauptsächlich noch das Eintragen und Löschen von Loks in die Lokliste(n). Dazu benötigt man eine Anwenderschnittstelle, wir denken da vorzugsweise an etwas Browser-basiertem um beim Bediengerät OS-unabhängig zu sein. Webserver mit PHP und nodeJS läuft schon für andere Aufgaben auf dem BananaPi, so dass hier kein komplettes Neuland zu beschreiten wäre. Da dies allerdings außerhalb meines Erfahrungsgebietes liegt, wäre ich dankbar für die Mitarbeit eines potentiellen MS1-Anwenders mit entsprechendem Wissen.
Gruß
Rainer