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