I reviewed both, and they seem ok to me. We lose some debug functionality, but that tradeoff is outweighed by the benefit of a standard unpatched IDF. I doubt whether Espressif would accept most of these patched back into their mainstream, as they are of limited use for general users. However, note that I am only really looking at this from our existing code and IDF point of view. The primary question being whether these changes would impact existing builds? When we have a complete set of changes, I think we can then start to build in v5 IDF and really start testing on real devices then. Regards, Mark
On 18 May 2023, at 6:05 AM, Ludovic LANGE <ll-ovmsdev@lange.nom.fr> wrote:
Hi List,
If possible, I'd like a peer-review / discussion of the following PRs:
ESP-IDF v4+: we do not have uxMutexesHeld any more #901 <https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/901>
In ESP-IDF 3.3.x builds of OVMS, we're using a fork of ESP-IDF. In this fork, FreeRTOS has been patched with openvehicles/esp-idf@95e43fc <https://github.com/openvehicles/esp-idf/commit/95e43fc2c4360f8126a0985bf037a293bebe3767> to add a uxMutexesHeld field in TaskStatus_t.
However, in the ESP-IDF >= 4 build we're using mainstream ESP-IDF (for the moment), which does not include this field.
So we adapt the display to handle both cases.
ESP-IDF4+ : crash handler and boot status #902 <https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/902>
error handling rework (xt_set_error_handler_callback is only available in our ESP-IDF 3.3.4 fork.) esp_task_wdt_get_trigger_tasknames() not available (feature removed from ESP-IDF4+ builds) TODO first steps to support other archs than XTensa in boot_data.crash_data
These are the last 2 PRs before being able to build with any of these ESP-IDF versions : 3.3.4-ovms, 4.4.4, 5.0, 5.0.1, branch-v5.0, branch-v5.1, latest - the last mile !
(One workaround PR <https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pull/903> is pending to be able to run one of these new versions, preventing a crash at boot - but it needs a proper analysis first)
Also, with these 2 PRs, we will be able to enable automatic builds on all these versions on master (using GitHub "Actions") - you can have a preview of what I mean here : https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions
As we're slowly entering a period of transition between ESP-IDF 3.3.4-ovms and a more recent one (5.0.1 ?), we will need a way to ensure that the PRs / commits are OK across all these versions. Automatic builds can be configured to build on all targeted ESP-IDF versions, and can report their result back in the PRs, so that we can trap potential compilation errors before merging. (Especially as in the newer ESP-IDF versions, more and more warnings are treated as compilation errors)
I also prepared a check for documentation errors using the same mechanism.
Thanks in advance. Regards,
_______________________________________________ OvmsDev mailing list OvmsDev@lists.openvehicles.com http://lists.openvehicles.com/mailman/listinfo/ovmsdev