Skip to content

Upgrade mcu dependencies - #12647

Merged
ogoffart merged 4 commits into
masterfrom
olivier/mcu-esp-hal-1.1
Jul 30, 2026
Merged

Upgrade mcu dependencies#12647
ogoffart merged 4 commits into
masterfrom
olivier/mcu-esp-hal-1.1

Conversation

@ogoffart

Copy link
Copy Markdown
Member

No description provided.

@ogoffart
ogoffart requested a review from tronical July 26, 2026 15:33
@ogoffart
ogoffart force-pushed the olivier/mcu-esp-hal-1.1 branch 2 times, most recently from dba4957 to 4d18982 Compare July 28, 2026 12:22
ogoffart added 4 commits July 28, 2026 12:55
Bump esp-hal to 1.1.1 and the related esp crates, and migrate the esope
board off the deprecated esp-hal-embassy onto esp-rtos.

esp-hal-embassy only works with esp-hal 1.0.0-rc.0, so keeping it pinned
the whole crate. esp-rtos is its maintained replacement and needs
embassy-executor 0.10, which cascades into bumping the whole embassy
ecosystem (executor, time, sync, embassy-rp, embassy-stm32) with the
matching source changes for pico2-touch and stm32u5.

esp-hal 1.1 pulls riscv-rt 0.16, which conflicts with rp235x-hal's
riscv-rt 0.12 in a shared lock file. Move mcu-board-support to its own
workspace (excluded from the examples workspace) so each board resolves
on its own via the demos workspace.

PSRAM mode moves from the removed ESP_HAL_CONFIG_PSRAM_MODE env var into
the PsramConfig passed to psram_allocator!. The display and touch drivers
are built in init() and stored in the backend rather than stashing the
whole Peripherals struct; esp-hal 1.1's Psram::new takes the PSRAM
peripheral by value, so keeping the constructed drivers avoids a partial
move and the unsafe PSRAM::steal workaround.

The esope esp-rtos port compiles but still needs on-hardware testing.
Neither bump needs source changes: mipidsi's builder API and the models
in use are unchanged, and the pico2-st7789 board keeps compiling against
rp235x-hal 0.4. Verified by building the pico, pico2-st7789,
esp32-s3-box-3 and m5stack-cores3 boards.
Match the versions used by mcu-board-support for the freestanding ESP-IDF
C++ integration. The panic-handler/println and log-04 features and the
esp_println::println! macro are unchanged; verified with a freestanding
esp32s3 build of slint-cpp.
The board's panel is an ILI9342C, not an ILI9486. mipidsi 0.10 validates
the interface kind per model and rejects ILI9486Rgb565 over SPI (the real
ILI9486 does not support RGB565 on a serial interface), so the display
init panicked with InvalidConfiguration(UnsupportedInterface). The
ILI9342C supports RGB565 over SPI and has the panel's native 320x240
framebuffer size. Verified on hardware, including touch.
@ogoffart
ogoffart force-pushed the olivier/mcu-esp-hal-1.1 branch from 963f57a to 4f52b79 Compare July 28, 2026 13:12
@ogoffart
ogoffart merged commit 28a166f into master Jul 30, 2026
54 checks passed
@ogoffart
ogoffart deleted the olivier/mcu-esp-hal-1.1 branch July 30, 2026 05:28
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