summaryrefslogtreecommitdiff
path: root/src/components/datetime/DateTimeController.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/datetime/DateTimeController.h')
-rw-r--r--src/components/datetime/DateTimeController.h123
1 files changed, 81 insertions, 42 deletions
diff --git a/src/components/datetime/DateTimeController.h b/src/components/datetime/DateTimeController.h
index fb0969d1..d0ae727e 100644
--- a/src/components/datetime/DateTimeController.h
+++ b/src/components/datetime/DateTimeController.h
@@ -9,56 +9,95 @@ namespace Pinetime {
}
namespace Controllers {
class DateTime {
- public:
- enum class Days : uint8_t {Unknown, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
- enum class Months : uint8_t {Unknown, January, February, March, April, May, June, July, August, September, October, November, December};
+ public:
+ enum class Days : uint8_t { Unknown, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
+ enum class Months : uint8_t {
+ Unknown,
+ January,
+ February,
+ March,
+ April,
+ May,
+ June,
+ July,
+ August,
+ September,
+ October,
+ November,
+ December
+ };
- DateTime(System::SystemTask& systemTask);
+ DateTime(System::SystemTask& systemTask);
- void SetTime(uint16_t year, uint8_t month, uint8_t day, uint8_t dayOfWeek, uint8_t hour, uint8_t minute, uint8_t second, uint32_t systickCounter);
- void UpdateTime(uint32_t systickCounter);
- uint16_t Year() const { return year; }
- Months Month() const { return month; }
- uint8_t Day() const { return day; }
- Days DayOfWeek() const { return dayOfWeek; }
- uint8_t Hours() const { return hour; }
- uint8_t Minutes() const { return minute; }
- uint8_t Seconds() const { return second; }
+ void SetTime(uint16_t year,
+ uint8_t month,
+ uint8_t day,
+ uint8_t dayOfWeek,
+ uint8_t hour,
+ uint8_t minute,
+ uint8_t second,
+ uint32_t systickCounter);
+ void UpdateTime(uint32_t systickCounter);
+ uint16_t Year() const {
+ return year;
+ }
+ Months Month() const {
+ return month;
+ }
+ uint8_t Day() const {
+ return day;
+ }
+ Days DayOfWeek() const {
+ return dayOfWeek;
+ }
+ uint8_t Hours() const {
+ return hour;
+ }
+ uint8_t Minutes() const {
+ return minute;
+ }
+ uint8_t Seconds() const {
+ return second;
+ }
- const char *MonthShortToString();
- const char *MonthShortToStringLow();
- const char *MonthsToStringLow();
- const char *DayOfWeekToString();
- const char *DayOfWeekShortToString();
- const char *DayOfWeekToStringLow();
- const char *DayOfWeekShortToStringLow();
+ const char* MonthShortToString();
+ const char* MonthShortToStringLow();
+ const char* MonthsToStringLow();
+ const char* DayOfWeekToString();
+ const char* DayOfWeekShortToString();
+ const char* DayOfWeekToStringLow();
+ const char* DayOfWeekShortToStringLow();
- std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> CurrentDateTime() const { return currentDateTime; }
- std::chrono::seconds Uptime() const { return uptime; }
- private:
- System::SystemTask& systemTask;
- uint16_t year = 0;
- Months month = Months::Unknown;
- uint8_t day = 0;
- Days dayOfWeek = Days::Unknown;
- uint8_t hour = 0;
- uint8_t minute = 0;
- uint8_t second = 0;
+ std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> CurrentDateTime() const {
+ return currentDateTime;
+ }
+ std::chrono::seconds Uptime() const {
+ return uptime;
+ }
- uint32_t previousSystickCounter = 0;
- std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> currentDateTime;
- std::chrono::seconds uptime {0};
+ private:
+ System::SystemTask& systemTask;
+ uint16_t year = 0;
+ Months month = Months::Unknown;
+ uint8_t day = 0;
+ Days dayOfWeek = Days::Unknown;
+ uint8_t hour = 0;
+ uint8_t minute = 0;
+ uint8_t second = 0;
- bool isMidnightAlreadyNotified = false;
+ uint32_t previousSystickCounter = 0;
+ std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> currentDateTime;
+ std::chrono::seconds uptime {0};
- static char const *DaysString[];
- static char const *DaysStringShort[];
- static char const *DaysStringLow[];
- static char const *DaysStringShortLow[];
- static char const *MonthsString[];
- static char const *MonthsStringLow[];
- static char const *MonthsLow[];
+ bool isMidnightAlreadyNotified = false;
+ static char const* DaysString[];
+ static char const* DaysStringShort[];
+ static char const* DaysStringLow[];
+ static char const* DaysStringShortLow[];
+ static char const* MonthsString[];
+ static char const* MonthsStringLow[];
+ static char const* MonthsLow[];
};
}
} \ No newline at end of file