84c119559d
Merge pull request #65 from alesgenova/rtc-counter32
...
Make movement use the hardware RTC in COUNTER32 mode and other improvements
2026-01-03 09:37:59 +08:00
f6fad64eeb
don't force-reset the state of the RTC when rebooting
2026-01-02 20:07:56 -05:00
e353d4760f
disable REALLY_LONG_UP event for now
2026-01-02 20:07:56 -05:00
51ca839f3b
Removed all of the compiler warnings
2026-01-02 20:07:56 -05:00
994c12cc30
add REALLY_LONG_PRESS event after a button is held down for 1.5s
2026-01-02 20:07:56 -05:00
e8750713f8
Renamed LIS2DW_FIFO_TIMEOUT_SECOND to LIS2DW_FIFO_TIMEOUT
2026-01-02 20:07:56 -05:00
757f1a1de7
defined LIS2DW_FIFO_TIMEOUT_SECOND
2026-01-02 20:07:56 -05:00
625e920970
lis2dw_read_fifo(&fifo, 100 / DISPLAY_FREQUENCY))
2026-01-02 20:07:56 -05:00
19f789e428
Made the timeout for lis2dw_read_fifo a variable
2026-01-02 20:07:56 -05:00
c6c97556ac
Added FIFO timeout to LIS2DW
2026-01-02 20:07:56 -05:00
c45fed8ea9
Got rid of fallthrough warnings
2026-01-02 20:07:56 -05:00
c6270444f0
Typo fix
2026-01-02 20:07:56 -05:00
fe4541d4ee
fix compilation warnings in rtccount_face
2026-01-02 20:07:56 -05:00
b3c8f0f87a
add missing copyright headers
2026-01-02 20:07:56 -05:00
8d551d26af
Revert "Added print for LIS2DW interrupt"
...
This reverts commit 0105fee2f176b38e51cd1da8118481b82bdb35ed.
2026-01-02 20:07:56 -05:00
372992e259
Added print for LIS2DW interrupt
2026-01-02 20:07:56 -05:00
359bf0df69
Saw double-taps getting missed with latched LIR so moving back to pulsed
2026-01-02 20:07:56 -05:00
dd054efe8d
Added LIR latching on LIS2DW
2026-01-02 20:07:56 -05:00
c5fe350fa1
Explicitly set interrupt type to latched
2026-01-02 20:07:56 -05:00
7526b30b3d
talk to accelerometer in the app loop rather than interrupt routine
2026-01-02 20:07:56 -05:00
24400c53bb
fix slow default alarm tune
2026-01-02 20:07:56 -05:00
d9b65ed5c8
ensure a button up event is always emitted
2026-01-02 20:07:56 -05:00
dc6aebb4f8
add fast_stopwatch_face to default, and remove rtccount_face
2026-01-02 20:07:56 -05:00
02faae3d25
Events that follow a down event on the previous face should not be forwarded to the new face
2026-01-02 20:07:56 -05:00
13a5166097
use __builtin_ctz when processing pending events
2026-01-02 20:07:56 -05:00
e5ddbe3c10
immediately process events when coming out of deep sleep
2026-01-02 20:07:56 -05:00
961db3cc71
fix instant light not turning off after a long press
2026-01-02 20:07:56 -05:00
3ea2f9c58a
Allow users to set independent buzzer volume for signal/alarm
2026-01-02 20:07:56 -05:00
edd3a5c3b4
Add a slow display refresh mode to fast_stopwatch
2026-01-02 20:07:56 -05:00
7d0f4d1a33
More efficient display draw for fast_stopwatch_face
2026-01-02 20:07:56 -05:00
5293b7983c
Remove a few unnecessary date_time to timestamp conversions
2026-01-02 20:07:56 -05:00
450100b90a
make movement_set_local_date_time slightly more efficient
2026-01-02 20:07:56 -05:00
996d5d6679
Convert from timestamp to date_time once per second at most
2026-01-02 20:07:56 -05:00
f534e7c202
Fix bug that was causing notes in a sequence to play too long
2026-01-02 20:07:56 -05:00
cb05585c15
Fix faces that relied on watch_buzzer_play_note being blocking
2026-01-02 20:07:56 -05:00
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
1b9624d042
Make fast_stopwatch power efficiend by using the new counter32
2026-01-02 20:07:56 -05:00
6fe1b236a4
Minor improvement to movement_force_led_on logic
2026-01-02 20:07:56 -05:00
9d91ff3090
Add an optional implementation of button debounce
2026-01-02 20:07:56 -05:00
bf9d89106f
Fix LED flickering while the buzzer is playing
2026-01-02 20:07:56 -05:00
557a785b1a
Fix chirpy to work with rtc-counter32
2026-01-02 20:07:56 -05:00
3caef587df
Play an arbitrary stream on the buzzer without blocking
2026-01-02 20:07:56 -05:00
c37d40d086
Make the simulator play beeps a lot more reliably.
2026-01-02 20:07:56 -05:00
a34a266903
Add a face to debug some counter32 metrics
2026-01-02 20:07:44 -05:00
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
96682a513b
Undo some workarounds implemented to fix race conditions that are no longer needed
2026-01-02 20:02:36 -05:00
a71967a015
Perform as little work as possible in the interrupt callbacks
2026-01-02 20:02:36 -05:00
9770ad4fe9
Fix more corner case that could cause the top of minute alarm to stop firing
2026-01-02 20:02:36 -05:00
a616ac6cc4
Fix corner case that could cause the top of minute alarm to stop firing
2026-01-02 20:02:36 -05:00
7acc9cc414
Align the top of the second with the 1Hz periodic interrupt
2026-01-02 20:02:36 -05:00