[Ovmsdev] Instructions for building the "new idf" version?

Ludovic LANGE ll-ovmsdev at lange.nom.fr
Mon Sep 16 04:23:18 HKT 2024


Hi Craig,

I've received your 3 mails so it seems that everything went fine - 
however there may be a little delay between posting and receiving ?

Regarding your "new idf" endeavour it's a good news that you're trying 
to get your hands dirty on it ! I'll try to help you as much as I can to 
get you started, however, bear with me, it's been a long time since I 
did it from scratch so I may omit some (crucial) steps here and there.

First thing - I only really compiled with ESP-IDF 5+ : 5.0.1 / 5.0.2 / 
5.0.6 / 5.1.4 / 5.2.2 / 5.3.0 (and also the corresponding "live" 
branches release-v5.0 / release-v5.1 / release-v5.2 / release-v5.3 , but 
as these are "moving targets", you can sometime have a working compile 
and an issue a few months later).

So first I'd set up a (reliable) system to isolate you from any 
environment variables / default paths on your environment, and have a 
way to target exactly the ESP-IDF release you want.
You may choose anything from docker, to a combination of environment 
variables (AFAIC I'm using an environment variable trick mainly around 
PATH, IDF_TOOLS_PATH, IDF_PATH and using $IDF_PATH/export.sh)

Once you're confident with your setup (i.e. able to compile ESP-IDF's 
hello world 
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#build-the-project 
) then I'd recommend you to checkout OVMS's master in a dedicated tree, 
and there is a little bit of patching this master before everything 
compiles cleanly:

  * You'll need to patch our version of Mongoose 6.11 to remove a few
    compile error. You'll find the patch here
    https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/mongoose-espv5.patch
      o Or may be you'll need to upgrade to at least Mongoose 7.10
  * You'll need to have this file idf_component.yml
    <https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/idf_component.yml.esp5>
    in your master directory
  * You'll need to use this sdkconfig
    <https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/sdkconfig.defaults.esp5>
    file in your master directory
  * You'll also have some fun with wolfssh / wolfssl : you'll need
    wolfssl version 5.3.0 so will have to switch your submodule to
    `v5.3.0-stable` of our tree https://github.com/openvehicles/wolfssl.git


You can have a look at the GitHub Action build recipe here 
https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master-root/.github/workflows/build-ovms.yml 
that should be able to build a few different builds based on different 
ESP-IDF versions.

Please note that there are quite a number of pending issues:

  * To my knowledge I had to disable a lot of module to make it work.
    It's possible to re-enable these one after the other but not sure I
    ported them all to the new build system
  * I had some issues with the SSH connection
  * Our crash handling mechanism hadn't been ported to the new system at
    the time I worked on it
  * Our ESP-IDF fork added a field `uxMutexesHeld` to `struct
    xTASK_STATUS` :
    https://github.com/openvehicles/esp-idf/commit/95e43fc2c4360f8126a0985bf037a293bebe3767
    , which is then used in `module_tasks()` in
    `vehicle/OVMS.V3/main/ovms_module.cpp`. Not available in the ESP-IDF
    5+ unless we patch it
  * A few things have changed (since ESP-IDF v3), been ported to new
    subsystem so a few bugs are still hidden here and there.


I know it's not a full recipe, and I'll try to update this branch in the 
following days (but no guarantee that I'll have to time to do so).

I'll also try to answer as quick as I can on the list :-)

Let me know your progress and see how I can help.

Best regards,


Le 15/09/2024 à 20:05, Craig Leres via OvmsDev a écrit :
> [wow, I guess I suck at mailing lists!]
>
> Apologies for asking the list but I'm not having any luck searching 
> the archives by eye, a month at a time (and google doesn't appear to 
> crawl lists.openvehicles.com).
>
> Where are the instructions for building the version of ovms that uses 
> a newer idf? What version of the toolchain will I need?
>
> Thanks!
>
>         Craig
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20240915/2bd12087/attachment.htm>


More information about the OvmsDev mailing list