<div dir="ltr"><div>Thanks again for this really great project and I'm looking forward to using and adding to it.</div><div><br></div>Pardon my getting started with OVMS & esp-idf, I suspect I have an issue with my setup in terms of the path being correctly defined?<div><br></div><div>I attempted to follow the google docs OVMS developer guide, but I must be missing something. </div><div><br></div><div>The developer guide and the esp-idf instructions seem clear until the esp-idf instructions to run the install.sh script (setting paths, etc), but this script or similar doesn't exist in the openvehicles esp-idf branch? And the openvehicles esp-idf is a few months old, many items from the master esp-idf are different now? does that matter? </div><div><br></div><div>Do the instructions mean to install and set up the espressif's master esp-idf, and then also clone the openvehicles esp-idf? Because I think that's what I've done.</div><div><br></div><div>I installed the dependencies and espressif's esp-idf, and am able to flash at least hello_world on a regular esp32 board over USB and the serial terminal works with it. So that seems good. </div><div><br></div><div>When I try to compile OVMS I get errors that look like I'm missing something. Maybe the something I'm missing is in the openvehicles esp-idf, but my paths are not including it? Is there a script in the openvehicles esp-idf that I need to run? Is it ok to have both versions of esp-idf set up at the same time?</div><div><br></div><div>First it gives errors about the copyright text to include in the binary?</div><div><br></div><div><span style="font-family:monospace"><span style="font-weight:bold;color:rgb(84,255,84)">dklein@___</span><span style="color:rgb(0,0,0)">:</span><span style="font-weight:bold;color:rgb(84,84,255)">~/Leaf/OVMS/v3/vehicle/OVMS.V3</span><span style="color:rgb(0,0,0)">$ make
</span><br>Toolchain path: /home/dklein/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
<br>Toolchain version: esp-2019r2
<br>Compiler version: 8.2.0
<br>Python requirements from /home/dklein/esp/esp-idf/requirements.txt are satisfied.
<br>
<br>App "ovms3" version: 3.2.008-15-gca307f88
<br>CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/esp_app_desc.o
<br>AR /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/libapp_update.a
<br>CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/console/argtable3/argtable3.o
<br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:</span><span style="color:rgb(0,0,0)"> In function '</span><span style="font-weight:bold;color:rgb(0,0,0)">trex_charnode</span><span style="color:rgb(0,0,0)">':
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3068:7:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(255,84,255)">warning: </span><span style="color:rgb(0,0,0)">this statement ma</span><br>y fall through [<span style="font-weight:bold;color:rgb(255,84,255)">-Wimplicit-fallthrough=</span><span style="color:rgb(0,0,0)">]
</span><br> if<span style="font-weight:bold;color:rgb(255,84,255)">(</span><span style="color:rgb(0,0,0)">!isclass) {
</span><br> <span style="font-weight:bold;color:rgb(255,84,255)">^</span><span style="color:rgb(0,0,0)">
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3074:4:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(84,255,255)">note: </span><span style="color:rgb(0,0,0)">here
</span><br> <span style="font-weight:bold;color:rgb(84,255,255)">default</span><span style="color:rgb(0,0,0)">:
</span><br> <span style="font-weight:bold;color:rgb(84,255,255)">^~~~~~~</span><span style="color:rgb(0,0,0)">
</span><br>At top level:
<br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:273:19:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(255,84,84)">error: </span><span style="color:rgb(0,0,0)">'</span><span style="font-weight:bold;color:rgb(0,0,0)">rcsid</span><span style="color:rgb(0,0,0)">' defined but</span><br> not used [<span style="font-weight:bold;color:rgb(255,84,84)">-Werror=unused-const-variable=</span><span style="color:rgb(0,0,0)">]
</span><br> static const char <span style="font-weight:bold;color:rgb(255,84,84)">rcsid</span><span style="color:rgb(0,0,0)">[]="$Id: getopt_long.c,v 1.1 2009/10/16 19:50:28 rodney Exp rodney $";
</span><br> <span style="font-weight:bold;color:rgb(255,84,84)">^~~~~</span><span style="color:rgb(0,0,0)">
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:</span><span style="color:rgb(0,0,0)"> In function '</span><span style="font-weight:bold;color:rgb(0,0,0)">trex_compile</span><span style="color:rgb(0,0,0)">':
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3466:8:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(255,84,255)">warning: </span><span style="color:rgb(0,0,0)">variable '</span><span style="font-weight:bold;color:rgb(0,0,0)">exp</span><span style="color:rgb(0,0,0)">' mi</span><br>ght be clobbered by '<span style="font-weight:bold;color:rgb(0,0,0)">longjmp</span><span style="color:rgb(0,0,0)">' or '</span><span style="font-weight:bold;color:rgb(0,0,0)">vfork</span><span style="color:rgb(0,0,0)">' [</span><span style="font-weight:bold;color:rgb(255,84,255)">-Wclobbered</span><span style="color:rgb(0,0,0)">]
</span><br> TRex *<span style="font-weight:bold;color:rgb(255,84,255)">exp</span><span style="color:rgb(0,0,0)"> = (TRex *)malloc(sizeof(TRex));
</span><br> <span style="font-weight:bold;color:rgb(255,84,255)">^~~</span><span style="color:rgb(0,0,0)">
</span><br>cc1: some warnings being treated as errors
<br>/home/dklein/esp/esp-idf/make/<a href="http://component_wrapper.mk:291">component_wrapper.mk:291</a>: recipe for target 'argtable3/argtable3.o' failed
<br>make[1]: *** [argtable3/argtable3.o] Error 1
<br>/home/dklein/esp/esp-idf/make/<a href="http://project.mk:610">project.mk:610</a>: recipe for target 'component-console-build' failed
<br>make: *** [component-console-build] Error 2
<br><span style="font-weight:bold;color:rgb(84,255,84)">dklein@___</span><span style="color:rgb(0,0,0)">:</span><span style="font-weight:bold;color:rgb(84,84,255)">~/Leaf/OVMS/v3/vehicle/OVMS.V3</span><span style="color:rgb(0,0,0)">$ </span><br>
<br></span></div><div><br></div><div>If I eliminate that error, comment out the lines in argtable3, </div><div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;white-space:pre"><div><span style="color:rgb(197,134,192)">#ifndef</span><span style="color:rgb(86,156,214)"> lint</span></div><div><span style="color:rgb(86,156,214)">static</span> <span style="color:rgb(86,156,214)">const</span> <span style="color:rgb(86,156,214)">char</span> rcsid<span style="color:rgb(86,156,214)">[]</span>=<span style="color:rgb(206,145,120)">"$Id: getopt_long.c,v 1.1 2009/10/16 19:50:28 rodney Exp rodney $"</span>;</div><div><span style="color:rgb(197,134,192)">#endif</span> <span style="color:rgb(106,153,85)">/* lint */</span></div></div></div><div><br></div><div>Then I get same & other warnings, and finally a 'No rule to make target'.</div><div><br></div><div><span style="font-family:monospace"><span style="font-weight:bold;color:rgb(84,255,84)">dklein@___</span><span style="color:rgb(0,0,0)">:</span><span style="font-weight:bold;color:rgb(84,84,255)">~/Leaf/OVMS/v3/vehicle/OVMS.V3</span><span style="color:rgb(0,0,0)">$ make
</span><br>Toolchain path: /home/dklein/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
<br>Toolchain version: esp-2019r2
<br>Compiler version: 8.2.0
<br>Python requirements from /home/dklein/esp/esp-idf/requirements.txt are satisfied.
<br>
<br>App "ovms3" version: 3.2.008-15-gca307f88-dirty
<br>CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/esp_app_desc.o
<br>AR /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/libapp_update.a
<br>CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/console/argtable3/argtable3.o
<br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:</span><span style="color:rgb(0,0,0)"> In function '</span><span style="font-weight:bold;color:rgb(0,0,0)">trex_charnode</span><span style="color:rgb(0,0,0)">':
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3068:7:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(255,84,255)">warning: </span><span style="color:rgb(0,0,0)">this statement ma</span><br>y fall through [<span style="font-weight:bold;color:rgb(255,84,255)">-Wimplicit-fallthrough=</span><span style="color:rgb(0,0,0)">]
</span><br> if<span style="font-weight:bold;color:rgb(255,84,255)">(</span><span style="color:rgb(0,0,0)">!isclass) {
</span><br> <span style="font-weight:bold;color:rgb(255,84,255)">^</span><span style="color:rgb(0,0,0)">
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3074:4:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(84,255,255)">note: </span><span style="color:rgb(0,0,0)">here
</span><br> <span style="font-weight:bold;color:rgb(84,255,255)">default</span><span style="color:rgb(0,0,0)">:
</span><br> <span style="font-weight:bold;color:rgb(84,255,255)">^~~~~~~</span><span style="color:rgb(0,0,0)">
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:</span><span style="color:rgb(0,0,0)"> In function '</span><span style="font-weight:bold;color:rgb(0,0,0)">trex_compile</span><span style="color:rgb(0,0,0)">':
</span><br><span style="font-weight:bold;color:rgb(0,0,0)">/homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3466:8:</span><span style="color:rgb(0,0,0)"> </span><span style="font-weight:bold;color:rgb(255,84,255)">warning: </span><span style="color:rgb(0,0,0)">variable '</span><span style="font-weight:bold;color:rgb(0,0,0)">exp</span><span style="color:rgb(0,0,0)">' mi</span><br>ght be clobbered by '<span style="font-weight:bold;color:rgb(0,0,0)">longjmp</span><span style="color:rgb(0,0,0)">' or '</span><span style="font-weight:bold;color:rgb(0,0,0)">vfork</span><span style="color:rgb(0,0,0)">' [</span><span style="font-weight:bold;color:rgb(255,84,255)">-Wclobbered</span><span style="color:rgb(0,0,0)">]
</span><br> TRex *<span style="font-weight:bold;color:rgb(255,84,255)">exp</span><span style="color:rgb(0,0,0)"> = (TRex *)malloc(sizeof(TRex));
</span><br> <span style="font-weight:bold;color:rgb(255,84,255)">^~~</span><span style="color:rgb(0,0,0)">
</span><br>make[1]: *** No rule to make target '/homez/dklein/Documents/Projects/vehicles/OVMS/v3/vehicle/OVMS.V3/components/console/split_argv.c', <br>needed by 'split_argv.o'. Stop.
<br>/home/dklein/esp/esp-idf/make/<a href="http://project.mk:610">project.mk:610</a>: recipe for target 'component-console-build' failed
<br>make: *** [component-console-build] Error 2
<br><span style="font-weight:bold;color:rgb(84,255,84)">dklein@___</span><span style="color:rgb(0,0,0)">:</span><span style="font-weight:bold;color:rgb(84,84,255)">~/Leaf/OVMS/v3/vehicle/OVMS.V3</span><span style="color:rgb(0,0,0)">$</span><br></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">in my .bashrc</span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"># added 12/13/19, dklein, add ESP-IDF tools to path
</span><br>. "$HOME/esp/esp-idf/export.sh"<br></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">which adds to the path as follows.</span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">Adding ESP-IDF tools to PATH...
</span><br>Checking if Python packages are up to date...
<br>Python requirements from /home/dklein/esp/esp-idf/requirements.txt are satisfied.
<br>Added the following directories to PATH:
<br> /home/dklein/esp/esp-idf/components/esptool_py/esptool
<br> /home/dklein/esp/esp-idf/components/espcoredump
<br> /home/dklein/esp/esp-idf/components/partition_table/
<br> /home/dklein/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin
<br> /home/dklein/.espressif/tools/xtensa-esp32s2-elf/esp-2019r2-8.2.0/xtensa-esp32s2-elf/bin
<br> /home/dklein/.espressif/tools/esp32ulp-elf/2.28.51.20170517/esp32ulp-elf-binutils/bin
<br> /home/dklein/.espressif/tools/openocd-esp32/v0.10.0-esp32-20190708/openocd-esp32/bin
<br> /home/dklein/.espressif/python_env/idf4.1_py2.7_env/bin
<br> /home/dklein/esp/esp-idf/tools
<br>Done! You can now compile ESP-IDF projects.
<br>Go to the project directory and run:
<br>
<br> idf.py build<br>
<br></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">Thanks! Dale</span></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div></div>