-
-
Notifications
You must be signed in to change notification settings - Fork 180
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
Upgrade ESP32 IDF to v5.2.2 #2991
Conversation
Important Review skippedReview was skipped as selected files did not have any reviewable changes. Files selected but had no reviewable changes (1)
You can disable this status message by setting the WalkthroughThe recent updates focus on upgrading the ESP-IDF version from Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant ESP32_IDF
participant Build_System
Developer->>ESP32_IDF: Upgrade to v5.2.2
ESP32_IDF->>Build_System: New features and bug fixes
Build_System->>Developer: Enhanced compatibility and functionality
sequenceDiagram
participant UART_Config
participant Interrupt_Service
UART_Config->>Interrupt_Service: Update ISR CPU ID handling
Interrupt_Service->>UART_Config: Improved load balancing for interrupts
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
Automated fixes for code style.
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (13)
- .devcontainer/All/Dockerfile.All.SRC (1 hunks)
- .devcontainer/ESP32/Dockerfile.ESP32.SRC (1 hunks)
- CMake/Modules/FindESP32_IDF.cmake (1 hunks)
- CMake/binutils.ESP32.cmake (1 hunks)
- azure-pipelines-nightly.yml (1 hunks)
- azure-pipelines.yml (1 hunks)
- targets/ESP32/CMakeLists.txt (1 hunks)
- targets/ESP32/_Network/NF_ESP32_OpenThread.cpp (3 hunks)
- targets/ESP32/_nanoCLR/System.Device.Pwm/sys_dev_pwm_native_System_Device_Pwm_PwmChannel.cpp (2 hunks)
- targets/ESP32/_nanoCLR/System.Device.Spi/cpu_spi.cpp (1 hunks)
- targets/ESP32/_nanoCLR/System.IO.Ports/sys_io_ser_native_System_IO_Ports_SerialPort.cpp (3 hunks)
- targets/ESP32/_nanoCLR/nanoFramework.Hardware.ESP32/nanoFramework_hardware_esp32_native_Hardware_Esp32_Sleep.cpp (1 hunks)
- targets/ESP32/_nanoCLR/nanoFramework.Hardware.ESP32/nanoFramework_hardware_esp32_native_nanoFramework_Hardware_Esp32_Touch_TouchPad.cpp (2 hunks)
Files skipped from review due to trivial changes (1)
- CMake/binutils.ESP32.cmake
Additional comments not posted (22)
.devcontainer/ESP32/Dockerfile.ESP32.SRC (1)
51-51
: LGTM!The ESP-IDF version has been correctly updated to
v5.2.2
.targets/ESP32/CMakeLists.txt (1)
63-63
: LGTM!The ESP-IDF version has been correctly updated to
v5.2.2
..devcontainer/All/Dockerfile.All.SRC (1)
93-93
: LGTM!The ESP-IDF version has been correctly updated to
v5.2.2
.CMake/Modules/FindESP32_IDF.cmake (1)
117-119
: Ensure consistency in FreeRTOS include paths.The added paths for FreeRTOS configuration include directories are consistent with the existing structure and enhance the build configuration.
targets/ESP32/_nanoCLR/nanoFramework.Hardware.ESP32/nanoFramework_hardware_esp32_native_Hardware_Esp32_Sleep.cpp (1)
242-246
: Enhance type safety withuart_port_t
.The change to use
uart_port_t
foruartNum
improves type safety and clarity. Ensure that all related code correctly handles this type.targets/ESP32/_nanoCLR/System.Device.Pwm/sys_dev_pwm_native_System_Device_Pwm_PwmChannel.cpp (2)
163-163
: Verify the addition of the boolean parameter intimer_conf
.The new boolean parameter added to the
timer_conf
initialization should be verified to ensure it aligns with the intended functionality and does not introduce any unintended side effects.
319-319
: Verify the addition of the boolean parameter intimer_conf
.The new boolean parameter added to the
timer_conf
initialization should be verified to ensure it aligns with the intended functionality and does not introduce any unintended side effects.targets/ESP32/_Network/NF_ESP32_OpenThread.cpp (2)
46-46
: Enhance type safety with explicit type casting.Explicitly casting the integer
0
touart_port_t
improves type safety and prevents potential runtime issues.
75-75
: Update interrupt CPU affinity constant.Changing the
isr_cpu_id
field to useESP_INTR_CPU_AFFINITY_0
aligns with updated ESP32 SDK practices for interrupt handling.targets/ESP32/_nanoCLR/System.Device.Spi/cpu_spi.cpp (1)
177-177
: Enhance ISR CPU affinity handling.Changing the
isr_cpu_id
field to useESP_INTR_CPU_AFFINITY_AUTO
allows for dynamic CPU affinity handling, potentially improving load balancing and resource assignment during SPI operations.azure-pipelines-nightly.yml (1)
20-20
: Upgrade ESP-IDF version.Updating the reference tag from
v5.1.4
tov5.2.2
ensures compatibility with the latest ESP-IDF version, potentially bringing in bug fixes, new features, and improvements.targets/ESP32/_nanoCLR/nanoFramework.Hardware.ESP32/nanoFramework_hardware_esp32_native_nanoFramework_Hardware_Esp32_Touch_TouchPad.cpp (2)
41-41
: Type casting improves type safety.The explicit type casting for the
touch_pad_intr_clear
function parameter ensures the bitwise OR operation on the interrupt mask constants is correctly interpreted. This enhances type safety.
74-74
: Type casting improves type safety.The explicit type casting for the
touch_pad_intr_disable
function parameter ensures the bitwise OR operation on the interrupt mask constants is correctly interpreted. This enhances type safety.targets/ESP32/_nanoCLR/System.IO.Ports/sys_io_ser_native_System_IO_Ports_SerialPort.cpp (8)
23-23
: Conditional compilation enhances flexibility.The conditional compilation for declaring
Uart2_PAL
based onSOC_UART_HP_NUM > 2
ensures the code adapts to a broader range of hardware configurations.
26-28
: Conditional compilation enhances flexibility.The conditional compilation for declaring
Uart3_PAL
based onSOC_UART_HP_NUM > 3
ensures the code adapts to a broader range of hardware configurations.
42-42
: Conditional compilation enhances flexibility.The conditional compilation for handling
UART_NUM_2
based onSOC_UART_HP_NUM > 2
ensures the code adapts to a broader range of hardware configurations.
48-52
: Conditional compilation enhances flexibility.The conditional compilation for handling
UART_NUM_3
based onSOC_UART_HP_NUM > 3
ensures the code adapts to a broader range of hardware configurations.
1445-1445
: Conditional compilation enhances flexibility.The conditional compilation for including
COM2
in the device selector string based onSOC_UART_HP_NUM > 1
ensures the string accurately reflects the available UART ports.
1448-1450
: Conditional compilation enhances flexibility.The conditional compilation for including
COM3
in the device selector string based onSOC_UART_HP_NUM > 2
ensures the string accurately reflects the available UART ports.
1451-1452
: Conditional compilation enhances flexibility.The conditional compilation for including
COM4
in the device selector string based onSOC_UART_HP_NUM > 3
ensures the string accurately reflects the available UART ports.
49-51
: Conditional compilation enhances flexibility.The conditional compilation for handling
UART_NUM_3
based onSOC_UART_HP_NUM > 3
ensures the code adapts to a broader range of hardware configurations.azure-pipelines.yml (1)
51-51
: LGTM! But verify compatibility with the new ESP-IDF version.The reference tag for the
espressif/esp-idf
repository has been updated torefs/tags/v5.2.2
. Ensure that this new version is compatible and does not introduce any breaking changes.
…556-b2cc-4095-88a8-435b87cc5735 Code style fixes for nanoframework/nf-interpreter PR#2991
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- azure-pipelines-templates/download-install-esp32-build-components.yml (1 hunks)
Additional comments not posted (2)
azure-pipelines-templates/download-install-esp32-build-components.yml (2)
9-9
: Cache key updated to new version.The cache key for ESP32 tools has been correctly updated from
5_1_4
to5_2_2
.
10-10
: Restore key updated to new version.The restore key for ESP32 tools has been correctly updated from
5_1_4
to5_2_2
.
@josesimoes |
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- targets/ESP32/_nanoCLR/System.Device.Spi/cpu_spi.cpp (6 hunks)
- targets/ESP32/_nanoCLR/nanoFramework.Hardware.ESP32/nanoFramework_hardware_esp32_native_nanoFramework_Hardware_Esp32_Touch_TouchPad.cpp (4 hunks)
Files skipped from review due to trivial changes (1)
- targets/ESP32/_nanoCLR/nanoFramework.Hardware.ESP32/nanoFramework_hardware_esp32_native_nanoFramework_Hardware_Esp32_Touch_TouchPad.cpp
Files skipped from review as they are similar to previous changes (1)
- targets/ESP32/_nanoCLR/System.Device.Spi/cpu_spi.cpp
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.
LGTM!
I've just bumped the dev containers versions and the components cache. All the rest was OK.
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.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (1)
azure-pipelines-templates/build-espressif-esp32-targets.yml (1)
50-50
: Fix trailing spaces.There are trailing spaces on this line.
- eq(variables['TargetSeries'], 'esp32s3') + eq(variables['TargetSeries'], 'esp32s3')Tools
yamllint
[error] 50-50: trailing spaces
(trailing-spaces)
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (3)
- .devcontainer/All/Dockerfile.All (1 hunks)
- .devcontainer/ESP32/Dockerfile.ESP32 (1 hunks)
- azure-pipelines-templates/build-espressif-esp32-targets.yml (1 hunks)
Files skipped from review due to trivial changes (1)
- .devcontainer/ESP32/Dockerfile.ESP32
Additional context used
yamllint
azure-pipelines-templates/build-espressif-esp32-targets.yml
[error] 1-1: wrong new line character: expected \n
(new-lines)
[error] 50-50: trailing spaces
(trailing-spaces)
Additional comments not posted (2)
.devcontainer/All/Dockerfile.All (1)
1-1
: LGTM! Verify the compatibility of the new base image.The update to the base image version from
v2.49
tov2.50
looks good.Ensure that the new base image version is compatible and doesn't introduce any breaking changes.
azure-pipelines-templates/build-espressif-esp32-targets.yml (1)
20-20
: LGTM! Verify the build process with the updated cache key.The update to the cache key for IDF components looks good.
Ensure that the build process works correctly with the updated cache key.
Verification successful
Verification successful: The cache key update is present and consistent across the relevant YAML files.
The updated cache key "esp-idf-components-cache | 5_2_2" has been correctly applied in the
azure-pipelines-templates/build-espressif-esp32-targets.yml
file. Additionally, related cache keys are updated in other relevant files, ensuring consistency.
azure-pipelines-templates/build-espressif-esp32-targets.yml
azure-pipelines-templates/download-install-esp32-build-components.yml
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the build process with the updated cache key. # Test: Trigger the build process and check for any issues. az pipelines run --name <pipeline_name> --branch <branch_name>Length of output: 205
Script:
#!/bin/bash # Search for the updated cache key in Azure Pipelines YAML files to verify its presence and correctness. rg "esp-idf-components-cache | 5_2_2" -A 5 --glob "*.yml"Length of output: 1308
- CLR version is now passed to CLI job so there is a version numbering consistency between the DLL published to CloudSmith repo and the one distributed with the CLR nupkg. ***NO_CI***
- Reset target revision counter
- Reset revision counter variables. - Fix IDF version. - All these following nanoframework/nf-interpreter#2991.
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (3)
- azure-pipelines-nightly.yml (5 hunks)
- azure-pipelines.yml (7 hunks)
- version.json (1 hunks)
Files skipped from review due to trivial changes (1)
- version.json
Files skipped from review as they are similar to previous changes (2)
- azure-pipelines-nightly.yml
- azure-pipelines.yml
- CLR version is now passed to CLI job so there is a version numbering consistency between the DLL published to CloudSmith repo and the one distributed with the CLR nupkg. ***NO_CI***
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.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (3)
- .devcontainer/All/Dockerfile.All.SRC (1 hunks)
- .devcontainer/ESP32/Dockerfile.ESP32.SRC (1 hunks)
- azure-pipelines.yml (8 hunks)
Files skipped from review as they are similar to previous changes (3)
- .devcontainer/All/Dockerfile.All.SRC
- .devcontainer/ESP32/Dockerfile.ESP32.SRC
- azure-pipelines.yml
@josesimoes |
@AdrianSoundy no problem! Thank YOU for making it happen. 😄 |
Description
Motivation and Context
Needed to be done.
How Has This Been Tested?
Run builds on Esp32, ESp32_S3, ESp32_C6
Types of changes
Checklist
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Bug Fixes
Chores