diff options
| author | Michele Bini <michele.bini@gmail.com> | 2022-03-27 20:41:04 (GMT) |
|---|---|---|
| committer | Michele Bini <michele.bini@gmail.com> | 2022-03-27 20:41:04 (GMT) |
| commit | a2b714f9f8b48f85e345b7aa5b57b4cbda667ffe (patch) | |
| tree | 01992de18a9fe6c1372f12123adfd40a9109f9ee /src/components | |
| parent | 4f81b59e2cd453c1a9422fb1f45d2cd27d52b2a3 (diff) | |
| parent | 2fb00c8d012837af7afa93add7d895a34a588cab (diff) | |
Merge ../../InfiniTime into ultraredux
# Conflicts:
# src/displayapp/screens/WatchFaceDigital.cpp
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/datetime/DateTimeController.cpp | 6 | ||||
| -rw-r--r-- | src/components/settings/Settings.h | 14 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/components/datetime/DateTimeController.cpp b/src/components/datetime/DateTimeController.cpp index 3bfbdc7..8bf5fb9 100644 --- a/src/components/datetime/DateTimeController.cpp +++ b/src/components/datetime/DateTimeController.cpp @@ -89,12 +89,12 @@ void DateTime::UpdateTime(uint32_t systickCounter) { isHourAlreadyNotified = false; } - if ((minute == 0 || minute == 30) && !isHalfHourAlreadyNotified) { + if ((!(minute%5)) && !isHalfHourAlreadyNotified) { isHalfHourAlreadyNotified = true; if (systemTask != nullptr) { - systemTask->PushMessage(System::Messages::OnNewHalfHour); + systemTask->PushMessage(System::Messages::OnChime); } - } else if (minute != 0 && minute != 30) { + } else if (!!(minute%5)) { isHalfHourAlreadyNotified = false; } diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h index 5201b77..fb7f598 100644 --- a/src/components/settings/Settings.h +++ b/src/components/settings/Settings.h @@ -9,6 +9,7 @@ namespace Pinetime { public: enum class ClockType : uint8_t { H24, H12 }; enum class Notification : uint8_t { ON, OFF }; + enum class ChimesOption : uint8_t { None, Hours, HalfHours }; enum class WakeUpMode : uint8_t { SingleTap = 0, DoubleTap = 1, @@ -49,6 +50,16 @@ namespace Pinetime { return settings.clockFace; }; + void SetChimeOption(ChimesOption chimeOption) { + if (chimeOption != settings.chimesOption) { + settingsChanged = true; + } + settings.chimesOption = chimeOption; + }; + ChimesOption GetChimeOption() const { + return settings.chimesOption; + }; + void SetAppMenu(uint8_t menu) { appMenu = menu; }; @@ -135,7 +146,7 @@ namespace Pinetime { }; private: - static constexpr uint32_t settingsVersion = 0x4021; // infinitime redux settings + static constexpr uint32_t settingsVersion = 0x4031; // infinitime redux settings struct SettingsData { uint32_t version = settingsVersion; uint32_t screenTimeOut = 15000; @@ -144,6 +155,7 @@ namespace Pinetime { Notification notificationStatus = Notification::ON; uint8_t clockFace = 0; + ChimesOption chimesOption = ChimesOption::None; std::bitset<4> wakeUpMode {0}; Controllers::BrightnessController::Levels brightLevel = Controllers::BrightnessController::Levels::Medium; |
