Ich bin daran, einen eigenen MM2 Protokoll (Funktions- und Weichendecoder) zu basteln (ja ich weiss, das "lohnt" sich nicht aber ich mache das weil ich das machen kann )
Was mir fehlt, ist eine Beschreibung, wie z.B. die MS2 im MM2 Modus Parameter an den Decoder sendet und wie diese vom Decoder quittiert werden.
Im Falle von DCC ist das Setzen der CV's ja öffentlich spezifiziert. Bei MM2 habe ich nix Brauchbares gefunden.
Zitat Was mir fehlt, ist eine Beschreibung, wie z.B. die MS2 im MM2 Modus Parameter an den Decoder sendet und wie diese vom Decoder quittiert werden.
Im Falle von DCC ist das Setzen der CV's ja öffentlich spezifiziert. Bei MM2 habe ich nix Brauchbares gefunden.
im MM2-Protokoll können keine Parameter in Funktions-Decodern gesetzt werden, und quittiert wird bei MM2 NIEmals - ist halt aus der Frühzeit der Digitaltechnik. Weils nicht vorgesehen ist gibt es dazu auch keine Spezifikation.
Das habe ich eigentlich auch so gedacht. Aber: Wenn ich mit der MS2 eine Lok als "MM2" erfasse, habe ich dennoch einen Menüpunkt "Lok Programmieren", bei welcher "CV Adresse" und und "CV Wert" abgefragt werden. Dann kommt "Programmierung Lok" mit anschliessendem "Timeout beim CV-Lesen/Schreiben" (zumindest beim Controller 60760 und bei meinem handgestrickten Controller, welcher eben (noch) kein DCC versteht).
Ich sehe da zwei Möglichkeiten (wenn wir dabei bleiben, dass MM2 weder Parameter noch ACK kennt): - Die MS2 geht davon aus, dass ein MS2 Lokdecoder immer auch DCC versteht oder - Meine MS2 hat eine steinalte SW V1.3 und dürfte dieses "Lok Programmieren" Menü bei MM2 gar nicht anzeigen (It's a bug, not a feature)
Zitat Das habe ich eigentlich auch so gedacht. Aber: Wenn ich mit der MS2 eine Lok als "MM2" erfasse, habe ich dennoch einen Menüpunkt "Lok Programmieren", bei welcher "CV Adresse" und und "CV Wert" abgefragt werden.
für Lokdecoder haben sich schlaue Leute vor ca 25 Jahren überlegt, wie sie normale Steuerbefehle zur Programmierung missbrauchen können, und das mit Tastensequenzen auf den damaligen 6021-Zentralen. Durch Ansprechen der 80 Adressen in definierter Ordnung können 80 Register mit jeweils einem Wert von 1 bis 80 eingestellt werden, wobi sich die Methoden von Uhlenbrock und dem nachfolgenden Märklin natürlich unterscheiden.
Zitat Dann kommt "Programmierung Lok" mit anschliessendem "Timeout beim CV-Lesen/Schreiben" (zumindest beim Controller und bei meinem handgestrickten Controller, welcher eben (noch) kein DCC versteht).
Ich sehe da zwei Möglichkeiten (wenn wir dabei bleiben, dass MM2 weder Parameter noch ACK kennt): - Die MS2 geht davon aus, dass ein MS2 Lokdecoder immer auch DCC versteht oder - Meine MS2 hat eine steinalte SW V1.3 und dürfte dieses "Lok Programmieren" Menü bei MM2 gar nicht anzeigen (It's a bug, not a feature)
Die MS2 versucht vermutlich, die 6021-Sequenzen nachzuahmen, zumindest für die M-Methode. Soweit ich mich erinnere, werden beim Programmieren die Stirnlampen als optische Quittung für den Bediener der 6021 missbraucht, da die Gleisbox den Strom messen kann, könnte eine Stromänderung als Quittung dienen.
Ich habe mal die Daten auf dem Gleis mitgeschnitten, wenn ich auf der MS2 bei einer "MM2 programmierbar" die Hauptadresse mittels "Lok programmieren" (d.h. "CV" Addresse 1) auf "5" ändere. Es sieht so aus, als dass eine "Pseudo-Sequenz" mit Senden auf Adresse 0 beginnt. Danach wird zuerst die CV-Adresse (1) und dann der neue Wert als Pseudoadresse (5) gesendet. Gleichzeitig werden noch die Flags "ChangeDir und "Stop" in einer bestimmten Sequenz geflippt. Zusätzlich gibt's wohl noch eine Zeitabhängigkeit: gewisse "Flips" finden z.B. ziemlich genau nach einer Sekunde statt.
Wenn ich das mit dem MM2-Decoder 60760 mache, kommt danach das fröhliche Frontlicht-Geblinke als Bestätigung. Da ich aber LED's eingebaut habe, vermute ich, dass die Fehlermeldung auf der MS2 von der zu geringen Stromaufnahme der Lichter kommt.
Falls also jemand eine Beschreibung dieser magischen Sequenz hat - nur her damit
//Nachtrag: Ich denke, ich habe die Magie mit Hilfe der Seite moba-hgh herausgefunden (der Hinweis auf den Programmiervorgang auf der 6021 war ebenso hilfreich ):
1. Enter Programming Mode: Auf aktuell eingestellte Adresse des Decoders folgende Sequenz senden: Stop 1, ChangeDir 0 Stop 0, ChangeDir 1 Stop 1, ChangeDir 0
2. Setze die Adresse der Message auf die zu ändernde Parameter-Adresse, dabei die Sequenz wie bei Punkt 1 wiederholen
3. Setze die Adresse der Message auf den zu setzenden Parameter-Wert, dabei die Sequenz wie bei Punkt 1 wiederholen