OH, and also,
What do you think of treating the OvmsPoller.Times.GetStatus() items as an associative array - or should I treat it as a normal array?
//.ichael
On Wed, 3 Jul 2024 at 14:24, Michael Geddes <frog@bunyip.wheelycreek.net> wrote:
I figured I may as well add an OvmsPoller object to DukTape for Ovms. I'm waiting to get back to my OVMS so that I can test it.. but this is the documentation I have for the stuff I have coded. Thoughts on this?
What do people think of OvmsPoller.Times sub-object? I've added a general mechanism for this.
Also should I have OvmsPoller.Pause() or OvmsPoller.SetUserPaused(true) ? //.
OvmsPoller ^^^^^^^^^^ The Ovms Poller object represents the poller sub-system. It contains the following methods:
ispaused = OvmsPoller.GetPaused(): Return true if the poller is paused by the system/user.
ispaused = OvmsPoller.GetUserPaused(): Return true if the poller is paused by the user.
OvmsPoller.Pause(): Pause the poller (adds User poller pause)
OvmsPoller.Resume(): Remove the User poller pause.
tracemode = OvmsPoller.GetTrace(): Return the current trace mode.
OvmsPoller.SetTrace(tracemode): Set the current trace mode.The Traces still require that 'Verbose' and 'Debug' levels (depending) for the 'vehicle-poll' debug tag are set. Trace modes for verbose logging can be one of:
on: On for poller looptxrx: On for txrx queue (this can be hazardous for some cars)all: On for both poller loop and txrx queuingoff: Logging Off Note that onlyonandoffare recommended.The poller object also contains a
Timesproperty for the OBD Poll-Time tracing which contains the following methods:
isrunning = OvmsPoller.Times.GetEnabled(): Returns true if the time-tracing is enabled
OvmsPoller.Times.SetEnabled(isrunning): Sets the enabled status of the timer-tracing
OvmsPoller.Times.Reset(): Reset the timers (doesn't affect their current state).
OvmsPoller.Times.GetStatus(): Gets the status of the various times. This returns an object of this format: .. code-block:: javascript return_value = { "items": { "Poll:PRI" : { "count_hz": 1, "avg_util_pm": 0.529, "peak_util_pm":0.652, "avg_time_ms": 0.052, "peak_time_ms":1.516 }, "Poll:SRX": { "count_hz": 1.47, "avg_util_pm": 0.302, "peak_util_pm":0.44, "avg_time_ms": 0.02, "peak_time_ms":0.573 }, "RxCan1[778]": { "count_hz": 0.74, "avg_util_pm": 0.427, "peak_util_pm":0.826, "avg_time_ms": 0.063, "peak_time_ms":1.872 }, "RxCan1[7a8]": { "count_hz": 0.35, "avg_util_pm": 0.183, "peak_util_pm":0.355, "avg_time_ms": 0.052, "peak_time_ms":1.382 }, "TxCan1[7b3]": { "count_hz": 0.07, "avg_util_pm": 0.005, "peak_util_pm":0.01, "avg_time_ms": 0.007, "peak_time_ms":0.099 }, "TxCan1[7c6]": { "count_hz": 0, "avg_util_pm": 0, "peak_util_pm":0.009, "avg_time_ms": 0.004, "peak_time_ms":0.098 }, "Cmd:State": { "count_hz": 0, "avg_util_pm": 0, "peak_util_pm":0, "avg_time_ms": 0.011, "peak_time_ms":0.109 } },"tot_count_hz": 11.76, "tot_util_pm": 6.247, "tot_time_ms": 4.628};