ESP-IDF 6.0 with backward compatibility to 5.5#1417
ESP-IDF 6.0 with backward compatibility to 5.5#1417mcelrath wants to merge 1 commit intobitaxeorg:masterfrom
Conversation
mcelrath
commented
Dec 3, 2025
- Updated CMakeLists.txt (CMake 3.16 for dual version support)
- Updated component dependencies to use new driver components:
- Added esp_driver_uart to components/asic
- Added esp_driver_uart, esp_driver_gpio, esp_driver_i2c to main
- Fixed stratum component dependency: json → cjson (ESP-IDF 6.0 rename)
- Maintained IDF version requirement at >=5.5.0 for backward compatibility
- Implemented WiFi interface constant compatibility in components/connect/connect.c
- ESP-IDF 6.0: WIFI_IF_STA/AP
- ESP-IDF 5.5.x: ESP_IF_WIFI_STA/AP
- Uses ESP_IDF_VERSION macros for conditional compilation
- Fixed thermal driver header signatures (EMC2101, EMC2103)
- Updated readme.md with ESP-IDF version requirements
- Updated EMC210x headers to match implementation: EMC210x_init(int) due to ESP-IDF 6.0's stricter compiler warnings
- Updated CMakeLists.txt (CMake 3.16 for dual version support) - Updated component dependencies to use new driver components: - Added esp_driver_uart to components/asic - Added esp_driver_uart, esp_driver_gpio, esp_driver_i2c to main - Fixed stratum component dependency: json → cjson (ESP-IDF 6.0 rename) - Maintained IDF version requirement at >=5.5.0 for backward compatibility - Implemented WiFi interface constant compatibility in components/connect/connect.c - ESP-IDF 6.0: WIFI_IF_STA/AP - ESP-IDF 5.5.x: ESP_IF_WIFI_STA/AP - Uses ESP_IDF_VERSION macros for conditional compilation - Fixed thermal driver header signatures (EMC2101, EMC2103) - Updated readme.md with ESP-IDF version requirements - Updated EMC210x headers to match implementation: EMC210x_init(int) due to ESP-IDF 6.0's stricter compiler warnings
|
This should be tested on Windows as well, see #1206. |
| #include "nvs_config.h" | ||
|
|
||
| // ESP-IDF 6.0 compatibility: WiFi interface constants were renamed | ||
| #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(6, 0, 0) |
There was a problem hiding this comment.
Would it make sense to reverse the compat check? So if ESP-IDF < 6, make define the old constants as the new constants? So the code is completely ESP-IDF 6.
| # in this exact order for cmake to work correctly | ||
| cmake_minimum_required(VERSION 3.5) | ||
| # CMake 3.16+ supports both ESP-IDF 5.x and 6.x | ||
| cmake_minimum_required(VERSION 3.16) |
There was a problem hiding this comment.
Not sure why this is a downgrade? Did they drop backwards compatibility after this version?
| ### Prerequisites | ||
|
|
||
| - Install the ESP-IDF toolchain from https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/ | ||
| - Install nodejs/npm from https://nodejs.org/en/download |
There was a problem hiding this comment.
I would think nodejs/npm are still needed, or is that now bundled with ESP-IDF 6?
|
Last time I checked esptool (esptool.py) v5.x.x did not work with the Bitaxetool properly, thats why Bitaxetool v0.6.1 was locked to esptool v4.9.0, not check any newer versions since. Esptool v4.10.dev2 does not work on my Windows systems when building the firmware files, the PC's hard lock, using esptool v4.10.0 here. I've not tested this PR, will see if I can test it over the weekend or sometime next week on a Windows system (test rig). |