Skip to content

Fix ESP-IDF v6.0 API compatibility#577

Closed
mh0pe wants to merge 1 commit intoesp-rs:masterfrom
mh0pe:esp-idf-v6-support
Closed

Fix ESP-IDF v6.0 API compatibility#577
mh0pe wants to merge 1 commit intoesp-rs:masterfrom
mh0pe:esp-idf-v6-support

Conversation

@mh0pe
Copy link
Copy Markdown

@mh0pe mh0pe commented Mar 25, 2026

Summary

Fixes ESP-IDF v6.0 API compatibility in esp-idf-hal. Purely additive -- no version bumps, no v4 removals. Incorporates all changes from @drinkcat's #578.

Companion PRs:

Changes (from @drinkcat's #578)

sleep: GPIO deep sleep wakeup API renames (esp_deep_sleep_enable_gpio_wakeup -> esp_sleep_enable_gpio_wakeup_on_hp_periph_powerdown, enum renames)

lcd: DMA2D flag removed from dpi_config.flags (now call esp_lcd_dpi_panel_enable_dma2d() after panel creation), pixel_format field removed from esp_lcd_panel_dev_config_t, rgb_ele_order union change, RGB666 format dropped, esp_lcd_panel_disp_off -> esp_lcd_panel_disp_on_off

uart: Clock source Kconfig flags changed in v6 -- PLL_F80M and PLL_F48M now need chip-specific guards instead of relying on SOC capability flags

pcnt: SOC_PCNT_CHANNELS_PER_UNIT removed -- proper const with alloc/heapless split. clk_src field uses actual PCNT_CLK_SRC_DEFAULT enum value.

timer: backup_before_sleep bitfield removed in v6.0 (was guarded for v6.1)

CI: v6.0 added to test matrix, RUSTFLAGS updated

Breaking (v6.0 only)

  • RGB666/BGR666 pixel formats dropped for ESP-IDF v6.0

Test plan

  • CI depends on esp-idf-sys PR landing first

@drinkcat
Copy link
Copy Markdown
Contributor

This is missing a bunch of changes that will be needed to pass CI (see #578).

@mh0pe mh0pe force-pushed the esp-idf-v6-support branch 2 times, most recently from 12cb613 to 98e8eee Compare March 26, 2026 13:54
Cherry-picked from @drinkcat (Nicolas Boichat) esp-rs#578:
- sleep: GPIO deep sleep wakeup API renames for v6.0
- lcd: DMA2D API change, pixel_format field removal, rgb_ele_order
  union change, RGB666 format removal, disp_off -> disp_on_off
- uart: Clock source changes for v6 (PLL_F80M/PLL_F48M chip guards)
- pcnt: Proper PCNT_CHANNELS_PER_UNIT const with alloc/heapless split,
  clk_src with actual enum value
- timer: backup_before_sleep guard fix (removed in v6.0, not v6.1)
- CI: Add v6.0 to test matrix with RUSTFLAGS handling

Co-Authored-By: Nicolas Boichat <nicolas@boichat.ch>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mh0pe mh0pe force-pushed the esp-idf-v6-support branch from 98e8eee to 6264e3c Compare March 26, 2026 14:04
@mh0pe
Copy link
Copy Markdown
Author

mh0pe commented Mar 26, 2026

Closing in favor of @drinkcat's #578 which contains the same changes. Our unique contributions are in esp-idf-sys #409.

@mh0pe mh0pe closed this Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants