On 2025-01-23 12:11, Developer From Jokela via OvmsDev wrote:
E (445282) can: can2: intr=240803 rxpkt=242887 txpkt=6 errflags=0x22401c02 rxerr=0 txerr=0 rxinval=0 rxovr=0 txovr=0 txdelay=0 txfail=0 wdgreset=0 errreset=0
Ok, now putting Developer From Jokela's post together with Michael's I think I understand what this is telling us. First, E means error. The presence of this line in the log means there has been an error on can bus 2. The values given appear to be the current values of some counters. The code is in can/src/can.cpp. This has basic deduplication by summing most of the counters and errflags, and only logging if this changes. Interestingly both of us saw can2 errors in pairs: one with errflags=0x23401c01 and one with 0x22401c02. In my case these were either 0 or 10 ms apart. The flags appear to derive from mcp2515/src/mcp2515.cpp but it's not clear to me what they mean.
OVMS# can can2 status CAN: can2 Mode: Active Speed: 500000 DBC: none
Interrupts: 291197 Rx pkt: 293642 Rx ovrflw: 0 Tx pkt: 6 Tx delays: 0 Tx ovrflw: 0 Tx fails: 0
Err flags: 0x01000001 Rx err: 0 Tx err: 0 Rx invalid: 0 Wdg Resets: 0 Wdg Timer: 9 sec(s) Err Resets: 0
Question: If the log tells us that can2 errors have occurred, why does "can can2 status" report zero values for errors? Chris