1881 Commits

Author SHA1 Message Date
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