Skip to content

fix(display): watch direct/partial writes for idle chunks#128

Open
cryptomilk wants to merge 2 commits into
OpenDisplay:mainfrom
cryptomilk:asn-wip
Open

fix(display): watch direct/partial writes for idle chunks#128
cryptomilk wants to merge 2 commits into
OpenDisplay:mainfrom
cryptomilk:asn-wip

Conversation

@cryptomilk

Copy link
Copy Markdown
Contributor

Both watchdogs measured elapsed time since transfer START and fired at a flat 15 minutes. On a weak BLE link (e.g. E1003 with a distant proxy), successful transfers already take 4-10 minutes, so a stalled transfer held the EPD rail powered, BLE connected, and the CPU looping for up to 15 minutes before cleanup. This is a heavy battery drain on a device that's supposed to be mostly asleep.

Track time since the last chunk actually received instead, and cut the threshold to 60s of silence. A slow-but-flowing transfer never trips it (the clock resets on every chunk); a genuinely dead one is now cleaned up in ~1 minute instead of ~15.

@cryptomilk
cryptomilk requested a review from jonasniesner as a code owner July 27, 2026 05:10
Both watchdogs measured elapsed time since transfer START and fired at a
flat 15 minutes. On a weak BLE link (e.g. E1003 with a distant proxy),
successful transfers already take 4-10 minutes, so a stalled transfer held
the EPD rail powered, BLE connected, and the CPU looping for up to 15
minutes before cleanup. This is a heavy battery drain on a device that's
supposed to be mostly asleep.

Track time since the last chunk actually received instead, and cut the
threshold to 60s of silence. A slow-but-flowing transfer never trips it
(the clock resets on every chunk); a genuinely dead one is now cleaned up
in ~1 minute instead of ~15.
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.

1 participant