From c6ce4b3f46a1f1adf700306dadc9034a6a2ac0d3 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sun, 14 Jun 2026 16:41:03 -0500 Subject: M3 done: drop boot test, fold BOOT button into touch long-press MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Waveshare ESP32-P4-ETH board exposes BOOT on GPIO 35, but at runtime that pin is owned by the EMAC TXD1 signal. No usable GPIO is wired to a separate user button, so the BOOT-button task could never fire. Move both BOOT-button behaviours onto the touch panel: - ≥1.5s hold → 15s identity overlay (was BOOT short-press) - ≥5s hold → factory reset (was BOOT long-hold) Short tap (<500ms) still toggles wake/sleep. Long-press fires while the finger is still down so the user gets immediate feedback at each threshold. Also strip the R/G/B 6 s boot test sequence — the panel now renders correctly, so it's no longer useful diagnostically. Boot subsystem flags drop the trailing B column: [EMHDJT]. --- main/local_screens.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'main/local_screens.h') diff --git a/main/local_screens.h b/main/local_screens.h index f1e4876..e2d6ca1 100644 --- a/main/local_screens.h +++ b/main/local_screens.h @@ -15,7 +15,7 @@ esp_err_t local_screens_init(void); // ("no network" if no DHCP lease) // ("awake" / "asleep" / "unconfigured") // Font scale is auto-picked to fit the longest line within 90% of width. -// Shown on first boot, after factory reset, and as a 15s BOOT-button overlay. +// Shown on first boot, after factory reset, and as a 15s touch-long-press overlay. esp_err_t local_screens_show_ip(void); // Render the loading screen — centered "Loading…" — shown on every wake @@ -23,8 +23,7 @@ esp_err_t local_screens_show_ip(void); esp_err_t local_screens_show_loading(void); // Show the identity ("who am I") screen for `duration_ms`, then drop the -// backlight off. Used by the BOOT button short-press (any state) and by -// the touch handler when the device is unconfigured. +// backlight off. Triggered by a ≥1.5s touch long-press in any state. esp_err_t local_screens_overlay(uint32_t duration_ms); // True while the identity overlay is currently shown (timer armed). -- cgit v1.2.3