<html><head></head><body><div class="ydpc883bb7cyahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:16px;"><div></div>
        <div dir="ltr" data-setdir="false">Hi,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Don't you think this fix has a bigger impact on vehicle.cpp, and all implementations ?</div><div dir="ltr" data-setdir="false">I have started creating the Jaguar Ipace vehicle, and I see a very similar code (and fix) in IncomingPollReply, for the size (16 bits) of the "length"<br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><div><div style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, Courier New, monospace; font-weight: normal; font-size: 12px; line-height: 18px; white-space: pre-wrap;"><div><span style="color: #d4d4d4;">  </span><span style="color: #569cd6;">protected:</span></div><div><span style="color: #d4d4d4;">    </span><span style="color: #569cd6;">virtual</span><span style="color: #d4d4d4;"> </span><span style="color: #569cd6;">void</span><span style="color: #d4d4d4;"> </span><span style="color: #dcdcaa;">PollerStateTicker</span><span style="color: #d4d4d4;">();</span></div><div><span style="color: #d4d4d4;">    </span><span style="color: #569cd6;">virtual</span><span style="color: #d4d4d4;"> </span><span style="color: #569cd6;">void</span><span style="color: #d4d4d4;"> </span><span style="color: #dcdcaa;">IncomingPollReply</span><span style="color: #d4d4d4;">(</span><span style="color: #4ec9b0;">canbus</span><span style="color: #569cd6;">*</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">bus</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">type</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">pid</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint8_t</span><span style="color: #569cd6;">*</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">data</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint8_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">length</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">mlremain</span><span style="color: #d4d4d4;">);</span></div><div><span style="color: #d4d4d4;">    </span><span style="color: #569cd6;">virtual</span><span style="color: #d4d4d4;"> </span><span style="color: #569cd6;">void</span><span style="color: #d4d4d4;"> </span><span style="color: #dcdcaa;">IncomingPollError</span><span style="color: #d4d4d4;">(</span><span style="color: #4ec9b0;">canbus</span><span style="color: #569cd6;">*</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">bus</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">type</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">pid</span><span style="color: #d4d4d4;">, </span><span style="color: #4ec9b0;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">code</span><span style="color: #d4d4d4;">);</span></div><br><br></div></div><div><br></div></div><div dir="ltr" data-setdir="false">and</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><div><div style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, Courier New, monospace; font-weight: normal; font-size: 12px; line-height: 18px; white-space: pre-wrap;"><div><span style="color: #569cd6;">void</span><span style="color: #d4d4d4;"> </span><span style="color: #4ec9b0;">OvmsVehicleJaguarIpace</span><span style="color: #d4d4d4;">::</span><span style="color: #dcdcaa;">IncomingPollFrame</span><span style="color: #d4d4d4;">(</span><span style="color: #4ec9b0;">CAN_frame_t</span><span style="color: #569cd6;">*</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">frame</span><span style="color: #d4d4d4;">)</span></div><div><span style="color: #d4d4d4;">{</span></div><br><div><span style="color: #d4d4d4;">    </span><span style="color: #4ec9b0;">uint8_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">frameType</span><span style="color: #d4d4d4;"> = </span><span style="color: #9cdcfe;">frame</span><span style="color: #d4d4d4;">-></span><span style="color: #9cdcfe;">data</span><span style="color: #d4d4d4;">.</span><span style="color: #9cdcfe;">u8</span><span style="color: #d4d4d4;">[</span><span style="color: #b5cea8;">0</span><span style="color: #d4d4d4;">] >> </span><span style="color: #b5cea8;">4</span><span style="color: #d4d4d4;">;</span></div><div><span style="color: #d4d4d4;">    </span><span style="color: #569cd6;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">frameLength</span><span style="color: #d4d4d4;"> = </span><span style="color: #9cdcfe;">frame</span><span style="color: #d4d4d4;">-></span><span style="color: #9cdcfe;">data</span><span style="color: #d4d4d4;">.</span><span style="color: #9cdcfe;">u8</span><span style="color: #d4d4d4;">[</span><span style="color: #b5cea8;">0</span><span style="color: #d4d4d4;">] & </span><span style="color: #b5cea8;">0x0f</span><span style="color: #d4d4d4;">;</span></div><div><span style="color: #d4d4d4;">    </span><span style="color: #4ec9b0;">uint8_t</span><span style="color: #d4d4d4;">* </span><span style="color: #9cdcfe;">data</span><span style="color: #d4d4d4;"> = &</span><span style="color: #9cdcfe;">frame</span><span style="color: #d4d4d4;">-></span><span style="color: #9cdcfe;">data</span><span style="color: #d4d4d4;">.</span><span style="color: #9cdcfe;">u8</span><span style="color: #d4d4d4;">[</span><span style="color: #b5cea8;">1</span><span style="color: #d4d4d4;">];</span></div><div><span style="color: #d4d4d4;">    </span><span style="color: #569cd6;">uint16_t</span><span style="color: #d4d4d4;"> </span><span style="color: #9cdcfe;">dataLength</span><span style="color: #d4d4d4;"> = </span><span style="color: #9cdcfe;">frameLength</span><span style="color: #d4d4d4;">;</span></div><br><br></div></div><div><br></div></div><div dir="ltr" data-setdir="false">Didier<br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><br></div><div><br></div>
        
        </div><div id="yahoo_quoted_7374214848" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    Le mardi 30 mars 2021 13 h 58 min 20 s UTC−4, Greg D. <gregd2350@gmail.com> a écrit :
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id="yiv0241413114"><div>
    Just to close out this loose end...<br clear="none">
    <br clear="none">
    OBD2ECU doesn't do any multi-frame PIDs other than responding to
    requests for the VIN (fixed format) and ECU Name (20 characters,
    user configurable).  The flow control frame for both of these are
    kludged with a simple (fixed) 10ms delay, i.e. it doesn't actually
    wait for the flow control frame to be received before proceeding,
    and ignores them when received.  Proper processing was seen as
    unnecessary complexity when I wrote the first prototype, and was
    never "corrected".<br clear="none">
    <br clear="none">
    Greg<br clear="none">
    <br clear="none">
    <br clear="none">
    <div class="yiv0241413114yqt7559627794" id="yiv0241413114yqtfd20310"><div class="yiv0241413114moz-cite-prefix">Michael Balzer wrote:<br clear="none">
    </div>
    <blockquote type="cite">
      </blockquote></div></div><div class="yiv0241413114yqt7559627794" id="yiv0241413114yqtfd40793"><div>
      Didier,<br clear="none">
      <br clear="none">
      the PID scanner normally works perfectly with multi frame
      responses, but I haven't had a response that long yet.<br clear="none">
      <br clear="none">
      For 1503 bytes, 215 consecutive frames need to be transmitted. The
      PID scanner requests these to be sent with 25 ms separation time,
      so they should need 5.375 seconds.<br clear="none">
      <br clear="none">
      Maybe some frame gets lost, or maybe the device doesn't allow a
      separation time that high for a transmission that huge.<br clear="none">
      <br clear="none">
      Your log quote wasn't from the re-pid component but from obd2ecu,
      which has nothing to do with the RE tools. You should raise the
      log level for re-pid to see more info. Another tracing option is
      to use the CAN log monitor.<br clear="none">
      <br clear="none">
      Btw, you should never need 30 seconds timeout for a PID poll, as
      the scanner checks against the last frame reception.<br clear="none">
      <br clear="none">
      Regards,<br clear="none">
      Michael<br clear="none">
      <br clear="none">
      <br clear="none">
      <div class="yiv0241413114moz-cite-prefix">Am 28.03.21 um 17:52 schrieb <a rel="nofollow noopener noreferrer" shape="rect" class="yiv0241413114moz-txt-link-abbreviated" ymailto="mailto:didier@ernotte.com" target="_blank" href="mailto:didier@ernotte.com">didier@ernotte.com</a>:<br clear="none">
      </div>
      <blockquote type="cite">
        <div dir="ltr">I am investigating some PID
          with very long data. I am using the PID scanner for this.</div>
        <div dir="ltr">When I turn on the log level
          debug , I can see this as the first repy<br clear="none">
        </div>
        <div dir="ltr"><br clear="none">
        </div>
        <div dir="ltr"><br clear="none">
        </div>
        <div dir="ltr"><span>
            </span><pre class="yiv0241413114ydp3da9169areceiver yiv0241413114ydp3da9169aget-window-resize" id="yiv0241413114ydp3da9169aoutput" style="min-height:549px;">D (1456677) obd2ecu: Rcv 7ec: 8 (15 df 62 48 83 0 0 0)

<font face="Helvetica Neue, Helvetica, Arial, sans-serif">From the Canbus doc, I understand that the first "1x (15)" tells me that this is the first frame of a multi frame, and the length is "5df" .
The Pid scanner seems to return only "df", not "5df" data, and I can see in the log that I have around 1500 byte returned, not 220.
Any explanation ? anyone see this problem as well ?

The scan command is (I had to hack the code to allow timeout > 10sec)

<span></span></font></pre><pre class="yiv0241413114ydpb4a697cereceiver yiv0241413114ydpb4a697ceget-window-resize" id="yiv0241413114ydpb4a697ceoutput" style="min-height:549px;">re obdii scan start 1 7e4 4883 4883 -r500-7ff -t22 -x30</pre>
          </div>
      </blockquote>
      <br clear="none">
      <pre class="yiv0241413114moz-signature">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
      <br clear="none">
      <fieldset class="yiv0241413114mimeAttachmentHeader"></fieldset>
      <br clear="none">
      <pre>_______________________________________________
OvmsDev mailing list
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv0241413114moz-txt-link-abbreviated" ymailto="mailto:OvmsDev@lists.openvehicles.com" target="_blank" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a rel="nofollow noopener noreferrer" shape="rect" class="yiv0241413114moz-txt-link-freetext" target="_blank" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    
    <br clear="none">
  </div></div></div><div class="yqt7559627794" id="yqtfd47744">_______________________________________________<br clear="none">OvmsDev mailing list<br clear="none"><a shape="rect" ymailto="mailto:OvmsDev@lists.openvehicles.com" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a><br clear="none"><a shape="rect" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br clear="none"></div></div>
            </div>
        </div></body></html>