feat(lcd-154): add Waveshare ESP32-S3-Touch-LCD-1.54 board port#102
Open
Keralots wants to merge 1 commit into
Open
feat(lcd-154): add Waveshare ESP32-S3-Touch-LCD-1.54 board port#102Keralots wants to merge 1 commit into
Keralots wants to merge 1 commit into
Conversation
First non-AMOLED port: 240x240 ST7789 over plain 4-wire SPI, CST816T touch, battery ADC only (no PMU - 8s power-off synthesized in software via the BAT_EN latch), ES8311 speaker driving the session-reset chime. - new "small" breakpoint in compute_layout() for <300px-tall panels: fonts two steps down, half-height panels, 80x80 logo dropped - battery indicator now deleted (not just empty) on boards without battery telemetry, per the HAL contract - module is S3R8: quad flash + octal PSRAM, hence qio_opi and the 16MB partition layout
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New board folder
firmware/src/boards/waveshare_lcd_154/+[env:waveshare_lcd_154].First non-AMOLED port: 240x240 ST7789 over plain 4-wire SPI (Arduino_GFX), LEDC-PWM
backlight brightness (no display brightness command), CST816T touch via a minimal
vendored reader (same approach as the AMOLED-1.8 port), QMI8658 present but unused.
Hardware notes
qio_opiandthe 16 MB partition layout (esptool-verified — the R8 combo is easy to get wrong).
divider on GPIO1; charging/VBUS state is not readable and reports false.
the BAT_EN latch and deep-sleeps — a hard power cut on battery, pseudo-off on USB
(BOOT press wakes). Mirrors the AXP boards' 8 s PKEY shutdown; the hold-to-pair
gesture disarms at 6 s, so the timings compose with zero shared-code changes.
Shared-code changes (no main.cpp changes)
ui.cpp: new "small" breakpoint incompute_layout()for panels under 300 pxtall — fonts two steps down, half-height panels, the 80x80 logo dropped (it would
cover a third of a 240-wide screen). Fonts/paddings/bar/pill sizes moved into the
existing
Layoutstruct; the two existing breakpoints keep their exact values.caps.has_batteryis set —previously boards without battery telemetry drew a static empty-battery glyph.
Verified on hardware
Display, touch, BLE pairing + daemon on Windows (real usage data on screen),
BOOT/secondary HID keys, PWR short/long/8-s power-off, battery ADC, chime.