Commit graph

74 commits

Author SHA1 Message Date
Matheus Afonso Martins Moreira 8f040252fd faces: rename simple_clock_face to clock_face
It's not actually so simple and will only gain features from now on.
Just "clock face" also feels more canonical.
2024-02-24 18:53:07 -03:00
Wesley Aptekar-Cassels 501ed8f9d2
Merge branch 'main' into watch-face-save-load 2024-01-21 02:08:28 -05:00
Wesley Aptekar-Cassels fe48776dae
Merge branch 'main' into watch-face-day-night-percentage 2024-01-21 02:04:20 -05:00
Wesley Aptekar-Cassels f16ce6a767
Merge branch 'main' into watch-face-simple-coin-flip 2024-01-21 02:01:27 -05:00
Wesley Aptekar-Cassels 29784983b5
Merge branch 'main' into watch-face-solstice 2024-01-21 01:58:20 -05:00
PrimmR 1b90a4a07a
Kitchen Conversions Face 2023-12-01 15:33:38 -05:00
Ekaitz Zárraga 735bbc97d7
Merge branch 'main' into couch-2-5k 2023-11-19 15:36:52 +01:00
Ekaitz Zarraga 30c8da7f55 Fit naming conventions 2023-11-19 15:28:45 +01:00
Wesley Aptekar-Cassels 6cc2b23723
Merge branch 'main' into feat/minute-repeater-decimal-face 2023-11-19 00:56:33 -05:00
Wesley Aptekar-Cassels 1120690e13 Add save_load_face. 2023-11-09 22:22:40 -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
Brian Blakley 9c895817a0 Add minute repeater decimal face 2023-10-24 18:20:54 -04:00
Ekaitz Zarraga cde6ae3598 Add Couch-To-5k training face 2023-10-21 01:30:03 +02: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
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
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 b49259e4e0 add basic flashlight function 2023-06-29 16:17:19 -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 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 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
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
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
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
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
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
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
Niclas Hoyer 2e61885070
Add calculator watch face (#111) 2023-01-14 11:51:33 -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
Jeremy O'Brien a0524ba4e6 Implement tarot card face 2023-01-10 23:07:43 -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 801230cc3a
Merge pull request #106 from niclashoyer/sailing
Add sailing watch face
2022-12-31 11:04:55 -06:00