Skip to content

Read the watch's sunrise, sunset, SpO2 and sleep sources - #32

Merged
freethinkel merged 2 commits into
mainfrom
issue-28-sunrise-sunset
Aug 13, 2026
Merged

Read the watch's sunrise, sunset, SpO2 and sleep sources#32
freethinkel merged 2 commits into
mainfrom
issue-28-sunrise-sunset

Conversation

@freethinkel

Copy link
Copy Markdown
Owner

The watch already feeds these — no bitmap baking needed.

Scanning all 101 stock faces turned up unlabelled data-source ids on Default__280__Multifunction, the face the issue points at. Two auto-layout groups flanking its sun arc (x=41 and x=377, both y=130) are built exactly like the face's own clock group — hour, separator image, minute widget declaring max=60 — and print the 05:41 / 06:24 its screenshot shows: 0x84..0x87 are sunrise and sunset. The same face reads 0x1b beside its heart rate (98, blood oxygen) and 0x42/0x43 with a 0x46 ring for last night's sleep (7.36H against the wearer's goal).

So they are wired up like every other source: labelled in ID_LABELS, valued in idValue, and offered by the source picker with no extra UI. The simulator feeds sunrise/sunset/sleep one time field each instead of the six number boxes those ids would otherwise ask for, and the sleep ring divides by a goal like a steps ring does.

The hour sources appear to follow the device's 12/24h setting — that 06:24 is an evening sunset — so the sim's own 24-hour switch drives them; a per-id override still overrides.

Closes #28

🤖 Generated with Claude Code

https://claude.ai/code/session_01BbdLFi3m6wgXkK661n1JwT

freethinkel and others added 2 commits August 13, 2026 23:19
The stock Default__280__Multifunction face binds ids 0x84..0x87: two
auto-layout groups flanking its sun arc, each an hour, a separator image
and a minute widget declaring max=60 — the same shape as the face's own
clock group, printing the 05:41 / 06:24 its screenshot shows. So this is
real firmware data, not something to bake into a bitmap: label the four
ids, and the source picker offers them like any other.

The simulator feeds them one time each rather than four numbers, through
a native time field.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BbdLFi3m6wgXkK661n1JwT
The stock Default__280__Multifunction reads three more sources nothing
here knew: 0x1b beside its heart rate (98, under a blood-oxygen icon),
and 0x42/0x43 with a 0x46 ring for last night's sleep — the pair splits
the duration into hours and minutes, the ring gauges it whole against the
wearer's goal, exactly like a steps ring.

SpO2 is a plain metric; sleep and its goal are minutes, so the panel's
sunrise/sunset time fields become one list of clock-shaped inputs rather
than a second block beside them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BbdLFi3m6wgXkK661n1JwT
@freethinkel
freethinkel merged commit 6535ec6 into main Aug 13, 2026
2 checks passed
@freethinkel
freethinkel deleted the issue-28-sunrise-sunset branch August 13, 2026 20:26
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.

Add ability to use the sunset and sunrise times like on the multifunction watchface.

1 participant