Matheus Afonso Martins Moreira
2132320d5c
faces/clock: simplify signal indication function
...
Simplifies the code and makes it use the correct indicator.
For some reason it had been switched with the alarm indicator.
WATCH_INDICATOR_BELL
The small bell indicating that an alarm is set.
WATCH_INDICATOR_SIGNAL
The hourly signal indicator.
Also useful for indicating that sensors are on.
2024-02-25 15:24:14 -03:00
Matheus Afonso Martins Moreira
e2cba9f2f2
faces/clock: simplify alarm indication function
...
Deduplicates state in the clock state and movement settings.
Makes the code simpler.
Also makes it use the correct indicator.
For some reason it had been switched
with the hourly chime indicator.
WATCH_INDICATOR_BELL
The small bell indicating that an alarm is set.
WATCH_INDICATOR_SIGNAL
The hourly signal indicator.
Also useful for indicating that sensors are on.
2024-02-25 15:24:14 -03:00
Matheus Afonso Martins Moreira
e6d8b6aaff
faces/clock: define general indication function
...
Sets or clears the specified indicator based on some boolean value.
2024-02-25 15:24:14 -03:00
Matheus Afonso Martins Moreira
01312c2deb
faces/clock: move structure definition
...
Instances of the clock state structure
are only passed to the clock face itself
and only via the opaque context pointer.
No other code uses it.
Thus there is no need to expose it in a header file.
So make it an implementation detail of the watch face
by localizing it inside the translation unit.
2024-02-25 15:24:14 -03:00
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
Matheus Afonso Martins Moreira
30ebf4743e
faces/pulsometer: move structure definition
...
Instances of the pulsometer state structure are only passed
to the pulsometer itself and only via the opaque context pointer.
No other code uses it. There is no need to expose it in a header file
so make it an implementation detail of the watch face.
2024-02-24 05:17:56 -03:00
Matheus Afonso Martins Moreira
4d77273238
faces/pulsometer: update copyrights and credits
...
Update the copyrights to include full name attribution to all
who contributed to the pulsometer watch face, including myself.
Also add an SPDX license identifier header comment to the files.
2024-02-24 05:17:43 -03:00
Matheus Afonso Martins Moreira
4b67ef56c6
faces/pulsometer: document the advanced pulsometer
...
Thoroughly document the new advanced pulsometer watch face
by describing what it is and how it works.
2024-02-24 05:17:43 -03:00
Matheus Afonso Martins Moreira
ea47bf9f22
faces/pulsometer: implement advanced pulsometer
...
Implements an advanced pulsometer that can be recalibrated by the user.
The main clock face now displays the measured pulses per minute.
The day of month digits now display the pulsometer calibration.
The light button now cycles through integer graduations
which now range from 1 to 39 pulses per minute.
Long presses of the light button cycle by 10 instead of 1.
The watch face's responsiveness to input has been carefully optimized.
The code has been reorganized and generally improved.
2024-02-24 05:17:43 -03:00
Matheus Afonso Martins Moreira
1c0050c97b
faces/totp: update copyright and license data
...
Update the copyrights to include full name attribution
to all who contributed to this watch face, including myself.
Also add an SPDX license identifier header comment to the files.
https://spdx.org/licenses/MIT.html
2024-02-21 03:25:29 -03:00
Matheus Afonso Martins Moreira
0ebd94c4e1
faces/totp: delete unused structure field
...
The TOTP watch face now keeps track of each key separately.
There is no need to compute offsets at runtime.
2024-02-20 23:24:01 -03:00
Matheus Afonso Martins Moreira
79cfe315ff
faces/totp: update watch face logic for new struct
...
Using the new structured TOTP record data structure
allows the TOTP watch face to statically and implicitly
compute the total number of defined TOTP records.
Users can now simply add new keys and records in the designated area
and the watch face will compile and automatically use them with no need
to maintain a separate array size variable. Less chance of mistakes.
2024-02-20 23:20:21 -03:00
Matheus Afonso Martins Moreira
bbb920a5d8
faces/totp: define current TOTP data function
...
Selects the appropriate TOTP data structure
given the TOTP watch face state.
2024-02-20 23:18:00 -03:00
Matheus Afonso Martins Moreira
48e7fb1a7c
faces/totp: define TOTP data array size function
...
Computes the size of the array of TOTP records.
The compiler will likely evaluate it at compile time.
2024-02-20 23:16:41 -03:00
Matheus Afonso Martins Moreira
a99f6a716f
faces/totp: update example data to new structure
...
The data definitions are much shorter and easier to read now.
2024-02-20 23:15:15 -03:00
Matheus Afonso Martins Moreira
8a7d9326cf
faces/totp: define TOTP struct initializer macro
...
Generates a compound initializer for the given TOTP parameters.
Lessens repetition and allows functional definitions of TOTP records.
2024-02-20 23:12:53 -03:00
Matheus Afonso Martins Moreira
67907e4e5c
faces/totp: define TOTP data structure
...
Aggregates all the data necessary for TOTP generation.
2024-02-20 23:10:13 -03:00
madhogs
3c6affb419
Merge branch 'main' into preferences_in_config
2024-02-14 17:17:10 +00:00
Max Zettlmeißl
af18673e1a
Change inactivity deadlines: add 10 minutes and remove 2 days. ( #365 )
...
I like to use the ten minute timeout on my watch and there are other
people who have similar interests in a lower deadline. The two day
deadline had to go to still accommodate the change within the three
bit index.
The default setting is still the one hour timeout.
2024-02-07 14:02:41 -05:00
Alex Maestas
83a0e4e992
annotate TRNG erratum, address review comment
2024-01-22 00:39:18 +00:00
Christian Buschau
898b159a90
Revert "make the watch-face a global in movement.c, actually"
...
This reverts commit 0e801ed505
.
2024-01-21 20:31:37 +01:00
Wesley Aptekar-Cassels
3703d565ed
Merge pull request #337 from theAlexes/theAlexes/wyoscan-zero
...
make the zero in wyoscan a little more visually appealing
2024-01-21 02:35:32 -05: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
Wesley Aptekar-Cassels
d7369cd00d
Merge branch 'main' into theAlexes/cleanup
2024-01-21 01:31:58 -05:00
CarpeNoctem
6985ca54f3
template: fix compiler warning on watch_face_index as mentioned in PR 269
2024-01-17 23:08:54 +11:00
Wesley Aptekar-Cassels
07e45acba7
Merge pull request #325 from WesleyAC/fix-le-buzzer-default-tune
...
Fix buzzer in LE mode.
2024-01-11 19:53:51 -05:00
joeycastillo
cd44cb74a2
fix alternate firmware script
2024-01-10 09:38:33 -05:00
Wesley Aptekar-Cassels
bf8c1b5dae
Merge pull request #342 from theAlexes/theAlexes/nanosec-profile-bug
...
delete stray line of code that messed with correction profile
2024-01-09 17:46:48 -05:00
Alex Maestas
aa3a1eeeef
movement: Use LE mode code to keep buzzer awake, instead of sleeping.
2024-01-09 16:24:11 -05:00
Wesley Aptekar-Cassels
e9fe4aeefe
Enable custom signal tones in LE mode.
...
This makes movement_play_signal synchronous when in LE mode, despite
using the underlying asynchronous API. It's a bit of a hack, but it
should work well enough for now.
This also moves the enabling/disabling of the buzzer into the
movement_play_signal function, so that watch faces no longer have to do
it.
2024-01-09 16:22:21 -05:00
Wesley Aptekar-Cassels
3ee32c6e57
Use legacy buzzer functions when playing default tune.
...
This allows the default tune to be played in LE mode.
Fixes : #275
2024-01-09 16:22:21 -05:00
Wesley Aptekar-Cassels
6f4917a0d5
Revert "Merge pull request #283 from neutralinsomniac/fix_hourly_chime_background"
...
This reverts commit 5c94111ea2
, reversing
changes made to bc9b4ce700
.
2024-01-09 16:22:21 -05:00
Pietro F. Maggi
8e0e942573
Handle visibility for tomato watchface
...
(cherry picked from commit 547e8248ba3538693ee8c587a92ffece7b40d1a2)
2024-01-07 12:43:18 +01:00
Edward Shin
5b762d0168
USB Improvements
...
* Introduce shell module for basic serial shell with argument parsing
* Introduce shell_cmd_list module for basic compile-time command
registration
* Harden USB handling to hang less and drop fewer inputs
- Service tud_task() with periodic TC0 timer interrupt
- Service cdc_task() with periodic TC1 timer interrupt
- Handle shell servicing in main app loop
- Add a circular buffering layer for reads/writes
* Change newline prints to also send carriage return
* Refactor filesystem commands for shell subsystem
* Introduce new shell commands:
- 'help' command
- 'flash' command to reset into bootloader
- 'stress' command to stress CDC writes
Testing:
* Shell validated on Sensor Watch Blue w/ Linux host
* Shell validated in emscripten emulator
* Tuned by spamming inputs during `stress` cmd until stack didn't crash
2024-01-07 00:20:20 -05:00
Alex Maestas
399679ac59
delete stray line of code that messed with correction profile while adjusting cadence
2023-12-22 22:35:46 +00:00
Alex Maestas
89e86fe629
work around silicon erratum in TRNG
2023-12-17 17:39:59 +00:00
Alex Maestas
0e801ed505
make the watch-face a global in movement.c, actually
2023-12-17 03:23:26 +00:00
Alex Maestas
8eae6eabd6
clean up trailing whitespace in movement.c
2023-12-16 22:23:32 +00:00
Alex Maestas
0ffe19da5b
use a pointer to the watch face in the app loop instead of indirecting through the index each time, and also recalculate can_sleep based on the timeout loop call.
2023-12-16 22:23:19 +00:00
Alex Maestas
06d546f179
make it clear that the movement_state contains indexes
2023-12-16 22:08:10 +00:00
Alex Maestas
dd9ca10122
make the zero in wyoscan a little more visually appealing
2023-12-08 22:11:56 +00:00
PrimmR
1b90a4a07a
Kitchen Conversions Face
2023-12-01 15:33:38 -05:00
Wesley Aptekar-Cassels
a2f1ba9171
Merge branch 'main' into day_one_face
2023-11-27 23:08:28 -05:00
Alex Utter
7802994854
Fix missing documentation for many clock faces:
...
* Move from .c to .h as needed for consistency.
* When missing from both, copy from pull request or wiki.
* When missing entirely, infer functionality from source code.
2023-11-27 23:06:19 -05:00
Ekaitz Zárraga
735bbc97d7
Merge branch 'main' into couch-2-5k
2023-11-19 15:36:52 +01:00
Ekaitz Zarraga
f77ddc83b8
Resign when the entering LE
2023-11-19 15:31:56 +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
1f6409a71c
sunrise_sunset_face: Fix use of uninitialized memory.
...
This was causing a crash in the simulator when setting the location.
Fixes : #198
2023-11-18 23:53:24 -05:00
Wesley Aptekar-Cassels
3b9fd8b0e9
Merge pull request #302 from LtKeks/Sensor-Watch-bugfix-timer_face-datatype
...
timer_face - Possibility to set seconds as default values
2023-11-18 23:12:51 -05:00
Wesley Aptekar-Cassels
2b7162c2be
Merge pull request #270 from perw/tuning_tones
...
new face: Tuning tones
2023-11-18 23:11:56 -05:00
Christian Buschau
984990fb66
day_one_face: show set date on short alarm button press
2023-11-17 09:11:18 +01:00
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