- min mit 20K SLXIO ansteuern can_set_speed(devh, speed) speed = 1 is CAN_BAUD_10K; 2 is 20K 9 =1000K 8 =800K 7 = 500K 4 = 100K
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
Und die rote LED blinkt waehrend dem Sync Vorgang.
Ohne SLXIO Modul kommt nie ein rx durch. Und das Tiny Modul bricht viel frueher ab.