CBT reset issue
  • 0
  • I don't know whether this is a problem with the app/ hardware/firmware.

    I pipe data to wireshark. After some messages around 30, CBT stops working. I need to reset MCU, restart packet logger, re pipe to wireshark and start wireshark to get it to log data.

    This happens a few times till I get a continuous stream.

    One thing I notice is the appearance in the debug tool of-
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}
    {"event":"busdbg","name":"Bus 1","canctrl":"4","status":"0","error":"C0","errorText":"Receive Buffer 0 Overflow, Receive Buffer 1 Overflow, ","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 2","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 3","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}
    {"event":"busdbg","name":"Bus 1","canctrl":"4","status":"0","error":"C0","errorText":"Receive Buffer 0 Overflow, Receive Buffer 1 Overflow, ","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 2","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 3","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}
    {"event":"busdbg","name":"Bus 1","canctrl":"4","status":"0","error":"C0","errorText":"Receive Buffer 0 Overflow, Receive Buffer 1 Overflow, ","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 2","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 3","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}
    {"event":"busdbg","name":"Bus 1","canctrl":"4","status":"0","error":"C0","errorText":"Receive Buffer 0 Overflow, Receive Buffer 1 Overflow, ","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 2","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 3","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}
    {"event":"busdbg","name":"Bus 1","canctrl":"4","status":"0","error":"C0","errorText":"Receive Buffer 0 Overflow, Receive Buffer 1 Overflow, ","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 2","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 3","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}
    {"event":"busdbg","name":"Bus 1","canctrl":"4","status":"0","error":"C0","errorText":"Receive Buffer 0 Overflow, Receive Buffer 1 Overflow, ","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 2","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"busdbg","name":"Bus 3","canctrl":"4","status":"0","error":"0","errorText":"No Errors","nextTxBuffer":"0"}
    {"event":"version","name":"CANBus Triple","version":"0.7.1","memory":"839"}

    repeatedly. So thats the cause, but what does it mean?

  • 0
  • In your case, enabling MCP2515 buffer rollover could solve the issue.
    If rollover is already enabled, see the bottom of this post.
    Line 5 is where buffer rollover is enabled in this code.

    1] CANBus1.begin();
    2] CANBus1.setClkPre(1);
    3] CANBus1.baudConfig(500); // <-- this might be different for you
    4] CANBus1.setRxInt(true);
    5] CANBus1.bitModify(RXB0CTRL, 0x04, 0x04); // Set buffer rollover enabled
    6] CANBus1.bitModify(CNF2, 0x20, 0x20); // Enable wake-up filter
    7] CANBus1.setMode(NORMAL);

    Do the same thing on bus 2 and 3 if you use them.

    If rollover is already enabled, the bus you are trying to capture might be CAN 2.0b (29-bit extended frames). If you are using the stock firmware, you need to add support for 29-bit mode. Also, make sure the baud rate is correct for the bus.

    last edited by jpsimos
  • 2
    Posts
  • 378
    Views
  • Log in to reply