Merge the next branch containing numerous new sensor watch faces
as well as some new features. Not all of them made it in the end
and we even had to revert improvements merged in last next due to
issues that weren't found during testing. Still, I am very proud
to be merging in and closing over 20 pull requests.
I believe the project is in the best possible shape it can be
before the movement 2.0 refactor.
The DST code has not yet been fully tested, the upcoming movement
refactor is upon us and it will integrate with the micro timezone
library anyway. Revert it so that next can be merged into main.
The DST code has not yet been fully tested, the upcoming movement
refactor is upon us and it will integrate with the micro timezone
library anyway. Revert it so that next can be merged into main.
The DST code has not yet been fully tested, the upcoming movement
refactor is upon us and it will integrate with the micro timezone
library anyway. Revert it so that next can be merged into main.
The DST code has not yet been fully tested, the upcoming movement
refactor is upon us and it will integrate with the micro timezone
library anyway. Revert it so that next can be merged into main.
There was an issue where the clock's display would remain in 024h mode
even after switching back to 12h/24h mode because it only took into
account the leading zero bit, whose value is meaningless unless the
24h mode bit is also set.
The issue is fixed by taking both bits into account.
There was an issue where the simple clock's display would remain in
024h mode even after switching back to 12h/24h mode because it only
took into account the leading zero bit, whose value is meaningless
unless the 24h mode bit is also set.
The issue is fixed by taking both bits into account.
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.
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>
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.
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.
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.
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.
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.
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.
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.
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.
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.