Hi Michael, Hi list, Thanks Michael for having taken the time to reproduce the build, and thus making this branch go from the state of "urban legend" to "has been confirmed at least once" :-) I hope more of you will be able to follow the instructions of Michael, that are very clear and should ease your work when wanting to test this branch. Ideally, I wanted that some of you having both the time (...) and a vehicle to test would be able to use this build as a daily driver, hoping that the known missing parts would not be a showstopper. Let me know, and also if you have some spare cycles you can check https://github.com/wolfSSL/wolfssl/issues/6028 in order to help fix some remaining issues on this library we depend on. In the meantime, I believe we can try to integrate (part of) this branch in master. I already started to distillate some parts of this in multiples MRs here https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/pulls?q=is%... ; which could be merged without -I hope, but the review will confirm- any impact nor regression to the current master branch. Let me know if I should continue in that direction, and sorry for sounding impatient about it :-) Regards, Le 18/02/2023 à 10:12, Michael Balzer a écrit :
Ludovic,
the issue is bound to the docker image version, I was using "espressif/idf", which is "latest".
The build works using the same sdkconfig with "espressif/idf:release-v5.0" (and again fails at that mbedtls module when switching back to the "latest" image).
So to build the current experimental state, I recommend using the docker image and basically doing the steps Ludovic formalized in the github action:
### SETUP ###
cd ~/esp/Open-Vehicle-Monitoring-System-3
# setup branch: git remote add llange git@github.com:llange/Open-Vehicle-Monitoring-System-3.git git branch -t experimental-esp-idf-build-workflow llange/experimental-esp-idf-build-workflow
# switch to branch: git checkout experimental-esp-idf-build-workflow git submodule update --init --recursive
# apply mongoose patch: git apply --directory=vehicle/OVMS.V3/components/mongoose/mongoose vehicle/OVMS.V3/support/mongoose-espv5.patch
# install v5 sdkconfig defaults: cp vehicle/OVMS.V3/support/sdkconfig.defaults.esp5 vehicle/OVMS.V3/sdkconfig.defaults
# install v5 idf components: cp vehicle/OVMS.V3/support/idf_component.yml.esp5 vehicle/OVMS.V3/main/idf_component.yml
### BUILD ###
cd ~/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3
# launch docker shell: docker run --rm -v $PWD:/project -w /project -it espressif/idf:release-v5.0 # init docker image (needs to be done on every start): apt-get update && apt-get install -y dos2unix
# OPTION 1: start with default config: rm vehicle/OVMS.V3/sdkconfig # NOTE: this will build for ESP32 >= rev3, excluding the SPIRAM bug workarounds
# OPTION 2: update your existing sdkconfig: idf.py menuconfig # → press '/' # … enable FREERTOS_ENABLE_BACKWARD_COMPATIBILITY # … disable FREERTOS_ASSERT_ON_UNTESTED_FUNCTION # … disable MG_ENABLE_SSL
# build: idf.py build
# flash & start USB monitor: idf.py app-flash && idf.py monitor
The build boots & works, issues you described excluded.
An issue I didn't expect:
I (0) cpu_start: Starting scheduler on APP CPU. E (0) task_wdt: esp_task_wdt_add(747): TWDT was never initialized … E (10) task_wdt: esp_task_wdt_add(747): TWDT was never initialized
…and then repeated 4x per second: E (3130) task_wdt: esp_task_wdt_reset(783): task not found
I'll try to find the cause, as we cannot silent these ("early" logging) they make using the shell challenging.
But, besides that, it has Wifi & cellular connectivity, so looks very promising -- nice work, Ludovic!
Regards, Michael