Skip to content

Silence H752 build warnings#18

Merged
clackups merged 3 commits into
mainfrom
copilot/refactor-pr-16
Jun 11, 2026
Merged

Silence H752 build warnings#18
clackups merged 3 commits into
mainfrom
copilot/refactor-pr-16

Conversation

Copilot AI commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

H752 builds emitted three -W warnings: two unused-function for t5_isolate_unused_gpios / t5_release_held_gpios_after_wake in main.cpp, and one missing-field-initializers from the vendored FastEPD.inl.

Changes

  • main/main.cpp -- the two T5 GPIO helpers live inside the wider PRO || PRO_H752 guard but are only invoked from #if ...PRO sections (the Pro-only deep-sleep teardown and wake-up restore). Wrap both definitions in a narrower #if defined(CONFIG_DRAFTLING_MODEL_LILYGO_T5_EPD_S3_PRO) so they are not compiled on H752.
  • components/fastepd/CMakeLists.txt -- FastEPD.inl is vendored third-party code that leaves newer esp_lcd_i80_bus_config_t fields (e.g. sram_trans_align) default-initialized. Add target_compile_options(... PRIVATE -Wno-missing-field-initializers), gated on CONFIG_DRAFTLING_DISPLAY_H752_EPD so the suppression stays scoped to this component and does not mask the warning elsewhere.

jrdntnnr and others added 2 commits June 11, 2026 18:28
Adds the pre-"H752-01" revision of the LilyGO T5 E-Paper S3 Pro
(v1.0-240810, 4.7" ED047TC1, 960x540). It has no PCA9535/TPS65185, so
it can't use epdiy's epd_board_v7 path and instead drives the panel
with the vendored FastEPD library. All of it is behind a new model +
display-backend Kconfig (DRAFTLING_MODEL_LILYGO_T5_EPD_S3_PRO_H752 /
DRAFTLING_DISPLAY_H752_EPD), selected only by sdkconfig.h752, so the
existing boards are unaffected. Hardware-verified on the board.

- FastEPD display backend (components/fastepd vendored + display_h752.cpp):
  full 960x540 1-bit plane, partialUpdate for flicker-free local
  refresh on typing/deletes, full refresh on demand / every N partials.
  Includes a fix for a FastEPD bbepPartialUpdate DMA ping-pong bug
  (clear BOTH neutral row halves) that otherwise leaves full-height
  vertical streaks under edited text.
- Touch: GT911 calibrated for this panel (reports 540x960 portrait;
  swap_xy + mirror_x). Front capacitive touch-key wired via a new
  touchscreen button callback to act as Back/Esc. Coexists with the
  existing GT911 address-drift recovery.
- Power/keys: GPIO48 side key = Menu (injects F1). GPIO48 is not an
  RTC IO on the ESP32-S3, so standby uses light-sleep + gpio_wakeup +
  esp_restart instead of EXT0 deep sleep.
- Backlight: H752 added to the <=5% extra-dim front-light option.
- Battery indicator: on H752 only, drop the periodic 5 s battery-label
  timer (each rewrite drove a FastEPD refresh -> visible ghosting) in
  favour of a pull model that refreshes the label at natural redraw
  points and only when the value changed. Gated on the H752 model;
  every other board keeps the original timer unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI changed the title Refactor PR #16 (H752 board support) per review Silence H752 build warnings Jun 11, 2026
Copilot AI requested a review from clackups June 11, 2026 18:48
@clackups clackups marked this pull request as ready for review June 11, 2026 18:53
@clackups clackups merged commit 8371560 into main Jun 11, 2026
@clackups clackups deleted the copilot/refactor-pr-16 branch June 11, 2026 19:22
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.

3 participants