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