Commit graph

1121 commits

Author SHA1 Message Date
Matheus Afonso Martins Moreira c805cdc7df Merge PR #266 - add deadline tracking watch face
Adds a timing watch face that focuses on
keeping track of specific deadlines.

Dates and times can be set on the watch face
and it will display the time remaining at ever
decreasing levels of granularity for the sake
of brevity and ease of understanding.

For example, it will display years and months if over a year is left,
months and days if less than one year is left,
days and hours if less than one month is left
and the full remaining time if less than a day is left.

It also notifies the user when a deadline has passed recently.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-on-hardware-by: Konrad Rieck <konrad@mlsec.org>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/266
2024-09-07 19:59:31 -03:00
Konrad Rieck 50cff54833 move to deadline face on alarm 2024-09-07 19:59:04 -03:00
Konrad Rieck e2ec468754 Alarm handled using background task.
The alarm for deadlines is now handled via a background task. Instead of a scheduled task that prevents sleep mode, the face checks in the background every minute whether an deadline is due. If this is the case, the face wakes up from sleep mode and starts a scheduled task for the remaining seconds.
2024-09-07 19:59:04 -03:00
Konrad Rieck 27ab799e85 Fixed bugs and improved watchface
- A background task is only scheduled if the alarm option is activated. If the option is enabled, an alarm sounds when the next deadline is reached. If the option is disabled, no alarm sounds and the watch can enter low energy sleep.

- Fixed tick frequency error. During running mode, the clock ticks at 1Hz. This is set in the init function `_running_init` and thus ensures that we do not run too fast when returning from the setting mode.

- Minor corrections to comments and indentations.
2024-09-07 19:59:04 -03:00
Konrad Rieck c89316b3ec removed higher frequency in first loop run. 2024-09-07 19:59:04 -03:00
Konrad Rieck fab8c94428 moved tick_freq to deadline_state_t structure. 2024-09-07 19:59:04 -03:00
Konrad Rieck c102a10165 beep on button 2024-09-07 19:59:04 -03:00
Konrad Rieck 4cb00ebb4e support for alarm 2024-09-07 19:59:04 -03:00
Konrad Rieck fea60e615c display closest deadline on activation 2024-09-07 19:59:04 -03:00
Matheus Afonso Martins Moreira 852c3aad27 Merge PR #423 - add periodic table face
Adds a watch face full of useful information
about every known chemical element.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-on-hardware-by: PrimmR <primmr@icloud.com>
Tested-on-hardware-by: David Volovskiy <devolov@gmail.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/423
2024-09-07 18:47:20 -03:00
Matheus Afonso Martins Moreira 02e66309d4 Merge PR #444 - implement countdown autorepeater
Adds the ability to automatically restart the timer
in the countdown watch face. This allows users to
easily time repeating events.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/444
2024-09-07 16:52:29 -03:00
Joseph Bryant ddaf3a8324 Add auto-repeat feature to Countdown watch face 2024-09-07 16:49:45 -03:00
Matheus Afonso Martins Moreira 80dc8a247f Merge PR #465 - add metal gear solid codec chime
Snake? Snake?! SNAAAAAAAAAAAAAAAAAAAAAAKE!

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/465
2024-09-07 16:43:00 -03:00
Jeremy O'Brien a79bb46d39 add metal gear solid codec tune 2024-09-07 16:41:56 -03:00
Matheus Afonso Martins Moreira 3462d51071 Merge PR #467 - add harry potter chimes
Add Harry Potter themed hourly signal chimes, short and long variants.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/467
2024-09-07 16:26:10 -03:00
mcguirepr89 48fd4ee903 slightly shorter first note 2024-09-06 10:19:17 -04:00
mcguirepr89 b37be89bae adds a short and long harry potter signal 2024-09-04 11:46:33 -04:00
Matheus Afonso Martins Moreira 014ef32576 Merge PR #293 - add instant LED duration
Adds an instant LED duration preference that only keeps the LED lit
while the LIGHT button remains held down.

Matches the behavior of the original watch.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-on-hardware-by: Wesley Aptekar-Cassels <me@wesleyac.com>
Tested-on-hardware-by: 814d3 (GitHub)
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/293
2024-09-03 19:06:40 -03:00
Matheus Afonso Martins Moreira c0a72acb7c Merge PR #419 - add endless runner watch face
Adds an endless runner game face to the Sensor Watch.

The player character runs endlessly towards the right.
An endless number of obstacles speed towards him.
The player must jump over them or lose the game
when the player character runs smack into the obstacle.
Jumping requires fuel which is a limited resource
that must be managed by the player.

Features selectable difficulties and high score tracking.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/419
2024-09-03 18:50:12 -03:00
Matheus Afonso Martins Moreira cd4b285c6e Merge PR #436 - add wordle watch face
Ports the famous Wordle game to the Sensor Watch.

A random 5 letter word is chosen and the player must guess it
without exceeding the configured maximum number of attempts.
Letters guessed correctly will stay in place.
Letters present in the word but in the wrong place will blink.

Streak tracking is supported and compile time configurable.

A Python script which finds an optimal dictionary is also included
and can be used to further customize the watch face.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/436
2024-09-03 18:49:18 -03:00
Matheus Afonso Martins Moreira 4d6a9345f2 Merge PR #299 - leading zero representation
Adds a movement-wide leading zero 024h representation mode
that's toggleable in the preferences watch face.
Also adds support for the new display mode to existing faces.

I modified the logic a bit to ensure the 24h indicator remains lit
in the simple clock face even when in 024h mode. I also added support
to the more advanced clock face. In the future I will add a compile time
toggle to it as well.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/299
2024-09-03 18:49:13 -03:00
David Volovskiy 118c07a3b6 Reduced struct memory per code review 2024-09-03 17:13:59 -04:00
David Volovskiy faec45ce24 Include ability to select only the best words as the first choice 2024-09-03 17:09:52 -04:00
David Volovskiy 2e46aa0e2c got rid of hardcoding of half-second zero blink 2024-09-03 16:25:05 -04:00
David Volovskiy c74ed78d72 Changed U LOSE to LOSE 2024-09-03 16:20:11 -04:00
David Volovskiy e4a5121303 bug fix on displaying time in LE mode 2024-09-03 16:20:11 -04:00
David Volovskiy 28b14d3665 LE mode in the endless runner now displays the current time. 2024-09-03 16:20:11 -04:00
David Volovskiy 324942009e Added second fuel mode where we don't recharge the fuel if it hits zero. 2024-09-03 16:20:11 -04:00
David Volovskiy 30363d408e Added fuel mode 2024-09-03 16:20:11 -04:00
David Volovskiy c027b247b2 Changed hi score number offset and refactored some code 2024-09-03 16:20:11 -04:00
David Volovskiy 503fcd6ebc Added author in header 2024-09-03 16:20:11 -04:00
David Volovskiy 6ec6476d0f Refectored the state machine 2024-09-03 16:20:11 -04:00
David Volovskiy 07d2bc91a5 Modified hi score display to allow for 3 digits in hi-score, it now resets at the beginning of each month 2024-09-03 16:20:11 -04:00
David Volovskiy 2d7aaceff7 hi score resets weekly 2024-09-03 16:20:11 -04:00
David Volovskiy 6f3f09c5ba Reformat to remove some hardocded variables 2024-09-03 16:20:11 -04:00
David Volovskiy defd01f9f0 Added baby mode which used to be easy mode; easy mode is now same speed as normal, but 3 frames to jump and normal is 2 frames. 2024-09-03 16:20:11 -04:00
David Volovskiy abc0bedbde Gave an extra jumping frame for non-hard mode; Curr scroll now loops; Title changed to ER 2024-09-03 16:20:11 -04:00
David Volovskiy ed3c4d3c30 Fixed the long delays when beginning a game 2024-09-03 16:20:11 -04:00
David Volovskiy e2870eb7af Removed the binary print debug function 2024-09-03 16:20:11 -04:00
David Volovskiy 73a975d0d9 Added endless-runner face 2024-09-03 16:20:11 -04:00
David Volovskiy 4dedcb3a6d Added ability to find best starting word 2024-09-03 16:11:54 -04:00
David Volovskiy dd719183cf hard mode btn changed; logic changed on daily streak so if puzzle wasn't started and completed the previous day, then drop the streak 2024-09-03 16:11:54 -04:00
David Volovskiy 5435bc7f34 Streak face fix 2024-09-03 16:11:54 -04:00
David Volovskiy d1c19166a1 WORDLE_USE_DAILY_STREAK logic changed 2024-09-03 16:11:54 -04:00
David Volovskiy c43820e75d Wordle game resets after 24hrs of not playing when not using daily streak 2024-09-03 16:11:54 -04:00
David Volovskiy 41df6c113f Reset streak if don't continue 2024-09-03 16:11:54 -04:00
David Volovskiy b364a6cfab Changed the lap to hard mode; fixed the ignore used letters 2024-09-03 16:11:54 -04:00
David Volovskiy 8205abe5be Revert "LAP indicator now dispalys on all screens"
This reverts commit 3bfa336b4d609668f6d8c71164f8f579f41240a5.
2024-09-03 16:11:54 -04:00
David Volovskiy 255ea97cc4 Documentation fix 2024-09-03 16:11:54 -04:00
David Volovskiy 4b8bd61408 Added explanation on LAP icon 2024-09-03 16:11:54 -04:00