Backlight policy for night riding #45
Labels
No labels
area:companion
area:docs
area:shared
area:tooling
area:watchapp
blocker
kind:chore
kind:feature
kind:spike
kind:test
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Depends on
#8 Watchapp skeleton: window stack, view switching, button handling
robert/PedalPebble
Reference
robert/PedalPebble#45
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Readable after dark without destroying the battery.
Acceptance criteria
Files
watchapp/src/c/main.cClosed by PR #106 (merged): backlight.c/.h (new module, matches the one-concern-per-file pattern), schedule-based activation (19:00-06:00 default) since the installed SDK has no live ambient-light-sensor API for apps -- checked against both emery/gabbro headers directly, not assumed. Always-on opt-in mode, turn-prompt flash function built and host-tested (backlight_flash_for_turn_prompt(), no caller yet since no turn-cue rendering exists until #33-#37 land -- honestly stated, not hidden). Persisted via a new PERSIST_KEY_BACKLIGHT_MODE in page.h's registry.
Verified for real: pebble build clean on all three platforms, 119 host assertions (27 new), and a real emulator run confirmed the exact light_enable() call sequence via pebble logs (true on RUNNING, false on STOPPED, none across pause/resume, zero calls with the shipped default off). Battery cost: heap footprint measured (13020->13252 bytes); real multi-hour drain against NFR-B1's budget still needs Robert's physical watch, honestly flagged.
Also fixed a real factual error: DESIGN.md section 7.4 claimed emery/gabbro have "no backlight" -- wrong, both have a real Light API per the installed SDK headers. Corrected with an explicit checked-fact note per D48's bar, not silently rewritten.