[Ovmsdev] ESP-IDF 2.1 and OTA

Mark Webb-Johnson mark at webb-johnson.net
Tue Sep 5 10:04:09 HKT 2017


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.

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:

$ git pull
$ git checkout remotes/origin/release/v2.1
$ git submodule update —init
$ git status
HEAD detached at origin/release/v2.1
nothing to commit, working tree clean

Then, you can ‘make clean’ and ‘make’ OVMS as usual.

In other news, OTA is working (at least as a proof of concept). Here’s an OTA flash from VFS (SD card):

OVMS > ota status
Firmware: 3.0.0/factory/main build (idf v2.1-2-g7138fb0) Sep  5 2017 08:01:38
Running partition: factory
Boot partition: factory

OVMS > sd mount
Name: SD
Type: SDHC/SDXC
Speed: default speed
Size: 15120MB
CSD: ver=1, sector_size=512, capacity=30965760 read_bl_len=9
SCR: sd_spec=2, bus_width=5
Mounted SD CARD

OVMS > ota flash vfs /sdcard/ovms3.bin
Current running partition is: factory
Target partition is: ota_0
Source image is 798912 bytes in size
Preparing flash partition...
Flashing image partition...
Setting boot partition...
OTA flash was successfull
  Flashed 798912 bytes from /sdcard/ovms3.bin
  Next boot will be from ‘ota_0'

OVMS > ota status
Firmware: 3.0.0/factory/main build (idf v2.1-2-g7138fb0) Sep  5 2017 08:01:38
Running partition: factory
Boot partition: ota_0

(reboot)

OVMS > ota status
Firmware: 3.0.0/ota_0/main build (idf v2.1-2-g7138fb0) Sep  5 2017 08:01:38
Running partition: ota_0
Boot partition: ota_0

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).

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.

Regards, Mark.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.teslaclub.hk/pipermail/ovmsdev/attachments/20170905/6b2f6148/attachment.html>


More information about the OvmsDev mailing list