]>
git.earman.xyz Git - sensor-watch.git/log
David Volovskiy [Mon, 8 Sep 2025 23:44:14 +0000 (19:44 -0400)]
Tapping turned off when not being used since tap control uses 90uA
David Volovskiy [Sun, 7 Sep 2025 12:51:47 +0000 (08:51 -0400)]
We only stack the deck on activate and not before every new shuffle
David Volovskiy [Sat, 6 Sep 2025 16:07:17 +0000 (12:07 -0400)]
Can now turn on LED with long press
David Volovskiy [Fri, 5 Sep 2025 21:07:24 +0000 (17:07 -0400)]
Text fixes for classic display
David Volovskiy [Thu, 4 Sep 2025 22:29:07 +0000 (18:29 -0400)]
Typo fix
David Volovskiy [Wed, 3 Sep 2025 22:18:03 +0000 (18:18 -0400)]
Added Win percentage face
David Volovskiy [Wed, 3 Sep 2025 12:06:03 +0000 (08:06 -0400)]
Added documentation on tap controls and retained the tap indicator
David Volovskiy [Wed, 3 Sep 2025 11:56:33 +0000 (07:56 -0400)]
Compiler warning fixes
David Volovskiy [Wed, 3 Sep 2025 11:52:18 +0000 (07:52 -0400)]
Added delay before showing Bust
David Volovskiy [Wed, 3 Sep 2025 11:46:38 +0000 (07:46 -0400)]
Documented face
David Volovskiy [Wed, 3 Sep 2025 11:28:38 +0000 (07:28 -0400)]
Display of face cards and Ace
David Volovskiy [Wed, 3 Sep 2025 11:07:51 +0000 (07:07 -0400)]
Added logic for supporting Ace
David Volovskiy [Wed, 3 Sep 2025 10:45:14 +0000 (06:45 -0400)]
Made hand info into a struct
David Volovskiy [Wed, 3 Sep 2025 02:23:36 +0000 (22:23 -0400)]
Fixed a few warnings.
David Volovskiy [Wed, 3 Sep 2025 02:15:06 +0000 (22:15 -0400)]
Added tap controls
David Volovskiy [Wed, 3 Sep 2025 01:57:42 +0000 (21:57 -0400)]
Changed order of how cards are displayed for player
David Volovskiy [Wed, 3 Sep 2025 01:34:29 +0000 (21:34 -0400)]
initial commit of working code
Joey Castillo [Sun, 24 Aug 2025 12:28:50 +0000 (08:28 -0400)]
increase delay before checking VBUS_DET
Michael Köfinger [Mon, 4 Aug 2025 21:38:38 +0000 (23:38 +0200)]
watch-faces.mk: add totp_face.c, got lost while adding totp_lfs_face
Joey Castillo [Mon, 4 Aug 2025 11:16:37 +0000 (07:16 -0400)]
remove outdated guidance from watch face template
Lorenzo Prosseda [Mon, 4 Aug 2025 09:32:32 +0000 (11:32 +0200)]
Avoid confusion between T and E on classic display
In place of T, display a + character in positions 4 and 6
Gábor Nyéki [Sun, 3 Aug 2025 17:59:14 +0000 (13:59 -0400)]
add Baby kicks face (#70)
metrast [Sun, 3 Aug 2025 17:26:17 +0000 (19:26 +0200)]
ported pulsometer_face and counter_face from movement and optimized it for the custom lcd (#67)
Lorenzo Prosseda [Sun, 3 Aug 2025 17:23:51 +0000 (17:23 +0000)]
Add "Jurassic Park" custom signal tune (#53)
* Add "Jurassic Park" custom signal tune
* Change tune to "staccato" tempo
Draws less power while playing
Lorenzo Prosseda [Sun, 3 Aug 2025 17:22:18 +0000 (17:22 +0000)]
Port the interval_face complication to Second Movement (#66)
* Port the interval_face complication to Second Movement
- Compile inside Second Movement
- Support custom display
* Refactor display buffer name, enlarge index buffer
Also removed now unused _blink_idx array
* Fix Clear setting not showing, and its formatting
* Rename work interval label to make it unique
* Skip empty interval timers while cycling through
Alessandro Genova [Tue, 29 Jul 2025 04:27:16 +0000 (00:27 -0400)]
Fix set_time_face erroneously setting the local time when changing timezone
Lorenzo Prosseda [Fri, 1 Aug 2025 16:44:03 +0000 (18:44 +0200)]
Clear low energy animation when waking up
Alessandro Genova [Tue, 29 Jul 2025 03:58:03 +0000 (23:58 -0400)]
Fix simulator deep sleep mode
Lorenzo Prosseda [Sun, 3 Aug 2025 17:19:26 +0000 (17:19 +0000)]
Port of timer_face from legacy (#64)
- Closes https://github.com/joeycastillo/second-movement/issues/15
- Fixed issue with colon disappearing if exiting settings mode on the CLEAR or LOOP strings
- Use newer print function with fallback for classic display
Lorenzo Prosseda [Sun, 3 Aug 2025 17:17:57 +0000 (17:17 +0000)]
Add "Evengelion" custom signal tune (#52)
* Add "Evengelion" custom signal tune
First notes from the opening "Cruel Angel Thesis"
* Change tune to "staccato" tempo
Draws less power while playing
Vaipex [Sun, 3 Aug 2025 17:16:34 +0000 (17:16 +0000)]
Added simple coin flip watch face (#63)
Konrad Rieck [Sun, 3 Aug 2025 17:12:43 +0000 (19:12 +0200)]
Monitor for LIS2DW accelerometer (#61)
This watch face displays the current reading of the LIS2DW12 accelerometer.
The axis (x,y,z) can be selected using the alarm button. A long press on the
light button allows to configure the sensor, including its mode, data rate,
low power mode, bandwidth filtering, range, filter type, and low noise mode.
The watch face is mainly designed for experimenting with the sensor and
configuring it for other developing other watch faces.
James Haggerty [Tue, 22 Jul 2025 10:32:38 +0000 (20:32 +1000)]
Move totp_lfs face from legacy
Changes:
- use 3 characters if possible for identifier
- rename from totp_face_lfs to totp_lfs_face for consistency
kbc-yam [Sun, 3 Aug 2025 17:09:19 +0000 (02:09 +0900)]
Add Japanese Era (Wareki) Display Feature (for Custom LCD) (#57)
Daniel Bergman [Thu, 31 Jul 2025 20:34:11 +0000 (22:34 +0200)]
Blank day field on reset
Konrad Rieck [Sun, 3 Aug 2025 17:03:12 +0000 (19:03 +0200)]
Port of deadline face (#48)
* port of deadline face
* removed beep type enum from header
---------
Co-authored-by: Joey Castillo <joeycastillo@utexas.edu>
voloved [Sun, 3 Aug 2025 16:56:23 +0000 (12:56 -0400)]
Wordle port (#45)
* Moved Wordle from legacy to main folder
* Add delays before registering btns, don't repeat words, cleaned up enum names
* Updated print logic for second movement
* Removed from watch_faces
James Haggerty [Tue, 22 Jul 2025 10:37:56 +0000 (20:37 +1000)]
Fix command line in simulator
In the original movement, the 'usb enabled' check was overridden
to true for the simulator such that shell_task() would always
be executed. In the new 'dummy' device in gossamer used by the
simulator, this usb check returns false.
Seemed like a slightly cleaner thing to do was to call
shell_task() regardless rather than to incorrectly
pretend that USB was connected.
Joey Castillo [Sun, 27 Jul 2025 16:39:31 +0000 (12:39 -0400)]
mark movement_state as volatile
Joey Castillo [Sun, 27 Jul 2025 15:54:48 +0000 (11:54 -0400)]
ke decimal time: silence warnings
Joey Castillo [Sun, 27 Jul 2025 15:30:49 +0000 (11:30 -0400)]
add delay before sampling VBUS_DET
Joey Castillo [Tue, 8 Jul 2025 21:54:01 +0000 (17:54 -0400)]
add local decimal time (Kè) face
Eirik Stanghelle Morland [Mon, 7 Jul 2025 23:24:03 +0000 (01:24 +0200)]
Build in CI using a build matrix (#41)
Eirik Stanghelle Morland [Mon, 7 Jul 2025 17:26:36 +0000 (19:26 +0200)]
Ensure git directory is marked as safe
Ruben Nic [Mon, 7 Jul 2025 23:16:19 +0000 (19:16 -0400)]
Fix simulator url in README (#40)
Daniel Bergman [Mon, 7 Jul 2025 23:14:07 +0000 (01:14 +0200)]
Tally face: fix build warnings (#43)
Clamp tally index values in print_tally function to ensure they remain within defined limits, silencing compiler warnings
Joey Castillo [Mon, 7 Jul 2025 22:55:42 +0000 (18:55 -0400)]
revert gossamer commit that (sometimes!) broke simulator builds
Daniel Bergman [Sun, 6 Jul 2025 19:47:56 +0000 (21:47 +0200)]
Fix compiler warnings by casting centibeats to unsigned int in beats_face.c. Also make precedence explicit in ms calculation.
voloved [Sun, 6 Jul 2025 19:33:56 +0000 (15:33 -0400)]
Tally face port (#38)
* Moved tally face over
* Bugfix on tally_face_should_move_back
* changed watch_display_text logic
* Negative numbers don't appear small
* remove tally face from movement_config.h
Daniel Bergman [Sun, 6 Jul 2025 19:28:17 +0000 (21:28 +0200)]
Update README to contain git and make information (#37)
* Grab parts of the main sensor-watch README, and update with second-movement git and build info
* add BOARD and DISPLAY to emmake instructions
---------
Co-authored-by: Joey Castillo <joeycastillo@utexas.edu>
Joey Castillo [Sun, 6 Jul 2025 19:22:04 +0000 (15:22 -0400)]
bump gossamer commit
Joey Castillo [Sun, 6 Jul 2025 19:08:12 +0000 (15:08 -0400)]
bump gossamer commit
Joey Castillo [Sun, 6 Jul 2025 18:52:50 +0000 (14:52 -0400)]
Merge pull request #36 from neutralinsomniac/remove_close_enough_face_from_default_faces
looks like close_enough face was accidentally committed to the default set of enabled watch faces
Jeremy O'Brien [Sun, 6 Jul 2025 18:36:59 +0000 (14:36 -0400)]
looks like close_enough face was accidentally committed to the default set of enabled watch faces
Joey Castillo [Sun, 6 Jul 2025 16:40:06 +0000 (12:40 -0400)]
silence warnings
Joey Castillo [Sun, 6 Jul 2025 16:12:01 +0000 (12:12 -0400)]
remove tarot_face from legacy (is now in second movement)
Daniel Bergman [Sun, 6 Jul 2025 16:00:56 +0000 (18:00 +0200)]
New watchface: ish face (#21)
Daniel Bergman [Sun, 6 Jul 2025 15:58:16 +0000 (17:58 +0200)]
Port Breathing face to second movement, also add LED notification. General fixes. (#34)
JKomskis [Sun, 6 Jul 2025 15:55:50 +0000 (08:55 -0700)]
Port probability face to second movement (#30)
* Move out of legacy folder, add to build
* Ported probability face display functions
Added tap support
* Fix animation for custom LCD
Ruben Nic [Sun, 6 Jul 2025 15:52:43 +0000 (11:52 -0400)]
Port close enough clock face to second-movement (#31)
* Port over close enough clock face
* Clean up the code and comments
Jeremy O'Brien [Sun, 6 Jul 2025 15:48:56 +0000 (11:48 -0400)]
port tarot face to second movement (#28)
PrimmR [Sun, 6 Jul 2025 15:47:12 +0000 (16:47 +0100)]
Update Kitchen Conversions Face for Second Movement (#24)
* Basic second movement support
* Switch alarm and light button functionality
PrimmR [Sun, 6 Jul 2025 15:45:26 +0000 (16:45 +0100)]
Update Periodic Table Face for Second Movement (#23)
* Basic Second Movement support
* Basic support for custom LCD
* Full support for custom LCD
* Fix long press when face in first slot
* Rename to periodic_table_face
* Update header description
Johan Oskarsson [Sun, 6 Jul 2025 15:43:50 +0000 (08:43 -0700)]
Add a Squash scoring face (#18)
Jeremy O'Brien [Sun, 6 Jul 2025 15:39:02 +0000 (11:39 -0400)]
add .envrc/flake.nix for setting up automatic build environment under NixOS (#17)
Joey Castillo [Sun, 6 Jul 2025 15:34:06 +0000 (11:34 -0400)]
chirpy: fix typo (resolves #8)
PrimmR [Sun, 6 Jul 2025 15:31:45 +0000 (16:31 +0100)]
Fix text buffer overflow in sunrise_sunset_face (#22)
Joey Castillo [Sun, 6 Jul 2025 15:27:05 +0000 (11:27 -0400)]
move git hash to end of settings
Joey Castillo [Sun, 6 Jul 2025 15:26:09 +0000 (11:26 -0400)]
settings: title git hash 'build' for clarity
voloved [Sun, 6 Jul 2025 14:56:27 +0000 (10:56 -0400)]
Set time on make (#35)
* Time can get set from makefile
* Added setting make time into simulator
* Added Hash in settings
* Added default location
* Cuts the Githash to 6 characters in the settings in case the makefile didn't do that already
* bump gossamer commit
* remove automatic timezone setting
* automatic time set: rename MAKEFILE_ to BUILD_ to match gossamer
* Revert "Added default location"
This reverts commit
c24f69450fd40472c4f6cebb790a56c3f0d69cb6 .
* silence warning
* watch_get_init_date_time: explicitly initialize all fields to 0
---------
Co-authored-by: Joey Castillo <joeycastillo@utexas.edu>
Joey Castillo [Fri, 4 Jul 2025 15:04:13 +0000 (11:04 -0400)]
Makefile: update comment for clarity
Joey Castillo [Fri, 4 Jul 2025 14:59:33 +0000 (10:59 -0400)]
tweak Makefile checks, no need for BOARD or DISPLAY to make install
Wesley Ellis [Fri, 4 Jul 2025 11:22:43 +0000 (07:22 -0400)]
Merge pull request #29 from EmilienCourt/main
bring totp_face into Second Movement
Wesley Ellis [Fri, 4 Jul 2025 11:01:52 +0000 (07:01 -0400)]
Merge pull request #32 from berdan/beats-face-refactor
Refactor: beats_face use movement_get_utc_date_time(), simplify clock2beats()
Joey Castillo [Thu, 3 Jul 2025 21:14:08 +0000 (17:14 -0400)]
bugfix: maintain accelerometer background sampling rate after wake from sleep
Joey Castillo [Mon, 30 Jun 2025 23:41:38 +0000 (19:41 -0400)]
Merge pull request #25 from berdan/latlong-fix-sunrise_sunset_face
Fix longitude corruption bug in sunrise/sunset face
Ruben Nic [Mon, 30 Jun 2025 23:34:16 +0000 (19:34 -0400)]
Add support for custom display in the simulator (#26)
* Initial custom display SVG and display selection
* clean up SVG and add data-com and data-seg
* Fix signal's data-com and data-seg
* Revert "Fix signal's data-com and data-seg"
This reverts commit
82f8dc6a91973fb3b9e25e8e073a26d8996977ae .
* Update indicators mapping for custom display
* Align #ifs to the left
Joey Castillo [Mon, 30 Jun 2025 23:25:28 +0000 (19:25 -0400)]
Merge pull request #20 from berdan/better_makefile
Update Makefile to conditionally require BOARD and DISPLAY only for non-clean targets
Joey Castillo [Mon, 30 Jun 2025 23:17:56 +0000 (19:17 -0400)]
Merge pull request #27 from berdan/emscripten-to-gossamer
Move emscripten targets to gossamer's rules.mk
Joey Castillo [Mon, 30 Jun 2025 23:16:14 +0000 (19:16 -0400)]
bump gossamer commit
Daniel Bergman [Mon, 30 Jun 2025 19:39:21 +0000 (21:39 +0200)]
Update beats face to use UTC+1. Simplify clock2beats function.
EmilienCourt [Sun, 29 Jun 2025 17:25:42 +0000 (19:25 +0200)]
bring totp_face into Second Movement
Daniel Bergman [Sun, 29 Jun 2025 09:00:47 +0000 (11:00 +0200)]
Move emscripten targets to gossamer's rules.mk
Daniel Bergman [Sat, 28 Jun 2025 16:50:58 +0000 (18:50 +0200)]
Remove stray spaces from sunrise_sunset_face.c
Daniel Bergman [Sat, 28 Jun 2025 16:28:57 +0000 (18:28 +0200)]
Handle hour overflow
Daniel Bergman [Sat, 28 Jun 2025 16:17:34 +0000 (18:17 +0200)]
Cut the corruption checks. When the user updates the location we should be writing correct values to file.
Daniel Bergman [Sat, 28 Jun 2025 15:50:08 +0000 (17:50 +0200)]
Better hundreds handling
Daniel Bergman [Sat, 28 Jun 2025 12:29:05 +0000 (14:29 +0200)]
INCLUDES project root in a Windows friendly way
Daniel Bergman [Sat, 28 Jun 2025 10:08:42 +0000 (12:08 +0200)]
Stray lf
Daniel Bergman [Sat, 28 Jun 2025 10:07:04 +0000 (12:07 +0200)]
Fix handling of longitude data > 100, including longitude data recovery in sunrise/sunset face
- Added functions to detect and recover from corrupted longitude data.
- Updated the activation process to handle potential corruption by recovering and saving corrected longitude values.
- Ensured that longitude values are reset to zero when exceeding valid limits.
Eirik Stanghelle Morland [Thu, 26 Jun 2025 21:10:23 +0000 (23:10 +0200)]
Add info on sensorwatch_blue (#14)
Co-authored-by: Joey Castillo <joeycastillo@utexas.edu>
Daniel Bergman [Thu, 26 Jun 2025 18:48:03 +0000 (20:48 +0200)]
Update Makefile to conditionally require BOARD and DISPLAY only for non-clean targets
Joey Castillo [Wed, 25 Jun 2025 21:55:34 +0000 (17:55 -0400)]
peek face: silence warnings
Joey Castillo [Wed, 25 Jun 2025 21:28:19 +0000 (17:28 -0400)]
acclerometer threshold setting: swap light and alarm button to match wider UI idiom
Joey Castillo [Wed, 25 Jun 2025 21:24:56 +0000 (17:24 -0400)]
remove light meter face (did not work, could add back later)
Joey Castillo [Wed, 25 Jun 2025 21:23:31 +0000 (17:23 -0400)]
accelerometer status face: flash decimal when setting threshold
Joey Castillo [Wed, 25 Jun 2025 21:22:17 +0000 (17:22 -0400)]
accelerometer: keep threshold across sleeps by tracking it in movement
Joey Castillo [Wed, 25 Jun 2025 21:18:37 +0000 (17:18 -0400)]
ir upload: time out by default
Joey Castillo [Wed, 25 Jun 2025 21:08:38 +0000 (17:08 -0400)]
ir upload: display free space instead of 'no data'
Daniel Bergman [Wed, 25 Jun 2025 13:18:33 +0000 (15:18 +0200)]
fix(lis2dw): Re-initialize accelerometer after waking from sleep (#16)
* fix(lis2dw): Re-initialize accelerometer after waking from sleep
The LIS2DW accelerometer was not being re-initialized correctly after the device woke from sleep mode. When entering sleep, `watch_enter_sleep_mode` disables peripherals and pins, including those for I²C, to conserve power.
Upon waking, the `app_setup` function was designed to re-initialize the hardware. However, the logic only performed the I²C device check once on the initial boot. On subsequent wakes, the `movement_state.has_lis2dw` flag would prevent the I²C bus and the LIS2DW driver from being set up again. This caused any watch face functionality that relied on the accelerometer, such as the countdown face's tap detection, to fail after a sleep/wake cycle.
This commit refactors the initialization logic within `app_setup`. It now uses a static boolean `lis2dw_initialized` to ensure the sensor is detected only once at boot time. On subsequent wakes, if the sensor was originally found to be present, the I²C bus is explicitly re-enabled and the driver is re-initialized with `lis2dw_begin()` before its configuration is reapplied. This ensures the accelerometer is reliably available after every wake-up.
* fix(lis2dw): only check for accelerometer presence once per boot
Previously, devices without the LIS2DW sensor would re-enable I2C and attempt to detect the sensor on every wake from sleep, wasting power and CPU cycles. This change introduces a static `lis2dw_checked` flag that is set after the first detection attempt, regardless of whether the sensor is found. Now, the presence check and I2C enable/disable only occur once per boot, ensuring that devices without the sensor do not repeatedly attempt detection, improving efficiency and battery life.