RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#101 von fantux , 20.01.2021 20:30

Hallo Kay Uwe,

Zitat

Aber schon kommt die nächste Herausforderung:
Die Eingänge sind nicht entprellt. Das sieht man leicht an der Ausgabe im Terminal-Programm.
Vielleicht könnt Ihr da noch ein Debounce einbauen? Das bräuchte man ja auch für den eingebauten Taster.



Jaja, hat der Einkäufer wieder die billigsten Knöppe gekauft und jetzt muss es die Software richten

Ich habe mit 0fad7aec einen einfachen Debounce eingebaut. Wenn eine Flanke auftritt, werden danach für 100ms alle weiteren Flanken am gleichen Pin ignoriert. Im Moment sind die 100ms hier hartcodiert. Wenn der Wert für dich nicht passt, kannst du gerne dran herumspielen und zurückmelden, was ich sinnvollerweise einchecke. Eine Konfigurationsoption über die serielle Schnittstelle habe ich erstmal für übertrieben gehalten.

Gruß,
fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#102 von fantux , 05.02.2021 15:50

Hallo Stummis,

es gibt wieder ein neues Release v1.5 der c6021light. Wichtigste Änderungen:

  • Bugfix: Jetzt kann man mehr als nur das 0te Keyboard betreiben (Danke bleudeur!)
  • STOP/GO-Leitungen des Märklin-I2C-Anschluss werden ausgewertet.
  • Forwarding zwischen I2C und LocoNet ist jetzt auch möglich, ohne das ein Gerät an CAN angeschlossen ist. Dazu gibt es eine neue Konfigurationsoption auf der seriellen Schnittstelle.
  • Interface der seriellen Schnittstelle komplett umgestaltet - jetzt mit mehr Optionen!


Ansonsten sind vorallem Verbesserungen unter der Haube drin. Der Routing-Kern wurde umgestaltet um einfacher neue Bussysteme und neue Nachrichtentypen hinzufügen zu können und die ersten Codeteile für den Download der Lokdatenbank sind auch schon drin. Die Chancen stehen gut, das im nächsten Release auch die XpressNet-Integration von Bleudeur enthalten ist.

Wie immer kann die neue Firmware als elf oder hex von der Release-Seite heruntergeladen werden, oder ihr baut den Source Code einfach mit PlatformIO selbst (Anleitung).

Gruß,
fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


MTB-Ontour hat sich bedankt!
fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#103 von fantux , 16.02.2021 17:31

Hallo Stummis,

wieder ein kleines Update. Die aktuelle Master-Version der c6021light hat ein paar neue Features bekommen - inspiriert von den vorangegangenen Diskussionen.

Zum Einen versucht die c6021light nun für 10 Sekunden nach Reset auf dem CAN-Bus den aktuellen Stop/Go-Zustand zu erfragen. Wenn man die c6021light an einer CS2/CS3 benutzt, sollte der Zustand korrekt übernommen werden. Eine MS2/Gleisbox antwortet leider nicht auf die Nachfrage, daher ist das Verhalten hier wie früher.

Zum Anderen versucht die c6021light nun für wiederum 10 Sekunden nach Reset die vollständige Lokdatenbank einer MS2 oder CS2/3 herunterzuladen. Wenn das gelingt, werden anschließend Steuerbefehle (Geschwindigkeit, Richtung, Funktionen) für Loks zwischen LocoNet und CAN hin- und hersynchronisiert. Derzeit erfordert das auf LocoNet-Seite noch eine vollwertige Zentrale. Ich teste z.B. mit einer IntelliBox 1. Wenn der Download fehlschlägt, versucht die c6021light keinen neuen Download. Man kann aber jederzeit einen Download über die serielle Schnittstelle starten.

Die Features sind noch nicht besonders gut getestet, daher freue ich mich über Feedback, Bugreports und Verbesserungsvorschläge, bevor es zum nächsten Release geht.

Gruß,
fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#104 von fantux , 21.02.2021 14:27

Hallo Stummis,

und nochmal Fortschritt

Die aktuelle Master-Version ist nun soweit, dass man an der c6021light LocoNet-Steuergeräte ohne zusätzliche LocoNet-Zentrale betreiben kann. Getestet habe ich mit zwei FREDIs und einer Daisy gleichzeitig.

Die Loksteuerung der Daisy lässt sich ohne weiteres direkt benutzen. Die Weichensteuerung der Daisy funktioniert ebenfalls. Allerdings werden die Weichezustände nicht korrekt angezeigt. Die Daisy scheint die Weichen nicht mitzutracken, sondern fragt immer beim aufrufen des Weichenstellmodus die Weichenzustände bei der Zentrale an. Da die c6021light ebenfalls die Weichenzustände nicht mittrackt, liefert die c6021light jetzt einfach Dummy-Werte (alle Weichen auf Rot). Wenn man aber Weichen stellt während die Daisy genau diese Weiche auch anzeigt, wird die Anzeige an der Daisy korrekt geschaltet.

Die Loksteuerung der FREDIs lässt sich grundsätzlich auch wie gewohnt benutzen. Trickreich ist nur das Dispatching. Für alle, die LocoNet nicht so kennen: Dispatching ist das freigeben von Loks, die dann an einem FREDI aufgenommen und gesteuert werden können. Im Moment kann man über die serielle Schnittstelle mit dem Befehl

1
 
lnSlotServer dispatch <adresse>
 

eine Lok freigeben. Dabei ist unerheblich, ob auf der CAN-Seite schon die Lokdatenbank heruntergeladen wurde. Wenn man eine Lok freigibt, die auf CAN-Seite nicht bekannt ist, wird dennoch weitergeleitet - dann halt an eine undefinierte Adresse.

Da es im Modellbahnalltag wahrscheinlich eher unpraktisch ist, immer mit der seriellen Konsole zu hantieren, braucht es noch eine zündende Idee für ein User Interface, mit dem man Loks freigeben kann - dann bevorzugt auf Basis der Can-Datenbank. Im Moment denke ich an eine zweite Platine mit einem Display und ein paar Knöpfen, die per I2C angebunden werden können. Das ist aber für sich genommen schon wieder ein größeres Projekt.

Noch ein paar Hinweise, wie man den Betrieb ohne LocoNet-Zentrale aktivieren kann:
* Sicherstellen, dass die LocoNet-Zentrale nicht mehr mit der c6021light verbunden ist.
* Jumper J31 (Spannung für die Datenleitung) und J32 (Spannungsversorgung für Geräte) auf der c6021light verbinden. Wer eine separate Speisung oder einen LocoNet-Pullup einsetzt, muss die Jumper ggfs. offen lassen. Wer das tut, versteht aber genug von LocoNet, um das selbst zu entscheiden ohne seine Geräte zu grillen.
* Spannungsversorgung der c6021light auf 9-12V einstellen. Ich habe mit 9V ergolfreich getestet.
* c6021light einschalten. An der Seriellen Konsole den LocoNet Slot Server in den aktiven Modus schalten:

1
2
 
config set lnSlotServer active
flash save
 



Fertig!

Ich habe zwar mit mehreren Steuergeräten gleichzeitig getestet, allerdings habe ich noch keinen Lasttest mit ausführlichem Fahrbetrieb und häufigerem Dispatching ausgeführt. Ich erwarte zwar keine Probleme, aber das ist beu Software ja eigentlich immer so Rückmeldungen und Testberichte sind daher wieder gerne gesehen.

Gruß,
fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#105 von bertr2d2 , 28.02.2021 18:27

Hallo,

ich habe nun die Bauteillisten für Xressnet und Loconet im ersten Beitrag hinzugefügt.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.552
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#106 von Florian Altherr , 02.03.2021 21:32

Zitat von fantux im Beitrag Neues Leben für Märklins Keyboard 6040 - Connect 6021 light








Hallo Fantux

mich würde mal die Verkabelung zwischen MS und Connect 6021 light interessieren.
Ich sehe von dem Connect 6021 light ein Netzwerkkabel abgehen.Wo geht das hin?

Gruß
Florian


Florian Altherr  
Florian Altherr
S-Bahn (S)
Beiträge: 12
Registriert am: 11.10.2015


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#107 von fantux , 02.03.2021 21:35

Hallo Florian,

[quote="Florian Altherr" post_id=2259164 time=1614717132 user_id=25599]
mich würde mal die Verkabelung zwischen MS und Connect 6021 light interessieren.
Ich sehe von dem Connect 6021 light ein Netzwerkkabel abgehen.Wo geht das hin?
[/quote]

das ist das Kabel für den CAN-Bus. In meinem Fall geht das zur Gleisbox. Die c6021light verwendet das gleiche Buchsenlayout wie die Can-Digital-Bahn-Komponenten - dabei wird CAN über ein Netzwerkkabel übertragen.

Gruß,
fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#108 von Florian Altherr , 02.03.2021 21:41

Hallo fantux

das ging ja schnell.
Kannst du da vielleicht mal ein Foto einstellen vom Aufbau?
Die Gleisbox hat ja keine RJ45 Buchse.
Da würde mich die Umsetzung mal interessieren wie du das gelöst hast.

Danke

Gruß
Florian


Florian Altherr  
Florian Altherr
S-Bahn (S)
Beiträge: 12
Registriert am: 11.10.2015


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#109 von fantux , 02.03.2021 22:21

Hallo Florian,
[quote="Florian Altherr" post_id=2259175 time=1614717680 user_id=25599]
Kannst du da vielleicht mal ein Foto einstellen vom Aufbau?
Die Gleisbox hat ja keine RJ45 Buchse.
Da würde mich die Umsetzung mal interessieren wie du das gelöst hast.
[/quote]

Ich habe eine SRSEII. Bilder gibt es auf der verlinkten Homepage von Gerd. Es gibt aber noch mehr Lösungen. Bei CDB kann man ein adapterkabel bekommen, eine andere Gleisbox habe ich mit einer einfachen RJ45-Buchse auf einem Breakout-Board umgerüstet. Sieht dann aus wie die SRSEII, nur mit weniger Buchsen.

Gruß,
Fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#110 von Dr.König , 08.08.2021 22:28

Hallole,
zufällig gelesen, aber zu meiner Ehrenrettung möchte ich doch klarstellen, daß die Infos in meinem oben in Bezug genommenen Beitrag
http://www.drkoenig.de/digital/i2c.htm
nicht von mir stammen. Denn wie dort eingangs ausdrücklich erwähnt:

"Die vorliegende Dokumentation stammt von Herrn Walter Fiedler ..... Da er keinen Internet-Zugang besitzt, hat er diese Form der Veröffentlichung gewählt.
Zu dieser Dokumentation kann ich leider nichts sagen; etwaige Fragen und Anmerkungen richten Sie daher bitte direkt an Herrn Fiedler. Mein Beitrag erschöpft sich der WWW-gerechten Aufbereitung und Darstellung; am Inhalt habe ich nichts geändert; das Original gibt es auch als download. Aus diesem Grund muß ich auch jede Verantwortung für den Inhalt dieser Dokumentation ablehnen."


nihil desperandum


Dr.König  
Dr.König
S-Bahn (S)
Beiträge: 15
Registriert am: 01.07.2021
Homepage: Link
Ort: 65843 Sulzbach/Ts.
Spurweite H0
Stromart AC, Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#111 von bertr2d2 , 09.08.2021 10:58

Hallo Dr.König,

Zitat von Dr.König im Beitrag #110
zufällig gelesen, aber zu meiner Ehrenrettung möchte ich doch klarstellen, daß die Infos in meinem oben in Bezug genommenen Beitrag
http://www.drkoenig.de/digital/i2c.htm
nicht von mir stammen...


freut mich das Sie hier mit lesen :-)

Beziehen Sie sich auf den Github Text ? Den habe ich angepasst.

Gruß

Gerhard Bertelsmann


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.552
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#112 von Dr.König , 16.08.2021 13:49

Danke.
Nein, oben bei post #80 und #84 wurde die I2C-Dokumentation auf meiner DigitalPage in einer auf mich als vermeintlichen Autor bezogenen Weise "beanstandet" - daher die (erneute) Klarstellung, daß ich diese nicht verfaßt habe/hatte.


nihil desperandum


Dr.König  
Dr.König
S-Bahn (S)
Beiträge: 15
Registriert am: 01.07.2021
Homepage: Link
Ort: 65843 Sulzbach/Ts.
Spurweite H0
Stromart AC, Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#113 von fantux , 25.08.2021 19:10

Hallo Stummis,

soeben habe ich die Software der c6021light in Version 1.6 released. Die Änderungen sind nochmal recht substantiell:

  • Weiterleiten von Loksteuerbefehlen zwischen CAN und LocoNEt ist jetzt vollständig unterstützt.
  • Die CAN-Datenbank wird automatisch nach einem Reset von der MS2 oder CS2 heruntergeladen.
  • Die LED
Vielen Dank insbesondere an Florian Glaser für eine ganze Reihe von Bugreports und Tests!

Wie immer kann die neue Firmware als elf oder hex von der Release-Seite heruntergeladen werden, oder ihr baut den Source Code einfach mit PlatformIO selbst (Anleitung).

Gruß,
fantux


Märklin Keyboards, LocoNet und MobileStation2 vernetzten: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light - mit Code!

Das Aussteigen und Blumenpflücken während der Fahrt ist strengstens untersagt!


bertr2d2, Mare, MTB-Ontour und ThKaS haben sich bedankt!
fantux  
fantux
InterCity (IC)
Beiträge: 665
Registriert am: 29.01.2012
Gleise Märklin C
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#114 von bertr2d2 , 31.08.2021 08:33

Hallo fantux,

vielen Dank für die neue Firmware. Wir müssten den Thread eigentlich umfirmieren :-) Es ist ja mittlerweile mehr ein Babelfisch:



XpressNet steht ja schon in den Startlöchern wie ich am Pull-Request sehe.

Tolle Arbeit - vielen Dank ! Und vielen Dank auch an Florian. Als Entwickler weiß ich wie wichtig Leute sind, die fundierte Tests durchführen können

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.552
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 31.08.2021 | Top

RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#115 von hampton , 01.10.2023 14:55

Hallo zusammen,

tolles Projekt.
Sind mit dem Release 1.6 eigentlich die Geräte mit roten DIP-Schaltern auch Kompatibel ?
Was heißt denn in dem Zusammenhang „eigenwillige Interpretation des I2C“ ?


Grüße Florian
----------
Sinus-Treiber / BLDC-Controller
Waggon-Beleuchtungsplatine


hampton  
hampton
InterRegioExpress (IRE)
Beiträge: 260
Registriert am: 04.04.2011
Ort: Stuttgart
Spurweite H0
Stromart Digital


RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#116 von hampton , 21.05.2024 22:38

Hallo Gerd,

ich habe habe das Interface aufgebaut - klasse Entwicklung. Vielen Dank und dickes Lob dafür.
Meine Platine passt in die alten Pult-Gehäuse - kann ich gerne bei Gelegenheit mal rein stellen.

Aktuelles Set-Up: Connect 6021 light (FW 1.6) + SRSEII + Gleisbox + MS2 + Memory 6043 (sw Dip) + Keyboard 6040 (rote Dip).
Daraus würde ich schließen, dass jetzt die alten und neuen Geräte funktionieren. Kann das nochmal einer mit Memory rot und Keyboard sw testen?


Grundsätzlich funktioniert im MM2-Modus alles. Die Schaltzustände werden zwischen allen Geräten ausgetauscht.
Solange man manuell auf dem Keyboard Tasten drückt, werden alle Befehle sofort auf dem I2C-Bus umgesetzt.
Als Beispiel alle 16 Tasten rot, dann wieder grün.
Bild entfernt (keine Rechte)

Programmiere ich den gleichen Ablauf ins Memory und schicke die Fahrstraße los, dann braucht die Connetct manchmal eine gute Sekunde, bis die ACK-Message gesendet wird.
vgl. die einzelne Message etwa in der Screenmitte ist das verzögerte ACK.
Bild entfernt (keine Rechte) und im Detail Bild entfernt (keine Rechte)

Das Memory lässt sich dann in der Folge gern auch 1-2sek bis zur nächsten Schaltanforderung Zeit
vgl. Message rechts nach den zwei langen Pausen
Hast du eine Erkärung dafür?


Wenn ich die Connect auf auf DCC stelle, so wird die Änderung mit "P" quittiert.

1
2
3
4
5
 
c6021light > config set turnoutProtocol DCC
SetTurnoutProtocol: Set Turnout protocol to 'P'.
c6021light > config get turnoutProtocol
GetTurnoutProtocol: The current turnout protocol is DCC.
c6021light >
 


und nach dem ersten Tastendruck auf dem Keyboard wird der Bus permanent mit der Schaltanforderung geflutet (CAN & I2C).
Falls man es schnell genug schafft in der Console vor der nächsten DCC-Schalt-Message ein config set turnoutProtocoll MM2 rein zu hauen, ist wieder Ruhe auf dem Bus und die MM-Befehle gehen als ob nix gewesen wäre.
Ansonsten hilft nur A-E-G.

Bild entfernt (keine Rechte)

Mit SX1 ist die Serial-Mesasge korrekt aber die Schaltanforderungen werden nicht quittiert und daher der Ausschaltbefehlt endlos wiederholt.
Ich vermute, dass das passt, da die Gleisbox kein SX1 ACK erzeugt.

Kann es sein, dass bei DCC doch noch irgendwo ein Bug drin ist?


Grüße Florian
----------
Sinus-Treiber / BLDC-Controller
Waggon-Beleuchtungsplatine


bertr2d2 hat sich bedankt!
hampton  
hampton
InterRegioExpress (IRE)
Beiträge: 260
Registriert am: 04.04.2011
Ort: Stuttgart
Spurweite H0
Stromart Digital

zuletzt bearbeitet 21.05.2024 | Top

RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#117 von bertr2d2 , 23.05.2024 22:44

Hallo Florian,

Zitat von hampton im Beitrag #116
Hallo Gerd,

ich habe habe das Interface aufgebaut - klasse Entwicklung. Vielen Dank und dickes Lob dafür.


ich muss das Lob insbesondere an fantux weiter geben. Der hat die Software entwickelt. Der hat ebenso viel Anteil am Projekt.

Zitat
Meine Platine passt in die alten Pult-Gehäuse - kann ich gerne bei Gelegenheit mal rein stellen.


Sehr gerne, ich bin gespannt

Zitat
Aktuelles Set-Up: Connect 6021 light (FW 1.6) + SRSEII + Gleisbox + MS2 + Memory 6043 (sw Dip) + Keyboard 6040 (rote Dip).
Daraus würde ich schließen, dass jetzt die alten und neuen Geräte funktionieren. Kann das nochmal einer mit Memory rot und Keyboard sw testen?


ich besitze nur ein Keyboard (SW Dip).

Zitat
Grundsätzlich funktioniert im MM2-Modus alles. Die Schaltzustände werden zwischen allen Geräten ausgetauscht.
Solange man manuell auf dem Keyboard Tasten drückt, werden alle Befehle sofort auf dem I2C-Bus umgesetzt.
Als Beispiel alle 16 Tasten rot, dann wieder grün.

Programmiere ich den gleichen Ablauf ins Memory und schicke die Fahrstraße los, dann braucht die Connetct manchmal eine gute Sekunde, bis die ACK-Message gesendet wird.

Das Memory lässt sich dann in der Folge gern auch 1-2sek bis zur nächsten Schaltanforderung Zeit
vgl. Message rechts nach den zwei langen Pausen
Hast du eine Erkärung dafür?


Das ist merkwürdig. Ich habe da keine Erklärung für. Zudem besitze ich kein Memory. Ich denke, das am ehesten fantux weiter helfen kann.

Zitat
Wenn ich die Connect auf auf DCC stelle, so wird die Änderung mit "P" quittiert.

1
2
3
4
5
 
c6021light > config set turnoutProtocol DCC
SetTurnoutProtocol: Set Turnout protocol to 'P'.
c6021light > config get turnoutProtocol
GetTurnoutProtocol: The current turnout protocol is DCC.
c6021light >
 


und nach dem ersten Tastendruck auf dem Keyboard wird der Bus permanent mit der Schaltanforderung geflutet (CAN & I2C).
Falls man es schnell genug schafft in der Console vor der nächsten DCC-Schalt-Message ein config set turnoutProtocoll MM2 rein zu hauen, ist wieder Ruhe auf dem Bus und die MM-Befehle gehen als ob nix gewesen wäre.
Ansonsten hilft nur A-E-G.

Mit SX1 ist die Serial-Mesasge korrekt aber die Schaltanforderungen werden nicht quittiert und daher der Ausschaltbefehlt endlos wiederholt.
Ich vermute, dass das passt, da die Gleisbox kein SX1 ACK erzeugt.

Kann es sein, dass bei DCC doch noch irgendwo ein Bug drin ist?



Das Projekt ist schon etwas älter. Und fantux hat die Software zu 99% geschrieben. Ich fürchte, ich kann da nicht helfen. Bitte kontaktiere fantux.

Gruß

Gerd

PS: Prima Analyse übrigens. So detailliert erlebt man das selten ...


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


hampton hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.552
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 24.05.2024 | Top

RE: Neues Leben für Märklins Keyboard 6040 - Connect 6021 light

#118 von hampton , 25.05.2024 01:36

Hallo Gerd,

vielen Dank für deine Antwort.
Dann auch vielen Dank an Fantux. Vielleicht schaut er ja mal wieder rein.

Ich habe nochmal ein bisschen getestet - auch die Releases bis 1.4.
DCC wird mit jedem älteren Release wüster, bis hin zu unendlicher wirrer Zeichenflut auf der seriellen Schnittstelle.

Ich habe jetzt mit dem Release 1.6 nochmal systematischer gemessen:

Schaltanforderung von Format MS2 Format 6021light Message auf I2CKommentar
MS2 MM MM2 nur ACK tut alles so wie es soll
MS2 DCC MM2 neinsollte auch passen
MS2 DCC DCC nein hier müsste eigentlich das ACK übertragen werden
MS2 MM DCC nur ACK Keyboard Anzeigen schalten um
Keyboard DCC MM2 Request & ACK MS2 ändert Anzeige Schaltzustand trotzdem
Keyboard DCC DCC nur Request MS2 ändert Anzeige Schaltzustand
Request und ACK sind auf dem CAN
ACK wird nicht auf I2C übersetzt
Keyboard sendet alle 1,5sec Requests


Interessant ist, dass die MS2 im DCC-Modus auch auf MM2-Befehle reagiert und die Statusanzeige umstellt. evtl. ein Kompatibilitäts-Ding?

Die Message-Flut auf dem Bus scheint vom Keyboard zu kommen, das die ACK auf dem CAN nicht erhält, da diese nicht auf dem I2C übertragen werden.
Einen Grund für das Fehlen auf dem I2C konnte ich nicht entdecken aber es erklärt weshalb das Keyboard dann keine Ruhe gibt.
Durch die fehlenden ACK schaltet die Keyboardanzeige auch nicht um, wenn der Request durch die MS2 erfolgt.

Habe mal ein bisschen im Quellcode gestöbert aber das ich nicht mein Steckenpferd...
Liegt das „P“ statt „DCC“ evtl hier in der Zeile 6: (consoleManager.cpp)

1
2
3
4
5
6
7
8
9
10
11
12
13
 
 if (strncasecmp(protocolArgument, MM2Name, strlen(MM2Name)) == 0) {
dataModel_->accessoryRailProtocol = RR32Can::RailProtocol::MM2;
printf("%s%s'%s'.\n", appName, text, protocolArgument);
} else if (strncasecmp(protocolArgument, DCCName, strlen(DCCName)) == 0) {
dataModel_->accessoryRailProtocol = RR32Can::RailProtocol::DCC;
printf("%s%s'%s'.\n", appName, text, argv[argcMatched + 1]);
} else if (strncasecmp(protocolArgument, SX1Name, strlen(SX1Name)) == 0) {
dataModel_->accessoryRailProtocol = RR32Can::RailProtocol::SX1;
printf("%s%s'%s'.\n", appName, text, protocolArgument);
} else {
printf("%s: Unknown rail protocol '%s'.\n", appName, protocolArgument);
return -3;
}
 



Das wäre dann aber nur ein Print-Thema…

Und bricht der I2CForwarder hier in der Zeile 9 bei nicht MM Kommandos ab:

1
2
3
4
5
6
7
8
9
10
11
12
 
  void I2CForwarder::forward(const RR32Can::CanFrame& frame) {
switch (frame.id.getCommand()) {
case RR32Can::Command::ACCESSORY_SWITCH: {
const RR32Can::TurnoutPacket turnoutPacket(const_cast<RR32Can::Data&>(frame.data));
if (frame.id.isResponse()) {
// Responses are forwarded to I2C
printf(" Got an Accessory packet!\n");
 
if (turnoutPacket.getRailProtocol() != RR32Can::RailProtocol::MM1) {
// Not an MM2 packet
return;
}
 



Aber wie gesagt, gefährliches Halbwissen…

Update 25.05.:
Habe mit jetzt mal PlatformIO installiert und im ConsolenManager die Zeile angepasst.
Die Prüfung auf das RailProtocol habe ich jetzt einfach mal komplett auskommentiert.
Jetzt funktioniert auch der DCC Modus und die Antwort im Serial-Monitor ist auch korrekt.
Was ich allerdings nicht überblicke ist, ob dadruch DCC Pakete irgendwo verarbeitet werden, wo sie es nicht sollten.


Grüße Florian
----------
Sinus-Treiber / BLDC-Controller
Waggon-Beleuchtungsplatine


vikr und bertr2d2 haben sich bedankt!
hampton  
hampton
InterRegioExpress (IRE)
Beiträge: 260
Registriert am: 04.04.2011
Ort: Stuttgart
Spurweite H0
Stromart Digital

zuletzt bearbeitet 25.05.2024 | Top

   

Gleissignalerzeugung mit BananaPi
MS Access Datenbank für Modellbahnsammlung: v1.6!

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz