Commit Graph

1628 Commits

Author SHA1 Message Date
ece29d776c Add a Squash scoring face (#18) 2025-07-06 11:43:50 -04:00
fa84c27ee6 add .envrc/flake.nix for setting up automatic build environment under NixOS (#17) 2025-07-06 11:39:02 -04:00
ced820b60d chirpy: fix typo (resolves #8) 2025-07-06 11:34:06 -04:00
b5a457cd19 Fix text buffer overflow in sunrise_sunset_face (#22) 2025-07-06 11:31:45 -04:00
976fd3248b move git hash to end of settings 2025-07-06 11:27:23 -04:00
406e5a7f2b settings: title git hash 'build' for clarity 2025-07-06 11:26:09 -04:00
154bd54510 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 c24f69450f.

* silence warning

* watch_get_init_date_time: explicitly initialize all fields to 0

---------

Co-authored-by: Joey Castillo <joeycastillo@utexas.edu>
2025-07-06 10:56:27 -04:00
7a6f7147ae Makefile: update comment for clarity 2025-07-04 11:04:13 -04:00
f64f1f4b2f tweak Makefile checks, no need for BOARD or DISPLAY to make install 2025-07-04 11:00:01 -04:00
8eaa9262ad Merge pull request #29 from EmilienCourt/main
bring totp_face into Second Movement
2025-07-04 07:22:43 -04:00
519d51d301 Merge pull request #32 from berdan/beats-face-refactor
Refactor: beats_face use movement_get_utc_date_time(), simplify clock2beats()
2025-07-04 07:01:52 -04:00
37a8a92f58 bugfix: maintain accelerometer background sampling rate after wake from sleep 2025-07-03 17:14:08 -04:00
49c31317c8 Merge pull request #25 from berdan/latlong-fix-sunrise_sunset_face
Fix longitude corruption bug in sunrise/sunset face
2025-06-30 19:41:38 -04:00
99b02ee0b5 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 82f8dc6a91.

* Update indicators mapping for custom display

* Align #ifs to the left
2025-06-30 19:34:16 -04:00
3ade4f766b Merge pull request #20 from berdan/better_makefile
Update Makefile to conditionally require BOARD and DISPLAY only for non-clean targets
2025-06-30 19:25:28 -04:00
9d71e43e9c Merge pull request #27 from berdan/emscripten-to-gossamer
Move emscripten targets to gossamer's rules.mk
2025-06-30 19:17:56 -04:00
0d5108cbc3 bump gossamer commit 2025-06-30 19:16:14 -04:00
fff73a8806 Update beats face to use UTC+1. Simplify clock2beats function. 2025-06-30 21:39:21 +02:00
67a1bfd661 bring totp_face into Second Movement 2025-06-29 19:25:42 +02:00
bca2fd396a Move emscripten targets to gossamer's rules.mk 2025-06-29 11:00:47 +02:00
1d9917c40d Remove stray spaces from sunrise_sunset_face.c 2025-06-28 18:50:58 +02:00
741e25db0d Handle hour overflow 2025-06-28 18:28:57 +02:00
e711fd3e60 Cut the corruption checks. When the user updates the location we should be writing correct values to file. 2025-06-28 18:17:34 +02:00
0234f7a391 Better hundreds handling 2025-06-28 17:50:08 +02:00
0b7f53f99d INCLUDES project root in a Windows friendly way 2025-06-28 14:29:05 +02:00
182db67aeb Stray lf 2025-06-28 12:08:42 +02:00
39ca51eeaa 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.
2025-06-28 12:07:04 +02:00
e3101749c9 Add info on sensorwatch_blue (#14)
Co-authored-by: Joey Castillo <joeycastillo@utexas.edu>
2025-06-26 17:10:23 -04:00
1c89baa8d1 Update Makefile to conditionally require BOARD and DISPLAY only for non-clean targets 2025-06-26 20:48:03 +02:00
65c15461b1 peek face: silence warnings 2025-06-25 17:55:34 -04:00
8fdcd78a44 acclerometer threshold setting: swap light and alarm button to match wider UI idiom 2025-06-25 17:28:19 -04:00
eeb31d6fd5 remove light meter face (did not work, could add back later) 2025-06-25 17:24:56 -04:00
b67867b7ef accelerometer status face: flash decimal when setting threshold 2025-06-25 17:23:31 -04:00
b1c67bea94 accelerometer: keep threshold across sleeps by tracking it in movement 2025-06-25 17:22:17 -04:00
7eef8d18e5 ir upload: time out by default 2025-06-25 17:18:37 -04:00
42997ff614 ir upload: display free space instead of 'no data' 2025-06-25 17:08:38 -04:00
7f9a00ef35 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.
2025-06-25 09:18:33 -04:00
918549a462 accelerometer status: documentation update 2025-06-11 23:27:17 -04:00
1a5ccd34a0 accelerometer: don't initialize on wake if already set up 2025-06-11 23:25:08 -04:00
bb5aa4ff7c accelerometer status face: bug fixes 2025-06-11 23:06:40 -04:00
e9b7f3f955 mars time: long press to change time zone 2025-06-08 07:48:54 -06:00
9459b7d01f temperature display: long press to toggle units 2025-06-08 07:48:46 -06:00
bf40e46036 bugfix: remove time_offset to get alarm handler working in simulator 2025-06-07 21:25:57 -06:00
4160efef70 fast stopwatch: fix overconsumption 2025-06-04 20:48:00 -04:00
87a315d936 countdown timer: snap back to clock on timeout, unless running 2025-06-04 00:19:51 -04:00
659c73046d mars time: actually update in low energy mode 2025-06-02 20:27:14 -04:00
fe23ed6e7a add watch face to peek at a memory location 2025-05-29 08:21:18 -04:00
ca46cb4988 for testing: add NOSLEEP build option to remove sleep mode entirely 2025-05-29 07:22:04 -04:00
9a712258f8 world clock: blink colon in low energy mode 2025-05-28 23:43:17 -04:00
ad3f1e56ed mars time: don't time out, enable low energy animation 2025-05-28 23:42:38 -04:00