<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Derek,<br>
    <br>
    all error conditions can be relevant for debugging. For example if
    you need to react to some frames as fast as possible, you may want
    to know if/when overflows occur, as they indicate processing delays.<br>
    <br>
    Also be aware LogStatus() injects the error status into the CAN
    logging framework, while ESP_LOGW() only creates a system log entry.<br>
    <br>
    Again for your error codes:<br>
    <blockquote type="cite">
      <div>
        <pre style="color:rgb(0,0,0);white-space:pre-wrap">1970-01-01 13:01:41 NZDT E (89501) can: can2: intr=93510 rxpkt=127559 txpkt=14 errflags=0x23000001 rxerr=0 txerr=0 rxovr=0 txovr=0 txdelay=0 wdgreset=0 errreset=0
1970-01-01 13:01:41 NZDT E (89511) can: can2: intr=93511 rxpkt=127564 txpkt=14 errflags=0x23400401 rxerr=0 txerr=0 rxovr=0 txovr=0 txdelay=0 wdgreset=0 errreset=0
1970-01-01 13:01:41 NZDT E (89531) can: can2: intr=93525 rxpkt=127592 txpkt=14 errflags=0x22400402 rxerr=0 txerr=0 rxovr=0 txovr=0 txdelay=0 wdgreset=0 errreset=0</pre>
      </div>
    </blockquote>
    <br>
    The strange combination 0x2300.... (error interrupt w/o error flags)
    may here also indicate a bug / race condition in the driver.<br>
    <br>
    Looking at the current code now: the LogStatus() call should also be
    done after having collected all error info, but the handler adds
    m_status.error_flags after the call. So the picture you got might be
    wrong, I suggest verifying / debugging the handler first.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 17.07.20 um 09:31 schrieb Derek
      Caudwell:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAKUcfWEuJP85F2WzesMC5s=H8f-jxSCTNvgsO1NieBg+fQuc_g@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Thanks Michael,
        <div><br>
        </div>
        <div>That explains why I was struggling to decode the error
          flag. Having been through the MCP2515 docs and decoded the
          logged error flags can2 is receiving they all relate to
          overflow of RXB0 but not RXB1. Hence this does not really pose
          or indicate a problem for the can bus / MCP2515 chip,
          correct? </div>
        <div><br>
        </div>
        <div>So if I have understood the chip operation is there any
          reason for line 489 in mcp2515.cpp which causes these to be
          logged?</div>
        <div><br>
        </div>
        <div>489: LogStatus(CAN_LogStatus_Error);<br>
        </div>
        <div><br>
        </div>
        <div>As if RXB1 does overflow and cause a packet loss then line
          467: ESP_LOGW(TAG, "CAN Bus 2/3 receive overflow; Frame
          lost.");</div>
        <div>deals with that?<br>
        </div>
        <div><br>
        </div>
        <div>Cheers Derek</div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
  </body>
</html>