Commit graph

473 commits

Author SHA1 Message Date
Christian Buschau e8b7985dde
day_one_face: enable quick cycle through settings
This allows the alarm button to be held down in the date settings and
quickly cycle through the dates instead of having to push for each
single increment like in other faces.
2023-11-17 09:11:18 +01:00
Christian Buschau 1022359252
day_one_face: allow years until 2080
This is the same limit introduced in commit 7fd51ca
2023-11-17 09:11:18 +01:00
Christian Buschau 8c7e9fa558
day_one_face: cleanup 2023-11-17 09:11:16 +01:00
Wesley Aptekar-Cassels 1120690e13 Add save_load_face. 2023-11-09 22:22:40 -05:00
Wesley Aptekar-Cassels 691f2fe506 day_night_percentage_face: Clear seconds digits when entering LE mode. 2023-11-09 20:31:56 -05:00
Wesley Aptekar-Cassels 26f63dcaeb day_night_percentage_face: Use PM indicator instead of DA/NI.
This allows for use of the weekday digits for displaying the weekday.
2023-11-09 17:35:58 -05:00
Wesley Aptekar-Cassels 2e8ee9965e day_night_percentage_face: Calculate rise/set/daylen only once per day. 2023-11-09 17:21:35 -05:00
Wesley Aptekar-Cassels f1d4d4ce89 Add day_night_percentage_face. 2023-11-09 02:34:36 -05:00
Wesley Aptekar-Cassels 73f689e65a Add simple_coin_flip_face. 2023-11-08 19:29:56 -05:00
Wesley Aptekar-Cassels dcf167a8bf Add solstice_face. 2023-11-06 18:01:44 -05:00
Wesley Aptekar-Cassels fc8c1fc726 moon_phase_face: Make alarm long-press reset to current day. 2023-11-03 06:34:31 -04:00
Brian Blakley 9c895817a0 Add minute repeater decimal face 2023-10-24 18:20:54 -04:00
Ekaitz Zarraga d3d76ed0e7 Add sound to pause/resume button 2023-10-21 15:47:26 +02:00
Ekaitz Zarraga cde6ae3598 Add Couch-To-5k training face 2023-10-21 01:30:03 +02:00
LtKeks ad846f5060 Update timer_face.c
Corrects the data type of the standard values in order to be able to configure seconds as well.
2023-10-15 17:35:36 +02:00
madhogs 868fecd248 add compile-time options for all preferences to movement_config 2023-10-02 17:23:11 +01:00
joeycastillo b162dc0663 use movement_play_signal for default tune (fixes background signal) 2023-09-24 12:41:18 -04:00
Jeremy O'Brien 45f402b4ec move buzzer enabled detection logic into movement for movement_play_signal/tune
this way watch faces don't have to disable/enable the buzzer themselves
before calling movement_play_signal() and movement_play_tune()
2023-09-23 10:56:12 -04:00
Jeremy O'Brien bfde84f01d fix signal tunes not firing in background, and split out foreground/background chime functions 2023-09-22 07:29:04 -04:00
joeycastillo bc9b4ce700 update alternate firmware for new board color 2023-09-13 14:08:52 -04:00
joeycastillo 9cd39cd3e3 add new COLOR flag 2023-09-13 11:40:40 -04:00
Per Waagø 9e88f37ced new face: Tuning tones
Add a new face that plays out tones that can be used as a
reference when tuning musical instruments.
2023-09-06 21:46:31 +02:00
joeycastillo 7fd51caa25 support years through 2080 2023-08-27 17:53:17 -04:00
joeycastillo d323b79916 new default firmware 2023-08-25 15:44:33 -04:00
joeycastillo e38f3bbec9 show temperature and battery voltage in low energy mode 2023-08-25 15:44:33 -04:00
joeycastillo fd2c8c2065 add sensor watch lite 2023-08-17 14:35:51 -04:00
mrbrown8 15eeca6b59
Decimal time face (#260)
* Update movement_faces.h

adding decimal_time_face.h to build

* Decimal Time, a new clock face

This face presents the current time as hours and hundredths of an hour.

* add decimal time to Makefile
2023-07-29 08:10:28 -04:00
Jose Castillo 07f150fbec
Merge pull request #253 from Kistelini/counter
Counter face: change sound to non-blocking, add option to deactivate sound
2023-07-29 07:48:16 -04:00
joeycastillo e5dcc9d1b7 counter face: move beep_on to watch face state 2023-07-29 07:43:51 -04:00
Jose Castillo 2738a8b77a
Merge pull request #258 from analogist/nanosec-fix-profbounds
fix nanosec_face correction_profile bounds from going negative
2023-07-29 07:30:40 -04:00
Willy Hardy 923112172d
Wyoscan .5 hz watchface (#256)
* initial wyoscan commit

* initial attempt at animation

* kinda working

* visually working but running out of memory

* slower

* little fixes

* add hardware watch blink function

* refine number animation

* remove movement from config for merging

* silence warnings

---------

Co-authored-by: Willy Hardy <whardy@redhat.com>
2023-07-29 07:22:42 -04:00
joeycastillo 1377d36622 silence warnings 2023-07-29 07:03:49 -04:00
James Wu 19672edcfb fix settings/nanosec correction_profile bounds 2023-07-20 00:27:37 +00:00
Hein-NonesensE ed8149a759
Counter face: change sound to non-blocking, add option to deactivate sound 2023-07-04 17:02:31 +02:00
joeycastillo b49259e4e0 add basic flashlight function 2023-06-29 16:17:19 -04:00
Jose Castillo 05e069ead1
Merge pull request #248 from TheOnePerson/simple-watch-bin-led
simple watch binary light: show current time by flashing the LED as binary code
2023-06-10 11:58:23 -04:00
Jeremy O'Brien c1580b356d
movement: add custom hourly chime tunes (#209)
* movement: add custom hourly chime tunes

* slightly tweak note timings

* add kim possible ringtone
2023-06-10 11:55:09 -04:00
TheOnePerson 8f7452fd99 simple watch bin led: add functionality of representing the current time as binary code LED flashing. 2023-05-21 08:34:02 +02:00
randogoth d348482759
geomancy.c warnings fix (#240) 2023-05-18 07:44:50 -04:00
TheOnePerson 45d9b97f07 timer face: fix problem with messed up durations for repeating timers / always beep when starting a timer 2023-05-18 13:10:32 +02:00
randogoth 432de34709 deobfuscated code, fixed warnings 2023-04-16 21:54:26 +03:00
joeycastillo 00541bd9c5 fix most warnings 2023-04-16 11:06:11 -04:00
randogoth c4da02ca2c Randonaut Watch Face (#233)
* init

* advanced latlon setting

* simple functionality done

* lat lon high precision fwd bwd

* edit toggle

* added readme for branch

* DD DMS conversion & cleanup

* DD to OLC conversion

* olc encoding & decoding

* OLC implementation

* swapped bools for modes, code cleanup

* place name editor

* updated button logic, fixed display

* load and save  places in state array

* todo list

* simplified OLC functions

* geohash conversion functions

* geohash display & digit functions

* todo

* finished geohash implementation

* code display function, defaults, bugfixes

* read/write file/reg logic

* long light in DATA to cancel

* write to registry

* todo

* read & write backup register

* file read/write

* todo

* new more concise button logic, optimizations

* todo

* renamed & cleaned up, fixed button logic

* documentation

* documentation

* LAP mode for all coordinate screens

* faster and more precise geohash algorithm

* updated description

* updated docu

* simple place face

* bugfixes, updated documentation

* init

* meh

* added public functions for OLC and Geohash

* randonauting face

* fix

* display fix

* cleanup

* bugfixes

* bugfix

* added place

* fixed TRNG call

* fixed declaration conflict

* modulo bias filter

* simplified things, chance RNG selection

* fixed button logic, better menus

* cleanup

* documentation

* docu fixes

* original README

* updated place_face

* fallback to register location

* removed pointless freq req

* reset config

* fixed dependency issue

* minor bugfixes

* saved a bit :)

* fix
2023-04-16 11:00:44 -04:00
randogoth 721887de3a Coin & Dice Toss & Geomantic Divination Watch Faces (#235)
* init

* advanced latlon setting

* simple functionality done

* lat lon high precision fwd bwd

* edit toggle

* added readme for branch

* DD DMS conversion & cleanup

* DD to OLC conversion

* olc encoding & decoding

* OLC implementation

* swapped bools for modes, code cleanup

* place name editor

* updated button logic, fixed display

* load and save  places in state array

* todo list

* simplified OLC functions

* geohash conversion functions

* geohash display & digit functions

* todo

* finished geohash implementation

* code display function, defaults, bugfixes

* read/write file/reg logic

* long light in DATA to cancel

* write to registry

* todo

* read & write backup register

* file read/write

* todo

* new more concise button logic, optimizations

* todo

* renamed & cleaned up, fixed button logic

* documentation

* documentation

* LAP mode for all coordinate screens

* faster and more precise geohash algorithm

* updated description

* updated docu

* simple place face

* bugfixes, updated documentation

* init

* meh

* added public functions for OLC and Geohash

* randonauting face

* fix

* display fix

* cleanup

* bugfixes

* bugfix

* added place

* fixed TRNG call

* fixed declaration conflict

* modulo bias filter

* simplified things, chance RNG selection

* fixed button logic, better menus

* cleanup

* documentation

* docu fixes

* init

* basic functions

* all needed static functions done

* progress

* coins and dice done

* progress

* place update

* divination faces functionality done

* better divine_bit

* figure numbers and names

* captions optional

* coin animation

* dice animation & optimizations

* animation

* changed names, documented

* bugfix

* cleanup

* reset config

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-04-16 11:00:08 -04:00
joeycastillo bfeca93008 silence warnings around morsecalc 2023-04-16 10:56:08 -04:00
joeycastillo e083f9b386 silence most warnings 2023-04-16 10:49:03 -04:00
joeycastillo eb71681779 Revert "Coin & Dice Toss & Geomantic Divination Watch Faces (#235)"
This reverts commit 34030bf3e4.
2023-04-16 10:46:52 -04:00
joeycastillo 00e641c2a7 Revert "Randonaut Watch Face (#233)"
This reverts commit a3fe36f6db.
2023-04-16 10:46:44 -04:00
joeycastillo 721cb8386d Merge branch 'main' of https://github.com/joeycastillo/Sensor-Watch 2023-04-16 10:37:14 -04:00
joeycastillo 1acd2b0369 return movement_config to standard list of watch faces 2023-04-16 10:30:49 -04:00
randogoth a3fe36f6db
Randonaut Watch Face (#233)
* init

* advanced latlon setting

* simple functionality done

* lat lon high precision fwd bwd

* edit toggle

* added readme for branch

* DD DMS conversion & cleanup

* DD to OLC conversion

* olc encoding & decoding

* OLC implementation

* swapped bools for modes, code cleanup

* place name editor

* updated button logic, fixed display

* load and save  places in state array

* todo list

* simplified OLC functions

* geohash conversion functions

* geohash display & digit functions

* todo

* finished geohash implementation

* code display function, defaults, bugfixes

* read/write file/reg logic

* long light in DATA to cancel

* write to registry

* todo

* read & write backup register

* file read/write

* todo

* new more concise button logic, optimizations

* todo

* renamed & cleaned up, fixed button logic

* documentation

* documentation

* LAP mode for all coordinate screens

* faster and more precise geohash algorithm

* updated description

* updated docu

* simple place face

* bugfixes, updated documentation

* init

* meh

* added public functions for OLC and Geohash

* randonauting face

* fix

* display fix

* cleanup

* bugfixes

* bugfix

* added place

* fixed TRNG call

* fixed declaration conflict

* modulo bias filter

* simplified things, chance RNG selection

* fixed button logic, better menus

* cleanup

* documentation

* docu fixes

* original README

* updated place_face

* fallback to register location

* removed pointless freq req

* reset config

* fixed dependency issue

* minor bugfixes

* saved a bit :)

* fix
2023-04-16 10:29:42 -04:00
randogoth 34030bf3e4
Coin & Dice Toss & Geomantic Divination Watch Faces (#235)
* init

* advanced latlon setting

* simple functionality done

* lat lon high precision fwd bwd

* edit toggle

* added readme for branch

* DD DMS conversion & cleanup

* DD to OLC conversion

* olc encoding & decoding

* OLC implementation

* swapped bools for modes, code cleanup

* place name editor

* updated button logic, fixed display

* load and save  places in state array

* todo list

* simplified OLC functions

* geohash conversion functions

* geohash display & digit functions

* todo

* finished geohash implementation

* code display function, defaults, bugfixes

* read/write file/reg logic

* long light in DATA to cancel

* write to registry

* todo

* read & write backup register

* file read/write

* todo

* new more concise button logic, optimizations

* todo

* renamed & cleaned up, fixed button logic

* documentation

* documentation

* LAP mode for all coordinate screens

* faster and more precise geohash algorithm

* updated description

* updated docu

* simple place face

* bugfixes, updated documentation

* init

* meh

* added public functions for OLC and Geohash

* randonauting face

* fix

* display fix

* cleanup

* bugfixes

* bugfix

* added place

* fixed TRNG call

* fixed declaration conflict

* modulo bias filter

* simplified things, chance RNG selection

* fixed button logic, better menus

* cleanup

* documentation

* docu fixes

* init

* basic functions

* all needed static functions done

* progress

* coins and dice done

* progress

* place update

* divination faces functionality done

* better divine_bit

* figure numbers and names

* captions optional

* coin animation

* dice animation & optimizations

* animation

* changed names, documented

* bugfix

* cleanup

* reset config

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-04-16 10:16:10 -04:00
randogoth ccf44281e7
Dual Timer, a variant of the Stock Stopwatch (#236)
* init

* advanced latlon setting

* simple functionality done

* lat lon high precision fwd bwd

* edit toggle

* added readme for branch

* DD DMS conversion & cleanup

* DD to OLC conversion

* olc encoding & decoding

* OLC implementation

* swapped bools for modes, code cleanup

* place name editor

* updated button logic, fixed display

* load and save  places in state array

* todo list

* simplified OLC functions

* geohash conversion functions

* geohash display & digit functions

* todo

* finished geohash implementation

* code display function, defaults, bugfixes

* read/write file/reg logic

* long light in DATA to cancel

* write to registry

* todo

* read & write backup register

* file read/write

* todo

* new more concise button logic, optimizations

* todo

* renamed & cleaned up, fixed button logic

* documentation

* documentation

* LAP mode for all coordinate screens

* faster and more precise geohash algorithm

* updated description

* updated docu

* simple place face

* bugfixes, updated documentation

* init

* meh

* added public functions for OLC and Geohash

* randonauting face

* fix

* display fix

* cleanup

* bugfixes

* bugfix

* added place

* fixed TRNG call

* fixed declaration conflict

* modulo bias filter

* simplified things, chance RNG selection

* fixed button logic, better menus

* cleanup

* documentation

* docu fixes

* original README

* updated place_face

* fallback to register location

* removed pointless freq req

* init

* dual chronograph

* documented and cleaned up

* unused var warning fix

* swap TC2 with TC3 to avoid conflict

* conflict

* show active when returning to face

* docu

* removed unneeded file

* added remain

* show screen on startup

* simplified mode button
2023-04-16 10:13:51 -04:00
randogoth 2b87623611
Planetary Hours Faces (#234)
* initial setup & test

* simplified solar calulcation function

* Initial Release

* initial setup

* UTC offset fixes

* finished and cleaned up

* renamed faces

* optimizations & astro symbols

* wrapping ruler

* cleanup

* optimizations

* merged latest place_face

* documentation

* fixed faster seconds

* removed place_face from branch

* reset config

---------

Co-authored-by: NN Solex <info@sublunar.space>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-04-16 10:13:21 -04:00
Christian Chapman 462f24b313
Aperture priority light meter face (#230)
* initial commit, added opt3001 light meter test app

* tested working light meter board, i2c communication still has issues

* fixed i2c; rudimentary lightmeter works!

* added aperture priority ui

* added aperture priority ui

* added README

* adjusted cal

* fixed bugs (HI shutter speed, lux mode toggle)

* made it possible to advance to the next face

* initialized lux variable

* lowered tolerance for HI and LO

* Changed EV display from always showing EV100 to showing EV[iso setting]

* dont display old ev when ISO changes

* changed mode and light behavior

* updated readme

* fixed indentation

* made lightmeter display logic more consistent

* made lightmeter display logic more consistent

* reverted rules.mk (for merge into upstream)

* reverted rules.mk (for merge into upstream)

* removed OPT3001 PCB model

* made lux mode default, corrected timeout behavior

---------

Co-authored-by: Christian Chapman <user@debian>
2023-04-16 10:05:55 -04:00
Bernd Plontsch bfde33c946
Adding Breathing complication (#220)
* Added complication

* Including complication in build configuration

* Clean up

* restore default watch face selection

* Fixed comment

* Remove unused

* Made functions internal

---------

Co-authored-by: Bernd Plontsch <bernd@plontsch@gmail.com>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-04-16 10:04:46 -04:00
Christian Chapman 0a836cecea
Morsecalc refactor (#229)
* Added Morse code based RPN calculator

* added manual and memory register

* fixed morsecalc negative indicator, edited header comment

* adjusted stack display controls

* Fixed warnings. Added calculator token aliasing ability. Added binary shorthand for numeral entry. Extended morse code binary tree.

* ui tweaks

* Update movement_config.h

* silence warning

* Reorganized codebase and simplified morse code reading routines.

* added 'quit if submission is empty' behavior

* reverted rules.mk change for merge into main

* corrected timeout behavior

* consolidated morsecode lib into one file; deleted old mc.c mc.h

* consolidated morsecode lib into one file; deleted old mc.c mc.h

* removed specious null in morsecode bintree string

---------

Co-authored-by: Christian Chapman <user@debian>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-04-16 10:01:03 -04:00
TheOnePerson e3f76317b5
Time Left Face: Visualize progress in any time interval (#217)
* time left face: initial commit, fully functional

* time left face: typos

* time left face: correct even more typos in documentation

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-03-11 16:40:55 -05:00
Konrad Rieck 84b947766e
Alternative implementation of world clock (#216)
* Implementation of alternative world clock.

* Fixed two minor bugs
- Only start in settings mode on first activation
- Fixed typo in time zone names

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-03-11 16:37:40 -05:00
joeycastillo 7793333ed3
Merge pull request #213 from wryun/fix-cat
Fix cat command
2023-03-11 16:33:13 -05:00
TheOnePerson b90e997481
Invaders Face (#210)
* invaders face: Initial commit, fully functional so far

* invaders face: silence compiler warning

* invaders face: prevent involuntary restarts when the game is over and save some bytes on flags

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-03-11 16:31:17 -05:00
gugray 9af51de624
Activity face + Chirpy TX (#187)
* chirpy demo face; activity face stub

* activity face WIP: can log, pause and clear

* activity face and chirpy demo: ready to flash to watch

* activity face tweaks

* hour display for hours < 10

* fix: added rogue paused seconds when stopping activity

* LE mode; lower power with 1Hz tick

* fix: midnight is 12

* Documentation in code comments

* fixes from code review by @neutralinsomniac

* chirpy_demo_face option to chirp out nanosec.ini + auto-format

* UI tweaks

* remove erroneously added file (content revoked)

* UI tweaks: return from LE mode; time display vs LAP

* add default loop handler (will enable long-mode-to-first-face)

* reset watch faces to match main branch
2023-03-11 16:27:18 -05:00
TheOnePerson 2d46a9bf9e
Timer Face: Advanced countdown face with presets (#224)
* timer face: initial commit, fully functional

* timer face: show slot number in normal mode

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-03-11 16:26:36 -05:00
thg191 7584f9bf98
discgolf_face initial commit (#207)
* discgolf_face initial commit

* Comment on wrong line

* updated drawing method and added beeps

* Put description in appropriate file, added license

* fixed for loops that didn't cover whole array, long mode press snaps back to default face

---------

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-03-11 16:12:00 -05:00
joeycastillo 266831cef0
Merge branch 'main' into repetition_minute 2023-03-11 16:06:38 -05:00
joeycastillo 3dafdc4709
Merge pull request #218 from TheOnePerson/fix-interval-face-globals
interval face: make global vars static
2023-03-11 16:05:32 -05:00
TheOnePerson 567a21e8a5 interval face: make global vars static 2023-02-20 07:51:45 +01:00
James Haggerty 192d0b0450 Fix cat command
If we ran into a heap that wasn't filled with '\0', fun things.
2023-02-12 20:27:48 +11:00
Jeremy O'Brien faa860f83d fix compile warning in day one face 2023-02-10 22:30:26 -05:00
Hein-NonesensE 59ff549235
Sensor watch sailing face (#205)
* Update sailing_face.c

Modified sailing_face.

Added features, some of which @niclashoyer already suggested in his initial PR:
- stopwatch-like counter after start signal
- lap counter after start signal
- optional additional sounds at every minute, 30s, 10s countdown
- sound options (no sound, start only, signals only, all)
- maximum starting time up to 10min (instead of 9)
- improved timing, display is no longer delayed by sound

* Update sailing_face.h

Modified sailing_face.

Added features, some of which @niclashoyer already suggested in his initial PR:
- stopwatch-like counter after start signal
- lap counter after start signal
- optional additional sounds at every minute, 30s, 10s countdown
- sound options (no sound, start only, signals only, all)
- maximum starting time up to 10min (instead of 9)
- improved timing, display is no longer delayed by sound
2023-02-10 18:07:53 -06:00
kingannoy c814c780e3 Allow days in the future
With this small change you can also count down to a important upcoming event!

This is my first time coding in C, so please double check everything! But in the emulator this seemed to work!
2023-02-10 17:08:32 -06:00
joeycastillo 827c3eb4a4 what fresh hell was that? 2023-02-10 16:44:36 -06:00
Jeremy O'Brien a461e8e8f9 countdown_face: implement holding light to reset the currently edited timer value (and everything below it) 2023-02-10 16:31:24 -06:00
tslil clingman f571da4346 habit face
Track a single habit, occuring at most once per day, with an eight-day
look back and total count
2023-02-10 16:09:55 -06:00
joeycastillo 26b1ea51b9 make TOTP face more responsive when swapping between codes 2023-02-08 12:33:50 -05:00
Jonas Termeau 36ff634ced New face - Repetition Minute, fork of simple clock with an accessibility feature added : time reading via beeps 2023-02-02 23:07:24 +01:00
Jeremy O'Brien a18c285e58 restore old light button behavior
watch faces that handle EVENT_LIGHT_BUTTON_UP but not EVENT_LIGHT_BUTTON_DOWN
probably don't want the default EVENT_LIGHT_BUTTON_DOWN LED activation behavior
2023-01-27 09:43:03 -06:00
joeycastillo c945f323f4 fix for events firing way too fast 2023-01-27 00:08:36 -06:00
joeycastillo f66b276dad add hardcoded frequency correction values 2023-01-25 10:37:16 -06:00
joeycastillo e32f1d1926 rename definition for special edition boards 2023-01-25 10:32:35 -06:00
Jeremy O'Brien e512b731bb tarot_face: use direct character arrays instead of arrays of pointers to global strings 2023-01-25 10:25:30 -06:00
joeycastillo 4412b5d08f
Merge branch 'main' into default-handler 2023-01-25 09:26:31 -06:00
Jeremy O'Brien 2b22ecc8e4 add default loop handler to all current watch faces 2023-01-25 09:23:50 -06:00
Jeremy O'Brien 3303060c59
ships_face: fix compiler warnings (#186) 2023-01-23 15:26:47 -06:00
TheOnePerson e8a18864ee
fix fast_tick_enabled behavior in movement (#183) 2023-01-23 15:26:03 -06:00
Konrad Rieck b5f191a1b7
Minor enhancements for the countdown face (#177)
* minor enhancements for the countdown face

* Changed usage of countdown timer.

- Long button presses have been removed.

- The light button is used to restore the last countdown as well as enter setting mode when pressed again.

- The visual state has been removed from the display.

- The internal states have been renamed to reflect the new logic.

* restore time when countdown finished.

* support for fast forward on long press (untested).

* support for beeps similar to stop watch

* fixed bug wiht display when fast forwarding
2023-01-23 14:18:28 -06:00
Jeremy O'Brien 3cd8e5c47e
tarot: avoid mandatory function call on every tick (#185) 2023-01-23 14:15:57 -06:00
buckket 8d20b46fec
Add ships_bell_face (#182) 2023-01-23 14:15:19 -06:00
Christian Chapman 027e3bb42e
Morse-code based RPN calculator (#164)
* Added Morse code based RPN calculator

* added manual and memory register

* fixed morsecalc negative indicator, edited header comment

* adjusted stack display controls

* Fixed warnings. Added calculator token aliasing ability. Added binary shorthand for numeral entry. Extended morse code binary tree.

* ui tweaks

* Update movement_config.h

* silence warning

Co-authored-by: Christian Chapman <user@debian>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-20 19:15:28 -06:00
TheOnePerson c27b63487b alarm: fix bell indicator not showing up on fridays 2023-01-20 21:54:00 +01:00
joeycastillo 12f2d31f98 typo 2023-01-17 11:05:27 -06:00
joeycastillo 45cd1dcac1 clarify return value notes in template 2023-01-17 11:03:13 -06:00
joeycastillo 3142fccea3 Merge branch 'main' into default-handler 2023-01-17 10:52:42 -06:00
joeycastillo 5163cf1fe1 Revert "never disable buzzer output"
This reverts commit 851d047c81.
2023-01-17 08:52:01 -06:00
joeycastillo a610382f89 fix documentation of default loop handler in template 2023-01-15 09:31:12 -06:00
joeycastillo 9d47eb9a11 handle switch to secondary face in default handler 2023-01-15 09:28:41 -06:00
joeycastillo 0ef80b62da add movement_default_loop_handler, test with default watch faces 2023-01-14 14:21:04 -05:00
Jeremy O'Brien 8f4de405ed rpn_calculator: fix compiler warnings 2023-01-14 13:20:38 -05:00
EmilienCourt 9ebea46300
totp : rework and add SHA256/512 (#151)
* totp : rework and add SHA256/512

* totp : comment code

* totp : fix SHA224/SHA384 and examples

* totp : fix bug in totp_face_lfs

* totp : init_totp_record to SHA1

* totp : move TOTP-MCU to TOTP, update README and example

* totp : SHAX, use size_t n instead of harcoded 8

* clarify what to put in TOTP face

Co-authored-by: Emilien <Emilien>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-14 11:58:03 -05:00
Niclas Hoyer 2e61885070
Add calculator watch face (#111) 2023-01-14 11:51:33 -05:00
joeycastillo 98abdb5c0f
Merge pull request #175 from neutralinsomniac/tarot-add-minor-arcana
tarot: add full tarot deck as an option
2023-01-14 11:49:23 -05:00
Jeremy O'Brien e89ff78b10 alarm: fix accidental assignment vs conditional logic 2023-01-13 14:52:09 -05:00
Jeremy O'Brien 3025a73956 tarot: mode long press returns to face 0 2023-01-13 10:56:43 -05:00
Jeremy O'Brien 5e1f772138 tarot: reduce calls to watch_display_string() 2023-01-13 08:06:29 -05:00
Jeremy O'Brien 29d7d5bd40 tarot: add full tarot deck as an option 2023-01-12 22:33:01 -05:00
Jeremy O'Brien c029e40a9a tarot: fix compiler warning 2023-01-12 08:35:25 -05:00
Jeremy O'Brien edca75c6f6 tarot: add card inversion explanation 2023-01-11 18:36:13 -05:00
joeycastillo 279954b724
Merge pull request #171 from neutralinsomniac/document_tarot_face
add tarot face documentation as per the new template.h
2023-01-11 16:25:57 -05:00
TheOnePerson b28d31ba03
Interval timers face (#130)
* buzzer sequences: first draft, does not work on hardware yet (but in simulator)

* buzzer sequences: add changes to movement.c

* buzzer sequences: add demo face to Makefile

* buzzer sequences: fix problem of interrupted sounds. Add logic for repeating sub sequences. Tidy up (move logic to watch_buzzer files, remove buzzer_demo_face)

* buzzer sequences: tidy up even more

* buzzer sequences: disable registering a 32 Hz tick callback for watch faces, so it will be used exclusively by the buzzer sequences functionality

* buzzer sequences: add callback slot functionality to watch_rtc and make watch_buzzer use it. Switch internal buzzer sequences tick frequency to 64 Hz. Revert changes to movement.c

* interval face: add initial version

* interval face: fix theoretical problem in helper function

* buzzer sequences: fix parameter sanity check in watch_rtc code

* buzzer sequences/watch_rtc: optimize calling tick callbacks in RTC_Handler

* buzzer sequences/watch_rtc: fix error in calling callback functions

* buzzer sequences: revert changes to watch_rtc logic. Instead, use TC3 as the source for timing the sound sequences.

* buzzer sequences: fix frequency of callback

* buzzer sequences: integrate changes from PR #162 (set both CCBUF and PERFBUF for correct buzzer tone)

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-11 15:31:53 -05:00
TheOnePerson ca7e704429
Add quick counting through hours, minutes, etc. to set time face. (#131)
* set time face: add quick cycling through hours, minutes, etc. and handle February 29th properly

* set time face: add failsafe for "hanging" quick cycle mode

* set time face: get rid of compiler warning

* set time face: Fix typo and indentation errors
2023-01-11 15:05:43 -05:00
Jeremy O'Brien 7a41c95d81 add tarot face documentation as per the new template.h 2023-01-11 14:55:48 -05:00
joeycastillo 05a539ab52
Merge pull request #169 from neutralinsomniac/tarot-face
Implement tarot card face
2023-01-11 14:25:37 -05:00
joeycastillo 784defcd55 revert tweak to 'world' card 2023-01-11 13:45:11 -05:00
Jeremy O'Brien e43a43944f tarot: move comment to where it belongs 2023-01-11 13:33:55 -05:00
Jeremy O'Brien 0293daa926 Implement card flipping and arbitrary # of card draws up to 10 2023-01-11 13:24:52 -05:00
joeycastillo a65d728877 tarot: tweak to display of 'world' card 2023-01-11 12:49:44 -05:00
joeycastillo dc5290410e tweak some arcana for readability 2023-01-11 12:15:42 -05:00
joeycastillo caf7689b2e
Merge pull request #170 from strickinato/add-doc-to-template
Add documentation to x_face.h template to encourage more docs
2023-01-11 11:44:44 -05:00
Aaron Strick d3005eeb5d Add documentation to read me to encourage watch face designers 2023-01-10 21:58:43 -08:00
Jeremy O'Brien a0524ba4e6 Implement tarot card face 2023-01-10 23:07:43 -05:00
Jeremy O'Brien 8331a54896 Remove more unnecessary conditionals 2023-01-10 21:02:47 -05:00
Andrew Mike 280d8b246a
New watch face: Tally counter (tally_face) (#160)
* Add tally face

* Fix copyright block to reflect real author

* Fix indentation

* More style editing, edited comments

* silence warning in tally_face

Co-authored-by: Andrew Mike <andrew@7thmagic.net>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-10 17:02:41 -05:00
Mikhail Svarichevsky 6b71711079
Precision watch update (#152)
* Intermediate changes

* Databank working

* Main commit for precision timing

First version where all functions are supposed to be working

* Fix math error in nanosec. File storage for location.

* Remove obsolete comments

* Missing page name on pages rotation - thanks to jeremy

* Delete file.diff

* Cleanup+tempchart

1) finetune must always reset last calibration time when doing non-0 time correction, even when you are not applying ppm correction.
2) Dithers over 31 periods not 10, more resolution with still no risk of overflow
3) Minute-boundery finetune fix. I also just got this 1-minute error after finetune...
4) Write frequency calibration value in 1 operation rather than 2. All RTC writes must be single operations to avoid partially correct data.
5) Some code cleanup
6) Tempchart face is added for temperature statistics

* Update set_time_hackwatch_face.c

* Math error in display code of finetune, allow to update correction time even without correction - by long alarm press

* Increase reliability of stopping & starting RTC timer

As it's quite dangerous operation

* hackwatch - days adjust down fix by long alarm

* unify style

* More comments & last style change

* Simulator support

RTC operations (watch_rtc_enable and watch_rtc_freqcorr_write) are in common libs.

* Unicode fix

* Crystal aging is now adjustable (AA page in nanosec - annual aging, ppm/year)

Aging is baked into fixed offset every time finetune is performed, as it relies on last adjustment time.

* Blink on non-0 page every minute in finetune to measure clock error

* Rolling back private changes

* Cleanup

* Cleanup

* Quality of life changes in nanosec

1. Does not calculate & apply ppm correction if less than 6 hours passed since previous adjustment (as it gives very high correction values which are unrealistic and unhelpful)
2. Idle timeout resets to face 0 only if no correction was made

* unify style

* Fix low-power errors in nanosec infrastructure, faster display in finetune

* Merge fix

* unify style

Co-authored-by: Jeremy O'Brien <neutral@fastmail.com>
Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-10 16:56:26 -05:00
Raymundo Cassani fee6145e4d
Add Tachymeter face (#165)
* Create template for tachymeter

* Basic working tachymeter

* Improve UI for running and results

* Allow editing distance

* Alarm long-press to enter and exit editing mode

* Improve light button behaviour

* Set distance digit wise.

* Use 250ms resolution for total time

* Improve comments

* Bugfix: Show distance when running and face becomes active

* Update `%d` to `%lu` in `sprintf` call for `uint32_t`

* Ignore Alarm button (Up and Long-press) when showing results

* Improve GUI when running and face gets activated

* Change speed indicator from `/H` to `/h`

* silence warnings in tachymeter face

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-10 16:43:04 -05:00
TheOnePerson d0a3fd2377
Add stock stopwatch face (#140)
* buzzer sequences: first draft, does not work on hardware yet (but in simulator)

* buzzer sequences: add changes to movement.c

* buzzer sequences: add demo face to Makefile

* buzzer sequences: fix problem of interrupted sounds. Add logic for repeating sub sequences. Tidy up (move logic to watch_buzzer files, remove buzzer_demo_face)

* buzzer sequences: tidy up even more

* buzzer sequences: disable registering a 32 Hz tick callback for watch faces, so it will be used exclusively by the buzzer sequences functionality

* buzzer sequences: add callback slot functionality to watch_rtc and make watch_buzzer use it. Switch internal buzzer sequences tick frequency to 64 Hz. Revert changes to movement.c

* buzzer sequences: fix parameter sanity check in watch_rtc code

* stock stopwatch: first fully functional implementation

* stock stopwatch: fix typo in comment

* stock stopwatch: handle resuming from deep sleep mode properly

* buzzer sequences/watch_rtc: optimize calling tick callbacks in RTC_Handler

* buzzer sequences/watch_rtc: fix error in calling callback functions

* stock stopwatch: implement workaround for sleep mode

* stock stopwatch: merge current main into stock-stopwatch

* stock stopwatch: use TC counters as source for callbacks

* stock-stopwatch: revert unnecessary changes to watch_buzzer

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2023-01-10 16:31:32 -05:00
James Haggerty 529bad306d
RPN Calculator face (#112)
* Calculator face with guess a number

* Add more functions, cleanup, and blinking

* Display operations better in the first location

* Clean up stack behaviour

Add empty stack behaviour, check stack bounds, add stack operations.

Also, make 'mode' always work to switch through faces on entering calculator
(i.e. by defaulting to OPERATION rather than NUMBER).

Some edge cases.

* Tweak negative rounding behaviour; add basic doco

* Add copyright name.

* Flip ordering of binary operations

* Fix compiler warnings

* Remove watch_private_display hackery and give face a better name

Also, slightly clearer documentation and a dupe function.
2023-01-10 16:15:00 -05:00
joeycastillo 0aa77e27e4
Merge pull request #119 from neutralinsomniac/add_hours_to_countdown_face
Add hours support to the countdown face
2023-01-10 16:14:20 -05:00
joeycastillo c576f5332d show colon after hours in countdown face 2023-01-10 16:12:15 -05:00
Jeremy O'Brien 3c576a83cf remove unnecessary conditional in simple clock face 2023-01-05 06:50:29 -05:00
Jeremy O'Brien 6ad67848d0 fix compiler warnings in sailing face 2023-01-04 09:47:26 -05:00
joeycastillo 851d047c81 never disable buzzer output 2023-01-03 21:24:14 -06:00
joeycastillo 801230cc3a
Merge pull request #106 from niclashoyer/sailing
Add sailing watch face
2022-12-31 11:04:55 -06:00
joeycastillo 283a219783
Merge pull request #126 from ShogoOkamoto/main
append beep sound to counter_face
2022-12-14 11:08:30 -06:00
Slim 9cb2d3278a Merge branch 'main' of github.com:joeycastillo/Sensor-Watch into main 2022-12-02 19:53:56 +01:00
Slim a69547805b Weeknumber watch face
Same as simple clock, but has iso 8601 week number instead of seconds counter
2022-12-02 19:45:53 +01:00
joeycastillo 45470d5781 stopwatch: slow down sleep animation 2022-11-29 13:40:03 -06:00
joeycastillo 41d9b00ba6 sunrise/set: return home if no location set 2022-11-29 13:39:14 -06:00
joeycastillo 967da2465a new backer firmware with original lineup 2022-11-29 10:01:47 -06:00
joeycastillo ef87f44572 deep space now: use standard time 2022-11-28 11:44:12 -06:00
joeycastillo 59260c25de allow setting default LED colors in movement_config 2022-11-28 11:43:51 -06:00
joeycastillo 34d72e3296 time set: allow setting year through 2050 2022-11-28 01:28:02 -06:00
joeycastillo 16048e0c20 keep stopwatch awake while running and on screen 2022-11-28 00:58:25 -06:00
joeycastillo 423c5ec70e address sunrise/set rounding in last 30 seconds of hour (fixes #146) 2022-11-28 00:40:08 -06:00
joeycastillo 444b911e90 fix sunrise/sunset in last 30 seconds of the hour 2022-11-27 17:02:30 -06:00
joeycastillo 9c2c9087bf make stopwatch beep when started/stopped 2022-11-27 16:52:25 -06:00
joeycastillo 5de8a11968 replace temperature sensor with stopwatch 2022-11-27 09:57:25 -06:00
joeycastillo 8dbc00c56d
Merge pull request #118 from wryun/separate-emscripten-build-dir
Separate emscripten build directory
2022-11-22 08:37:33 -06:00
James Haggerty 4f66e29b61 Set bell indicator on reactivating countdown/tomato faces
If you moved away and back to these faces, you'd lose the indicator. Not that the indicator here
seems very valuable, since it's not displayed on simple_clock_face, but at least
this makes things more consistent.
2022-11-15 20:32:53 +11:00
Shogo Okamoto eff3529b96 append beep sound to counter_face 2022-11-08 22:39:02 +09:00
TheOnePerson 3c5ac1ee16 alarm-face: fix occasional crash on checking for active alarms, fix 0 vs. 12 h in am/pm mode 2022-11-03 22:32:20 +01:00