Tiny Can Stoppt nach unbestimmter Zeit bei slxio_periodic_handler()

Wenn man die Funktion slxio_periodic_handler() alle 20ms wird meistens ein err callback generiert. Nach kurzer unterschiedlich langer Zeit stoppt dann das Tiny Can Modul.

Nebenbei habe ich usbmon an, und kann den Datenstrom auf dem USB Bus beobachten. Hier sieht man das ebenfalls alles steht.

daa1a380 3233863852 S Bo:066:02 -115 14 = 01021540 6963aa04 2f706369 3030
daa1a380 3233864250 C Bo:066:02 0 14 >
daa1aec0 3233870248 C Ii:066:04 0 2 = 0081
daa1aec0 3233870287 S Ii:066:04 -115 16 = 00810000 00000000 00000000 00000000
daa1aec0 3233943235 C Ii:066:04 -84 0

Das hier ist der Ablauf noch vor dem Abbruch (das sollte passieren):

daa1a380 3230175169 C Bo:066:02 0 14 >
daa1a380 3230203840 S Bo:066:02 -115 14 = 01021540 6963aa04 2f706369 3030
daa1a380 3230205104 C Bo:066:02 0 14 >
daa1aec0 3230210908 C Ii:066:04 0 2 = 0081
daa1aec0 3230210945 S Ii:066:04 -115 16 = 00810000 00000000 00000000 00000000
daa1aec0 3230287906 C Ii:066:04 0 2 = 0981
daa1aec0 3230287946 S Ii:066:04 -115 16 = 09810000 00000000 00000000 00000000
daa1a380 3230293905 S Bo:066:02 -115 14 = 01021540 6963aa04 2f706369 3030

fehler meldung bei sync Paket

    int ret;
    ubyte len = 2;
    _canmsg.id = 0xaa;
    _canmsg.flags = CAN_SFF | (CAN_DLC & len);
    _canmsg.msgdata[0] = 0xaa;
    _canmsg.msgdata[1] = 0x04;
    ret = can_send_msg (0, &_canmsg);

So wird das Paket gerade gesendet. Meistens antwortet der Treiber mit dem Fehler 0. Ab und zu werden aber auch Daten empfangen nach diesem Paket:

rxerr 0err 0err 0err 0err 0err 0err 0err 0err 0err 0err 0err 0err 0err 0err 0rxerr

Die rote LED blinkt waehrend dem Sync Vorgang gemeinsam mit der gelben links unten. Aber die beiden leuchten viel seltener auf als die gelbe links oben, die leuchtet fast durchgehend.

Ohne SLXIO Modul kommt nie ein rx durch. Und das Tiny Modul bricht viel frueher ab. Und nur die rote LED blinkt wie verrueckt.

Neue Vermutung:

Der Error Callback wird immer aufgerufen und wenn als Fehlernummer eine 0 kommt gabs kein Fehler.

Warum werden die Callbacks nicht genauso oft aufgerufen wie die LEDs blinken?

Der rx kommt immer dann wenn der Watchdog auf dem SLXIO Modul ausgeloest hat.

Sollte kein tx fuer jedes versendete sync paket kommen?

ProtokollSlxio (last edited 2006-09-22 14:38:42 by dslb-084-056-061-188)

|| Kontakt