Commit graph

730 commits

Author SHA1 Message Date
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 543788b622 Merge PR #287 - add minimal clock face
Add a minimalist clock face that shows only hours and minutes.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/287
2024-09-07 20:14:26 -03:00
Matheus Afonso Martins Moreira 7de53f9fa0 Merge PR #269 - add french revolutionary time face
Adds a french revolutionary time watch face which displays the time
divided into ten hours of one hundred minutes each which are in turn
divided into one hundred seconds each.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Reviewed-by: Wesley Aptekar-Cassels <me@wesleyac.com>
Reviewed-by: Alex Maestas <git@se30.xyz>
Tested-on-hardware-by: CarpeNoctem <cryptomax@pm.me>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/269
2024-09-07 20:00:16 -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
CarpeNoctem 07a2a49e72 french_revolutionary face: fix compiler warning and uninitialized date_time variable 2024-09-07 19:47:17 -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 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 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
David Volovskiy d98f749f3b Changed variable names for dictionary header 2024-09-03 16:11:54 -04:00
David Volovskiy 1b887aea2b Made skipping a wrong letters a #define 2024-09-03 16:11:54 -04:00
David Volovskiy b58d6c0a2e Changed size of word lists from const int to #define to avoid folding constant array error 2024-09-03 16:11:54 -04:00
David Volovskiy 8342fef84f Added ability to skip already guessed letters that are wrong 2024-09-03 16:11:54 -04:00
David Volovskiy 0d16d126cd Added ability to guess non-dict words and repeats as that can save 11.5KB of watch memory 2024-09-03 16:11:54 -04:00
David Volovskiy 5149e7e1dd the dict of words to its own header 2024-09-03 16:11:54 -04:00
David Volovskiy 1d2fb20e99 Readding comment showing count of possible words. 2024-09-03 16:11:54 -04:00
David Volovskiy 099f78443e Added ability to use T in Wordle 2024-09-03 16:11:54 -04:00
David Volovskiy 7f38f8e416 modified Wordle list to use Wordle's own list and add 2 more letters 2024-09-03 16:11:54 -04:00
David Volovskiy 1a1560b59d Bugfix on elements not resetting when winning or losing 2024-09-03 16:11:54 -04:00
David Volovskiy 0d58f0d77d JOB to JOb 2024-09-03 16:11:54 -04:00
David Volovskiy af6f6002ba Fixed the bug of the text not resetting after a timeout 2024-09-03 16:11:54 -04:00
David Volovskiy a0ffd0ca7f Fix on playing with daily streak 2024-09-03 16:11:54 -04:00
David Volovskiy 7ceb682675 Better handling of seeing if currently playing 2024-09-03 16:11:54 -04:00
David Volovskiy cb57ef237d Got rid of continue's blinking 2024-09-03 16:11:54 -04:00
David Volovskiy ce31db3712 Continue test now blinks 2024-09-03 16:11:54 -04:00
David Volovskiy 1868f8446a Added continue screen 2024-09-03 16:11:54 -04:00
David Volovskiy 57ca74b253 Added SONIC and LASER to the allowed words 2024-09-03 16:11:54 -04:00
David Volovskiy 935ede9fda Fixed leaving the screen and coming back 2024-09-03 16:11:54 -04:00
David Volovskiy 4257b71562 combined two areas of code into one function 2024-09-03 16:11:54 -04:00
David Volovskiy 67c1089fb2 Don't delete the submitted characters if already guessed or not in dict 2024-09-03 16:11:54 -04:00
David Volovskiy a0111fbe24 Swapped the Nice and Job so the Nice text is more likely to appear first. 2024-09-03 16:11:54 -04:00
David Volovskiy 2a10402d19 Removed wordle from movmeent face after testing 2024-09-03 16:08:12 -04:00
David Volovskiy 4bb4bc85fa USE_RANDOM_GUESS variable added 2024-09-03 16:08:12 -04:00
David Volovskiy 1e76022146 Gave the wordle face the ability to give random guesses on the first word 2024-09-03 16:08:12 -04:00
David Volovskiy 1675af6449 bug fix on max score 2024-09-03 16:08:12 -04:00
David Volovskiy 6dd46b46b1 Able to turn the expanded dict on and off with a variable 2024-09-03 16:08:12 -04:00
David Volovskiy 10eda8b208 Added expanded dictionary to check against 2024-09-03 16:08:12 -04:00
David Volovskiy 580f8bf8ee bugfix on iterating to previous position 2024-09-03 16:08:12 -04:00
David Volovskiy 02f6a3256c Added documentation for Wordle face 2024-09-03 16:08:12 -04:00
David Volovskiy 3e327eb7fd Another fix on the word_check 2024-09-03 16:08:12 -04:00
David Volovskiy cef0d8836a Don't allow readding already guessed items 2024-09-03 16:08:12 -04:00
David Volovskiy 8ea779874f Face compares the values correctly now and does a dict lookup first 2024-09-03 16:08:12 -04:00
David Volovskiy 0c86be4a40 Swapped button mapping and removed fast iteration 2024-09-03 16:08:12 -04:00
David Volovskiy 676f50d194 Added fast cycle 2024-09-03 16:08:12 -04:00
David Volovskiy 3a24ede3de day streak and further wordle dev 2024-09-03 16:08:12 -04:00
David Volovskiy ee53e83ae7 Changed dict to a smaller and simpler one 2024-09-03 16:08:12 -04:00
David Volovskiy 6bf22edbdc Continued Wordle dev 2024-09-03 16:08:12 -04:00
David Volovskiy 2e878e146c Start of Wordle 2024-09-03 16:08:12 -04:00
Matheus Afonso Martins Moreira a67076f437 Merge PR #458 - add layla tune
Awesome lick from Eric Clapton - Layla.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/458
2024-09-03 00:49:20 -03:00
Matheus Afonso Martins Moreira 23c422b27a Merge PR #459 - add power rangers tune
The power lies on their side.

Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/459
2024-09-03 00:42:33 -03:00
mcguirepr89 b774900ae6 finally squashed the bug 2024-09-02 13:10:26 -04:00