306 Commits

Author SHA1 Message Date
Matheus Afonso Martins Moreira
941a6ec523 Merge PR #454 - add simple calculator watch face
Adds a simple calculator watch face to the sensor watch
capable of addition, subtraction, multiplication, division
and exponentiation.

Reviewed-by: Joey Castillo <joeycastillo@utexas.edu>
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-by: Joey Castillo <joeycastillo@utexas.edu>
Tested-on-hardware-by: mcguirepr89 <mcguirepr89@gmail.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/454
2024-09-07 20:38:08 -03:00
Matheus Afonso Martins Moreira
b9dbc4ed21 Merge PR #398 - add simon game watch face
Adds a watch face that allows playing the classic Simon game
with the watch's buzzer and RGB LED.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/398
2024-09-07 20:28:45 -03:00
Matheus Afonso Martins Moreira
ce249abde6 Merge PR #259 - add higher or lower game face
Adds a watch face that implements a game where the player
must guess if the next card will be higher or lower than
the last cards that have been revealed.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-on-hardware-by: Chris <chris.ellis.git.dev@gmail.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/259
2024-09-07 19:59:52 -03:00
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
Chris
9e1e692511 Hi-lo: Additional code tweaks 2024-09-07 19:59:04 -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
David Volovskiy
93b9ca6341 Made cards go through a deck format. 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
Chris
6db0a62bbf Hi-lo: Use alternate card faces 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
Joseph Bryant
ddaf3a8324 Add auto-repeat feature to Countdown watch face 2024-09-07 16:49:45 -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
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
David Volovskiy
c87e814140 LAP indicator now dispalys on all screens 2024-09-03 16:11:54 -04:00
David Volovskiy
733318c036 skip_wrong_letter is now a toggle 2024-09-03 16:11:54 -04:00