Skip to content

v0.3.1 — CoreS3 LVGL + esp-hal 1.1.1

Choose a tag to compare

@hsteinhaus hsteinhaus released this 12 Jun 18:25
· 267 commits to master since this release
f6b3686

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/lvgl is 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-sys stays =0.1.4) and the esp-hal fork, rebased onto the 1.1.1 release as local-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], which cargo publish ignores.

See CHANGELOG.md and #27.