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

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