summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/datetime/DateTimeController.cpp6
-rw-r--r--src/components/settings/Settings.h14
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;