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.
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.
Konrad Rieck [Sat, 9 Mar 2024 19:48:42 +0000 (20:48 +0100)]
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.
Konrad Rieck [Fri, 8 Mar 2024 13:50:32 +0000 (14:50 +0100)]
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.
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.
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.
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.
This merge adds numerous individually small fixes and improvements
which amount to a sizeable set of features.
- New hourly chime tunes added
- Old hourly chime tunes improved
- Display of characters on the stock LCD improved
- Documentation improved
- Simulator improved
- Leap year handling improved
- Months and their days sanity checked and fixed
- More compile time configurable defaults added
- Excessively exact time checks relaxed
- Clock face indicators matched to original watch
- Hardware interface issue fixed
The most significant new feature however is software debouncing.
The sensor watch now properly handles hardware switch bouncing,
making the button inputs much more precise at the cost of a small amount
of latency, greatly improving usability. Any watch faces which require
holding down buttons as part of their user interface, the pulsometer
for example, should see huge improvements in their usability.
* 9c093f9 Merge PR #387 - configurable default birthdate/location
* 879c48c Merge PR #417 - improve 24h only mode
* db4097b Merge PR #426 - add temperature input to simulator
* dea0566 Merge PR #428 - fix issues in sunrise/sunset
* c8ca0d3 Merge PR #431 - fix wrong number of days in month
* 95ca374 Merge PR #433 - fix clock face indicators
* 663cd72 Merge PR #434 - fix leap years
* a715265 Merge PR #437 - debouncing logic
* c741332 Merge PR #439 - fix scheduled task misses
* 657ff72 Merge PR #440 - fix countdown face issues
* c8a87d3 Merge PR #441 - update documentation
* dd04443 Merge PR #443 - improved t and y character display
* 42dc151 Merge PR #447 - improve kim possible chime
* fa0cdef Merge PR #450 - sync after enabling RTC
* a67076f Merge PR #458 - add layla tune
* 23c422b Merge PR #459 - add power rangers tune
* a2e5417 Merge PR #461 - improve t/y special case docs