<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I’ve been trying to keep OVMS v3 firmware up-to-date and compatible with the latest bleeding-edge ESP-IDF from Espressif, but it is proving too time consuming. Espressif keep changing things, breaking things, then un-breaking them, and it is starting to get frustrating. The latest Espressif commits have messed around with CR/LF line endings in the monitor terminal, and broken SD card support. The idea was to handle lots of little changes, rather than try to deal with them all in one big lump down the road, but it is just not working out.</div><div class=""><br class=""></div><div class="">To try to speed things up, I’ve decided to standardise, for the moment, on the latest released ESP-IDF v2.1. With the commits today, the OVMS v3 firmware will cleanly build against this version only. If you are building OVMS, you should checkout this release of ESP-IDF as follows:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class="">$ git pull<div class="">$ git checkout remotes/origin/release/v2.1</div><div class="">$ git submodule update —init</div><div class=""><div class="">$ git status</div><div class="">HEAD detached at origin/release/v2.1</div><div class="">nothing to commit, working tree clean</div></div></blockquote><div class=""><br class=""></div><div class="">Then, you can ‘make clean’ and ‘make’ OVMS as usual.</div><div class=""><br class=""></div><div class="">In other news, OTA is working (at least as a proof of concept). Here’s an OTA flash from VFS (SD card):</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OVMS > ota status</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Firmware: 3.0.0/factory/main build (idf v2.1-2-g7138fb0) Sep  5 2017 08:01:38</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Running partition: factory</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Boot partition: factory</span></font></div></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class=""><br class=""></span></font></div><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OVMS > sd mount</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Name: SD</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Type: SDHC/SDXC</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Speed: default speed</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Size: 15120MB</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">CSD: ver=1, sector_size=512, capacity=30965760 read_bl_len=9</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">SCR: sd_spec=2, bus_width=5</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Mounted SD CARD</span></font></div></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class=""><br class=""></span></font></div><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OVMS > ota flash vfs /sdcard/ovms3.bin</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Current running partition is: factory</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Target partition is: ota_0</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Source image is 798912 bytes in size</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Preparing flash partition...</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Flashing image partition...</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Setting boot partition...</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OTA flash was successfull</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">  Flashed 798912 bytes from /sdcard/ovms3.bin</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">  Next boot will be from ‘ota_0'</span></font></div></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class=""><br class=""></span></font></div><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OVMS > ota status</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Firmware: 3.0.0/factory/main build (idf v2.1-2-g7138fb0) Sep  5 2017 08:01:38</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Running partition: factory</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Boot partition: ota_0</span></font></div></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class=""><br class=""></span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">(reboot)</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class=""><br class=""></span></font></div><div class=""><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">OVMS > ota status</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Firmware: 3.0.0/ota_0/main build (idf v2.1-2-g7138fb0) Sep  5 2017 08:01:38</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Running partition: ota_0</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-size: 14px;" class="">Boot partition: ota_0</span></font></div></div></blockquote><div class=""><br class=""></div><div class="">This means that end-users can simply put an image on SD card, plug it in, and type a few simple commands on the console to get the image loaded and running. No need to install SDKs, or flashing tools. Just a simple USB console (and this will also work via wifi telnet console when ready).</div><div class=""><br class=""></div><div class="">I’ve now got to get the automatic SD CARD mount on boot code working, and can then implement a quick check to see if a firmware image file is on SD card, then automatically flash that and reboot into OTA. Once that is done, all the user will have to do is copy a file to SD card, plug it in, and switch on.</div><div class=""><br class=""></div><div class="">Regards, Mark.</div><div class=""><br class=""></div></body></html>