<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Hi Craig,</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">I've received your 3 mails so it seems
that everything went fine - however there may be a little delay
between posting and receiving ?</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">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.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">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).</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">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.</div>
<div class="moz-cite-prefix">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)</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Once you're confident with your setup
(i.e. able to compile ESP-IDF's hello world
<a class="moz-txt-link-freetext" href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#build-the-project">https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#build-the-project</a>
) 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:</div>
<div class="moz-cite-prefix">
<ul>
<li>You'll need to patch our version of Mongoose 6.11 to remove
a few compile error. You'll find the patch here
<a class="moz-txt-link-freetext" href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/mongoose-espv5.patch">https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/mongoose-espv5.patch</a></li>
<ul>
<li>Or may be you'll need to upgrade to at least Mongoose 7.10<br>
</li>
</ul>
<li>You'll need to have this file <a
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/idf_component.yml.esp5">idf_component.yml</a>
in your master directory</li>
<li>You'll need to use this <a
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master/vehicle/OVMS.V3/support/sdkconfig.defaults.esp5">sdkconfig</a>
file in your master directory</li>
<li>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
<a class="moz-txt-link-freetext" href="https://github.com/openvehicles/wolfssl.git">https://github.com/openvehicles/wolfssl.git</a><br>
</li>
</ul>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">You can have a look at the GitHub
Action build recipe here
<a class="moz-txt-link-freetext" href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master-root/.github/workflows/build-ovms.yml">https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/build-master-root/.github/workflows/build-ovms.yml</a>
that should be able to build a few different builds based on
different ESP-IDF versions.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Please note that there are quite a
number of pending issues:</div>
<div class="moz-cite-prefix">
<ul>
<li>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</li>
<li>I had some issues with the SSH connection</li>
<li>Our crash handling mechanism hadn't been ported to the new
system at the time I worked on it</li>
<li>Our ESP-IDF fork added a field `uxMutexesHeld` to `struct
xTASK_STATUS` :
<a class="moz-txt-link-freetext" href="https://github.com/openvehicles/esp-idf/commit/95e43fc2c4360f8126a0985bf037a293bebe3767">https://github.com/openvehicles/esp-idf/commit/95e43fc2c4360f8126a0985bf037a293bebe3767</a>
, 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</li>
<li>A few things have changed (since ESP-IDF v3), been ported to
new subsystem so a few bugs are still hidden here and there.<br>
</li>
</ul>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">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).</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">I'll also try to answer as quick as I
can on the list :-)<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Let me know your progress and see how I
can help.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Best regards,<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Le 15/09/2024 à 20:05, Craig Leres via
OvmsDev a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:f8c5024a-27ad-4d1c-b87b-b2b546dcc61f@xse.com">[wow, I
guess I suck at mailing lists!]
<br>
<br>
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).
<br>
<br>
Where are the instructions for building the version of ovms that
uses a newer idf? What version of the toolchain will I need?
<br>
<br>
Thanks!
<br>
<br>
Craig
<br>
_______________________________________________
<br>
OvmsDev mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
<br>
</blockquote>
<p><br>
</p>
<div id="grammalecte_menu_main_button_shadow_host"
style="width: 0px; height: 0px;"></div>
</body>
</html>