Commit graph

298 commits

Author SHA1 Message Date
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