257 Commits

Author SHA1 Message Date
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
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
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
Jeremy O'Brien
9d3602220a Add hours support to the countdown face 2022-11-02 12:22:34 -04:00
James Haggerty
ad6e919107 Separate emscripten build directory
This avoids the need to 'make clean' before you do a simulator build
(or vice-versa).
2022-11-02 06:18:34 +11:00
James Haggerty
b7a461d280
Make the TOTP face use the filesystem for secret storage (#95)
* TOTP using filesystem

* Filesystem: ability to read files line by line
2022-11-01 01:08:05 -05:00
joeycastillo
54495d2d29
Merge pull request #114 from TheOnePerson/alarm-face-indicator-24h
Alarm face: make active alarm indicator show up only when there is an alarm set within the next 24 h
2022-10-31 01:09:13 -05:00
Jeremy O'Brien
0cef0b0ce2 Make countdown face use movement_play_alarm() instead of movement_play_signal() 2022-10-30 20:35:43 -04:00
TheOnePerson
27111c2d51 alarm-face: make indicator show active alarms in 24h time range and implement UI tweak
- switch indicators: use signal indicator instead of bell indicator
- make indicator show up only when there is an active alarm in the next 24 h
- Implement "hidden" UI tweak: extra long press of the alarm button in normal mode jumps back to alarm no. 1
- update comments to reflect latest changes
2022-10-30 09:32:20 +01:00
joeycastillo
09f1d02330
Merge pull request #109 from TheOnePerson/auto-fire-long-press
Make movement auto fire long press event
2022-10-29 18:16:29 -05:00
joeycastillo
501d3f8447 make pulsometer face use new EVENT_ALARM_LONG_UP 2022-10-29 18:09:16 -05:00
James Haggerty
d994ce8b48
Make countdown face reset to 0 (#90)
* Make countdown face reset to 0

It was annoying to have countdowns less than DEFAULT_MINUTES.
Admittedly, this does make DEFAULT_MINUTES fairly useless, since
we only ever see it the first time...

* Undo accidental change to movement_config.h
2022-10-29 17:01:05 -05:00
TheOnePerson
cb678d735a
Merge branch 'main' into auto-fire-long-press 2022-10-26 06:43:47 +02:00
TheOnePerson
cb69a2c181
Add an Alarm face to movement (#96)
* Add movement_play_alarm_beeps() to movement.c and make alarm sounds customizable. Add alarm indicator to simple watch face.

* Add alarm face

* alarm_face: fix problem with disabling alarms for 00:00.

* Fix typos in comments and get rid of of unused variable warning

* remove unnecessary constant

* simple_clock_face: fix disappearing chime indicator after face switch, enable alarm indicator updates in app loop (for one-time alarms).
movement: handle situations where watch is in sleep mode and chimes fire off at the same time as alarms properly.

* alarm_face: tweak process of displaying things on the lcd. Add extra long and extra short alarms. Increase number of alarm slots to 16.

* alarm face: fix alarms playing one beeping round more than set.

* alarm face: add proper quick cycling of hour and minute setting

* alarm-face: correct am/pm indication and some minor tweaks. Reset movement_config.h to current main branch. simple-watch-face: Remove unnecessary check and swap indicators (alarm / hourly chime)

* alarm-face: reverse commit parts from another branch (accidentially commited logic depending on movement firmware auto firing the long press event)

Co-authored-by: joeycastillo <joeycastillo@utexas.edu>
2022-10-25 21:57:53 -05:00
TheOnePerson
17cd90e72f movement: update comments regarding button events 2022-10-25 21:42:29 +02:00
TheOnePerson
6a8269629d alarm-face: correct am/pm indication and implement some minor tweaks. 2022-10-25 21:28:06 +02:00
joeycastillo
894d3615e9
Merge pull request #103 from wryun/long-press-home-to-settings
Long press of mode on home screen goes to settings
2022-10-23 15:07:35 -05:00
joeycastillo
5c1e717034 make this an if/then to please emscripten 2022-10-23 15:05:28 -05:00
joeycastillo
46ac8defdc disable settings hiding by default 2022-10-23 14:59:57 -05:00