summaryrefslogtreecommitdiff
path: root/src/components/datetime/DateTimeController.cpp
diff options
context:
space:
mode:
authoruli <cybuzuma@vnxs.de>2022-05-28 14:33:04 +0200
committerJF <JF002@users.noreply.github.com>2022-11-11 21:44:00 +0100
commit38092fcb40695098702163ab64a06787b2dc2499 (patch)
tree1bb502aa5032ad9793c48a2ff6d227c5330f5e0f /src/components/datetime/DateTimeController.cpp
parent840aab7f90944c6c91f98bfb6069293fe2f273dd (diff)
add CTS local time characteristic and use it to provide UTC in DateTimeController
Diffstat (limited to 'src/components/datetime/DateTimeController.cpp')
-rw-r--r--src/components/datetime/DateTimeController.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/components/datetime/DateTimeController.cpp b/src/components/datetime/DateTimeController.cpp
index 4dc16329..8aab49ec 100644
--- a/src/components/datetime/DateTimeController.cpp
+++ b/src/components/datetime/DateTimeController.cpp
@@ -36,6 +36,7 @@ void DateTime::SetTime(uint16_t year,
/* .tm_mon = */ month - 1,
/* .tm_year = */ year - 1900,
};
+
tm.tm_isdst = -1; // Use DST value from local time zone
currentDateTime = std::chrono::system_clock::from_time_t(std::mktime(&tm));
@@ -50,6 +51,11 @@ void DateTime::SetTime(uint16_t year,
systemTask->PushMessage(System::Messages::OnNewTime);
}
+void DateTime::SetTimeZone(uint8_t timezone, uint8_t dst) {
+ tzOffset = timezone;
+ dstOffset = dst;
+}
+
void DateTime::UpdateTime(uint32_t systickCounter) {
// Handle systick counter overflow
uint32_t systickDelta = 0;