Hi all,
I'm pushing up my current progress on a reworking of the polling loop. I'm not doing a pull request of this as it absolutely needs to be incorporated in manageable chunks, and I understand that requires time that the devs currently don't have.
In broad strokes, this:
* Reduces the amount of word done in the Scheduler thread, which under routeros should be kept as lite as possible. This work is done on the (beefed up) Polling thread.
* Allows keeping separate OBD state for each polling bus (while maintaining a single thread).
* Better compartmentalises the poller operations.
* Allows once-off poller actions that don't require blocking the thread. (Which particularly if this is the Scheduler thread - the one that provides the 1s ticks- is not recommended)
* Effectively Extends the number of poll 'states' available without changing the base structure.
https://github.com/frogonwheels/Open-Vehicle-Monitoring-System-3/tree/poller-changes-all
I'm still very much interested in feedback and in making this available.
In a practical sense, this is what I run on my OVMS and in particular for the OBD2ECU it is working very nicely!
//.ichael Geddes