diff options
| author | SteveAmor <SteveAmor@users.noreply.github.com> | 2021-11-07 10:50:33 (GMT) |
|---|---|---|
| committer | SteveAmor <SteveAmor@users.noreply.github.com> | 2021-11-07 10:50:33 (GMT) |
| commit | 5932391c8b2178cc0beed9f4c2b0aa4a24ac7e1f (patch) | |
| tree | 0aa7b5045e4bfb473b066aa23a1a2380442db358 /src/components/datetime | |
| parent | 0aa73c2279f81a3cc2c730d253807b6102033195 (diff) | |
Chimes option
Diffstat (limited to 'src/components/datetime')
| -rw-r--r-- | src/components/datetime/DateTimeController.cpp | 16 | ||||
| -rw-r--r-- | src/components/datetime/DateTimeController.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/components/datetime/DateTimeController.cpp b/src/components/datetime/DateTimeController.cpp index e9c5d87..2513e42 100644 --- a/src/components/datetime/DateTimeController.cpp +++ b/src/components/datetime/DateTimeController.cpp @@ -75,6 +75,22 @@ void DateTime::UpdateTime(uint32_t systickCounter) { minute = time.minutes().count(); second = time.seconds().count(); + if(minute == 0 and not isHourAlreadyNotified) { + isHourAlreadyNotified = true; + if(systemTask != nullptr) + systemTask->PushMessage(System::Messages::OnNewHour); + } else if (minute != 0) { + isHourAlreadyNotified = false; + } + + if((minute == 0 or minute == 30) and not isHalfHourAlreadyNotified) { + isHalfHourAlreadyNotified = true; + if(systemTask != nullptr) + systemTask->PushMessage(System::Messages::OnNewHalfHour); + } else if (minute != 0 and minute != 30) { + isHalfHourAlreadyNotified = false; + } + // Notify new day to SystemTask if (hour == 0 and not isMidnightAlreadyNotified) { isMidnightAlreadyNotified = true; diff --git a/src/components/datetime/DateTimeController.h b/src/components/datetime/DateTimeController.h index 77ed68e..cbc8044 100644 --- a/src/components/datetime/DateTimeController.h +++ b/src/components/datetime/DateTimeController.h @@ -86,6 +86,8 @@ namespace Pinetime { std::chrono::seconds uptime {0}; bool isMidnightAlreadyNotified = false; + bool isHourAlreadyNotified = true; + bool isHalfHourAlreadyNotified = true; System::SystemTask* systemTask = nullptr; }; } |
