[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