v0.3.1 — CoreS3 LVGL + esp-hal 1.1.1
Brings the oxivgl/LVGL example to the CoreS3 and bumps esp-hal to 1.1.1. No public API changes.
Highlights
- LVGL on CoreS3.
examples/lvglis now dual-board — it builds and runs on CoreS3 (ESP32-S3) as well as Fire27 (--no-default-features --features cores3 --target xtensa-esp32s3-none-elf). oxivgl is chip-agnostic, so the chip comes from the example's esp-hal feature; oxivgl-sys auto-selects its esp32s3 cmake toolchain. The CoreS3 path does the AW9523B panel reset + AXP2101 backlight bring-up and flushes SPI2 over GDMA (CS=GPIO3, DC=GPIO35). - esp-hal 1.1.0 → 1.1.1. The published stock dependency (
esp-hal = "=1.1.1";esp-rom-sysstays=0.1.4) and the esp-hal fork, rebased onto the 1.1.1 release aslocal-1.1.1.
Hardware-verified
- Fire27 (ESP32) and CoreS3 (ESP32-S3) both render the LVGL demo. The CoreS3 runs standalone — frame counter advancing with no debugger attached.
- Lib builds against stock crates.io esp-hal 1.1.1 (isolated package build).
Notes
- CoreS3 logging is RTT at
Info, not Trace. oxivgl emits a per-frame DEBUG stream; at Trace that floods the RTT buffer and — with no debugger draining it — back-pressures and stalls the render loop (the freeze we chased down). At Info it runs standalone. General rule for USB-Serial-JTAG parts: never emit a per-frame log stream over an undrained RTT/CDC channel. - Published to crates.io (
m5stack-core = "0.3.1"); local/example builds use the esp-hal fork via[patch.crates-io], whichcargo publishignores.
See CHANGELOG.md and #27.