Commit Graph

14 Commits

Author SHA1 Message Date
NeroBurner
a0cd439efc
Alarm persist to flash (#1367)
* AlarmController: Add saving alarm time to file

Save the set alarm time to the SPI NOR flash, so it does not reset to
the default value when the watch resets, e.g. due to watchdog timeout
or reflashing of a new version of InfiniTime.

Just like the `Settings.h` `LoadSettingsFromFile()` the previous alarm
at boot (if available) and `SaveSettingsToFile()` the current alarm when
the `Alarm.h` screen is closed (only if the settings have changed).

The alarm-settings file is stored in `.system/alarm.dat`. The `.system`
folder is created if it doesn't yet exist.

Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1330

* alarmController: close .system dir after usage

Close the `lfs_dir` object for the `.system` dir after usage. Otherwise
on the second changed alarm the system will lockup because the `.system`
dir is already open and was never closed.

---------

Co-authored-by: Galdor Takacs <g@ldor.de>
2024-09-28 08:14:08 +02:00
Riku Isokoski
5ab255b26b SystemTask: Move MotorController to DisplayApp
Vibrations should be associated with something happening on the UI.
Therefore SystemTask should not be controlling the motor.
2023-02-25 12:15:00 +02:00
Finlay Davidson
96165a8541 Format header files
In my PR updating clang-format, I forgot to also format the headers.
2023-01-09 21:41:21 +01:00
Riku Isokoski
afea7ca0d1
Update clang-tidy configuration and fix some warnings (#1474)
Don't enable coding conventions from unrelated projects. Only enable
generic checks.
2022-12-18 18:14:36 +01:00
Reinhold Gschweicher
f699261ca3 AlarmController: add const to SecondsToAlarm() function
The function `SecondsToAlarm()` doesn't change anything in the
`AlarmController` object. Mark the function `const` to show this
property.
2022-09-27 20:32:13 +02:00
Michele Bini
35dcf8c860
Switch to freertos timers (#1095)
* Use FreeRTOS timer for AlarmController
* Use FreeRTOS timer for MotorController
* Remove app_timer component from compilation as we now solely use
  FreeROTS timer
* Simplify variable and text names for AlarmController and MotorController timers
* Call ScheduleAlarm directly from StopAlerting, for recurring timers

Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-06-06 17:47:43 +02:00
Finlay Davidson
7f45538eb5 Apply clang-format to all C++ files 2022-06-05 09:15:46 +03:00
Reinhold Gschweicher
78cab3604d AlarmController: allow loss of precision for alarmTime cast
Allow a loss of precision if the system clock has a lower resolution
than nanoseconds. This is the case for web assembly.
2022-03-29 21:25:22 +02:00
Reinhold Gschweicher
e104f17b1b AlarmController: remove unused app_timer.h include in header 2021-12-09 21:30:33 +01:00
Reinhold Gschweicher
ac7b2da611 Update includes to to be relative to src directory
Don't use relative imports like `../foo.h` as those depend on the
relative position of both files. Rather than that use imports relative
to the `src` directory, which explicitly is part of the include
directories.
2021-11-15 22:02:49 +01:00
Mark Russell
f857a757a7 Fixes per Riksu9000's feedback 2021-09-16 15:38:31 -04:00
Mark Russell
2bf339a3f8 License header fix, add missing braces 2021-09-13 16:05:35 -04:00
Mark Russell
bfe13d9d68 Fixes based on code reviews (formatting, UI code) 2021-09-13 15:26:28 -04:00
Mark Russell
1fb5757655 Created basic alarm app 2021-09-10 18:40:13 -04:00