"Keine Antwort von Master" - mgbox und mcs2

Post Reply
bertc3p0
Posts: 219
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: "Keine Antwort von Master" - mgbox und mcs2

Post by bertc3p0 » 22.10.2018, 14:21

Hallo,

ich habe zusammen mit Mark mal die Daten mitgeschnitten wenn ein INVALID Paket auftritt. Hier der Rocrail Trace zu diesem Zeitpunkt:

Code: Select all

20181021.191548.677 r9999B gbxreade OMCS2    3512 ASCII read: T000303006FFCE77FF1585
                                                              ^^^^^^^^^^^^^^^^^^^^^^
20181021.191548.678 r9999B gbxreade OMCS2    3387 ASCII to bin: len=6
20181021.191548.678 r0000B gbxreade (null)   *trace dump( 0x6E876AA0: length=13 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 00 03 03 00 06 FF CE 77 FF 15 85 00 00          |.......w.....   |
20181021.191548.729 r9999I mgboxsvc OMCS2    3698 interface: mgbox Waiting for power (on) or mfx detection in progress (yes)
20181021.191548.833 r0000B gbxreade (null)   *trace dump( 0x6E876AA0: length=13 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00          |.............   |
20181021.191548.853 r9999c gbxreade OMCS2    3372 ASCII message: 6FFCE77FF167C
                                                                 ^^^^^^^^^^^^^
20181021.191548.854 r0000E gbxreade (null)   *trace dump( 0x6E876AA0: length=13 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 00 FF 00 00 00 00 00 00 00 00 00 00 00          |.............   |
20181021.191548.854 r9999E gbxreade OMCS2    3597 INVALID packet; command value: CAN-ID=0xFF
Und hier was auf dem USB läuft (usbmon unter Linux):

Code: Select all

332922499 C Bi:1:006:1 0 25 = 11605430 30303330 33303036 46464345 37374646 31353835 0d
                                   T 0  0 0 3 0  3 0 0 6  F F C E  7 7 F F  1 5 8 5 \r
333081741 C Bi:1:006:1 0 11 = 11605430 30303330 333030
                                   T 0  0 0 3 0  3 0 0
333097767 C Bi:1:006:1 0 16 = 11603646 46434537 37464631 3637430d
                                   6 F  F C E 7  7 F F 1  6 7 C\r
Das erste Paket hier im Trace wird normal übertragen.

Das Problem ist, das das zweite Frame über zwei USB Pakete aufgeteilt ist. Die Paketteile kommen mit einem Versatz von rund 16ms.
Soweit ich den Code verstehe wird rund 10ms gewartet (ThreadOp.sleep(10);) ob noch Daten kommen um einen Frame zu komplettieren. Der unvollständige Teil (T00030300) geht hier verloren und der Rest (6FFCE77FF167C\r) wird dann falsch interpretiert. Man könnte den Timeout umstellen, aber ich weiß nicht ob das klug ist.

Möglicher Ansatz für SLCAN:
Unix bietet die Möglichkeit Daten zeilenweise einzulesen (TTY Canonical Mode). Ob das auch für Windows geht weiß ich aber nicht.

@Mark,
als schnellste Lösung fällt mir der "Umweg" über SocketCAN -> can2lan ein. Hier habe ich das Problem von verlorenen gegangen oder unvollständigen Paketen noch nicht beobachtet.

Gruß

Gerd
Last edited by bertc3p0 on 22.10.2018, 15:00, edited 1 time in total.

rjversluis
Site Admin
Posts: 37093
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: "Keine Antwort von Master" - mgbox und mcs2

Post by rjversluis » 22.10.2018, 14:46

Hi Gerd,

das auslesen ist so in Rocrail nicht richtig.
Es sollte nur am Anfang geprüft werden ob Data vorhanden ist und dann blockierend lesen bis ein '\r' kommt.

rjversluis
Site Admin
Posts: 37093
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: "Keine Antwort von Master" - mgbox und mcs2

Post by rjversluis » 22.10.2018, 14:56

Hallo Gerd,

ich habe mal ein Korrektor in beide Libraries, mcs2 und mgbox, gemacht.
Jetzt wird ein gelesen bis der '\r' kommt oder lese index wird > 63, dann wird abgebrochen.

bertc3p0
Posts: 219
Joined: 25.04.2012, 20:19
Location: near Frankfurt Germany

Re: "Keine Antwort von Master" - mgbox und mcs2

Post by bertc3p0 » 22.10.2018, 15:13

Hallo Rob,
rjversluis wrote:Hallo Gerd,

ich habe mal ein Korrektor in beide Libraries, mcs2 und mgbox, gemacht.
Jetzt wird ein gelesen bis der '\r' kommt oder lese index wird > 63, dann wird abgebrochen.
vielen Dank für den super schnellen Fix :thumb_up:
Warten wir auf Mark, ob es geholfen hat :coffee:

Gruß

Gerd

Post Reply

Return to “Märklin CS2/CS3/MS2/CC-Schnitte (DE)”