<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    I don't see any issues in the standard poller. The "incoming"
    methods get called per frame.<br>
    <br>
    You can verify it's working correctly by doing an obdii request.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 02.04.21 um 12:55 schrieb
      <a class="moz-txt-link-abbreviated" href="mailto:didier@ernotte.com">didier@ernotte.com</a>:<br>
    </div>
    <blockquote type="cite"
      cite="mid:165040145.189381.1617360908896@mail.yahoo.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div class="ydpc883bb7cyahoo-style-wrap"
        style="font-family:Helvetica Neue, Helvetica, Arial,
        sans-serif;font-size:16px;">
        <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>

</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>
<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>

</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.
            <a class="moz-txt-link-rfc2396E" href="mailto:gregd2350@gmail.com"><gregd2350@gmail.com></a> 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"
                      moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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"
                moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
                clear="none">
              <a shape="rect"
                href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                target="_blank" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
                clear="none">
            </div>
          </div>
        </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>