<div dir="auto">OK.<div dir="auto"><br></div><div dir="auto">I did some logging changes to confirm that it's only _just_ getting overwhelmed..ie dropping 1 (or occasionally 2) RX frames in a row but then picking the next ones up...</div><div dir="auto"><br></div><div dir="auto">So increasing the queue size (I doubled it but maybe that was excessive) seems to do the trick. I think the queue size is in bytes and the queue packet size has increased at least a little bit.</div><div dir="auto"><br></div><div dir="auto">Michael </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 4 May 2024, 09:24 Michael Geddes, <<a href="mailto:frog@bunyip.wheelycreek.net">frog@bunyip.wheelycreek.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Derek,<div><br><div>I do have a friend with a Leaf in his EV collection, so I can try grab some more info from his car and work out exactly what (tf) is going on.</div></div><div><br></div><div>//.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 4 May 2024 at 08:13, <<a href="mailto:frog@bunyip.wheelycreek.net" target="_blank" rel="noreferrer">frog@bunyip.wheelycreek.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div lang="EN-AU"><div><p class="MsoNormal"><span style="font-size:11pt">HI Derek,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt">For a start, I’m very sorry that the ovms put your car in limp mode. That’s quite bad.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt">Just FYI those overflows that you have copied are about receiving and not sending information, so maybe the poller thread is being overwhelmed or stalled somehow.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt">I’ve been looking at the code and wondered if you have the ‘can write’ flag set to true or not? (Though it shouldn’t make that much difference)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt">Even if it were somehow mistakenly polling (ie in the wrong pollstate), it should not be doing it that frequently – (at most once a minute). And the poll throttle would still be on 1 per second.. so that should put a limit on sends.. and so it is really worrying that somehow that is not happening :/<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt">If you have more logs that you send me that don’t just include that particular overflow message that would be good. Did it crash/reboot? Maybe it crashed repeatedly?<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt">//.ichael<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif"> OvmsDev <<a href="mailto:ovmsdev-bounces@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev-bounces@lists.openvehicles.com</a>> <b>On Behalf Of </b>Derek Caudwell via OvmsDev<br><b>Sent:</b> Friday, May 3, 2024 6:54 PM<br><b>To:</b> OVMS Developers <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>><br><b>Cc:</b> Derek Caudwell <<a href="mailto:d.caudwell@gmail.com" target="_blank" rel="noreferrer">d.caudwell@gmail.com</a>><br><b>Subject:</b> Re: [Ovmsdev] OVMS Poller module/singleton<u></u><u></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">Hi Michael,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">When running firmware <span style="font-size:10pt;font-family:"Cascadia Mono";color:rgb(0,34,0)">3.3.004-74-gbd4e7196 on my Nissan Leaf I suspect (but can't be 100% sure as it's only been 24h without fault) the new poller caused the car to throw the attached faults from overloading the can bus whilst driving. The fault was sufficient to send the car into limp mode and could not be driven until cleared with LeafSpy. Ovms should not be polling in the driving state, so I'm not sure why the poller is overflowing.</span><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-size:10pt;font-family:"Cascadia Mono";color:rgb(0,34,0)">The ovms log repeats this overflow in rapid succession right before the failure occurred. I have since reverted to an earlier version and it might be advisable for other Leaf owners to do so until the new poller is fully operational.</span><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.316 NZST I (36847486) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.316 NZST I (36847486) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.316 NZST I (36847486) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.326 NZST I (36847496) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.336 NZST I (36847506) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.336 NZST I (36847506) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.336 NZST I (36847506) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.336 NZST I (36847506) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.346 NZST I (36847516) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.346 NZST I (36847516) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.346 NZST I (36847516) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.346 NZST I (36847516) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.356 NZST I (36847526) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.356 NZST I (36847526) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.356 NZST I (36847526) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">2024-05-02 12:22:28.356 NZST I (36847526) vehicle-poll: Poller[Frame]: Task Queue Overflow</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:black"> </span><span style="font-size:10pt;font-family:"Cascadia Mono";color:rgb(0,34,0)"> </span><u></u><u></u></p></div></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Fri, 3 May 2024 at 05:40, Michael Balzer via OvmsDev <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">A task may delete itself by calling vTaskDelete(NULL) as the final statement, and that's normally a better way to shutdown a task, if you can signal the task it should terminate. Deleting a task from outside may always result in resources taken by the task not being freed, as the task gets terminated wherever it just is.<br><br>As the vehicle task also needs to access vehicle data memory, vehicle destruction should not begin until the task has finished, otherwise a task job already running while the vehicle destruction takes place may run into an illegal memory access (access after free). Keep in mind, destructors are executed bottom up, so waiting for the task shutdown within the destructor won't help.<br><br>Also, I think "MyCan.DeregisterCallback(TAG)" in ShuttingDown() is now obsolete.<br><br>Regards,<br>Michael<br><br><u></u><u></u></p><div><p class="MsoNormal">Am 02.05.24 um 15:23 schrieb Michael Geddes:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><p class="MsoNormal">Thanks. <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">On that race condition... do you think we are better to just delete the task or I saw one recommendation that<u></u><u></u></p></div><div><p class="MsoNormal">We can delete it outside the while loop in the task itself! <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">//.ichael <u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Tue, 30 Apr 2024, 17:46 Michael Balzer via OvmsDev, <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">OK, understood & merged, thanks for the quick fix/workaround.<br><br>I'll ask the Twizy driver to test this.<br><br>Regards,<br>Michael<br><br>PS: side note: there's a shutdown race condition arising from `while (!m_is_shutdown)` in the new `OvmsVehicle::VehicleTask()`: if the task receives a message while m_is_shutdown already has been set, it will exit the loop and return from the task function, which isn't allowed. I think FreeRTOS will abort in that case.<br><br><br><u></u><u></u></p><div><p class="MsoNormal">Am 30.04.24 um 08:55 schrieb Michael Geddes:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><p class="MsoNormal">No it will start the poll thread of the poller fine for those that don't use it. That's the last commit.... so that should be covered. When the callback is registered the thread is force started. <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">This is not to say that what you are suggesting isn't a better way forward... just that it should work.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Michael <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal" style="margin-bottom:12pt"><u></u> <u></u></p><div><div><p class="MsoNormal">On Tue, 30 Apr 2024, 14:51 Michael Balzer via OvmsDev, <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">Michael,<br><br>(taking this back to the list, as other developers may have helpful ideas or suggestions)<br><br>from a first check, your new patch (PR #1008) won't help for vehicles that don't use the poller, like the generic DBC vehicle or the Fiat 500 (plus possibly non-public third party vehicles). As the poller is normally compiled in, these would need a run time switch to re-enable the vehicle task, or more suitably default into that configuration and switch to the poller task only when the poller gets initialized.<br><br>How about moving the task back into the vehicle class, but keeping your task message extensions while doing so, and adding a way for the poller to hook into the task? The dedicated vehicle task is an essential part of the vehicle framework, but I do remember some occasions where a general way to pass custom messages to the vehicle task would have been helpful to use the task for more than CAN processing.<br><br>If the poller shall become avaible as a separate service that can be used without any vehicle instance (currently not a defined use case), the construct of a CAN processor task that can be extended for custom messages (or a message processor task that can subscribe to CAN frames) could be factored out into a dedicated class or template. The poller could then create his own instance of that class, if it cannot hook into an existing one.<br><br>Btw, in case you're not aware of this, FreeRTOS also provides queue sets (<a href="https://www.freertos.org/RTOS-queue-sets.html" target="_blank" rel="noreferrer">https://www.freertos.org/RTOS-queue-sets.html</a>). We haven't used them in the OVMS yet, but they could be useful, especially if message unions become large or tasks shall be able to dynamically subscribe to different message sources.<br><br>Regards,<br>Michael<br><br><u></u><u></u></p><div><p class="MsoNormal">Am 30.04.24 um 01:20 schrieb Michael Geddes:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><div><div><p class="MsoNormal">It might be worth reverting, but, I've got a patch suggestion that I'll push up which will let me know if I understand everything and which might provide a solution.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">If this isn't going to work then revert. (P/R coming)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">While the poller was still a part of the vehicle class it was probably still all ok. The poller had taken over what I assume you are talking about as the vehicle task. A call-back fromthe poller was calling IncomingPollRxFrame which was then coming from the (now) poller task (is that correct?)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">While we have OVMS_COMP_POLLER config defined, we could just use the poller task to provide the IncomingPollRxFrame call-back from the poller (was vehicle?) task.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The problem is when OVMS_COMP_POLLER is undefined, we need an alternate (maybe we could use the 'Event' loop then) which is when I hacked that bad solution.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">//.ichael<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">I was thinking though that because everything is being queued we could divert some calls into the car <u></u><u></u></p><div><div><p class="MsoNormal">On Mon, 29 Apr 2024, 18:58 Michael Balzer, <<a href="mailto:dexter@expeedo.de" target="_blank" rel="noreferrer">dexter@expeedo.de</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">Michael,<br><br>I've found a severe design flaw with your poller change. Sorry, I should have seen that before, and shouldn't have merged this.<br><br>You have moved the standard CAN frame processing from the vehicle task into the CAN task by changing the vehicle from a CAN listener to a CAN callback processor. That will break all kind of things, vehicles like the Twizy, Smart and many others rely on frame processing being done in the dedicated vehicle task.<br><br>This especially induces issues regarding CAN processing capacity, as the vehicles rely on having a separate context and not needing to decouple complex processing of incoming frames. So this will degrade the CAN processing performance seriously in many cases, where additional steps involving file or network I/O need to be done.<br><br>So this needs to be changed back.<br><br>I assumed you introduced a new dedicated poller task but kept the vehicle task intact. From your naming (OvmsVehicle::IncomingPollRxFrame), it seems you misinterpreted the vehicle task's purpose as only being used for polling.<br><br>I assume this isn't a small change…? If so we should revert the poller merge, to avoid having a defunctional edge build state until the fix.<br><br><br>Secondly: logging is generally expensive regardless of the log level control and log channels enabled. Any log message needs to be queued to the log system, so involves a lock and a potential wait state (for the queue) & resulting context switch (= minimum delay of 10 ms). Therefore, logging must be avoided as far as possible in any time critical context, and is forbidden under some circumstances, e.g. in a timer callback (see FreeRTOS docs on this). The log system load multiplies with connected web clients or enabled file logging and enabled debug / verbose level logging -- that quickly becomes too much, usually triggering the task watchdog.<br><br>Your logging of nearly all bus events passing to/from the poller (especially the log entry in Queue_PollerFrame) becomes an issue on any vehicle that has high frequency running process data frames on the bus, like the Twizy or Smart. As a counter measure, I've just added a runtime control for all the poller's verbose logging (by default now off), and changed some debug level logs to verbose. Not sure if I've catched all that may need to be silenced by default. Please check all your log calls and place them under the new "trace" control flag wherever appropriate.<br><br>This won't help avoiding issues with process data frame buses though.<br><br><br>Shall I revert the poller merge for now?<br><br>Regards,<br>Michael<br><br><br><u></u><u></u></p><div><p class="MsoNormal">Am 29.04.24 um 06:18 schrieb Michael Geddes:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><p class="MsoNormal">Btw I included the log changes in the p/r which is a few small commits for the poller. <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">//.<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Mon, 29 Apr 2024, 07:20 Michael Geddes, <<a href="mailto:frog@bunyip.wheelycreek.net" target="_blank" rel="noreferrer">frog@bunyip.wheelycreek.net</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal">Hey Michael, <u></u><u></u></p><div><p class="MsoNormal">I've got to work now (it's Monday), but I suspect those 'giving up' are from unsolicited messages on the bus.<u></u><u></u></p></div><div><p class="MsoNormal">I can re-order things so that the message will likely be 'dropped (no poll entry)' rather than the time-out message. <u></u><u></u></p></div><div><p class="MsoNormal">And make it a verbose log.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">//.ichael <u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Mon, 29 Apr 2024 at 00:25, Michael Balzer <<a href="mailto:dexter@expeedo.de" target="_blank" rel="noreferrer">dexter@expeedo.de</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">Michael,<br><br>forwarding the Twizy logs to you directly, as they contain the user location.<br><br>He has just verified it's the new version, he says the module stops responding as soon as he turns on the Twizy.<br><br>His description of his actions is a bit ambiguous, and it seems he didn't enable logging to the file persistently.<br><br>According to the server, these were the version boot times:<br><br>2024-04-28 15:30:56 0 3.3.004-32-g125e0841/ota_0/edge (build idf v3.3.4-849-g6e214dc335 Apr 26 2024 19:16:50)<br>2024-04-28 16:21:08 0 3.3.004-32-g125e0841/ota_0/edge (build idf v3.3.4-849-g6e214dc335 Apr 26 2024 19:16:50)<br>2024-04-28 16:38:33 0 3.3.004-63-gf3595561/ota_1/edge (build idf v3.3.4-849-g6e214dc335 Apr 27 2024 07:44:50)<br>2024-04-28 16:40:57 0 3.3.004-63-gf3595561/ota_1/edge (build idf v3.3.4-849-g6e214dc335 Apr 27 2024 07:44:50)<br>2024-04-28 16:43:14 0 3.3.004-63-gf3595561/ota_1/edge (build idf v3.3.4-849-g6e214dc335 Apr 27 2024 07:44:50)<br>2024-04-28 16:46:39 0 3.3.004-63-gf3595561/ota_1/edge (build idf v3.3.4-849-g6e214dc335 Apr 27 2024 07:44:50)<br>2024-04-28 16:54:44 0 3.3.004-32-g125e0841/ota_0/edge (build idf v3.3.4-849-g6e214dc335 Apr 26 2024 19:16:50)<br><br>Attached is also his crash debug log -- a2ll doesn't tell much about what happened, but maybe you get an idea from this.<br><br>After the boot at 16:46, there are immediately lots of these messages:<br><br>2024-04-28 16:46:33.792 CEST D (39042) vehicle-poll: Poller: Queue PollerFrame()<br>2024-04-28 16:46:33.792 CEST D (39042) vehicle-poll: [1]Poller: Incoming - giving up<br><br>Regards,<br>Michael<br><br><u></u><u></u></p><div><p class="MsoNormal">Am 28.04.24 um 16:44 schrieb Michael Geddes:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><p class="MsoNormal">Ah. OK. <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I could try to fix the vin thing using the new way of doing it and get rid of a semaphore? <u></u><u></u></p></div><div><p class="MsoNormal">It would at least identify the problem possibly?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Michael <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sun, 28 Apr 2024, 22:32 Michael Balzer via OvmsDev, <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">Not sure if that's the problem, but I've found a different behaviour with the new PollSetState() implementation.<br><br>The old version only did anything if the new state actually was different from the previous one. The Twizy relies on this behaviour, calling PollSetState() from the per second ticker (see OvmsVehicleRenaultTwizy::ObdTicker1).<br><br>The new implementation apparently always sends the PollState command to the task, and that in turn always at least locks the poller mutex. Not sure if/how that could cause the observed issues, but it definitely adds quite some (unnecessary?) lock/unlock operations.<br><br><br><u></u><u></u></p><div><p class="MsoNormal">Am 28.04.24 um 16:05 schrieb Michael Balzer via OvmsDev:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><p class="MsoNormal" style="margin-bottom:12pt">The Twizy uses the poller to query the VIN (once) and DTCs (every 10 seconds while driving), see rt_obd2.cpp.<br><br>It also has its own version of the OBD single request (OvmsVehicleRenaultTwizy::ObdRequest), which was the precursor for the generalized version. This is used by custom/user Twizy plugins and scripts to access ECU internals.<br><br>The Twizy doesn't use IncomingPollRxFrame, but the Twizy's IncomingPollReply handler will log any poll responses it doesn't know about, so that could lead to a lot of log output if something goes wrong there.<br><br><u></u><u></u></p><div><p class="MsoNormal">Am 28.04.24 um 15:49 schrieb Michael Geddes via OvmsDev:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><div><p class="MsoNormal">AFAICT the twizzy doesn't use the poller list at all. So is it missing a call-back or something??<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I can see a potential problem with IncomingPollRxFrame being called twice as much as it should be but only when there is a poll list. Maybe commenting out this would do it. (I can find another away to get this called on the thread I want). This might be the problem with the smarted<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">void OvmsVehicle::OvmsVehicleSignal::IncomingPollRxFrame(canbus* bus, CAN_frame_t *frame, bool success)<br> {<br> //if (Ready())<br> // m_parent->IncomingPollRxFrame(frame, success);<br> }</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">//.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sun, 28 Apr 2024 at 21:10, Michael Balzer via OvmsDev <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal" style="margin-bottom:12pt">There may also be an issue with the Renault Twizy, I've received a report of a user who is using the edge builds, that the latest build wouldn't work.<br><br>He reports all kinds of errors and warnings signaled by the car during driving, and switching back to the previous build fixed the issues.<br><br>I've asked him to provide a debug log excerpt if possible.<br><br>Regards,<br>Michael<br><br><u></u><u></u></p><div><p class="MsoNormal">Am 28.04.24 um 14:29 schrieb Michael Geddes via OvmsDev:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><div><p class="MsoNormal">OK. That's bad.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Does the reading work in general?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Is it just the writing commands?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Raise a ticket on github and tag me in and we can address it that way.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Michael<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sun, 28 Apr 2024, 19:49 Thomas Heuer via OvmsDev, <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal"><span lang="DE" style="font-size:11pt">Hi,</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal"><span lang="DE" style="font-size:11pt"> </span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11pt">The new poller code doesn't seem to work properly with the smarted.</span><span lang="DE"><u></u><u></u></span></p><div style="border:1pt solid rgb(204,204,204);padding:7pt"><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (218831) vehicle-poll: [1]PollerNextTick(PRI): cycle complete for ticker=215</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (218831) vehicle-poll: Standard Poll Series: List reset</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (218831) vehicle-poll: PollSeriesList::NextPollEntry[!v.standard]: ReachedEnd</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (218831) vehicle-poll: [1]PollerSend: Poller Reached End</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219691) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219691) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219691) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219691) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219691) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219691) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219691) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><b><span lang="EN-GB" style="font-size:10pt;font-family:"Cascadia Mono";color:rgb(0,34,0)">OVMS#</span></b><span lang="EN-GB" style="font-size:10pt;font-family:"Cascadia Mono";color:rgb(0,34,0)"> </span><span lang="EN-GB" style="font-size:9pt;font-family:"Cascadia Mono";color:white;background:rgb(51,51,51)">unlock 22</span><span lang="EN-GB" style="font-size:10pt;font-family:"Cascadia Mono";color:rgb(0,34,0)"><br>Vehicle unlocked</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219691) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219691) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219691) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">V (219701) vehicle-poll: Pollers: FrameRx(bus=2)</span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:7.5pt;background:whitesmoke;word-break:break-all"><span lang="EN-GB" style="font-size:8.5pt;font-family:"Cascadia Mono";color:gray">D (219701) vehicle-poll: Poller: Queue PollerFrame()</span><span lang="DE"><u></u><u></u></span></p></div><p class="MsoNormal"><span lang="EN-GB" style="font-size:11pt"> </span><span lang="DE"><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11pt"> </span><span lang="DE"><u></u><u></u></span></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif">Von:</span></b><span lang="DE" style="font-size:11pt;font-family:Calibri,sans-serif"> OvmsDev <<a href="mailto:ovmsdev-bounces@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev-bounces@lists.openvehicles.com</a>> <b>Im Auftrag von </b>Michael Geddes via OvmsDev<br><b>Gesendet:</b> Sonntag, 28. April 2024 12:27<br><b>An:</b> OVMS Developers <<a href="mailto:ovmsdev@lists.openvehicles.com" target="_blank" rel="noreferrer">ovmsdev@lists.openvehicles.com</a>><br><b>Cc:</b> Michael Geddes <<a href="mailto:frog@bunyip.wheelycreek.net" target="_blank" rel="noreferrer">frog@bunyip.wheelycreek.net</a>><br><b>Betreff:</b> [Ovmsdev] OVMS Poller module/singleton</span><span lang="DE"><u></u><u></u></span></p></div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p><div><p class="MsoNormal"><span lang="DE">Hey all,<u></u><u></u></span></p><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">The poller singleton code that I've been working on for over a year now is merged in. (Thanks Michael for expediting the final step).<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">This includes separate multi-frame states per bus and multiple poll lists as well as non-blocking one off queries. As well as more 'states'.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">I have included some programming documentation in the change but am happy to supply more if needed. <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">The ioniq 5 code has some examples of how it can be used. Some examples are:<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">* grabbing the vin as a one shot without blocking <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">* having a short list of queries that are polled quickly for obd2ecu (this also demonstrates using a shorter frame break value and then a break after successful a response)<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">Have a play please!<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">Also interested in hearing what user tools might be worth looking at next for the poller object.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE">//.ichael G.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="DE"> <u></u><u></u></span></p></div></div></div></div><p class="MsoNormal">_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><br><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></p></blockquote></div></div></div><p class="MsoNormal"><u></u> <u></u></p><pre>_______________________________________________<u></u><u></u></pre><pre>OvmsDev mailing list<u></u><u></u></pre><pre><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><u></u><u></u></pre><pre><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></pre></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div><p class="MsoNormal">_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><br><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></p></blockquote></div></div><p class="MsoNormal"><u></u> <u></u></p><pre>_______________________________________________<u></u><u></u></pre><pre>OvmsDev mailing list<u></u><u></u></pre><pre><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><u></u><u></u></pre><pre><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></pre></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre><p class="MsoNormal"><u></u> <u></u></p><pre>_______________________________________________<u></u><u></u></pre><pre>OvmsDev mailing list<u></u><u></u></pre><pre><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><u></u><u></u></pre><pre><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></pre></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div><p class="MsoNormal">_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><br><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></p></blockquote></div></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div></blockquote></div></blockquote></div></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div></blockquote></div></div></div></div></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div><p class="MsoNormal">_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><br><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></p></blockquote></div></div></div></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div><p class="MsoNormal">_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><br><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></p></blockquote></div></blockquote><p class="MsoNormal"><br><br><u></u><u></u></p><pre>-- <u></u><u></u></pre><pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal<u></u><u></u></pre><pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26<u></u><u></u></pre></div><p class="MsoNormal">_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer">OvmsDev@lists.openvehicles.com</a><br><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" target="_blank" rel="noreferrer">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><u></u><u></u></p></blockquote></div></div></div></div></blockquote></div>
</blockquote></div>