]> git.earman.xyz Git - sensor-watch.git/log
sensor-watch.git
13 months agoadd local decimal time (Kè) face
Joey Castillo [Tue, 8 Jul 2025 21:54:01 +0000 (17:54 -0400)]
add local decimal time (Kè) face

13 months agoBuild in CI using a build matrix (#41)
Eirik Stanghelle Morland [Mon, 7 Jul 2025 23:24:03 +0000 (01:24 +0200)]
Build in CI using a build matrix  (#41)

13 months agoEnsure git directory is marked as safe
Eirik Stanghelle Morland [Mon, 7 Jul 2025 17:26:36 +0000 (19:26 +0200)]
Ensure git directory is marked as safe

13 months agoFix simulator url in README (#40)
Ruben Nic [Mon, 7 Jul 2025 23:16:19 +0000 (19:16 -0400)]
Fix simulator url in README (#40)

13 months agoTally face: fix build warnings (#43)
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

13 months agorevert gossamer commit that (sometimes!) broke simulator builds
Joey Castillo [Mon, 7 Jul 2025 22:55:42 +0000 (18:55 -0400)]
revert gossamer commit that (sometimes!) broke simulator builds

13 months agoFix compiler warnings by casting centibeats to unsigned int in beats_face.c. Also...
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.

13 months agoTally face port (#38)
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

13 months agoUpdate README to contain git and make information (#37)
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>
13 months agobump gossamer commit
Joey Castillo [Sun, 6 Jul 2025 19:22:04 +0000 (15:22 -0400)]
bump gossamer commit

13 months agobump gossamer commit
Joey Castillo [Sun, 6 Jul 2025 19:08:12 +0000 (15:08 -0400)]
bump gossamer commit

13 months agoMerge pull request #36 from neutralinsomniac/remove_close_enough_face_from_default_faces
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

13 months agolooks like close_enough face was accidentally committed to the default set of enabled...
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

13 months agosilence warnings
Joey Castillo [Sun, 6 Jul 2025 16:40:06 +0000 (12:40 -0400)]
silence warnings

13 months agoremove tarot_face from legacy (is now in second movement)
Joey Castillo [Sun, 6 Jul 2025 16:12:01 +0000 (12:12 -0400)]
remove tarot_face from legacy (is now in second movement)

13 months agoNew watchface: ish face (#21)
Daniel Bergman [Sun, 6 Jul 2025 16:00:56 +0000 (18:00 +0200)]
New watchface: ish face (#21)

13 months agoPort Breathing face to second movement, also add LED notification. General fixes...
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)

13 months agoPort probability face to second movement (#30)
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

13 months agoPort close enough clock face to second-movement (#31)
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

13 months agoport tarot face to second movement (#28)
Jeremy O'Brien [Sun, 6 Jul 2025 15:48:56 +0000 (11:48 -0400)]
port tarot face to second movement (#28)

13 months agoUpdate Kitchen Conversions Face for Second Movement (#24)
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

13 months agoUpdate Periodic Table Face for Second Movement (#23)
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

13 months agoAdd a Squash scoring face (#18)
Johan Oskarsson [Sun, 6 Jul 2025 15:43:50 +0000 (08:43 -0700)]
Add a Squash scoring face (#18)

13 months agoadd .envrc/flake.nix for setting up automatic build environment under NixOS (#17)
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)

13 months agochirpy: fix typo (resolves #8)
Joey Castillo [Sun, 6 Jul 2025 15:34:06 +0000 (11:34 -0400)]
chirpy: fix typo (resolves #8)

13 months agoFix text buffer overflow in sunrise_sunset_face (#22)
PrimmR [Sun, 6 Jul 2025 15:31:45 +0000 (16:31 +0100)]
Fix text buffer overflow in sunrise_sunset_face (#22)

13 months agomove git hash to end of settings
Joey Castillo [Sun, 6 Jul 2025 15:27:05 +0000 (11:27 -0400)]
move git hash to end of settings

13 months agosettings: title git hash 'build' for clarity
Joey Castillo [Sun, 6 Jul 2025 15:26:09 +0000 (11:26 -0400)]
settings: title git hash 'build' for clarity

13 months agoSet time on make (#35)
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>
13 months agoMakefile: update comment for clarity
Joey Castillo [Fri, 4 Jul 2025 15:04:13 +0000 (11:04 -0400)]
Makefile: update comment for clarity

13 months agotweak Makefile checks, no need for BOARD or DISPLAY to make install
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

13 months agoMerge pull request #29 from EmilienCourt/main
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

13 months agoMerge pull request #32 from berdan/beats-face-refactor
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()

13 months agobugfix: maintain accelerometer background sampling rate after wake from sleep
Joey Castillo [Thu, 3 Jul 2025 21:14:08 +0000 (17:14 -0400)]
bugfix: maintain accelerometer background sampling rate after wake from sleep

13 months agoMerge pull request #25 from berdan/latlong-fix-sunrise_sunset_face
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

13 months agoAdd support for custom display in the simulator (#26)
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

13 months agoMerge pull request #20 from berdan/better_makefile
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

13 months agoMerge pull request #27 from berdan/emscripten-to-gossamer
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

13 months agobump gossamer commit
Joey Castillo [Mon, 30 Jun 2025 23:16:14 +0000 (19:16 -0400)]
bump gossamer commit

13 months agoUpdate beats face to use UTC+1. Simplify clock2beats function.
Daniel Bergman [Mon, 30 Jun 2025 19:39:21 +0000 (21:39 +0200)]
Update beats face to use UTC+1. Simplify clock2beats function.

13 months agobring totp_face into Second Movement
EmilienCourt [Sun, 29 Jun 2025 17:25:42 +0000 (19:25 +0200)]
bring totp_face into Second Movement

13 months agoMove emscripten targets to gossamer's rules.mk
Daniel Bergman [Sun, 29 Jun 2025 09:00:47 +0000 (11:00 +0200)]
Move emscripten targets to gossamer's rules.mk

13 months agoRemove stray spaces from sunrise_sunset_face.c
Daniel Bergman [Sat, 28 Jun 2025 16:50:58 +0000 (18:50 +0200)]
Remove stray spaces from sunrise_sunset_face.c

13 months agoHandle hour overflow
Daniel Bergman [Sat, 28 Jun 2025 16:28:57 +0000 (18:28 +0200)]
Handle hour overflow

13 months agoCut the corruption checks. When the user updates the location we should be writing...
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.

13 months agoBetter hundreds handling
Daniel Bergman [Sat, 28 Jun 2025 15:50:08 +0000 (17:50 +0200)]
Better hundreds handling

13 months agoINCLUDES project root in a Windows friendly way
Daniel Bergman [Sat, 28 Jun 2025 12:29:05 +0000 (14:29 +0200)]
INCLUDES project root in a Windows friendly way

13 months agoStray lf
Daniel Bergman [Sat, 28 Jun 2025 10:08:42 +0000 (12:08 +0200)]
Stray lf

13 months agoFix handling of longitude data > 100, including longitude data recovery in sunrise...
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.

13 months agoAdd info on sensorwatch_blue (#14)
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>
13 months agoUpdate Makefile to conditionally require BOARD and DISPLAY only for non-clean targets
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

13 months agopeek face: silence warnings
Joey Castillo [Wed, 25 Jun 2025 21:55:34 +0000 (17:55 -0400)]
peek face: silence warnings

13 months agoacclerometer threshold setting: swap light and alarm button to match wider UI idiom
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

13 months agoremove light meter face (did not work, could add back later)
Joey Castillo [Wed, 25 Jun 2025 21:24:56 +0000 (17:24 -0400)]
remove light meter face (did not work, could add back later)

13 months agoaccelerometer status face: flash decimal when setting threshold
Joey Castillo [Wed, 25 Jun 2025 21:23:31 +0000 (17:23 -0400)]
accelerometer status face: flash decimal when setting threshold

13 months agoaccelerometer: keep threshold across sleeps by tracking it in movement
Joey Castillo [Wed, 25 Jun 2025 21:22:17 +0000 (17:22 -0400)]
accelerometer: keep threshold across sleeps by tracking it in movement

13 months agoir upload: time out by default
Joey Castillo [Wed, 25 Jun 2025 21:18:37 +0000 (17:18 -0400)]
ir upload: time out by default

13 months agoir upload: display free space instead of 'no data'
Joey Castillo [Wed, 25 Jun 2025 21:08:38 +0000 (17:08 -0400)]
ir upload: display free space instead of 'no data'

13 months agofix(lis2dw): Re-initialize accelerometer after waking from sleep (#16)
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.

14 months agoaccelerometer status: documentation update
Joey Castillo [Thu, 12 Jun 2025 03:27:17 +0000 (23:27 -0400)]
accelerometer status: documentation update

14 months agoaccelerometer: don't initialize on wake if already set up
Joey Castillo [Thu, 12 Jun 2025 03:25:08 +0000 (23:25 -0400)]
accelerometer: don't initialize on wake if already set up

14 months agoaccelerometer status face: bug fixes
Joey Castillo [Thu, 12 Jun 2025 03:06:40 +0000 (23:06 -0400)]
accelerometer status face: bug fixes

14 months agomars time: long press to change time zone
Joey Castillo [Sun, 8 Jun 2025 13:48:25 +0000 (07:48 -0600)]
mars time: long press to change time zone

14 months agotemperature display: long press to toggle units
Joey Castillo [Sun, 8 Jun 2025 13:47:31 +0000 (07:47 -0600)]
temperature display: long press to toggle units

14 months agobugfix: remove time_offset to get alarm handler working in simulator
Joey Castillo [Sun, 8 Jun 2025 03:25:57 +0000 (21:25 -0600)]
bugfix: remove time_offset to get alarm handler working in simulator

14 months agofast stopwatch: fix overconsumption
Joey Castillo [Thu, 5 Jun 2025 00:48:00 +0000 (20:48 -0400)]
fast stopwatch: fix overconsumption

14 months agocountdown timer: snap back to clock on timeout, unless running
Joey Castillo [Wed, 4 Jun 2025 04:19:51 +0000 (00:19 -0400)]
countdown timer: snap back to clock on timeout, unless running

14 months agomars time: actually update in low energy mode
Joey Castillo [Tue, 3 Jun 2025 00:27:14 +0000 (20:27 -0400)]
mars time: actually update in low energy mode

14 months agoadd watch face to peek at a memory location
Joey Castillo [Thu, 29 May 2025 12:21:18 +0000 (08:21 -0400)]
add watch face to peek at a memory location

14 months agofor testing: add NOSLEEP build option to remove sleep mode entirely
Joey Castillo [Thu, 29 May 2025 11:16:50 +0000 (07:16 -0400)]
for testing: add NOSLEEP build option to remove sleep mode entirely

14 months agoworld clock: blink colon in low energy mode
Joey Castillo [Thu, 29 May 2025 03:43:13 +0000 (23:43 -0400)]
world clock: blink colon in low energy mode

14 months agomars time: don't time out, enable low energy animation
Joey Castillo [Thu, 29 May 2025 03:42:38 +0000 (23:42 -0400)]
mars time: don't time out, enable low energy animation

14 months agoset LED's drive strength to high
Joey Castillo [Wed, 28 May 2025 00:39:56 +0000 (20:39 -0400)]
set LED's drive strength to high

14 months agobring mars time into Second Movement
Joey Castillo [Tue, 27 May 2025 23:30:54 +0000 (19:30 -0400)]
bring mars time into Second Movement

14 months agopower down accelerometer unless a watch face requests it
Joey Castillo [Mon, 26 May 2025 14:51:11 +0000 (10:51 -0400)]
power down accelerometer unless a watch face requests it

14 months agoswap temperature and battery in default firmware
Joey Castillo [Mon, 26 May 2025 14:50:07 +0000 (10:50 -0400)]
swap temperature and battery in default firmware

14 months agomovement_config: put alarm into standard rotation
Joey Castillo [Wed, 21 May 2025 19:44:45 +0000 (15:44 -0400)]
movement_config: put alarm into standard rotation

14 months agoalarm_face: hook alarm up to main clock's alarm indicator
Joey Castillo [Wed, 21 May 2025 19:44:16 +0000 (15:44 -0400)]
alarm_face: hook alarm up to main clock's alarm indicator

14 months agomovement: fire top of minute at top of minute, not bottom of last minute
Joey Castillo [Wed, 21 May 2025 19:08:00 +0000 (15:08 -0400)]
movement: fire top of minute at top of minute, not bottom of last minute

14 months agobring wake_face into Second Movement (renamed alarm_face)
Joey Castillo [Wed, 21 May 2025 19:07:29 +0000 (15:07 -0400)]
bring wake_face into Second Movement (renamed alarm_face)

14 months agonanosec: add braces since we declare things
Joey Castillo [Wed, 21 May 2025 13:17:38 +0000 (09:17 -0400)]
nanosec: add braces since we declare things

14 months agowatch_adc: enable ADC when checking battery; let's get rid of this footgun once and...
Joey Castillo [Wed, 21 May 2025 12:51:39 +0000 (08:51 -0400)]
watch_adc: enable ADC when checking battery; let's get rid of this footgun once and for all

14 months agopreferences face: removed in favor of new settings face
Joey Castillo [Wed, 21 May 2025 05:19:29 +0000 (01:19 -0400)]
preferences face: removed in favor of new settings face

14 months agotemperature logger: skip if no temperature sensor is available
Joey Castillo [Wed, 21 May 2025 05:15:03 +0000 (01:15 -0400)]
temperature logger: skip if no temperature sensor is available

14 months agotemperature logger: rename stuff to remove thermistor references
Joey Castillo [Wed, 21 May 2025 05:12:20 +0000 (01:12 -0400)]
temperature logger: rename stuff to remove thermistor references

14 months agotemperature faces: no need to import thermistor driver
Joey Castillo [Wed, 21 May 2025 05:10:09 +0000 (01:10 -0400)]
temperature faces: no need to import thermistor driver

14 months agonanosec: use new Movement API for getting temperature
Joey Castillo [Wed, 21 May 2025 05:09:15 +0000 (01:09 -0400)]
nanosec: use new Movement API for getting temperature

14 months agowatch utility: make Friday all caps like the others
Joey Castillo [Wed, 21 May 2025 04:53:13 +0000 (00:53 -0400)]
watch utility: make Friday all caps like the others

14 months agoport nanosec and finetune to Second Movement
Joey Castillo [Wed, 21 May 2025 04:50:15 +0000 (00:50 -0400)]
port nanosec and finetune to Second Movement

14 months agodefault firmware: put stopwatch before countdown
Joey Castillo [Wed, 21 May 2025 04:15:19 +0000 (00:15 -0400)]
default firmware: put stopwatch before countdown

14 months agoslcd: we can fit these segment mappings into one byte
Joey Castillo [Wed, 21 May 2025 03:50:09 +0000 (23:50 -0400)]
slcd: we can fit these segment mappings into one byte

14 months agobugfix: need definition of colon as indicator for blinking on custom LCD
Joey Castillo [Wed, 21 May 2025 03:42:22 +0000 (23:42 -0400)]
bugfix: need definition of colon as indicator for blinking on custom LCD

14 months agovoltage and temperature: clear sleep animation on activate
Joey Castillo [Wed, 21 May 2025 03:36:20 +0000 (23:36 -0400)]
voltage and temperature: clear sleep animation on activate

14 months agocountdown: implement sleep mode animation
Joey Castillo [Wed, 21 May 2025 03:34:47 +0000 (23:34 -0400)]
countdown: implement sleep mode animation

14 months agomoon phase: clear sleep animation on wake
Joey Castillo [Wed, 21 May 2025 03:30:27 +0000 (23:30 -0400)]
moon phase: clear sleep animation on wake

14 months agoclock face: move state typedef to header for consistency
Joey Castillo [Wed, 21 May 2025 02:35:16 +0000 (22:35 -0400)]
clock face: move state typedef to header for consistency

14 months agoclock face: rename 'clock' to 'state' for consistency
Joey Castillo [Wed, 21 May 2025 02:34:15 +0000 (22:34 -0400)]
clock face: rename 'clock' to 'state' for consistency

14 months agoactivity logging: try to ignore spurious active minutes
Joey Castillo [Tue, 20 May 2025 21:34:45 +0000 (17:34 -0400)]
activity logging: try to ignore spurious active minutes

14 months agomovement: add loudness setting for button press
Joey Castillo [Tue, 20 May 2025 21:27:32 +0000 (17:27 -0400)]
movement: add loudness setting for button press

14 months agodisplay detection: return straight away if LCD type was forced
Joey Castillo [Mon, 19 May 2025 01:19:12 +0000 (21:19 -0400)]
display detection: return straight away if LCD type was forced