-
Notifications
You must be signed in to change notification settings - Fork 319
ESP-IDF 6.0 with backward compatibility to 5.5 #1417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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). |