Gleisbox als Zentrale

Bereich für alle Themen rund um Modellbahn-Software, sowie der nötigen Hardware (PCs, Bildschirme, etc.).

Gleichstromer
InterCity (IC)
Beiträge: 743
Registriert: Fr 25. Aug 2017, 06:21
Deutschland

Re: Gleisbox als Zentrale

#76

Beitrag von Gleichstromer » Di 23. Okt 2018, 11:19

ups60 hat geschrieben:
Di 23. Okt 2018, 09:57
mir ist aufgefallen, daß die Gleisbox keine Funktionen größer F15 ausführt. Ich habe auch mit dem BPi probiert, gleiches Ergebnis. Liegt das hardwaremäßig an der Gleisbox oder ist das Softwaremäßig noch was zu korrigieren?
Das ist grundsätzlich mit der Gleisbox möglich. Ich habe mit der Gleisbox schon Funktionen größer F15 über DCC auslösen können. Geht aber nicht mit der MS2, ich hatte es mit RemoteCS2 gemacht und eine lokomotive.cs2 manuell um die Funktionen größer F15 erweitert. Allerdings zusammen mit der BananaPi-Lösung.


ups60
InterRegio (IR)
Beiträge: 100
Registriert: Do 20. Mär 2014, 00:29

Re: Gleisbox als Zentrale

#77

Beitrag von ups60 » Di 23. Okt 2018, 18:18

bertr2d2 hat geschrieben:
Di 23. Okt 2018, 11:14
Hallo Uwe,
ups60 hat geschrieben:
Di 23. Okt 2018, 09:57
Hi Gerd,

mir ist aufgefallen, daß die Gleisbox keine Funktionen größer F15 ausführt. Ich habe auch mit dem BPi probiert, gleiches Ergebnis. Liegt das hardwaremäßig an der Gleisbox oder ist das Softwaremäßig noch was zu korrigieren?
die Software block es nicht und die Gleisbox gibt zumindest eine Antwort mit gesetztem Response Bit:


Ob das aber auch auf dem Gleis wirklich gesendet wird kann ich nicht sagen. Wie ist es denn mit der MS2 ? Bietet die MS2 die Möglichkeit dazu ? Wenn ja, dann sollte es die Gleisbox es auch können.

Gruß

Gerd
Hallo Gerd,

nein, MS2 bietet nur bis F15 (mfx). Ich bin aber auch kein Spezi an der MS2. Ich steuere nur über Rocrail, bei Rocrail mit angeschlossener CS2/CS3 funktionieren die Funktionen >15, Rocrail mit Gleisbox funtionieren die Funktionen >15 nicht.

mfg Uwe
Zuletzt geändert von ups60 am Di 23. Okt 2018, 19:36, insgesamt 1-mal geändert.


Gleichstromer
InterCity (IC)
Beiträge: 743
Registriert: Fr 25. Aug 2017, 06:21
Deutschland

Re: Gleisbox als Zentrale

#78

Beitrag von Gleichstromer » Di 23. Okt 2018, 18:32

bertr2d2 hat geschrieben:
Di 23. Okt 2018, 11:14
Ob das aber auch auf dem Gleis wirklich gesendet wird kann ich nicht sagen. Wie ist es denn mit der MS2 ? Bietet die MS2 die Möglichkeit dazu ? Wenn ja, dann sollte es die Gleisbox es auch können.
Hallo Gerd,
die Gleisbox kann definitiv DCC bis F28 ans Gleis senden. Man braucht eben nur eine Software, die die entsprechenden Befehle über CAN an die Gleisbox sendet.

Ich habe dazu ein Image für meinen BananaPi benutzt, der eine mfx/DCC Zentrale emuliert. In der lokomotive.cs2 habe ich dann Funktionen an F16-28 definiert und einen Decoder verwendet, der entsprechende Funktionen unterstützt.

Mit RemoteCS2 werden die Funktionen entsprechend angezeigt und auch aufgerufen.

Gruß
Gleichstromer


tmricht
Beiträge: 1
Registriert: Fr 20. Apr 2018, 17:02
Nenngröße: H0
Stromart: digital
Steuerung: Maerklin MS2
Gleise: Maerklin C
Wohnort: 71101
Deutschland

Re: Gleisbox als Zentrale

#79

Beitrag von tmricht » Fr 26. Okt 2018, 19:20

Hallo Gerd,

ich intressiere mich auch für diesem Umbau. Wo bekomme ich denn alle benötigten Teile her?
Ich würde gerne eine fertige, umgebaute Gleisbox kaufen.

Ist das möglich?

PS: Ich habe eine kleine C Gleis Anlage, nur die 5 Loks fahren digital mit Maerklin MS2 und Gleisbox. Eine CS2 habe ich nicht.

Vielen Dank.

Gruss Thomas


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#80

Beitrag von bertr2d2 » Mi 7. Nov 2018, 23:24

Hallo,

ich habe die PIC-Firmware (jetzt Version 1.2) aktualisiert. Hauptgrund war die Notwendigkeit die Standard Werte insbesondere die Buslänge (1 x 16) zu setzen. Nutzer sollten aktualisieren. Das ist mit ein paar Handgriffen schnell gemacht:

Code: Alles auswählen

# Vorbereitung zur Programmierung des PICs
modprobe gpio-bb && mknod /dev/gpio-bb c 180 0
omega2-ctrl gpiomux set uart1 gpio

# Firmware herunter laden und programmieren
cd /tmp
wget https://github.com/GBert/misc/raw/master/srse2/pic-firmware/firmware/srse2-slcan.hex
p16 lvp p srse2-slcan.hex

# Nach der Programmierung UART Modus wieder einschalten
omega2-ctrl gpiomux set uart1 uart
cansend can0 00300300#
Gruß

Gerd
Zuletzt geändert von bertr2d2 am Do 8. Nov 2018, 14:06, insgesamt 1-mal geändert.
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#81

Beitrag von bertr2d2 » Do 8. Nov 2018, 13:21

Hallo Thomas,
tmricht hat geschrieben:
Fr 26. Okt 2018, 19:20
Hallo Gerd,

ich intressiere mich auch für diesem Umbau. Wo bekomme ich denn alle benötigten Teile her?
Ich würde gerne eine fertige, umgebaute Gleisbox kaufen.

Ist das möglich?
ich habe Dir eine PN geschickt die Du aber bisher nicht abgeholt hast. Ich biete fertig aufgebaute Platinen incl. aller nötigen Teile für den eigenen Einbau in die Gleisbox für 80 Euro an. Fertig umgebaute Gleisboxen biete ich für 140 Euro an. Hört sich viel an ist aber immer noch preiswerter als eine CC-Schnitte ;-) Alte, funktionierende Gleisboxen nehme ich dabei für 25 Euro in Zahlung.

Gruß

Gerd
Zuletzt geändert von bertr2d2 am So 18. Nov 2018, 18:46, insgesamt 1-mal geändert.
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !

Benutzeravatar

Ixam97
InterRegio (IR)
Beiträge: 203
Registriert: Mo 13. Jan 2014, 16:55
Nenngröße: H0
Stromart: digital
Steuerung: MS1 + 2, Rocrail, Banana Pi
Gleise: K-Gleis

Re: Gleisbox als Zentrale

#82

Beitrag von Ixam97 » Fr 9. Nov 2018, 19:44

Hallo zusammen, ich möchte mich hier auch nochmal melden ;)

Zunächst in eigener Sache: Da ich in letzter Zeit viel um die Ohren hatte gab's bei meinem Webinterface nicht viel neues. Aber derzeit bin ich dabei den Server von Javascript/Node auf C umzubauen (warum weiß ich selber nicht so recht :lol: ). Ob das am Ende hinhaut weiß ich noch nicht, aber das Grundgerüst mit Websockets und CAN steht schon. Jetzt fehlt nur noch der Funktionsumfang. Wenn ich da einen zufriedenstellenden Zustand erreicht habe, dann werde ich das ganze selbstverständlich veröffentlichen.

Dazu habe ich noch eine kleine (rein optische) Änderung am Omega2+ vorgenommen. Das Banner, das beim verbinden mit dem Terminal angezeigt wird, lässt sich unter "/etc/banner" sehr leicht bearbeiten. Das wäre vielleicht auch für das fertige Image ein netter Gag ;) :

Code: Alles auswählen

     ________    _     ___
    / ____/ /__ (_)__ / _ )___ __ __
   / / __/ / -_) (_-</ _  / _ \\ \ /
  / /_/ /_/\__/_/___/____/\___/_\_\
  \____/  A L S   Z E N T R A L E
 ------------------------------------
  Onion Omega2+, Ω-ware: 0.2.0 b193
 ------------------------------------
 
Und dann noch eine Frage an Gerd:
Ich habe bei meinen Programmier-Eskapaden wiederholt festgestellt, dass der integrierte PIC gerne mal den CAN zuspammt. Das tritt immer dann auf, wenn ich meinen Selbstbau-Decoder (wird über einen USB-Port des Desktop-PCs versorgt) an den Bus hänge. Hier mal ein Mitschnitt:

Code: Alles auswählen

19:30:20.085   CAN  0x00231B40  [8] AB AF 00 04 00 01 00 00 S88 Event: Kennung 43951 Kontakt 4 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.087   CAN  0x00231B40  [8] AB AF 00 05 00 01 00 00 S88 Event: Kennung 43951 Kontakt 5 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.089   CAN  0x00231B40  [8] AB AF 00 06 00 01 00 00 S88 Event: Kennung 43951 Kontakt 6 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.089   CAN  0x00231B40  [8] AB AF 00 07 00 01 00 00 S88 Event: Kennung 43951 Kontakt 7 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.091   CAN  0x00231B40  [8] AB AF 00 0E 00 01 00 00 S88 Event: Kennung 43951 Kontakt 14 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.093   CAN  0x00231B40  [8] AB AF 00 0F 00 01 00 00 S88 Event: Kennung 43951 Kontakt 15 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.095   CAN  0x00231B40  [8] AB AF 00 10 00 01 00 00 S88 Event: Kennung 43951 Kontakt 16 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.097   CAN  0x00231B40  [8] AB AF 00 11 00 01 00 00 S88 Event: Kennung 43951 Kontakt 17 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.098   CAN  0x00231B40  [8] AB AF 00 02 00 01 00 00 S88 Event: Kennung 43951 Kontakt 2 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.100   CAN  0x00231B40  [8] AB AF 00 03 00 01 00 00 S88 Event: Kennung 43951 Kontakt 3 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.102   CAN  0x00231B40  [8] AB AF 00 08 00 01 00 00 S88 Event: Kennung 43951 Kontakt 8 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.104   CAN  0x00231B40  [8] AB AF 00 09 00 01 00 00 S88 Event: Kennung 43951 Kontakt 9 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.106   CAN  0x00231B40  [8] AB AF 00 0A 00 01 00 00 S88 Event: Kennung 43951 Kontakt 10 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.107   CAN  0x00231B40  [8] AB AF 00 0B 00 01 00 00 S88 Event: Kennung 43951 Kontakt 11 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.108   CAN  0x00231B40  [8] AB AF 00 0C 00 01 00 00 S88 Event: Kennung 43951 Kontakt 12 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.109   CAN  0x00231B40  [8] AB AF 00 0D 00 01 00 00 S88 Event: Kennung 43951 Kontakt 13 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.953   CAN  0x00231B40  [8] AB AF 00 02 01 00 00 00 S88 Event: Kennung 43951 Kontakt 2 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.955   CAN  0x00231B40  [8] AB AF 00 03 01 00 00 00 S88 Event: Kennung 43951 Kontakt 3 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.957   CAN  0x00231B40  [8] AB AF 00 04 01 00 00 00 S88 Event: Kennung 43951 Kontakt 4 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.959   CAN  0x00231B40  [8] AB AF 00 05 01 00 00 00 S88 Event: Kennung 43951 Kontakt 5 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.961   CAN  0x00231B40  [8] AB AF 00 06 01 00 00 00 S88 Event: Kennung 43951 Kontakt 6 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.963   CAN  0x00231B40  [8] AB AF 00 07 01 00 00 00 S88 Event: Kennung 43951 Kontakt 7 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.965   CAN  0x00231B40  [8] AB AF 00 08 01 00 00 00 S88 Event: Kennung 43951 Kontakt 8 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.967   CAN  0x00231B40  [8] AB AF 00 09 01 00 00 00 S88 Event: Kennung 43951 Kontakt 9 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.969   CAN  0x00231B40  [8] AB AF 00 0A 01 00 00 00 S88 Event: Kennung 43951 Kontakt 10 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.970   CAN  0x00231B40  [8] AB AF 00 0B 01 00 00 00 S88 Event: Kennung 43951 Kontakt 11 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.971   CAN  0x00231B40  [8] AB AF 00 0C 01 00 00 00 S88 Event: Kennung 43951 Kontakt 12 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.972   CAN  0x00231B40  [8] AB AF 00 0D 01 00 00 00 S88 Event: Kennung 43951 Kontakt 13 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.973   CAN  0x00231B40  [8] AB AF 00 0E 01 00 00 00 S88 Event: Kennung 43951 Kontakt 14 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.974   CAN  0x00231B40  [8] AB AF 00 0F 01 00 00 00 S88 Event: Kennung 43951 Kontakt 15 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.975   CAN  0x00231B40  [8] AB AF 00 10 01 00 00 00 S88 Event: Kennung 43951 Kontakt 16 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.975   CAN  0x00231B40  [8] AB AF 00 11 01 00 00 00 S88 Event: Kennung 43951 Kontakt 17 Zustand alt 1 Zusand neu 0 Zeit 0
Ansonsten passiert nichts auf dem Bus. Hast du eine Ahnung, woher dieses Verhalten rührt? Meine Vermutung wäre, dass der PIC auf das Verbinden der verschiedenen GND-Leitungen reagiert.

Und wo ich grade den can-monitor benutzt habe, noch ein Änderungsvorschlag: Wenn Bus-Teilnehmer ihre Geräteinformationen übertragen, dann versucht der Monitor alles an Datenbytes als Char auszugeben. Allerdings sind nicht alle Bytes darstellbar, was gelegentlich den Monitor abstürzen lässt und dann das ganze Terminal in blaue Farbe tunkt. Daher würde ich eine abfrage mit isprint() vorschlagen, damit sowas abgefangen wird.
Hier nochmal ein beispielhafter Trace (zwar ohne Absturz, aber u.A. mit Zeilenumbruch):

Code: Alles auswählen

19:40:34.352   CAN  0x003A0300  [5] 47 43 DA B2 01          Statusdaten: UID 0x4743DAB2 Index 0x01
19:40:34.354   CAN  0x003B0301  [8] 01 FD 30 F0 E0 C0 00 0F Statusdaten: Paket 0 Anzahl Messwerte: 1 Anzahl Kanäle: 253 Gerätenummer: 0xe0c0000f
19:40:34.364   CAN  0x003B0302  [8] 06 70 06 C2 07 67 08 0C Statusdaten: Paket 1    p�
19:40:34.374   CAN  0x003B0303  [8] 54 52 41 43 4B 00 30 2E Statusdaten: Paket 2
19:40:34.384   CAN  0x003B0304  [8] 30 30 00 32 2E 35 30 00 Statusdaten: Paket 3    TRACK
19:40:34.394   CAN  0x003B0305  [8] 41 00 00 00 00 00 00 00 Statusdaten: Paket 4
19:40:34.405   CAN  0x003BF31D  [5] 47 43 DA B2 01          Statusdaten: UID 0x4743DAB2 Index 0x01
19:40:34.405   CAN  0x003A0300  [5] 47 43 DA B2 02          Statusdaten: UID 0x4743DAB2 Index 0x02
19:40:34.414   CAN  0x003B0301  [8] 03 FD C0 0C 30 C0 00 00 Statusdaten: Paket 0 Anzahl Messwerte: 3 Anzahl Kanäle: 253 Gerätenummer: 0x30c00000
19:40:34.424   CAN  0x003B0302  [8] 03 9D 04 B2 0A 1E 0C 49 Statusdaten: Paket 1    ��
I
19:40:34.434   CAN  0x003B0303  [8] 56 4F 4C 54 00 31 30 2E Statusdaten: Paket 2
19:40:34.444   CAN  0x003B0304  [8] 30 30 00 32 37 2E 30 30 Statusdaten: Paket 3    VOLT
19:40:34.454   CAN  0x003B0305  [8] 00 56 6F 6C 74 00 00 00 Statusdaten: Paket 4
19:40:34.465   CAN  0x003BF31D  [5] 47 43 DA B2 02          Statusdaten: UID 0x4743DAB2 Index 0x02
Ansonsten wünsche ich ein schönes Wochenende ;)
Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

GitHub

Bild


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#83

Beitrag von bertr2d2 » Sa 10. Nov 2018, 00:09

Hallo Maxi,
Ixam97 hat geschrieben:
Fr 9. Nov 2018, 19:44
Hallo zusammen, ich möchte mich hier auch nochmal melden ;)

Zunächst in eigener Sache: Da ich in letzter Zeit viel um die Ohren hatte gab's bei meinem Webinterface nicht viel neues. Aber derzeit bin ich dabei den Server von Javascript/Node auf C umzubauen (warum weiß ich selber nicht so recht :lol: ). Ob das am Ende hinhaut weiß ich noch nicht, aber das Grundgerüst mit Websockets und CAN steht schon. Jetzt fehlt nur noch der Funktionsumfang. Wenn ich da einen zufriedenstellenden Zustand erreicht habe, dann werde ich das ganze selbstverständlich veröffentlichen.
schön das Du wieder dabei bist :D
Die Umstellung auf C begrüße ich. Der "Server" muss ja auch nicht so viel machen. Letztendlich geht es ja um die Umsetzung von Websockets auf CAN.
Dazu habe ich noch eine kleine (rein optische) Änderung am Omega2+ vorgenommen. Das Banner, das beim verbinden mit dem Terminal angezeigt wird, lässt sich unter "/etc/banner" sehr leicht bearbeiten. Das wäre vielleicht auch für das fertige Image ein netter Gag ;) :

Code: Alles auswählen

     ________    _     ___
    / ____/ /__ (_)__ / _ )___ __ __
   / / __/ / -_) (_-</ _  / _ \\ \ /
  / /_/ /_/\__/_/___/____/\___/_\_\
  \____/  A L S   Z E N T R A L E
 ------------------------------------
  Onion Omega2+, Ω-ware: 0.2.0 b193
 ------------------------------------
Gefällt mir- habe ich gleich eingebaut :D
Und dann noch eine Frage an Gerd:
Ich habe bei meinen Programmier-Eskapaden wiederholt festgestellt, dass der integrierte PIC gerne mal den CAN zuspammt. Das tritt immer dann auf, wenn ich meinen Selbstbau-Decoder (wird über einen USB-Port des Desktop-PCs versorgt) an den Bus hänge. Hier mal ein Mitschnitt:

Code: Alles auswählen

19:30:20.085   CAN  0x00231B40  [8] AB AF 00 04 00 01 00 00 S88 Event: Kennung 43951 Kontakt 4 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.087   CAN  0x00231B40  [8] AB AF 00 05 00 01 00 00 S88 Event: Kennung 43951 Kontakt 5 Zustand alt 0 Zusand neu 1 Zeit 0
...
Ansonsten passiert nichts auf dem Bus. Hast du eine Ahnung, woher dieses Verhalten rührt? Meine Vermutung wäre, dass der PIC auf das Verbinden der verschiedenen GND-Leitungen reagiert.
Ich habe die gleiche Vermutung: Das Data Signal ist frei schwebend wenn kein S88 Modul angeschlossen ist und damit für Potential Unterschiede sehr empfänglich.Ich habe die PIC-Firmware angepasst und jetzt kann man S88 abschalten in dem man die Länge auf Null stellt. Also PIC Firmware Update und dann:

Code: Alles auswählen

cansend can0 00000300#434255530B030000
Damit werden dann keine S88 Events mehr erzeugt.
Und wo ich grade den can-monitor benutzt habe, noch ein Änderungsvorschlag: Wenn Bus-Teilnehmer ihre Geräteinformationen übertragen, dann versucht der Monitor alles an Datenbytes als Char auszugeben. Allerdings sind nicht alle Bytes darstellbar, was gelegentlich den Monitor abstürzen lässt und dann das ganze Terminal in blaue Farbe tunkt. Daher würde ich eine abfrage mit isprint() vorschlagen, damit sowas abgefangen wird.
Hier nochmal ein beispielhafter Trace (zwar ohne Absturz, aber u.A. mit Zeilenumbruch):

Code: Alles auswählen

19:40:34.352   CAN  0x003A0300  [5] 47 43 DA B2 01          Statusdaten: UID 0x4743DAB2 Index 0x01
19:40:34.354   CAN  0x003B0301  [8] 01 FD 30 F0 E0 C0 00 0F Statusdaten: Paket 0 Anzahl Messwerte: 1 Anzahl Kanäle: 253 Gerätenummer: 0xe0c0000f
19:40:34.364   CAN  0x003B0302  [8] 06 70 06 C2 07 67 08 0C Statusdaten: Paket 1    p�
...
Sollte mit der neuen Version gefixt sein.

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !

Benutzeravatar

Ronxp
RegionalExpress (RE)
Beiträge: 97
Registriert: Fr 17. Jun 2005, 08:59
Nenngröße: H0
Stromart: digital
Steuerung: MFX
Gleise: C-Gleis
Wohnort: Zeeland
Niederlande

Re: Gleisbox als Zentrale

#84

Beitrag von Ronxp » So 11. Nov 2018, 15:07

bertr2d2 hat geschrieben:
Mi 7. Nov 2018, 23:24
Hallo,

ich habe die PIC-Firmware (jetzt Version 1.2) aktualisiert. Hauptgrund war die Notwendigkeit die Standard Werte insbesondere die Buslänge (1 x 16) zu setzen. Nutzer sollten aktualisieren. Das ist mit ein paar Handgriffen schnell gemacht:

Code: Alles auswählen

# Vorbereitung zur Programmierung des PICs
modprobe gpio-bb && mknod /dev/gpio-bb c 180 0
omega2-ctrl gpiomux set uart1 gpio

# Firmware herunter laden und programmieren
cd /tmp
wget https://github.com/GBert/misc/raw/master/srse2/pic-firmware/firmware/srse2-slcan.hex
p16 lvp p srse2-slcan.hex

# Nach der Programmierung UART Modus wieder einschalten
omega2-ctrl gpiomux set uart1 uart
cansend can0 00300300#
Gruß

Gerd
Ich habe das update gemacht hab jetzt aber keine Rückmeldungen mehr von meine S88
Hab nur eine S88
Grüß Ron
——————————————————————
Ab 1985 digital.


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#85

Beitrag von bertr2d2 » So 11. Nov 2018, 15:57

Hallo Ron,
Ronxp hat geschrieben:
So 11. Nov 2018, 15:07
Ich habe das update gemacht hab jetzt aber keine Rückmeldungen mehr von meine S88
Hab nur eine S88
was passiert auf dem CAN-Bus (siehe can-monitor), wenn ein Kontakt ausgelöst wird ?
Stimmt ggf. die ID nicht mehr mit Rocrail überein ?

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !

Benutzeravatar

Ronxp
RegionalExpress (RE)
Beiträge: 97
Registriert: Fr 17. Jun 2005, 08:59
Nenngröße: H0
Stromart: digital
Steuerung: MFX
Gleise: C-Gleis
Wohnort: Zeeland
Niederlande

Re: Gleisbox als Zentrale

#86

Beitrag von Ronxp » So 11. Nov 2018, 16:12

Geht wieder :D der Bus ist jetzt 0 also die Adressen haben sich geändert.
Grüß Ron
——————————————————————
Ab 1985 digital.

Benutzeravatar

Ixam97
InterRegio (IR)
Beiträge: 203
Registriert: Mo 13. Jan 2014, 16:55
Nenngröße: H0
Stromart: digital
Steuerung: MS1 + 2, Rocrail, Banana Pi
Gleise: K-Gleis

Re: Gleisbox als Zentrale

#87

Beitrag von Ixam97 » Di 13. Nov 2018, 20:13

So, ich habe meinen Krempel dann mal bei Github hochgeladen:
https://github.com/Ixam97/MaeCAN-C

Bisher funktioniert nur das Abrufen von CAN-Geräten (Informationen, Messwerte, Config) und Stop/Go. Aber der Rest ist denke ich nur eine Frage der Zeit.

@Gerd, es wäre ganz nett, wenn du dich mal daran versuchst den Code zu kompilieren. Mein Cross-Compile-Setup ist nämlich alles andere als Professionell :lol: Eine Anmerkung vorweg: Ich musste eine aktuellere Version von libwebsockets und dessen Abhängigkeiten kompilieren und auf den Omega2+ laden, damit das Programm läuft. Vorschläge zum Code sind auch stets willkommen. C habe ich bisher nur für Mikrocontroller benutzt und dementsprechend wenig Erfahrung auf komplexeren Betriebssystemen.

Oh, und was mir da grade einfällt: Ich glaube, ich hatte das irgendwann schon mal angesprochen: Der CANBuster überträgt in seinen Configkanälen nach wie vor die Standardwerte, nicht die tatsächlich eingestellten. Dementsprechend kann man im nachhinein nicht sehen, welche Werte eigentlich eingestellt wurden. Desweiteren würde ich empfehlen für die UID (zum Teil) die Seriennummer des PICs zu nutzen (falls das möglich ist). So mache ich das bei meinen ATMEGAs auch. Hatte da gelegentlich Probleme, dass mehrere Teilnehmer die selbe UID hatten und entsprechend nicht ansprechbar waren.

Angenehmen Dienstag Abend wünsche ich ;)
Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

GitHub

Bild


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#88

Beitrag von bertr2d2 » Do 15. Nov 2018, 00:03

Hallp Maxi,
Ixam97 hat geschrieben:
Di 13. Nov 2018, 20:13
So, ich habe meinen Krempel dann mal bei Github hochgeladen:
https://github.com/Ixam97/MaeCAN-C

Bisher funktioniert nur das Abrufen von CAN-Geräten (Informationen, Messwerte, Config) und Stop/Go. Aber der Rest ist denke ich nur eine Frage der Zeit.

@Gerd, es wäre ganz nett, wenn du dich mal daran versuchst den Code zu kompilieren. Mein Cross-Compile-Setup ist nämlich alles andere als Professionell :lol: Eine Anmerkung vorweg: Ich musste eine aktuellere Version von libwebsockets und dessen Abhängigkeiten kompilieren und auf den Omega2+ laden, damit das Programm läuft. Vorschläge zum Code sind auch stets willkommen. C habe ich bisher nur für Mikrocontroller benutzt und dementsprechend wenig Erfahrung auf komplexeren Betriebssystemen.
ich habe es leicht modifiziert und hier abgelegt:
https://github.com/GBert/railroad/tree/master/maecan-c
Bisher habe ich aber nur den C-Code kompilierbar gemacht. Den HTML Teil mache ich später.
Libwebsockets hat ich gerade vor ein paar Tagen selbst upgedated. Daher kein Problem.

Ggf könntest Du meine Änderungen bei Dir einpflegen.
Oh, und was mir da grade einfällt: Ich glaube, ich hatte das irgendwann schon mal angesprochen: Der CANBuster überträgt in seinen Configkanälen nach wie vor die Standardwerte, nicht die tatsächlich eingestellten. Dementsprechend kann man im nachhinein nicht sehen, welche Werte eigentlich eingestellt wurden. Desweiteren würde ich empfehlen für die UID (zum Teil) die Seriennummer des PICs zu nutzen (falls das möglich ist). So mache ich das bei meinen ATMEGAs auch. Hatte da gelegentlich Probleme, dass mehrere Teilnehmer die selbe UID hatten und entsprechend nicht ansprechbar waren.
Leider verfügt der PIC nicht über eine einzigartige ID. Muss mir was einfallen lassen.
Die Einstellungen des CANBuster habe ich mir angeschaut. Das zu reparieren steht oben auf meiner Liste ;-)

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !

Benutzeravatar

Ixam97
InterRegio (IR)
Beiträge: 203
Registriert: Mo 13. Jan 2014, 16:55
Nenngröße: H0
Stromart: digital
Steuerung: MS1 + 2, Rocrail, Banana Pi
Gleise: K-Gleis

Re: Gleisbox als Zentrale

#89

Beitrag von Ixam97 » Sa 17. Nov 2018, 10:18

Hallo Gerd,
bertr2d2 hat geschrieben:
Do 15. Nov 2018, 00:03

ich habe es leicht modifiziert und hier abgelegt:
https://github.com/GBert/railroad/tree/master/maecan-c
Bisher habe ich aber nur den C-Code kompilierbar gemacht. Den HTML Teil mache ich später.
Libwebsockets hat ich gerade vor ein paar Tagen selbst upgedated. Daher kein Problem.

Ggf könntest Du meine Änderungen bei Dir einpflegen.
Ich habe mal deinen Code kompiliert und ausgeführt. Leider mit dem Ergebnis, dass die Erstellung der Geräteliste nicht richtig funktioniert (Konfigkanäle sind durcheinander gewürfelt und Seriennummern werden falsch erkannt.) Die Ursache dafür konnte ich noch nicht ausmachen, weshalb ich erst mal bei meinem eigenen Code bleibe.
Dazu muss ich noch sagen, dass ich keine Makefiles etc. nutze. Die sind für mich immer noch ein Buch mit sieben Sigeln :oops:. Ich benutze das OpenWRT-SDK von hier: https://downloads.openwrt.org/snapshots ... ps/mt76x8/ (Das Omega2+ SDK wollte sich leider nicht kompilieren lassen). Dazu habe ich mir ein kleines Script gebastelt, das mir das eintippen des ewig langen Befehls mit gcc erleichtert (Libs einbinden etc.) und das fertige Programm automatisch auf die Gleisbox kopiert. Bei Interesse kann ich das Skript gerne hier einstellen.
Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

GitHub

Bild


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#90

Beitrag von bertr2d2 » Sa 17. Nov 2018, 14:10

Ixam97 hat geschrieben:
Sa 17. Nov 2018, 10:18
Hallo Gerd,
bertr2d2 hat geschrieben:
Do 15. Nov 2018, 00:03

ich habe es leicht modifiziert und hier abgelegt:
https://github.com/GBert/railroad/tree/master/maecan-c
Bisher habe ich aber nur den C-Code kompilierbar gemacht. Den HTML Teil mache ich später.
Libwebsockets hat ich gerade vor ein paar Tagen selbst upgedated. Daher kein Problem.

Ggf könntest Du meine Änderungen bei Dir einpflegen.
Ich habe mal deinen Code kompiliert und ausgeführt. Leider mit dem Ergebnis, dass die Erstellung der Geräteliste nicht richtig funktioniert (Konfigkanäle sind durcheinander gewürfelt und Seriennummern werden falsch erkannt.) Die Ursache dafür konnte ich noch nicht ausmachen, weshalb ich erst mal bei meinem eigenen Code bleibe.
ich denke, ich habe den Fehler gefunden. Dadurch das ich ein wenig im Code von uint8_t auf char umgestellt habe (z.B. strlen geht von const char *s aus) sind die Umrechnungen wohl nicht mehr korrekt gewesen. Ich habe die Funktionen be32 (big endian 32 bit) und be16 (big endian 16 bit) hinzugefügt und dort wo es nötig war ein Cast hinzugefügt.
Könntest Du es damit nochmal versuchen ?

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !

Benutzeravatar

Ixam97
InterRegio (IR)
Beiträge: 203
Registriert: Mo 13. Jan 2014, 16:55
Nenngröße: H0
Stromart: digital
Steuerung: MS1 + 2, Rocrail, Banana Pi
Gleise: K-Gleis

Re: Gleisbox als Zentrale

#91

Beitrag von Ixam97 » So 18. Nov 2018, 10:32

Hallo Gerd,
bertr2d2 hat geschrieben:
Sa 17. Nov 2018, 14:10

Könntest Du es damit nochmal versuchen ?
Jetzt funktioniert es. Aber ein paar Kleinigkeiten musste ich noch anpassen. Zum einen fehlt der Include für maecan_strings.c (ja, ich bin faul und habe keine Header-Datei angelegt :baeh: ) und zum anderen sorgen einige sscanf() und sprintf() für Probleme:

Code: Alles auswählen

# maecanserver.c:509
sscanf(&buffer[cmd_len], "%ud:%hhud:%hud", &uid, &channel, &value);
# ud, hhud und hud führen zu ungewünschtem Verhalten
# Statt dessen:
sscanf(&buffer[cmd_len], "%ld:%d:%d", &uid, &channel, &value);
# Genauso in Zeilen 500 und 689, maecan_strings.c Zeile 127 verursacht einen Segfault, gleiche Ursache.
Ansonsten läuft es jetzt rund.
Viele Grüße und Clausthaler Glück Auf,

Maxi.
____________________________________________________

GitHub

Bild


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#92

Beitrag von bertr2d2 » Mi 28. Nov 2018, 12:22

Hallo Zusammen,
Ein Tipp für die Bastler: der Kunststoff der schwarzen Gleisbox ist deutlich unangenehmer zu bearbeiten als bei der grauen Gleisbox.
ich habe nun auch mal eine schwarze Gleisbox umgebaut. Der Kunststoff ist anders (ABS ? -> härter) aber als alter Metaller nicht unbedingt schlechter zu verarbeiten. Es dauert etwas länger bis man auf Maß ist.
Ein Vorteil hat der schwarze Kunststoff aber definitiv:
Bild
die unweigerlichen Spalten fallen deutlich weniger auf. Macht also auch optisch etwas her ;-)

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !


gixgax
S-Bahn (S)
Beiträge: 13
Registriert: Di 2. Jan 2018, 13:25
Nenngröße: H0
Stromart: AC
Steuerung: MS2,Rocrail,CC-Schnitte
Gleise: C-Gleis
Deutschland

Re: Gleisbox als Zentrale

#93

Beitrag von gixgax » Mi 28. Nov 2018, 16:53

Moin!

Erstmal "Hut ab" für diese Lösung mit der Gleisbox.

Trotzdem habe ich eine Frage :

Welche Einschränkungen sind mit vorhandenen CdB Komponenten zu erwarten, wenn man die umgebaute Gleisbox ins CdB-CAN hängt? (CC-Schnitte dann weg)

Vorhandene CdB-Module: GleisreporterdeLuxe, Weichenchef, Signalchef, Relaischef und Startpunkt2

Vielen Dank schon mal im Voraus.

Mfg H.Fleischer


Zitat aus einem Beitrag in diesem Tread:

Ein S88 Interface, mit S88N Belegung ist vorhanden (mittlere rechte Buchse). Möglich sind auch Module über CAN oder LAN anzubinden.
CdB (mit Einschränkung) oder Märklins LinkS88 60883 sind funktionierende CAN Beispiele.


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#94

Beitrag von bertr2d2 » Mi 28. Nov 2018, 19:42

Hallo,
gixgax hat geschrieben:
Mi 28. Nov 2018, 16:53
Welche Einschränkungen sind mit vorhandenen CdB Komponenten zu erwarten, wenn man die umgebaute Gleisbox ins CdB-CAN hängt? (CC-Schnitte dann weg)

Vorhandene CdB-Module: GleisreporterdeLuxe, Weichenchef, Signalchef, Relaischef und Startpunkt2
die CdB-Komponenten sind nutzbar. Die CAN-RJ45 Belegung entspricht 1zu1 CdB. Aber leider macht das CdB-Projekt ein Geheimnis aus der Konfiguration der Komponenten. Die entsprechenden Windows-Tools setzen eine CC-Schnitte voraus. Aber im Image ist ein kleines Programm vorhanden mit dem man eine CC-Schnitte über Netzwerk simulieren kann. Auf der Windows Seite verwendet man dazu HW VSP3 - Virtual Serial Port.

Gruß

Gerd
Zuletzt geändert von bertr2d2 am Mi 28. Nov 2018, 19:53, insgesamt 1-mal geändert.
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !


gixgax
S-Bahn (S)
Beiträge: 13
Registriert: Di 2. Jan 2018, 13:25
Nenngröße: H0
Stromart: AC
Steuerung: MS2,Rocrail,CC-Schnitte
Gleise: C-Gleis
Deutschland

Re: Gleisbox als Zentrale

#95

Beitrag von gixgax » Mi 28. Nov 2018, 19:46

Hallo!

Vielen Dank für die schnelle Antwort.

Dann werde ich mal mir eine Platine bestellen und die Sache mal probieren.

Nochmals Danke!!

Email ist quasi unterwegs.

Mfg H.Fleischer


johnbobjamesson
RegionalExpress (RE)
Beiträge: 86
Registriert: Fr 24. Apr 2015, 22:46
Nenngröße: H0
Stromart: AC
Steuerung: MS2, Android via can2lan
Gleise: Märklin C-Gleis

Re: Gleisbox als Zentrale

#96

Beitrag von johnbobjamesson » Mi 28. Nov 2018, 21:27

bertr2d2 hat geschrieben:
Mi 28. Nov 2018, 12:22
Hallo Zusammen,
Ein Tipp für die Bastler: der Kunststoff der schwarzen Gleisbox ist deutlich unangenehmer zu bearbeiten als bei der grauen Gleisbox.
ich habe nun auch mal eine schwarze Gleisbox umgebaut. Der Kunststoff ist anders (ABS ? -> härter) aber als alter Metaller nicht unbedingt schlechter zu verarbeiten. Es dauert etwas länger bis man auf Maß ist.
Ein Vorteil hat der schwarze Kunststoff aber definitiv:
Bild
die unweigerlichen Spalten fallen deutlich weniger auf. Macht also auch optisch etwas her ;-)

Gruß

Gerd
Hmmm, wlan onboard? Habe ich wohl verpasst, vielleicht schmeiße ich meine alte box mit deiner ersten Platine mal raus und mache neu :)


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#97

Beitrag von bertr2d2 » So 16. Dez 2018, 13:23

Hallo,
bertr2d2 hat geschrieben:
Ixam97 hat geschrieben:
Fr 9. Nov 2018, 19:44
Und dann noch eine Frage an Gerd:
Ich habe bei meinen Programmier-Eskapaden wiederholt festgestellt, dass der integrierte PIC gerne mal den CAN zuspammt. Das tritt immer dann auf, wenn ich meinen Selbstbau-Decoder (wird über einen USB-Port des Desktop-PCs versorgt) an den Bus hänge. Hier mal ein Mitschnitt:

Code: Alles auswählen

19:30:20.085   CAN  0x00231B40  [8] AB AF 00 04 00 01 00 00 S88 Event: Kennung 43951 Kontakt 4 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.087   CAN  0x00231B40  [8] AB AF 00 05 00 01 00 00 S88 Event: Kennung 43951 Kontakt 5 Zustand alt 0 Zusand neu 1 Zeit 0
...
Ansonsten passiert nichts auf dem Bus. Hast du eine Ahnung, woher dieses Verhalten rührt? Meine Vermutung wäre, dass der PIC auf das Verbinden der verschiedenen GND-Leitungen reagiert.
Ich habe die gleiche Vermutung: Das Data Signal ist frei schwebend wenn kein S88 Modul angeschlossen ist und damit für Potential Unterschiede sehr empfänglich.Ich habe die PIC-Firmware angepasst und jetzt kann man S88 abschalten in dem man die Länge auf Null stellt. Also PIC Firmware Update und dann:

Code: Alles auswählen

cansend can0 00000300#434255530B030000
Damit werden dann keine S88 Events mehr erzeugt.
obwohl sich das Problem durch Software umgehen lässt, habe ich auch eine Lösung auf Hardwarebasis:
Bild
Das ist ein 22kOhm Pulldownwiderstand (zu GND) der S88 Data Leitung. Der Widerstand ist im Wert unproblematisch. Es dürfte alles zwischen 10 und 100k Ohm funktionieren. In der nächsten Revision der Platine wird der Widerstand integriert sein.

Wer keine Probleme auf S88 Seite hat, braucht sich um den Widerstand nicht zu scheren.

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !


gixgax
S-Bahn (S)
Beiträge: 13
Registriert: Di 2. Jan 2018, 13:25
Nenngröße: H0
Stromart: AC
Steuerung: MS2,Rocrail,CC-Schnitte
Gleise: C-Gleis
Deutschland

Re: Gleisbox als Zentrale

#98

Beitrag von gixgax » Mo 17. Dez 2018, 15:53

Moin!!

Mal eine Frage zu den Netzwerkeinstellungen in der can2lan - Datei.

Welche Einstellungen sind den richtig für Wlan-Betrieb im Heimnetz?


So ?
# can2lan -T30 -mc /www/config -b eth0
can2lan -m -c /www/config -b apcli0
# can2lan -m -c /www/config -b br-wlan


oder so?

#can2lan -T30 -mc /www/config -b eth0
# can2lan -m -c /www/config -b apcli0
can2lan -m -c /www/config -b br-wlan

oder kann man auch alle 3 # weglassen?

Danke schon mal im Voraus.

Mfg H.Fleischer


Threadersteller
bertr2d2
InterCity (IC)
Beiträge: 993
Registriert: Di 9. Okt 2012, 15:11
Nenngröße: H0
Stromart: digital
Alter: 52

Re: Gleisbox als Zentrale

#99

Beitrag von bertr2d2 » Mo 17. Dez 2018, 22:27

Moin,
gixgax hat geschrieben:
Mo 17. Dez 2018, 15:53
Moin!!

Mal eine Frage zu den Netzwerkeinstellungen in der can2lan - Datei.

Welche Einstellungen sind den richtig für Wlan-Betrieb im Heimnetz?
So ?

Code: Alles auswählen

# can2lan -T30 -mc /www/config -b eth0
can2lan -m -c /www/config -b apcli0
# can2lan -m -c /www/config -b br-wlan
oder so?

Code: Alles auswählen

# can2lan -T30 -mc /www/config -b eth0
# can2lan -m -c /www/config -b apcli0
can2lan -m -c /www/config -b br-wlan
oder kann man auch alle 3 # weglassen?
das hängt davon ab, wie WiFi verwendet wird. Wenn die Gleisbox WiFi Client ist, dann apcli0. Das ist die wahrscheinlichste Einstellung bei der Verwendung im Heimnetz über WiFi.
Wenn die Gleisbox selbst ein Access Point darstellt, dann br-wlan.

Gruß

Gerd
Nicht vergessen: SRSEII nutzt nun Rocail mbus anstatt mgbox !


ups60
InterRegio (IR)
Beiträge: 100
Registriert: Do 20. Mär 2014, 00:29

Re: Gleisbox als Zentrale

#100

Beitrag von ups60 » Di 18. Dez 2018, 08:34

Moin,

gibt es eigentlich auch eine Möglichkeit, einzelne Protokolle (DCC,MM,MFX) abzuschalten?

Hintergrund, ich habe eine Lok mit einem Susi-Soundmodul nachgerüstet und um das Modul zu programmieren müsste ich mit DCC an die CV's über 900. Die Lok hat aber einen MFX-Decoder mld3 und meldet sich somit immer mit MFX an.

mfg Uwe

Antworten

Zurück zu „Software und Hardware“