<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">The OBDII client should determine the bus speed and the ECU side only needs to support one speed.<div class=""><br class=""></div><div class="">Clients typically do this in one of two ways:</div><div class=""><br class=""></div><div class=""><ol class="MailOutline"><li class="">Set CAN controller to ‘listen’ mode, then loop through supported bus rates, listening for a correctly formatted CAN message to let you know you found the right rate. If found, exit the loop.<br class=""><br class=""></li><li class="">Set CAN controller to ‘active’ mode, then loop through supported bus rates, polling for OBDII data and ignoring errors. If you get a valid response, exit the loop.</li></ol><div><br class=""></div><div>Obviously #1 is the least noisy approach, and the least likely to interfere with other vehicle systems, but won’t work on purely active polling can buses with nothing else active on the bus. I guess some clients may employ both approaches.</div><div><br class=""></div><div>I suspect that your HUD is working cleanly because it tries 500K rate first, so doesn’t generate errors.</div><div><br class=""></div><div>It would probably be worth us transmitting a CAN bus heart beat every few seconds when obd2ecu is started, 12v external power is on, but we haven’t heard from the HUD in a while. That would probably help clients lock onto us quicker.</div><div><br class=""></div><div>Regards, Mark.</div><div><br class=""><blockquote type="cite" class=""><div class="">On 24 May 2018, at 4:54 AM, Greg D. <<a href="mailto:gregd2350@gmail.com" class="">gregd2350@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    Hi Mark,<br class="">
    <br class="">
    The OBD2ECU task assumes that "all" HUDs and such devices operate at
    500k.  Are you aware of any that don't (can't) operate at that
    speed?  I was hoping I wouldn't have to support multiple speeds,
    especially autosensing them.<br class="">
    <br class="">
    BTW, I have not seen any problems connecting an OBDII Dongle to the
    OVMS and letting it do its default scan through the various rates in
    order to connect.  It just takes longer than it would if (as I
    usually do) tell it what rate and frame size to use.  The various
    frames and speeds tried before figuring out the right one don't seem
    to bother it.<br class="">
    <br class="">
    Greg<br class="">
    <br class="">
    <br class="">
    <div class="moz-cite-prefix">Mark Webb-Johnson wrote:<br class="">
    </div>
    <blockquote type="cite" cite="mid:899F4225-F718-480B-95C3-154954D3FC98@webb-johnson.net" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
      I am also now seeing this.
      <div class=""><br class="">
      </div>
      <div class="">Trying out the OBD2ECU HUD cables, I was having
        problems getting it to work. Those HUDs try to transmit at
        different baud rates, to probe for what is correct, and that is
        causing errors at our end. Once we get those errors, seemingly
        we can’t recover. A ‘can can3 start active 500000’ fixes the
        issue and the HUD connects.</div>
      <div class=""><br class="">
      </div>
      <div class="">It looks something like this:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">OVMS# can can3 status</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">CAN:       can3</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Mode:      Active</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Speed:     500000</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Interrupts:          
                        1</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Rx pkt:              
                        0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Rx err:              
                      105</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Rx ovrflw:            
                       0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx pkt:              
                        0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx delays:            
                       0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx err:              
                        0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx ovrflw:            
                       0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Err flags: 0x8000</span></font></div>
        </div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">Or this:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">OVMS# can can3 status</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">CAN:       can3</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Mode:      Active</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Speed:     250000</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Interrupts:          
                      146</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Rx pkt:              
                        0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Rx err:              
                      128</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Rx ovrflw:            
                       0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx pkt:              
                        0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx delays:            
                       0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx err:              
                        0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Tx ovrflw:            
                       0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">Err flags: 0x800b</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">E (713021) canlog:
                Error can3 intr=1 rxpkt=0 txpkt=0 errflags=0x8000
                rxerr=1 txerr=0 rxovr=0 txovr=0 txdelay=0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">E (713021) canlog:
                Error can3 intr=2 rxpkt=0 txpkt=0 errflags=0x8000
                rxerr=2 txerr=0 rxovr=0 txovr=0 txdelay=0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">E (713021) canlog:
                Error can3 intr=3 rxpkt=0 txpkt=0 errflags=0x8000
                rxerr=4 txerr=0 rxovr=0 txovr=0 txdelay=0</span></font></div>
        </div>
        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">...</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">OVMS# can can3 status<br class="">
              CAN:       can3<br class="">
              Mode:      Active<br class="">
              Speed:     250000<br class="">
              Interrupts:                3757<br class="">
              Rx pkt:                       1<br class="">
              Rx err:                     128<br class="">
              Rx ovrflw:                    0<br class="">
              Tx pkt:                       1<br class="">
              Tx delays:                    0<br class="">
              Tx err:                       0<br class="">
              Tx ovrflw:                    0<br class="">
              Err flags: 0x800b</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span style="font-size: 14px;" class="">...<br class="">
              OVMS# can can3 status<br class="">
              CAN:       can3<br class="">
              Mode:      Active<br class="">
              Speed:     250000<br class="">
              Interrupts:                3775<br class="">
              Rx pkt:                      10<br class="">
              Rx err:                     128<br class="">
              Rx ovrflw:                    0<br class="">
              Tx pkt:                      10<br class="">
              Tx delays:                    0<br class="">
              Tx err:                       0<br class="">
              Tx ovrflw:                    0<br class="">
              Err flags: 0x800b</span></font></div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">And then the can bus dead (until ‘can start …’ to
        reset it).</div>
      <div class=""><br class="">
      </div>
      <div class="">Good news is that with those HUDs, it is very easy
        to recreate the fault condition. I’ll see what I can do to find
        out what is going on. My guess is we are not clearing the
        MCP2515 error condition correctly. I will try to find out what
        is going on...</div>
      <div class=""><br class="">
      </div>
      <div class="">Regards, Mark.</div>
      <div class=""><br class="">
        <div class="">
          <blockquote type="cite" class="">
            <div class="">On 14 May 2018, at 6:17 PM, Tom Parker <<a href="mailto:tom@carrott.org" class="" moz-do-not-send="true">tom@carrott.org</a>> wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <div class="">On 14/05/18 20:36, Stein Arne Sordal wrote:<br class="">
                <br class="">
                <blockquote type="cite" class="">I also tried to raise
                  the stack size to 6144.<br class="">
                  It seems like it got worse…Can buses (RX) stops
                  working more often. TX is fine.<br class="">
                </blockquote>
                <br class="">
                I don't see an improvement either. I wrote the new
                firmware with updated sdkconfig at about 3pm yesterday
                and it rebooted and lost the state of charge metric at
                8:45pm, the car woke up at midnight and started
                charging, providing data for the SOC metric, during the
                charge there were a couple of gaps in the telemetry,
                charging finished at 3:10am and the OVMS rebooted at
                3:45. The OVMS then stopped sending telemetry completely
                at 7:20 am when the car was switched back on. I had a
                chance to plug a laptop in and the module was
                unresponsive on the serial port.<br class="">
                <br class="">
                I'm not sending the monotonic metric so it's only
                possible to see the first reboot after the car is
                switched off (when it forgets the SOC).<br class="">
                <br class="">
                I've built a version of the firmware with most things
                turned off (and found vehicle depends on webserver and
                webserver depends on OTA) I'll see how that goes
                tonight.<br class="">
                <br class="">
                Otherwise I'll get the datalogger out and/or try the
                sdcard logger again.<br class="">
                <br class="">
                <br class="">
                <br class="">
                _______________________________________________<br class="">
                OvmsDev mailing list<br class="">
                <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
              </div>
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br class="">
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br class="">
      <pre wrap="" class="">_______________________________________________
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 class="">
  </div>

_______________________________________________<br class="">OvmsDev mailing list<br class=""><a href="mailto:OvmsDev@lists.openvehicles.com" class="">OvmsDev@lists.openvehicles.com</a><br class="">http://lists.openvehicles.com/mailman/listinfo/ovmsdev<br class=""></div></blockquote></div><br class=""></div></body></html>