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

#51 von bleudeur , 18.12.2020 16:33

Zitat


Da fehlt nichts. Ein Adapterkabel, das zur Steckerbelegung der c6021light passt, ist ausreichend. Es ist aber eventuell schwieriger, ein Adapterkabel zu bekommen, als die Gleisbox zu modifizieren.




Wow, du antwortest ja schneller als die Feuerwehr Gut, dann ist mir jetzt einiges klarer, habe in der Zwischenzeit noch die Infos dazu gefunden:
http://www.skrauss.de/modellbahn/gboxcan.html
http://www.can-digital-bahn.com/modul.ph...odul=46#Mod_Top (bei "Der Anschluss der Gleisbox"), bei ihm kann man auch die passenden Stecker beziehen.

Für einen ersten Funktionstest ist die Drahtlösung sicher ausreichend, auf Dauer ist ja eh der Einsatz an Xpressnet oder Loconet bei mir geplant, ohne CAN. Aber dafür muss ich dann an die SW ran und davor möchte ich einfach schnell sicherstellen dass der bisherige Funktionsumfang gegeben ist.
[s]
Eine Frage zur HW habe ich noch: Bei allen Bussen (CAN, LN, XpN) sind die Terminierungs-Jumper gegen 12V geschaltet, die Signalpegel gegen 5V. Das ist umproblematisch, also bei 12V Terminierung geht nix kaputt?[/s]
Edit: Blödsinn, das ist nicht die Terminierung sondern die Busspeisung ops: ops:


bleudeur  
bleudeur
InterCity (IC)
Beiträge: 626
Registriert am: 18.01.2020
Spurweite H0
Stromart AC


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

#52 von fantux , 29.12.2020 12:26

Hallo Stummis,

es gibt wieder eine neue Softwareversion 1.4für die c6021light. Neben kräftigen Aufräumarbeiten in der Software gibt es folgende neue Features:

  • Übertragen von S88-Belegt/Frei-Meldungen zwischen CAN und LocoNet.
  • Datenspeicherung im Flash, die weniger Schreibzyklen erfordert. Die meisten werden den Unterschied nichtmal bemerken: Bisher konnte man ca. 10000 Konfigurationsänderungen machen bevor der Flash aufgibt, jetzt kann man ca. 5 Millionen Konfigurationsänderungen machen.


Wie immer gibt es die neue Software als Bin- und ELF-File zum Download. Alternativ könnt ihr wie immer die Sourcen herunterladen und mit PlatformIO kompilieren und auf die c6021light hochladen.

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

#53 von bleudeur , 02.01.2021 22:57

Hallo zusammen,

nun gibt es endlich mal wieder News von meiner Seite. Nach all den Feiertagen bin ich endlich zum Aufbau meiner c6021l gekommen Hier mal zwei Bilder, einmal mit und einmal ohne Bluepill:




Ich habe direkt die Vollbestückung gebaut (ohne galvanische Trennung für den CAN). Dann wurde das gute Stück in die kleinste und zusammengeschusterste Testumgebung eingebaut:



Ich habe dann die 1.4 SW auf den Bluepill gespielt. Um die source kompilieren zu können, musste ich eine Zeile im platformio.ini abändern, da mein Windows-Username leider ein Leerzeichen enthält:

1
 
build_flags = -I include -D LN_TX_ECHO=0 -Wl,-Map,${BUILD_DIR}/firmware.map -Wall -Wextra -pedantic
 


musste zu

1
 
build_flags = -I include -D LN_TX_ECHO=0 -Wl,-Map,"${BUILD_DIR}firmware.map" -Wall -Wextra -pedantic
 


werden da sonst das firmware.map als object-file zum linken interpretiert wurde.

Dann, alles eingeschaltet, uuund: funktioniert!
Nun, fast. An der MS2 schalten geht super, Weiche schaltet und das Keyboard ändert die Anzeige. Aber wenn ich am Keyboard die entsprechende Taste drücke passiert leider nix. Ich habe dann das UART-Debug Interface in Betrieb genommen. Wenn ich an der MS2 drücke, kommt das:

1
2
3
4
5
6
7
8
 
c6021light > Accessory Switch. Details: Turnout:     0x3002, Human Value: 12291, Position: 0 (off, round, red) Power: 1 (on, button press)
Got an Accessory packet!
I2C TX: [0x20 0x7f 0xc] - Keyboard: 15, Decoder: 2, (Turnout: 242, Direction: RED , Power: ON )
Accessory Switch. Details: Turnout: 0x3002, Human Value: 12291, Position: 0 (off, round, red) Power: 1 (on, button press)
Accessory Switch. Details: Turnout: 0x3002, Human Value: 12291, Position: 0 (off, round, red) Power: 0 (off, button release)
Got an Accessory packet!
I2C TX: [0x20 0x7f 0x0] - Keyboard: 15, Decoder: 0, (Turnout: 240, Direction: RED , Power: OFF)
Accessory Switch. Details: Turnout: 0x3002, Human Value: 12291, Position: 0 (off, round, red) Power: 0 (off, button release)
 



Wenn ich dann am Keyboard drücke, kommt:

1
2
3
4
 
I2C RX: [0x7f 0x20 0xd] - Keyboard: 0, Decoder: 2, (Turnout: 2, Direction: GREEN, Power: ON )
Accessory Switch. Details: Turnout: 0xff02, Human Value: 65283, Position: 1 (on, straight, green) Power: 1 (on, button press)
Unknown or not implemented. Dump: 0x0x80
0x47 0x44 0x78 0x43 0x3
 



Das wird dann erwartungsgemäss vom Keyboard jede Sekunde wiederholt und es wartet auf einen ack. Zwei Dinge fallen mir auf:
- Das Packet vom Keyboard wird als Unknown verarbeitet - macht mein Keyboard was anderes als die mit denen ihr das System getestet habt?
- Das Packet vom Keyboard wird korrekt als Keyboard 0, Decoder 2 interpretiert (MM-Adresse 3). Aber das Paket von der MS2 wird als Keyboard 15 gelistet - weitergeleitet wird es aber korrekt an den I2C, denn das angeschlossene Keyboard 0 reagiert ja mit der Statusanzeige darauf.

Edit: Okay, nachdem ich mal ein bisschen im Code gesucht hab scheint das Unknown command wohl bei der CAN-Verarbeitung aufzutreten. Was die MS2 mit dem Kommando 0x80 sagen will erschliesst sich mir aber überhaupt nicht..

Zitat

Bei den Spannungsreglermodulen musste ich etwas tricksen. Einer liefert 8V, das muss man ohnehin per Poti einstellen. Der andere soll 5V liefern, hatte aber irgend ein Problem, so dass die Festeinstellung immer 3,8V lieferte. Ich habe dann halt auch die 5V per Poti eingestellt. Die Versorgung erfolgt hier mit einem 9V-Steckernetzteil.


Ich hatte übrigens genau dasselbe Problem.


bleudeur  
bleudeur
InterCity (IC)
Beiträge: 626
Registriert am: 18.01.2020
Spurweite H0
Stromart AC


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

#54 von fantux , 03.01.2021 09:49

Hallo bleudeur,

hach, das ist doch erfrischend wenn man einen Erfahrungsbericht bekommt, auch wenn gleich mal ein haufen Bugs gefunden wurde .

Zitat

Ich habe dann die 1.4 SW auf den Bluepill gespielt. Um die source kompilieren zu können, musste ich eine Zeile im platformio.ini abändern, da mein Windows-Username leider ein Leerzeichen enthält:
[...]

1
 
build_flags = -I include -D LN_TX_ECHO=0 -Wl,-Map,"${BUILD_DIR}firmware.map" -Wall -Wextra -pedantic
 


werden da sonst das firmware.map als object-file zum linken interpretiert wurde.




Ist gefixt und ist dann im nächsten Release enthalten.

Zitat

Wenn ich dann am Keyboard drücke, kommt:

1
2
3
4
 
I2C RX: [0x7f 0x20 0xd] - Keyboard: 0, Decoder: 2, (Turnout: 2, Direction: GREEN, Power: ON )
Accessory Switch. Details: Turnout: 0xff02, Human Value: 65283, Position: 1 (on, straight, green) Power: 1 (on, button press)
Unknown or not implemented. Dump: 0x0x80
0x47 0x44 0x78 0x43 0x3
 



Das wird dann erwartungsgemäss vom Keyboard jede Sekunde wiederholt und es wartet auf einen ack. Zwei Dinge fallen mir auf:
- Das Packet vom Keyboard wird als Unknown verarbeitet - macht mein Keyboard was anderes als die mit denen ihr das System getestet habt?
- Das Packet vom Keyboard wird korrekt als Keyboard 0, Decoder 2 interpretiert (MM-Adresse 3). Aber das Paket von der MS2 wird als Keyboard 15 gelistet - weitergeleitet wird es aber korrekt an den I2C, denn das angeschlossene Keyboard 0 reagiert ja mit der Statusanzeige darauf.

Edit: Okay, nachdem ich mal ein bisschen im Code gesucht hab scheint das Unknown command wohl bei der CAN-Verarbeitung aufzutreten. Was die MS2 mit dem Kommando 0x80 sagen will erschliesst sich mir aber überhaupt nicht..




Ein CAN-Paket mit Kommando 0x80 sagt mir auch nichts - laut der Dokumentation von Märklin gibt es so ein Kommando auch nicht. Das gibt es nur als System-Subkommando SYSTEM_RESET - das wird aber nicht als "unbekannt" geloggt. Der can-monitor auf meiner SRSEII interpretiert es als

1
 
09:45:57.589   CAN  0x1F000300  [5] 47 43 5B 65 03          System: Lok mfx-7013 Nothalt
 



Dass eine I2C-TX-Nachricht als "Keyboard: 15" gelistet wird, ist nur ein Problem der Darstellung. Der Code zum Ausgeben berücksichtigt nicht, dass bei einer TX-Nachricht Sender und Empfänger in der Nachricht verstauscht sind. Spontan fällt mir noch keine geschickte Lösung ein, daher habe ich das erstmal als Bugreport notiert.

Bleibt das Problem, dass das Keyboard keine Antwort auf seine Schaltanforderung bekommt. Was ich aus deinem Log sehe: Es kommt eine Antwort von der MS2 an ("Accessory Switch. ..."). Die bezieht sich allerdings auf Weiche 0xff02, während eignetlich Weiche 0x3002 (Weiche 3, Motorola-Format ) zu erwarten wäre.

Was hier wahrscheinlich passiert: Man kann über die serielle Schnittstelle einstellen, ob Weichenschaltbefehle für Motorola, DCC oder Selectrix an die Gleisbox geschickt werden sollen. Die Einstellung wird im Flash dauerhaft gespeichert. Wenn man die c6021light einschaltet, liest sie erstmal die Konfigurationswerte aus dem Flash und arbeitet dann entsprechend. Hier hatten leider frühere Softwareversionen einen Bug: Es wurde immer ein Wert aus dem Flash übernommen, auch wenn gar keiner drinsteht ops: . Ein "steht nichts drin" zeigt sich im Flash als der Wert 0xFF. Dieser Wert wird auch auf die Schaltanforderung für eine Weiche draufgerechnet - und die Gleisbox scheint brav darauf zu antworten - auch wenn ich nicht weiß, was sie denn schalten würde.

Ich habe der c6021light kurz eine möglichkeit eingebaut, ihren Flash zu formatieren. Mit einem frisch formatierten Flahs kan nich in v1.4 das Problem nachstellen, in der aktuellen Master-Version ist das Problem weg. Den Bug habe ich wahrscheinlich vor ein paar Tagen im vorbeigehen behoben, als ich die Datenablage im Flash überarbeitet habe. Jetzt wird "Flash ist leer" auch korrekt interpretiert.

Für dich gibt es zwei Lösungsmöglichkeiten. Entweder du wechselst auch auf die aktuelle Master-Version oder du setzt einmalig über die serielle Schnittstelle das Protokoll für Weichen auf "MM2" (speichern nicht vergessen, sonst ist das Problem nach einem Reboot der c6021light wieder da ).

Zitat

Zitat

Bei den Spannungsreglermodulen musste ich etwas tricksen. Einer liefert 8V, das muss man ohnehin per Poti einstellen. Der andere soll 5V liefern, hatte aber irgend ein Problem, so dass die Festeinstellung immer 3,8V lieferte. Ich habe dann halt auch die 5V per Poti eingestellt. Die Versorgung erfolgt hier mit einem 9V-Steckernetzteil.


Ich hatte übrigens genau dasselbe Problem.




bertr2d2 hat mich mal darauf aufmerksam gemacht, dass auf der Rückseite der Spannungsregler eine Verbindung für den "Einstellbar"-Bereich verlegt ist. Wenn man eine Festspannungs-Lötbrücke nutzen will, muss man diese Leiterbahn an der dafür vorgesehenen Stelle durchtrennen.

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

#55 von bleudeur , 03.01.2021 15:14

Zitat

hach, das ist doch erfrischend wenn man einen Erfahrungsbericht bekommt, auch wenn gleich mal ein haufen Bugs gefunden wurde .


Man dient doch gerne

Zitat

Ein CAN-Paket mit Kommando 0x80 sagt mir auch nichts - laut der Dokumentation von Märklin gibt es so ein Kommando auch nicht. Das gibt es nur als System-Subkommando SYSTEM_RESET - das wird aber nicht als "unbekannt" geloggt. Der can-monitor auf meiner SRSEII interpretiert es als

1
 
09:45:57.589   CAN  0x1F000300  [5] 47 43 5B 65 03          System: Lok mfx-7013 Nothalt
 



Dass eine I2C-TX-Nachricht als "Keyboard: 15" gelistet wird, ist nur ein Problem der Darstellung. Der Code zum Ausgeben berücksichtigt nicht, dass bei einer TX-Nachricht Sender und Empfänger in der Nachricht verstauscht sind. Spontan fällt mir noch keine geschickte Lösung ein, daher habe ich das erstmal [url=https://github.com/deltaphi/c6021light/issues/6]als Bugreport notiert[url].

Bleibt das Problem, dass das Keyboard keine Antwort auf seine Schaltanforderung bekommt. Was ich aus deinem Log sehe: Es kommt eine Antwort von der MS2 an ("Accessory Switch. ..."). Die bezieht sich allerdings auf Weiche 0xff02, während eignetlich Weiche 0x3002 (Weiche 3, Motorola-Format ) zu erwarten wäre.



Bingo, das ist mir nicht aufgefallen. Ich denke die 0x80 ist irgendeine Fehlermeldung der MS2 da die Adresse eigentlich nicht passt (?)

Zitat

Was hier wahrscheinlich passiert: Man kann über die serielle Schnittstelle einstellen, ob Weichenschaltbefehle für Motorola, DCC oder Selectrix an die Gleisbox geschickt werden sollen. Die Einstellung wird im Flash dauerhaft gespeichert. Wenn man die c6021light einschaltet, liest sie erstmal die Konfigurationswerte aus dem Flash und arbeitet dann entsprechend. Hier hatten leider frühere Softwareversionen einen Bug: Es wurde immer ein Wert aus dem Flash übernommen, auch wenn gar keiner drinsteht ops: . Ein "steht nichts drin" zeigt sich im Flash als der Wert 0xFF. Dieser Wert wird auch auf die Schaltanforderung für eine Weiche draufgerechnet - und die Gleisbox scheint brav darauf zu antworten - auch wenn ich nicht weiß, was sie denn schalten würde.

Für dich gibt es zwei Lösungsmöglichkeiten. Entweder du wechselst auch auf die aktuelle Master-Version oder du setzt einmalig über die serielle Schnittstelle das Protokoll für Weichen auf "MM2" (speichern nicht vergessen, sonst ist das Problem nach einem Reboot der c6021light wieder da ).


In der Tat, das war der Bug. Ich hab mal ganz unschuldig get-protocol ausprobiert, Egebnis: Die c6021l hat mir die Konsole dauerhauft mit lustigen Zeichen zugespamt Nach einem set-protocol, save und reboot hat sowohl get-protocol als auch das Schalten vom Keyboard aus funktioniert Ganz wunderbar!

Zitat

bertr2d2 hat mich mal darauf aufmerksam gemacht, dass auf der Rückseite der Spannungsregler eine Verbindung für den "Einstellbar"-Bereich verlegt ist. Wenn man eine Festspannungs-Lötbrücke nutzen will, muss man diese Leiterbahn an der dafür vorgesehenen Stelle durchtrennen.


Das macht Sinn bzw erklärt das Verhalten. Wenn man dann eine Festeinstellung lötet liegen die Feedback-Widerstände wohl parallel. Nicht wirklich Sinn macht dann aber die vorhandene Adj-Lötbrücke..

Ich habe noch ein anderes kleines HW-Problem: Da ich den CH340C für das USB-Interface nirgends gefunden habe, hab ich mir bei Komputer.de fertige Bausteine bestellt. Leider ist das der CH340G drauf. Da man so wenig Infos über diesen Chip findet konnte ich nicht herausfinden was der Unterschied ist. Habe den Chip vom Baustein entlötet und auf das c6021l gelötet. Beim Einstecken an den PC passiert leider nix. Auf dem Baustein ist ein Oszillator verbaut, wahrscheinlich braucht die G-Variante den Hab mir dann über die UART-Stiftleise und den externen Wandler geholfen. Habt ihr eine gute Bezugsquelle für den CH340C?


bleudeur  
bleudeur
InterCity (IC)
Beiträge: 626
Registriert am: 18.01.2020
Spurweite H0
Stromart AC


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

#56 von fantux , 03.01.2021 15:39

Hallo bleudeur,

freut mich, dass die c6021light bei dir jetzt funktioniert

Zitat

Ich habe noch ein anderes kleines HW-Problem: Da ich den CH340C für das USB-Interface nirgends gefunden habe, hab ich mir bei Komputer.de fertige Bausteine bestellt. Leider ist das der CH340G drauf. Da man so wenig Infos über diesen Chip findet konnte ich nicht herausfinden was der Unterschied ist. Habe den Chip vom Baustein entlötet und auf das c6021l gelötet. Beim Einstecken an den PC passiert leider nix. Auf dem Baustein ist ein Oszillator verbaut, wahrscheinlich braucht die G-Variante den Hab mir dann über die UART-Stiftleise und den externen Wandler geholfen. Habt ihr eine gute Bezugsquelle für den CH340C?



Den CH340C kann man auch meines Wissens nur aus Asien beziehen. Ich hatte mir für ein anderes Projekt über Aliexpress mal als kleinste Verpackungseinheit 10 oder 20 Stück bestellt und brauche die so über die Projekte jetzt auf. Die Teile kosten üblicherweise weniger als das Porto.

Eine Version des Datenblatts, die die Unterschiede erklärt, findet man z.B. hier. Es ist wie du sagst: der CH3040C hat alles an Bord und kommt im wesentlichen ohne externe Beschaltung aus. Der CH304G braucht einen externen Oszillator. Wenn du eine ruhige Hand hast, kannst du natürlich einen 12MHz-Oszillator und zwei 22p-Kondensatoren auch noch fliegend auf die c6021light drauflöten, dann könnte der Chip zum leben erweckt werden.

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

#57 von bleudeur , 03.01.2021 21:24

Zitat

freut mich, dass die c6021light bei dir jetzt funktioniert


Ich hab jetzt mal noch über LocoNet meine Intellibox II angeschlossen, natürlich mit offenem Gleisausgang. Was soll ich sagen, funktioniert auf Anhieb! Jetzt kann ich die Weiche am Gleisausgang der Gleisbox via Keyboard 6040, MS2 und dem Keyboard der Intellibox schalten, ebenso Systempower on/off und der Status wird überall automatisch und sofort geupdated - G E N I A L!

Zum Thema Loconet noch eine Frage: Wie seid ihr denn auf die HW-Implementierung gekommen? Zu dem Thema habe ich kaum Infos im Internet gefunden, nur eine relativ vage Protokollbeschreibung von Digitrax.


Zitat

Den CH340C kann man auch meines Wissens nur aus Asien beziehen. Ich hatte mir für ein anderes Projekt über Aliexpress mal als kleinste Verpackungseinheit 10 oder 20 Stück bestellt und brauche die so über die Projekte jetzt auf. Die Teile kosten üblicherweise weniger als das Porto.

Eine Version des Datenblatts, die die Unterschiede erklärt, findet man z.B. hier. Es ist wie du sagst: der CH3040C hat alles an Bord und kommt im wesentlichen ohne externe Beschaltung aus. Der CH304G braucht einen externen Oszillator. Wenn du eine ruhige Hand hast, kannst du natürlich einen 12MHz-Oszillator und zwei 22p-Kondensatoren auch noch fliegend auf die c6021light drauflöten, dann könnte der Chip zum leben erweckt werden.


Grml da warst du besser im Datenblatt recherchieren. Nun gut, für den Moment werde ich halt den externen beibehalten und mir mal eine Einheit beim Chinamann bestellen.

Als nächstes steht dann von meiner Seite die Xpressnet-Unterstützung auf dem Plan. Es gibt eine Bibliothek von Philipp Gahtow, ich werde mal schauen inwiefern sich die integrieren lässt. Soll ich vom aktuellen Master aus starten?


bleudeur  
bleudeur
InterCity (IC)
Beiträge: 626
Registriert am: 18.01.2020
Spurweite H0
Stromart AC


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

#58 von bertr2d2 , 03.01.2021 22:32

Hallo,

Zitat

Zitat

Zitat

Bei den Spannungsreglermodulen musste ich etwas tricksen. Einer liefert 8V, das muss man ohnehin per Poti einstellen. Der andere soll 5V liefern, hatte aber irgend ein Problem, so dass die Festeinstellung immer 3,8V lieferte. Ich habe dann halt auch die 5V per Poti eingestellt. Die Versorgung erfolgt hier mit einem 9V-Steckernetzteil.


Ich hatte übrigens genau dasselbe Problem.




bertr2d2 hat mich mal darauf aufmerksam gemacht, dass auf der Rückseite der Spannungsregler eine Verbindung für den "Einstellbar"-Bereich verlegt ist. Wenn man eine Festspannungs-Lötbrücke nutzen will, muss man diese Leiterbahn an der dafür vorgesehenen Stelle durchtrennen.



die Ausgangsspannung der verwendeten DCDC-Module werden im Auslieferungszustand über das Poti eingestellt. Will man die Spannung fest einstellen, muss man auf der Rückseite die Brücke bei Adj trennen. Bild links zeigt dies:

Ich finde das etwas frimelig. Ich entferne daher das Poti (mittleres Modul auf dem Bild) und setze die entsprechende Brücke (z.B. 5V). Für 8V gibt es keinen vordefinierten Widerstand. Ich setze daher anstelle des Potis ein 68k Widerstand (rechtes Modul - oben rechts; Kennung 683 SMD 0805; SMD 1206 geht auch) ein.

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.543
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


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

#59 von fantux , 03.01.2021 22:33

Hallo bleudeur,

Zitat

Zitat

freut mich, dass die c6021light bei dir jetzt funktioniert


Ich hab jetzt mal noch über LocoNet meine Intellibox II angeschlossen, natürlich mit offenem Gleisausgang. Was soll ich sagen, funktioniert auf Anhieb! Jetzt kann ich die Weiche am Gleisausgang der Gleisbox via Keyboard 6040, MS2 und dem Keyboard der Intellibox schalten, ebenso Systempower on/off und der Status wird überall automatisch und sofort geupdated - G E N I A L!




Und das sollte auch funktionieren, wenn du die Weiche mal an die IB2 hängst, *statt* an die Gleisbox.

Zitat
Zum Thema Loconet noch eine Frage: Wie seid ihr denn auf die HW-Implementierung gekommen? Zu dem Thema habe ich kaum Infos im Internet gefunden, nur eine relativ vage Protokollbeschreibung von Digitrax.



Wenn man die Suchmaschine des Vertrauens nach „Arduino LocoNet“ befragt, findet man einiges. Philip Gathow ist oben mit dabei. Wo genau bertr2d2 die Schaltung her hat, kann er aber besser selber erzählen.

Zitat

Zitat

Den CH340C kann man auch meines Wissens nur aus Asien beziehen. Ich hatte mir für ein anderes Projekt über Aliexpress mal als kleinste Verpackungseinheit 10 oder 20 Stück bestellt und brauche die so über die Projekte jetzt auf. Die Teile kosten üblicherweise weniger als das Porto.

Eine Version des Datenblatts, die die Unterschiede erklärt, findet man z.B. hier.


Grml da warst du besser im Datenblatt recherchieren. Nun gut, für den Moment werde ich halt den externen beibehalten und mir mal eine Einheit beim Chinamann bestellen.




Ne, ich hatte nur das richtige Datenblatt schon auf der Platte. Wenn man das Zieldokument kennt, wird das suchen unter den verschiedenen Onlineverfügbaren Darenblättern einfacher .

Zitat
Als nächstes steht dann von meiner Seite die Xpressnet-Unterstützung auf dem Plan. Es gibt eine Bibliothek von Philipp Gahtow, ich werde mal schauen inwiefern sich die integrieren lässt. Soll ich vom aktuellen Master aus starten?



Es gibt noch einen branch namens „LocoNet“, der ist im Moment als Ausgangspunkt geeigneter. Ich wollte dort eigentlich nur ein kleines Featurele implementieren, aber das zieht seit fast einer Woche immer mehr Arbeit nach sich. Morgen werde ich erstmal die beiden Branches in den Master zusammenführen, dann ist wieder Master das Maß der Dinge.

Wenn du die Bibliothek für XpressNet einbaust, achte bitte darauf ob die Bibliothek ein Polling beim senden und/oder empfangen verwendet. LocoNet z.B. macht das beim Senden, aber nicht beim Empfangen. Das bremst leider die Kommunikation zwischen unbeteiligten Bussen aus. Im Moment kann man nichts dagegen machen, für LocoNet habe ich aber schon eine mittelfristige Lösung im Kopf. Wenn du sagen kannst, wie das bei XpressNet funktioniert, werde ich das gleich mit erschlagen, wenn es denn soweit ist. Bis dahin gibt es dann halt Polling, falls notwendig.

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

#60 von bertr2d2 , 03.01.2021 23:24

Hallo,

Zitat

Zitat

Zum Thema Loconet noch eine Frage: Wie seid ihr denn auf die HW-Implementierung gekommen? Zu dem Thema habe ich kaum Infos im Internet gefunden, nur eine relativ vage Protokollbeschreibung von Digitrax.



Wenn man die Suchmaschine des Vertrauens nach „Arduino LocoNet“ befragt, findet man einiges. Philip Gathow ist oben mit dabei. Wo genau bertr2d2 die Schaltung her hat, kann er aber besser selber erzählen.


Ich habe hier abgekupfert:
FremoLNShield entwickelt von Dirkjan Kaper

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.543
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


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

#61 von fantux , 04.01.2021 08:13

Hallo,

Zitat

Es gibt noch einen branch namens „LocoNet“, der ist im Moment als Ausgangspunkt geeigneter. Ich wollte dort eigentlich nur ein kleines Featurele implementieren, aber das zieht seit fast einer Woche immer mehr Arbeit nach sich. Morgen werde ich erstmal die beiden Branches in den Master zusammenführen, dann ist wieder Master das Maß der Dinge.



mit frischem Kopf bekommt man so einen git merge leicht durch: Ab sofort sind alle Änderungen auf dem Master sichtbar.

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

#62 von bleudeur , 04.01.2021 15:09

Hallo zusammen,

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

Wenn du die Bibliothek für XpressNet einbaust, achte bitte darauf ob die Bibliothek ein Polling beim senden und/oder empfangen verwendet. LocoNet z.B. macht das beim Senden, aber nicht beim Empfangen. Das bremst leider die Kommunikation zwischen unbeteiligten Bussen aus. Im Moment kann man nichts dagegen machen, für LocoNet habe ich aber schon eine mittelfristige Lösung im Kopf. Wenn du sagen kannst, wie das bei XpressNet funktioniert, werde ich das gleich mit erschlagen, wenn es denn soweit ist. Bis dahin gibt es dann halt Polling, falls notwendig.


Das Empfangen scheint über USART-Interrupts zu passieren, beim Senden wird allerdings der UART-Status gepollt. Das sollte aber einfach umzubauen sein damit das auch per ISR gehandhabt wird. Ich muss den kompletten HAL sowieso portieren, das ist alles in einem File für den Arduino-AVR geschrieben.

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

Und das sollte auch funktionieren, wenn du die Weiche mal an die IB2 hängst, *statt* an die Gleisbox.


Tut es

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

mit frischem Kopf bekommt man so einen git merge leicht durch: Ab sofort sind alle Änderungen auf dem Master sichtbar.


Super. Ich werde dann mit dem momentanen Master starten.

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

Ich finde das etwas frimelig. Ich entferne daher das Poti (mittleres Modul auf dem Bild) und setze die entsprechende Brücke (z.B. 5V). Für 8V gibt es keinen vordefinierten Widerstand. Ich setze daher anstelle des Potis ein 68k Widerstand (rechtes Modul - oben rechts; Kennung 683 SMD 0805; SMD 1206 geht auch) ein.


Macht Sinn. Mein Hauptproblem war wie gesagt dass ich nie auf die Idee gekommen wäre dass Adj trotz Lötbrücke vorverbunden ist. Damit hätte ich mir das Löten der Brücke auch schön sparen können

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

FremoLNShield entwickelt von Dirkjan Kaper



bleudeur  
bleudeur
InterCity (IC)
Beiträge: 626
Registriert am: 18.01.2020
Spurweite H0
Stromart AC


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

#63 von ludgerold , 04.01.2021 18:45

Hallo zusammen,
Erst mal ein großen Lob an Gerd und funtus, echt klasse das C6021l. Ich hatte im Dezember bei Gerd zwei Platinen, die Spannungsregler und die BluePills bestellt. Alles kam zügig und ich fing an zu löten. Es hat alles zuweit gut geklappt, als ich dann ans auspropieren ging, funktionierte nur der erste Schaltvorgang und dann nichts mehr (Dank nochmal an Gerd für die tolle Ünterstützung)
Dann habe ich ein andres Keyboard getestet und siehe da es funktionierte alles wunderbar. Und woran lag es jetzt?
Also bei mir am C6061l funktionieren nur die Keybords mit den schwarzen Dipschalter hinten, die mit roten Dipschalter nicht :
Ich habe jetzt 4 Keyboards mit schwarzem Dipschalter und 4 Keyboards mit rotem Dipschalter getestet und die mit schwarzen
Dipschaltern funktionieren bei mir alle einwandfrei auch die Anzeigen in der MS2 schaltet um, bei denen mit den roten Dipschaltern funktioniert
nur der 1 Schaltvorgang und danch get nichts mehr. Die Leds und die Anzeige in MS2 reagieren überhaut nicht. Ich hoffe diese Info hilft
euch weiter.
Ich würde mir noch wünschen und für die anderen Einsteiger, das es ein Bestückungsplan oder ein Foto mit der minimal Bestückung für Anfänger hier gepostet wird und eine Beschreibung wie auf das BluePill die neue Softwareversion aufgespielt werd (Tools, Software oder was mann so braucht). Ich bin jetzt kein IT-ler, aber mit einer gewissen Beschreibung würde ich mir das zutrauen.
Danke noch mal an alle, die hier Ihr Wissen und Ihre Erfahrung weitergeben
bis dann Ludger


C-Gleis - AC-Digital mit 60214 mit MS1 und MS2 90% Lopi3 und Lopi4 ein par Tams LD-G-11
fast nur Kubsch-Motor Umbauten (tolle Faheigenschaften, teilweise leiser als neue Märklin Loks)
95% Märklin


ludgerold  
ludgerold
Regionalbahn (RB)
Beiträge: 26
Registriert am: 17.07.2008
Gleise C-Gleis


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

#64 von fantux , 04.01.2021 19:09

Hallo Ludger,

Freut mich zu hören, dass die c6021light bei dir im Einsatz ist

Zitat

Also bei mir am C6061l funktionieren nur die Keybords mit den schwarzen Dipschalter hinten, die mit roten Dipschalter nicht :
Ich habe jetzt 4 Keyboards mit schwarzem Dipschalter und 4 Keyboards mit rotem Dipschalter getestet und die mit schwarzen
Dipschaltern funktionieren bei mir alle einwandfrei auch die Anzeigen in der MS2 schaltet um, bei denen mit den roten Dipschaltern funktioniert
nur der 1 Schaltvorgang und danch get nichts mehr. Die Leds und die Anzeige in MS2 reagieren überhaut nicht. Ich hoffe diese Info hilft
euch weiter.



Das klingt ähnlich wie die Beschreibungungen, die es zu Memory’s und der Connect6021 von Märklin gibt: auch da funktioniert wohl nur eine Farbvariante der DIP-Schalter. Ich habe vor ein paar Wochen mit einem Memory gearbeitet und dabei festgestellt, dass verschiedene Märklin-Geräte eine Unterschiedlich eigenwillige Interpretation des I2C-Bus haben. Für das Memory habe ich der c6021light dann Kompatibilität eingebaut. Was du beschreibst, passt zu den Beobachtungen, die ich mit dem Memory gemacht habe. Eventuell hilft dieses Feature auch deinen Keyboards mit den roten Dipschaltern auf die Sprünge.

Hast du die Möglichkeit, mit der aktuellsten Releaseversion oder auch der aktuellsten Entwicklungsversion zu testen, ob die anderen Keyboards dann auch funktionieren?

Was auch noch einen Versuch wert ist: hast du mal die Adressen der Keyboards kontrolliert? Ich habe nur ein Keyboard und kann daher nur schwer den gesamten Adressraum ausprobieren. Eventuell funktionieren ja nur Keyboards in einem bestimmten Adressbereich.

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

#65 von ludgerold , 04.01.2021 20:00

Hallo fantux,
ich habe mehrere von den Keyboard mit schwarzen und roten Dipschalter zum testen, ich werde das ausprobieren mit mehreren Keyboards.
Ich weiß aber nicht wie ich die neue Firmware aufspielen muss? Mit welchen tool , in welcher Umgebung oder per Webinterface kein Ahnung.
Kurze Info wie das geht wäre toll.
Mit dem Märklin Connect 60128 finktionieren alle Keyboard, egal ob die Keyboards schwarze oder rote Dipschalter haben, auch das Memory 6043.
Das Memory werde ich noch am C6021l ausprobieren und dann berichten.
bis dann Ludger


C-Gleis - AC-Digital mit 60214 mit MS1 und MS2 90% Lopi3 und Lopi4 ein par Tams LD-G-11
fast nur Kubsch-Motor Umbauten (tolle Faheigenschaften, teilweise leiser als neue Märklin Loks)
95% Märklin


ludgerold  
ludgerold
Regionalbahn (RB)
Beiträge: 26
Registriert am: 17.07.2008
Gleise C-Gleis


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

#66 von fantux , 04.01.2021 21:32

Hallo Ludger,

Zitat

Ich weiß aber nicht wie ich die neue Firmware aufspielen muss? Mit welchen tool , in welcher Umgebung oder per Webinterface kein Ahnung.
Kurze Info wie das geht wäre toll.



um die Software aufzuspielen brauchst du zunächst ein kleines bisschen Hardware: Ein USB-Seriell-Adapter für 3,3V-Boards. Ich verwende eine ältere Version von diesem hier, man bekommt die aber auch deutlich billiger in unzähligen anderen Shops. Falls du ohnehin noch Hardware beschaffen musst, kannst du auch über einen ST-Link V2-Nachbau-Debugger nachdenken. Den gibt es auch für schmale Taler bei unzählig Quellen, meinen habe ich von Makershop. Damit wird die untenstehende Anleitung allerdings etwas anders (vorallem etwas kürzer ). Wenn du keinen ST-Link beschaffen willst, ist ein passender USB-Seriell-Adapter aber völlig ausreichend. Im folgenden gehe ich davon aus, dass du den Weg über den USB-Seriell-Wandler wählst.

Als Umgebung zum Code editieren, kompilieren und flashen eignet sich am einfachsten PlatformIO. Die PlatformIO IDE gibt es für alle Betriebssysteme, und es gibt auch eine Installationsanleitung. Kurz zusammengefasst: Du installierst dir Microsoft Visual Studio Code, und in VS Code installierst du die PlatformIO-Erweiterung. Wenn du jetzt VS Code den Code der c6021light zeigst, lädt die PlatformIO-Erweiterung alle notwendigen Dinge aus dem Internet nach. Alle Softwaretools sind kostenlos zu bekommen.

Dazu musst du natürlich den Code der c6021light auf die Platte bekommen. Ideal wäre, wenn du den über Git herunterlädst - das vereinfacht weitere Experimente. Wenn du mit Git keine Erfahrungen hast, kannst du stattdessen auch ein ZIP-Archiv von der Github-Seite herunterladen. Hier dazu zwei Links:



Such' dir eines davon aus, lade das Archiv herunter und entpacke es irgendwo auf deiner Festplatte. Dann musst du VS Code sagen, wo denn das Projekt liegt. Dazu musst du zunächst den richtigen Ordner identifizieren. Es gibt eine kleine Gemeinheit: Wenn du das Archiv entpackst, erhälst du wahrscheinlich einen Ordner namens "c6021light". Da drin ist dann aber *nochmal* ein Ordner namens "c6021light". Um die Verwirrung einfach zu machen: Der *richtige* Ordner enthält die Datei "platformio.ini". Bei mir sieht das so aus:


Du gehst also in VSCode -> File -> Open Folder - bei dir sind die Menüs vielleicht auf deutsch. Zur Orientierung:

Im folgenden Dialog navigierst du zu dem Ordner, der die platformio.ini enthält. Leider zeigt der Dialog nur Dateien, keine Ordner. Aber den Pfad hast du ja zwei Bilder zuvor schon gefunden. Sieht dann so aus:


Wenn VS Code dann den Ordner geöffnet hat, erhälst du in etwa diesen Bildschirm:


Jetzt drückst du die Tastenkombination STRG+ALT+b. Das animiert PlatformIO dazu, den Kompiler herunterzuladen, Abhängigkeiten aus dem Internet zu holen und den Code zu kompilieren. Wenn alles klappt, sollte die Ausgabe in etwa so aussehen:


Der nächste Schritt ist, die Software auf das Bluepill zu laden. Dazu stellst du zunächst den USB-Seriell-Wandler auf 3,3V und schließt ihn dann an c6021light und deinen PC an. Dann braucht die c6021light eine Spannungsversorgung (rote LED auf dem Bluepill-Board muss leuchten, sonst ist keine Spannung da). Als nächstes musst du auf dem Bluepill den Jumper "Boot0" auf Position "1" setzen und einmal den Reset-Knopf drücken. Die Stellung von Jumper Boot1 ist unerheblich. Ich habe leider kein Foto parat, aber das Foto in diesem Heise-Artikel (ca. bis zur hälfte runterscrollen) zeigt die notwendige Jumperstellung. Sind die Jumper richtig gesetzt, musst du noch PlatformIO informieren, dass du über eine Serielle Schnittstelle hochladen möchtest. Öffne dazu die Datei "platformio.ini" und füge in der Sektion "[env:bluepill]" die Zeile "upload_protocol = serial" ein - ein Screenshot kommt gleich. Ist die Zeile eingefügt, kannst du mit der Tastenkombination STRG+ALT+u in VS Code einen upload der Software auf das Bluepill-Board anstoßen. Wenn es klappt, sieht das Ergebnis etwa so aus:


In der Theorie läuft nun die neue Software schon auf der c6021light. In der Praxis hatte ich gerade eben das Problem, das die Software eben doch nicht lief - warum auch immer. In diesem Fall einfach den Jumper "Boot0" auf Poisition 0 zurücksetzen und einmal Reset drücken - spätestens jetzt läuft die Software. Boot0 schaltet um zwischen "Flashen" (= Position 0) und "Software normal ausführen (=Position 1). Du musst den Jumper also nach Bedarf umsetzen und das Board resetten.

Ich hoffe, das nich nichts vergessen habe - wenn etwas zu fehlen scheint oder nicht funktioniert, melde dich einfach wieder.

Zitat

Mit dem Märklin Connect 60128 finktionieren alle Keyboard, egal ob die Keyboards schwarze oder rote Dipschalter haben, auch das Memory 6043.
Das Memory werde ich noch am C6021l ausprobieren und dann berichten.



Hat das Memory schwarze oder rote DIP-Schalter? Nach den berichten, die ich gefunden habe, funktionieren nur Memories mit roten DIP-Schaltern an der Connect 6021. Mein Memory hat schwarze DIP-Schalter, ich habe aber keine Connect 6021 zum herumprobieren.

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

#67 von fantux , 05.01.2021 12:46

Hallo Stummis,

jetzt gibt es im Projektwiki auf GitHub auch einen ausführlichen Anleitungsartikel zur installation von PlatformIO, herunterladen des Codes und aufspielen auf die c6021light über Serial. Feedback ist gerne gesehen, insbesondere wenn irgendwas unklar bleibt oder fehlt.

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

#68 von fantux , 06.01.2021 12:24

Hallo c6021light-User und solche die es werden wollen,

nun habe ich mal eine Frage, wie ein Problem sinnvollerweise gelöst werden soll. In der aktuellen Entwicklungsversion habe ich eine rudimentäre Unterstützung eingebaut, um auch die Loksteuerung zwischen CAN und LocoNet übersetzen zu können. Mit ein paar klimmzügen funktioniert das zwischen einer IB1 und einer MS2 auch . Das Problem ist allerdings die Verwendung im Alltagsbetrieb. Grundsätzlich könnte man sich da vorstellen, Loksteuerung umfasst Nachrichten "Lokadresse, Geschwindigkeit" und gut ist. Leider stimmt das weder für CAN noch für LocoNet. Um mal etwas auszuholen, zunächst zwei kleine Exkurse.

Loksteuerung auf LocoNet

Die Loksteuerung auf LocoNet basiert auf der Idee von Slots. Soll eine Lok gesteuert werden, fordert man zunächst bei der Zentrale einen Slot für die Lokadresse an. Bekommt die Lok einen Slot zugeteilt, sendet man Nachrichten der Form "Slotnummer, Geschwindigkeit" um die Lok zu steuern. Es gibt dabei auf LocoNet keine (mir bekannte) Information, mit welchem Protokoll die Lok auf dem Gleis angesprochen werden soll.

Loksteuerung auf CAN

Die Loksteuerung auf CAN basiert auf Nachrichten der Form "LocId, Geschwindigkeit". Die LocId codiert dabei sowohl die numerische Lokadresse als auch das Gleisprotokoll. Damit ist es möglich, dass man eine Adresse unter mehreren Gleisprotokollen verschieden vergibt - z.B. kann eine DHG500 die Adresse "DCC-50" bekommen, während eine BR50 die Adresse "MM2-50" verwendet. Ob die MS2 oder die CS2 das auch auf das Gleis bringen, weiß ich nicht - zumindest auf CAN-Seite kann solche Kommunikation aber auftreten.

Ist-Stand

Auf der LocoNet-Seite trackt die c6021light mit, welche Slots mit welchen Adressen belegt sind. Kommt eine Nachricht für einen Slot vorbei, über den die c6021light nichts weiß, fragt sie einfach bei der LocoNet-Zentrale die Informationen für diesen Slot ab. Soll eine Steuernachricht an eine Lok gesendet werden, für die der c6021light noch kein Slot bekannt ist, fordert sie bei der Zentrale einen Slot an.

Wird auf LocoNet ein Loksteuerbefehl empfangen, sucht die c6021light heraus, welche Adresse damit gemeint war. Wenn nichts weiter bekannt ist, schickt sie auf CAN Steuernachrichten für diese Adresse im MM2-Protokoll. Wird auf der CAN-Seite eine Loksteuernachricht empfangen, kann die c6021light einfach das Protokoll herausstrippen und die Nachricht an den entsprechenden Slot auf LocoNet weiterleiten. Das führt dann zu der interessanten Situation, dass in obigem Beispiel sowohl die DHG500 als auch die BR50 am gleichen Regler auf LocoNet-Seite drehen würden. Die Übersetzung ist so also in beiden Richtungen verlustbehaftet.

Um das zu beheben, hat die c6021light die Möglichkeit, die Lokdatenbank einer MS2 herunterzuladen (bis 40 Einträge, mehr RAM habe ich im Moment nicht spendiert). Die Datenbank enthält dann die Information welche Lokadressen der MS2 bekannt sind und welche LocIds dazu gehören. Für die Richtung LocoNet->CAN kann die c6021light dann nachschauen, ob sie eine LocID findet. Wenn also z.B. eine DB 220 mit DCC-Adresse "220" in der Lokdatenbank existiert, wird die c6021light nicht mehr an MM2-220 sondern an DCC-220 senden.

Offene Fragen

Insgesamt gibt es nun zwei Useability-Herausforderungen:

  • Wie soll die c6021light damit umgehen, das Adressen auf CAN-Seite doppelt belegt sind? Mögliche Optionen: Loksteuerung unterdrücken, erste Lok in der DB nehmen, Loks nach Protokoll priorisieren,... - jede dieser Optionen hat das Potential, sehr verwirrend zu sein, wenn man sich nicht damit beschäftigt, was die c6021light tut. Im dümmsten Fall wundert man sich, warum eine Lok nicht fährt, derweil produziert eine anderen einen Auffahrunfall, stürzt in eine Drehscheibengrube oder fällt sogar von der Anlage .
  • Wann soll die c6021light die Lokdatenbank herunterladen? Im Moment muss man das explizit über die Serielle Konsole starten. Theoretisch denkbar: Download einmal nach dem Reset. Dann bemerkt die c6021light aber nicht, wenn man der MS2 eine neue Lok beigebracht, Lok geändert oder Lok gelöscht hat. Auch denkbar: Update der Datenbank immer dann, wenn auf LocoNet-Seite eine Adresse gesteuert werden soll, die auf CAN-Seite noch nicht bekannt ist. Das führt dann aber dazu, dass die Eingabe einer nicht existierenden Adresse (Tippfehler reicht!) auf LocoNet-Seite die c6021light lahmlegt, weil sie pausenlos versuchen wird, die Lokdatenbank neu runterzuladen. Und der Download der Lokdatenbank ist ein ganz schön Zeitintensives unterfangen - selbst meine aktuelle Datenbank mit zwei Testloks braucht schon ~3 Sekunden. Wenn man das mal 40 nimmt, dauert der Download schon zwei Minuten. In dieser Zeit darf man die c6021light auch nicht mit viel anderem beschäftigen - die MS2 schiebt kanllhart die Daten raus, egal ob jeder auf dem Bus hinterherkommt .

    Auch hier gibt es das gleiche Verwirrungspotential wie beim ersten Punkt, ebenso mit der Gefahr das man sich wundert warum sich eine Lok nicht steuern lässt, während sich eine andere dem Verderben zubewegt.


Was haltet ihr hier für das bevorzugte Verhalten der c6021light?

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

#69 von markra , 07.01.2021 18:36

Hallo Ihr Lieben,

vielen Dank für Eure Arbeit. Ich habe Connect 6021 light nachgebaut und es nach vielen Wirren zum Laufen gebracht. Zumindest teilweise.

Gelöstes Problem Programmierung: Debug Port Stecker J52 ist leider nicht kompatibel zu den beliebten FTDI USB/SER China-Boards. PIn RX / TX scheinen vertauscht zu sein (habe allerdings noch erste Platinen-Version). Damit geht natürlich auch das serielle Programmieren nicht, egal wie man die Jumper steckt. Mit der diekten Verbindung gemäß Heise Artikel hat das Programmieren dann doch funktioniert...

Die Anleitung zum Programmieren finde ich sehr gelungen, Lob an Fantux...

Leider ist das Umschalten der Modi DCC/MM in der Programmier-Anleitung nicht dokumentiert. Als wichtige Info wäre hier noch die Einstellung der seriellen Schnittstelle zu erwähnen, ich gehe mal von 115200Baud,8Datenbits und 1 Stopbit aus (ohne Parity). Ich hab an diesem Punkt noch nicht weitergemacht. Da ich RX/TX erst mal tauschen muss und dann hoffen das der Tx des Bluepill noch lebt. Da ich im CAN-Monitor meiner SRSE2 Gleisbox die Adressen 0x30xx... sehe, gehe ich mal davon aus, dass bei mir MM eingestellt ist... Ich habe noch keine Weichen angeschlossen.

17:02:17.578 CAN 0x00168377 [6] 00 00 30 12 01 01 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 1
17:02:17.582 CAN 0x00176F34 [6] 00 00 30 12 01 01 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 1
17:02:17.828 CAN 0x00168377 [6] 00 00 30 12 01 00 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 0
17:02:17.835 CAN 0x00176F34 [6] 00 00 30 12 01 00 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 0
17:02:18.248 CAN 0x00168377 [6] 00 00 30 12 00 01 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 1
17:02:18.253 CAN 0x00176F34 [6] 00 00 30 12 00 01 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 1
17:02:18.498 CAN 0x00168377 [6] 00 00 30 12 00 00 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 0
17:02:18.503 CAN 0x00176F34 [6] 00 00 30 12 00 00 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 0

Wie ich aus den Posts herauslese, ist das Protokoll ja nach der Programmierung noch nicht definiert oder irre ich mich da...?

Welche Bedeutung haben eigentlich die LEDs (rote LED BluePill = Spannungsversorgung ist klar)? Bei mir leuchtet grüne LED auf BluePill im Stop Modus, sonst nix. Sollte eine LED das Schalten anzeigen?

Meine Wünsche für Witerentwicklungen:

Sehr wünschenswert wäre, dass auch über die Einbindung einer Loksteuerung über die 6021 mit Control 80f nachgedacht wird. Das wäre der Königsweg. Ihr wertet ja den I2C Bus schon aus. Wenn der Prozessor einen Monitormodus hat (keine Ahnung, also auf Adressen hören, ohne ACK zu erzeugen), dann könnte man ähnlich wie das Interface 6050 agieren. Ich denke schon länger über einen solchen Ansatz nach.

Ich habe da noch eine Frage: Wie viele 6040 kann man an Connect 6021 light software-seitig derzeit anschließen? Für 16 x 6040 wird wohl der DC/DC Wandler knapp sein (max 256*LED + 16*Prozessor).

Noch mal: Tolle Arbeit, vielen Dank!!!

Viele Grüße
Martin


markra  
markra
Beiträge: 8
Registriert am: 17.03.2019


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

#70 von fantux , 08.01.2021 10:49

Hallo Martin,

Zitat

vielen Dank für Eure Arbeit. Ich habe Connect 6021 light nachgebaut und es nach vielen Wirren zum Laufen gebracht. Zumindest teilweise.

Gelöstes Problem Programmierung: Debug Port Stecker J52 ist leider nicht kompatibel zu den beliebten FTDI USB/SER China-Boards. PIn RX / TX scheinen vertauscht zu sein (habe allerdings noch erste Platinen-Version). Damit geht natürlich auch das serielle Programmieren nicht, egal wie man die Jumper steckt. Mit der diekten Verbindung gemäß Heise Artikel hat das Programmieren dann doch funktioniert...



Ich habe das als Bugreport aufgenommen.

Zitat

Die Anleitung zum Programmieren finde ich sehr gelungen, Lob an Fantux...



Vielen Dank! Bist du der Anleitung hier im Forum oder der im Wiki gefolgt?

Zitat

Leider ist das Umschalten der Modi DCC/MM in der Programmier-Anleitung nicht dokumentiert. Als wichtige Info wäre hier noch die Einstellung der seriellen Schnittstelle zu erwähnen, ich gehe mal von 115200Baud,8Datenbits und 1 Stopbit aus (ohne Parity). Ich hab an diesem Punkt noch nicht weitergemacht. Da ich RX/TX erst mal tauschen muss und dann hoffen das der Tx des Bluepill noch lebt.



Das hat weniger mit der Programmieranleitung zu tun als damit, dass es keine Userdokumentation gibt. Da die zur Laufzeit schaltbaren Fähigkeiten der c6021light gerade wachsen, wäre das in der Tat mal angebracht, eine zu schreiben. Was man als Softwareentwickler halt so am liebsten tut - Handbücher schreiben .

Zitat

Da ich im CAN-Monitor meiner SRSE2 Gleisbox die Adressen 0x30xx... sehe, gehe ich mal davon aus, dass bei mir MM eingestellt ist... Ich habe noch keine Weichen angeschlossen.

17:02:17.578 CAN 0x00168377 [6] 00 00 30 12 01 01 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 1
17:02:17.582 CAN 0x00176F34 [6] 00 00 30 12 01 01 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 1
17:02:17.828 CAN 0x00168377 [6] 00 00 30 12 01 00 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 0
17:02:17.835 CAN 0x00176F34 [6] 00 00 30 12 01 00 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 0
17:02:18.248 CAN 0x00168377 [6] 00 00 30 12 00 01 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 1
17:02:18.253 CAN 0x00176F34 [6] 00 00 30 12 00 01 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 1
17:02:18.498 CAN 0x00168377 [6] 00 00 30 12 00 00 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 0
17:02:18.503 CAN 0x00176F34 [6] 00 00 30 12 00 00 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 0

Wie ich aus den Posts herauslese, ist das Protokoll ja nach der Programmierung noch nicht definiert oder irre ich mich da...?


Du hast hier Weiche 13 MM2 erst auf Grün und dann auf Rot geschaltet. Herzlichen Grückwunsch . Es ist aber etwas seltsam, dass die SRSEII das Protokoll nicht auflöst. Wenn ich mich recht erinnere, gab es da vor langer Zeit mal einen Bug in can-monitor, den bertr2d2 aber inzwischen behoben hat. Wenn du mutig bist, kannst du ja den can-monitor auf deiner SRSEII updaten

Zitat

Welche Bedeutung haben eigentlich die LEDs (rote LED BluePill = Spannungsversorgung ist klar)? Bei mir leuchtet grüne LED auf BluePill im Stop Modus, sonst nix. Sollte eine LED das Schalten anzeigen?



Noch was für das Handbuch... Rot: Spannung. Grün: STOP-Modus. Achtung: Die anzeige der grünen LED stimmt erst, wenn der STOP-Modus einmal in irgend eine Richtung geschaltet wurde. Die MS2 startet immer gestoppt, eine Intellibox startet immer auf Go - die c6021lgiht "glaub" einfach mal das "Go" ist, bis sie eines besseren belehrt wird. Auf der Platine gibt es noch eine weitere rote LED. Die ist im Moment unbenutzt. Eigentlich war der Gedanke, dass die parallel zur Grünen auf dem Bluepill liegen soll, aber irgendwie haben bertr2d2 und ich da aneinander vorbeigeredet. Naja - jetzt ist noch eine LED für weitere Signalisierungszwekce vorbereitet. Ich hatte schon darüber nachgedacht, Blinkmuster zur Fehlererkennung einzuführen. Bisher gab es aber keine wichtig genugen Fehler, die den Aufwand gerechtfertigt hätten.

Zitat

Meine Wünsche für Witerentwicklungen:

Sehr wünschenswert wäre, dass auch über die Einbindung einer Loksteuerung über die 6021 mit Control 80f nachgedacht wird. Das wäre der Königsweg. Ihr wertet ja den I2C Bus schon aus. Wenn der Prozessor einen Monitormodus hat (keine Ahnung, also auf Adressen hören, ohne ACK zu erzeugen), dann könnte man ähnlich wie das Interface 6050 agieren. Ich denke schon länger über einen solchen Ansatz nach.



Jetzt halt' dich fest: über die Anbindung von Control 80f denke ich auch schon seit Beginn des Projekts nach . Der STM32 hat aber meines Wissens keinen Monitor-Modus, d.h. die c6021light wird immer eine Control 6021 ersetzen müssen. Loksteuerung über I2C hat allerdings zwei Herausforderungen. Zunächst muss man die angeschlossenen Control 80f bestimmen, dann muss man die Steuerbefehle in beiden Richtungen übersetzen. Um die Menge der Herausforderungen klein zu halten, habe ich mit der Loksteuerung zwischen CAN und LocoNet angefangen. Die Probleme bei der Übersetzung der Steuerbefehle sind die gleichen, aber ich kann diese Probleme vom aufzählen der Control 80f trennen. Mal abgesehen davon, dass ich im Moment gar keine Control 80f habe.

Generelles Problem: Der Weihnachtsurlaub neigt sich dem Ende zu, damit wird auch die Entwicklungsgeschwindigkeit runtergehen. Im Moment versuche ich eher, einen ordentlichen Zwischenstand zu finden. Ich habe z.B. den Code so umgebaut, das ich zumindest einige Teile davon automatisch testen kann, und ein Handbuch sollte mal geschrieben werden. Zweieinhalb Tage hab' ich noch!

Zitat

Ich habe da noch eine Frage: Wie viele 6040 kann man an Connect 6021 light software-seitig derzeit anschließen? Für 16 x 6040 wird wohl der DC/DC Wandler knapp sein (max 256*LED + 16*Prozessor).



Der Software ist die Anzahl der Keyboards und Memories egal. Sogar so egal, dass man Softwareseitig im Betrieb beliebig Keyboards und Memories dazusecken oder abstecken kann - da läuft man nur Gefahr, die Geräte elektrisch zu beschädigen. Allerdings kann man über den I2C nur 255 Weichen adressieren, mehr als 16 Keyboards ergeben also nicht viel Sinn. Die Beschränkungen dürften in der Tat im elektrischen liegen. Ich hatte irgendwo weiter oben im Thread mal geschrieben das ich den Eindruck habe, dass die Märklin-Fahrpulte ziemlich viel Strom brauchen. Andererseits hat man früher auch die gesamte Digitalanlage (Fahrpult + Loks + Wagenbeleuchtung mit Glühbirnen) aus einem 30VA-Trafo gespeist - so viel Energie kann also auch wieder nicht für die Steuerung draufgegangen sein.

Es spricht übrigens auch nichts dagegen, mehere c6021light an einer Anlage einzusetzen. Man kann z.B. eine für die LocoNet-Anbindung, eine für die Keyboards im Westflügel und eine für die Keyboards an der Nebenbahn nutzen. Anderes wildes Szenario: Modulanlage, unter jedes Modul eine c6021light schrauben und dann den FREDI durch eine MS2 ersetzen .

Zitat

Noch mal: Tolle Arbeit, vielen Dank!!!



Freut mich, wenn dir das Projekt gefällt

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

#71 von volkerS , 08.01.2021 11:28

Hallo Fantux,
lese hier zwar nur interessiert mit aber deine Frage
Wann soll die c6021light die Lokdatenbank herunterladen?
würde ich wie folgt beantworten:
Beim Kaltstart also mit Verzögerung nach PowerUp.
Zusätzlicher Update der Datenbank immer dann, wenn auf LocoNet-Seite eine Adresse gesteuert werden soll, die auf CAN-Seite noch nicht bekannt ist.
Maximal aber nur 2 Update-Versuche.
Während Update Stopp-Befehl an Gleis und Signalisierung des Updates durch die derzeit ungenutzte Led.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.981
Registriert am: 14.10.2014


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

#72 von bertr2d2 , 08.01.2021 11:38

Hallo Martin,

Zitat

Zitat

Da ich im CAN-Monitor meiner SRSE2 Gleisbox die Adressen 0x30xx... sehe, gehe ich mal davon aus, dass bei mir MM eingestellt ist... Ich habe noch keine Weichen angeschlossen.

1
2
3
4
5
6
7
8
 
17:02:17.578   CAN  0x00168377  [6] 00 00 30 12 01 01       Zubehör Schalten UID 0x00003012 Stellung 1 Strom 1
17:02:17.582 CAN 0x00176F34 [6] 00 00 30 12 01 01 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 1
17:02:17.828 CAN 0x00168377 [6] 00 00 30 12 01 00 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 0
17:02:17.835 CAN 0x00176F34 [6] 00 00 30 12 01 00 Zubehör Schalten UID 0x00003012 Stellung 1 Strom 0
17:02:18.248 CAN 0x00168377 [6] 00 00 30 12 00 01 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 1
17:02:18.253 CAN 0x00176F34 [6] 00 00 30 12 00 01 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 1
17:02:18.498 CAN 0x00168377 [6] 00 00 30 12 00 00 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 0
17:02:18.503 CAN 0x00176F34 [6] 00 00 30 12 00 00 Zubehör Schalten UID 0x00003012 Stellung 0 Strom 0
 


Wie ich aus den Posts herauslese, ist das Protokoll ja nach der Programmierung noch nicht definiert oder irre ich mich da...?



Du hast hier Weiche 13 MM2 erst auf Grün und dann auf Rot geschaltet. Herzlichen Grückwunsch . Es ist aber etwas seltsam, dass die SRSEII das Protokoll nicht auflöst. Wenn ich mich recht erinnere, gab es da vor langer Zeit mal einen Bug in can-monitor, den bertr2d2 aber inzwischen behoben hat. Wenn du mutig bist, kannst du ja den can-monitor auf deiner SRSEII updaten



fantux hat recht - ich hab das schon vor einiger Zeit gefixt:

1
2
 
10:58:45.188   CAN  0x00160300  [6] 00 00 30 12 01 01       Magnetartikel MM1 ID 19 Ausgang 1 Strom 1
10:58:45.192 CAN 0x00173B6A [6] 00 00 30 12 01 01 Magnetartikel MM1 ID 19 Ausgang 1 Strom 1
 



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.543
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


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

#73 von fantux , 08.01.2021 11:40

Hex vs. Dezimal Natürlich ist Adresse 0x3012 Taste 19 auf dem Keyboard und nicht Taste 13.


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

#74 von bertr2d2 , 08.01.2021 12:43

Hallo,

es freut mich ungemein, das momentan ein reger Austausch statfindet

Zitat

Zitat

Zitat

Welche Bedeutung haben eigentlich die LEDs (rote LED BluePill = Spannungsversorgung ist klar)? Bei mir leuchtet grüne LED auf BluePill im Stop Modus, sonst nix. Sollte eine LED das Schalten anzeigen?


Noch was für das Handbuch... Rot: Spannung. Grün: STOP-Modus. Achtung: Die anzeige der grünen LED stimmt erst, wenn der STOP-Modus einmal in irgend eine Richtung geschaltet wurde. Die MS2 startet immer gestoppt, eine Intellibox startet immer auf Go - die c6021lgiht "glaub" einfach mal das "Go" ist, bis sie eines besseren belehrt wird. Auf der Platine gibt es noch eine weitere rote LED. Die ist im Moment unbenutzt. Eigentlich war der Gedanke, dass die parallel zur Grünen auf dem Bluepill liegen soll, aber irgendwie haben bertr2d2 und ich da aneinander vorbeigeredet. Naja - jetzt ist noch eine LED für weitere Signalisierungszwekce vorbereitet. Ich hatte schon darüber nachgedacht, Blinkmuster zur Fehlererkennung einzuführen. Bisher gab es aber keine wichtig genugen Fehler, die den Aufwand gerechtfertigt hätten.





ich hatte die BluePill Onboard LED als Zustandsanzeige gedacht. Momentan mache ich da einen einfachen 1Hz Blinker:

1
2
3
4
5
6
7
8
9
10
 
volatile unsigned int counter;
 
void sys_tick_handler(void) {
/* We call this handler every 1ms resulting in 1Hz message rate. */
counter++;
if (counter > 499) {
counter = 0;
gpio_toggle(GPIOC, GPIO13); /* toggle BluePill onboard LED */
}
}
 


Die zweite, zusätzliche LED würde ich für z.B. Stop and Go Zustandsanzeige nutzen. Ggf. kann sie ja nervös blinken, wenn der Status noch ungeklärt ist.
Bessere Vorschläge sind aber immer willkommen !

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.543
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


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

#75 von bertr2d2 , 08.01.2021 13:29

Hallo Martin&fantux,

Zitat

Zitat

Meine Wünsche für Weiterentwicklungen:

Sehr wünschenswert wäre, dass auch über die Einbindung einer Loksteuerung über die 6021 mit Control 80f nachgedacht wird. Das wäre der Königsweg. Ihr wertet ja den I2C Bus schon aus. Wenn der Prozessor einen Monitormodus hat (keine Ahnung, also auf Adressen hören, ohne ACK zu erzeugen), dann könnte man ähnlich wie das Interface 6050 agieren. Ich denke schon länger über einen solchen Ansatz nach.



Jetzt halt' dich fest: über die Anbindung von Control 80f denke ich auch schon seit Beginn des Projekts nach . Der STM32 hat aber meines Wissens keinen Monitor-Modus, d.h. die c6021light wird immer eine Control 6021 ersetzen müssen.



das hatte ich bei der Platinen Entwicklung auch immer im Hinterkopf. Aber, wie fantux schon anmerkt hat, verfügt der STM32, wie wohl viele andere MCUs, über keinen I2C Monitor Mode (I2C ohne ACK). Ich habe in der Platine aber das I2C Signal auf zwei weitere GPIOs gelegt (JP1&JP2). Grob würde ich es so machen wie in der Desing Note #048 von Atmel. Man müsste aber mal schauen, ob der einfache Code robust genug wäre.

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.543
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


   

Gleisbild an CS3 erstellen - Gleisverlauf zerschossen
MäCAN Control Panel - Updates und Konfiguration vom PC aus

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