The watch was not indicating to the user that it was in 24h mode
when set to the leading zero 024h time format. This could lead
to ambiguity and confusion, so make sure to indicate 24h mode.
Closes#476.
Reported-by: CarpeNoctem <cryptomax@pm.me>
GitHub-Issue: https://github.com/joeycastillo/Sensor-Watch/issues/476
This reverts commit a715265af6, reversing
changes made to 9c093f9540.
Insidious issues were found in the course of long term testing
by the community, and further reviews of the code were not enough
to pinpoint the issue and fix it. So for now the appropriate action
is to revert these changes while development continues, and possibly
merge them back in once they have been stabilized.
Tested-on-hardware-by: David Volovskiy <devolov@gmail.com>
Tested-on-hardware-by: CarpeNoctem <cryptomax@pm.me>
Tested-on-hardware-by: Krzysztof Gałka <@kshysztof@Discord>
The new DST changes caused problems in one specific face - world_clock2.
An incorrect variable was used due to a confusing name.
It has been revised to fix the problems that were caused.
Closes#475.
Reported-by: CarpeNoctem <cryptomax@pm.me>
Fixed-by: David Volovskiy <devolov@gmail.com>
Tested-by: CarpeNoctem <cryptomax@pm.me>
Tested-on-hardware-by: CarpeNoctem <cryptomax@pm.me>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/470
GitHub-Issue: https://github.com/joeycastillo/Sensor-Watch/issues/475
This commit caused state restored from backup registers
to be overwritten. It is thereby reverted until a better
solution is found or movement is refactored.
This reverts commit 524098b925.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
References: https://github.com/joeycastillo/Sensor-Watch/pull/474
PR #386 did not add the C file to the makefile,
causing the build to fail at the link stage
due to the missing object file and the symbols
that were supposed to be provided by it.
Adding the file to the build fixes#472.
Reported-by: CarpeNoctem <cryptomax@pm.me>
Fixed-by: CarpeNoctem <cryptomax@pm.me>
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Issue: https://github.com/joeycastillo/Sensor-Watch/issues/472
Adds the ability to tally negative counts, tally quickly by holding down
the buttons as well as the ability to enable and cycle through multiple
preset initial values for numerous contexts such as card games.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/430
Implements automatic DST data to the sunrise/sunset presets,
making the whole system more automatic and therefore more reliable.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/471
Creates a macro that returns the size of the presets array,
converting it into a compile time constant value that occupies
no memory and that compilers can constant fold into other expressions
potentially leading to dead code elimination.
Fix issue where the calculator face's user interface display
was delayed about a quarter second due to the activation event
being a no-op.
Tested-by: David Volovskiy <devolov@gmail.com>
Reported-by: David Volovskiy <devolov@gmail.com>
Fixed-by: David Volovskiy <devolov@gmail.com>
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/454
Implements logic to automatically offset daylight saving time settings
when calculating timezone offsets. This should make the DST functions
work automatically with no need for user input in most cases.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/470
Adds a toggle in the preferences face that allows the user
to enable or disable the daylight savings time.
Should help produce the correct results with the sunrise/sunset presets.
A proper solution would be to integrate the tzinfo database
but it's too big for the watch at the time of this writing.
Can't be done unless it can be shrunk down into a subset
the user would be interested. Even then it's a stopgap
since the database is likely to keep growing over time.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/268
Displays the time in a "close enough" manner:
periods of five minutes, relative to the nearest hour.
For example:
- 3:24 -> 25 past 3
- 3:50 -> 10 to 4
- 3:59 -> 4 o'clock
- 1:35 -> 35 past 1
- 1:50 -> 10 to 2
- 2:00 -> 2 o'clock
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-on-hardware-by: Ruben Nic <RubenSandwich@users.noreply.github.com>
Tested-on-hardware-by: KlingonJane <148595159+KlingonJane@users.noreply.github.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/401
Measures the temperature until it stabilizes for half a minute.
This watch face is not meant to diagnose, treat, cure or prevent
any disease.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/413
Keeps the LED turned on while the user is interacting with the watch.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/394
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
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
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
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
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.
- 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.