diff --git a/src/platform/extra_variants/t5s3_epaper/variant.cpp b/src/platform/extra_variants/t5s3_epaper/variant.cpp index a829bb980..9a38ddf73 100644 --- a/src/platform/extra_variants/t5s3_epaper/variant.cpp +++ b/src/platform/extra_variants/t5s3_epaper/variant.cpp @@ -418,19 +418,20 @@ void t5BacklightHandleUserInput() void t5TouchSetForcedByTimeout(bool forced) { + if (touchForcedByTimeout == forced) { + return; + } + touchForcedByTimeout = forced; touchStateEpoch++; touchIndicatorRefreshPending = true; if (forced) { - // While timeout-forced, keep controller asleep to avoid stale IRQ chatter. + // Timeout only gates touch input in software. Avoid GT911 I2C here because + // PowerFSM same-state transitions can fire from phone contact and screen timeout. touchNeedsWake = false; - if (touchControllerReady && !touchLightSleepActive) { - touch.sleep(); - } } else if (touchInputEnabled && touchControllerReady && !touchLightSleepActive) { - // Defer wake until readTouch() so I2C settles post-state transition. - touchNeedsWake = true; + touchNeedsWake = false; } #ifdef MESHTASTIC_INCLUDE_NICHE_GRAPHICS diff --git a/variants/esp32s3/t5s3_epaper/platformio.ini b/variants/esp32s3/t5s3_epaper/platformio.ini index 9dbb6d32d..781b382b5 100644 --- a/variants/esp32s3/t5s3_epaper/platformio.ini +++ b/variants/esp32s3/t5s3_epaper/platformio.ini @@ -1,7 +1,7 @@ [t5s3_epaper_base] extends = esp32s3_base board = t5-epaper-s3 -board_build.partition = default_16MB.csv +board_build.partitions = default_16MB.csv board_check = true upload_protocol = esptool build_flags = -fno-strict-aliasing @@ -30,8 +30,8 @@ lib_deps = [env:t5s3_epaper_inkhud] extends = t5s3_epaper_base, inkhud -board_level = extra # inkhud port is incomplete -board_check = false +board_level = extra +board_check = true build_flags = ${t5s3_epaper_base.build_flags} ${inkhud.build_flags}