diff options
| author | Luke Hoersten <[email protected]> | 2026-06-14 15:53:33 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2026-06-14 15:53:33 -0500 |
| commit | d5cdb6b4e4424d80ac9bfd8e12c129334c23d6f2 (patch) | |
| tree | f9b5e838061f76af8160863548758311857b1c75 /sdkconfig.defaults | |
| parent | 8d740665777af6d74b334e2dee98a53ebb9a29aa (diff) | |
M3 WIP: DSI bring-up + state machine + identity overlay
DSI / panel:
- LDO_VO3 acquired at 2500 mV (VDD_MIPI_DPHY) — without this the PHY
PLL busy-waits forever inside esp_lcd_new_dsi_bus.
- PSRAM bumped to 200 MHz (CONFIG_IDF_EXPERIMENTAL_FEATURES) to keep
the DPI fed without underruns.
- Pi-7"-style 800x480 panel init (REG_POWERON, PORTA/PORTB/PWM/PORTC)
+ 16-bit RGB565 framebuffer with portrait-mode rotation buffer in
PSRAM. Currently shows garbled output — known issue, next commit
switches to the TC358762-bridge-aware init sequence.
State + UX:
- viewport_state simplified to AWAKE/ASLEEP only; "unconfigured" is
a flag, not a state. Tap always toggles; content choice (identity
vs frame) is driven by the configured flag.
- BOOT button arms a 15 s identity overlay via local_screens_overlay;
expired callback returns to prior state.
- Boot-done indicator: two backlight flashes (no usable LED GPIO on
the Waveshare board — GPIO 35 BOOT is shared with EMAC TXD1).
- Best-effort subsystem init in app_main; display init deferred to
its own task so a panel hang can't block networking.
Display test pattern: solid R/G/B for 2 s each on boot to characterize
the garble independent of text rendering.
Diffstat (limited to 'sdkconfig.defaults')
| -rw-r--r-- | sdkconfig.defaults | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sdkconfig.defaults b/sdkconfig.defaults index e612dc8..638f6e8 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -8,7 +8,12 @@ CONFIG_ESPTOOLPY_FLASHSIZE="16MB" CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -# PSRAM (required for 800x480 framebuffer + JPEG decode) +# PSRAM (required for 800x480 framebuffer + JPEG decode + local screens). +# 200 MHz speed is gated behind IDF_EXPERIMENTAL_FEATURES on ESP32-P4 — +# at the default 20 MHz the DPI bridge underruns continuously trying to +# feed the panel from PSRAM. 200 MHz gives ~10x more bandwidth and the +# DPI runs clean. +CONFIG_IDF_EXPERIMENTAL_FEATURES=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_HEX=y CONFIG_SPIRAM_SPEED_200M=y |
