Alessandro Genova
edd3a5c3b4
Add a slow display refresh mode to fast_stopwatch
2026-01-02 20:07:56 -05:00
Alessandro Genova
7d0f4d1a33
More efficient display draw for fast_stopwatch_face
2026-01-02 20:07:56 -05:00
Alessandro Genova
5293b7983c
Remove a few unnecessary date_time to timestamp conversions
2026-01-02 20:07:56 -05:00
Alessandro Genova
450100b90a
make movement_set_local_date_time slightly more efficient
2026-01-02 20:07:56 -05:00
Alessandro Genova
996d5d6679
Convert from timestamp to date_time once per second at most
2026-01-02 20:07:56 -05:00
Alessandro Genova
f534e7c202
Fix bug that was causing notes in a sequence to play too long
2026-01-02 20:07:56 -05:00
Alessandro Genova
cb05585c15
Fix faces that relied on watch_buzzer_play_note being blocking
2026-01-02 20:07:56 -05:00
Alessandro Genova
04276c1999
Improve watch_tcc to decouple leds and buzzer as much as allowed
...
As a positive side effect, the led will stop emitting the faintiest
of blinks when the buzzer starts playing.
2026-01-02 20:07:56 -05:00
Alessandro Genova
1b9624d042
Make fast_stopwatch power efficiend by using the new counter32
2026-01-02 20:07:56 -05:00
Alessandro Genova
6fe1b236a4
Minor improvement to movement_force_led_on logic
2026-01-02 20:07:56 -05:00
Alessandro Genova
9d91ff3090
Add an optional implementation of button debounce
2026-01-02 20:07:56 -05:00
Alessandro Genova
bf9d89106f
Fix LED flickering while the buzzer is playing
2026-01-02 20:07:56 -05:00
Alessandro Genova
557a785b1a
Fix chirpy to work with rtc-counter32
2026-01-02 20:07:56 -05:00
Alessandro Genova
3caef587df
Play an arbitrary stream on the buzzer without blocking
2026-01-02 20:07:56 -05:00
Alessandro Genova
c37d40d086
Make the simulator play beeps a lot more reliably.
2026-01-02 20:07:56 -05:00
Alessandro Genova
a34a266903
Add a face to debug some counter32 metrics
2026-01-02 20:07:44 -05:00
Alessandro Genova
42fdad78d5
Add more theoretical checks to ensure we don't miss out on any comp timers
...
Even without this "fix" the watch seems to be extremely stable and haven't seen
any missed timers over several days test. So this might not actually be needed,
but it should make things even safer.
2026-01-02 20:02:36 -05:00
Alessandro Genova
96682a513b
Undo some workarounds implemented to fix race conditions that are no longer needed
2026-01-02 20:02:36 -05:00
Alessandro Genova
a71967a015
Perform as little work as possible in the interrupt callbacks
2026-01-02 20:02:36 -05:00
Alessandro Genova
9770ad4fe9
Fix more corner case that could cause the top of minute alarm to stop firing
2026-01-02 20:02:36 -05:00
Alessandro Genova
a616ac6cc4
Fix corner case that could cause the top of minute alarm to stop firing
2026-01-02 20:02:36 -05:00
Alessandro Genova
7acc9cc414
Align the top of the second with the 1Hz periodic interrupt
2026-01-02 20:02:36 -05:00
Alessandro Genova
e2d13e076e
Optimize finetune and nanosec faces to work with rtc-counter32
2026-01-02 20:02:36 -05:00
Alessandro Genova
6e23421df4
Fix a bug that was causing 10x power usage from boot until the first sound played
2026-01-02 20:02:36 -05:00
Alessandro Genova
e942f67685
Minor fixes to settings faces to work with the new rtc mode
2026-01-02 20:02:36 -05:00
Alessandro Genova
eb9ec8659c
Initial seemingly stable version of movement using the RTC COUNTER32 mode
2026-01-02 20:02:36 -05:00
Alessandro Genova
af0051a160
fix int32 overflow when setting a year past 2067
2025-09-24 23:23:27 -04:00