summaryrefslogtreecommitdiff
path: root/src/components/datetime
diff options
context:
space:
mode:
authorJoaquim <joaquim.org@gmail.com>2021-02-24 19:40:24 +0000
committerJoaquim <joaquim.org@gmail.com>2021-02-24 19:40:24 +0000
commit8c53d0b70baa03c2b07360444a7cd0ad99bb8381 (patch)
tree52585926f2abc810b2b93475dfb2580e6ea19f85 /src/components/datetime
parentc18f4e5811dbd388e3b4acc29b1fab68279ec405 (diff)
Multi face support, analog clock, 12/24 config
Diffstat (limited to 'src/components/datetime')
-rw-r--r--src/components/datetime/DateTimeController.cpp120
-rw-r--r--src/components/datetime/DateTimeController.h17
2 files changed, 137 insertions, 0 deletions
diff --git a/src/components/datetime/DateTimeController.cpp b/src/components/datetime/DateTimeController.cpp
index 30d9c13f..59982477 100644
--- a/src/components/datetime/DateTimeController.cpp
+++ b/src/components/datetime/DateTimeController.cpp
@@ -64,3 +64,123 @@ void DateTime::UpdateTime(uint32_t systickCounter) {
second = time.seconds().count();
}
+const char *DateTime::MonthShortToString() {
+ return DateTime::MonthsString[(uint8_t)month];
+}
+
+const char *DateTime::MonthShortToStringLow() {
+ return DateTime::MonthsStringLow[(uint8_t)month];
+}
+
+const char *DateTime::MonthsToStringLow() {
+ return DateTime::MonthsLow[(uint8_t)month];
+}
+
+const char *DateTime::DayOfWeekToString() {
+ return DateTime::DaysString[(uint8_t)dayOfWeek];
+}
+
+const char *DateTime::DayOfWeekShortToString() {
+ return DateTime::DaysStringShort[(uint8_t)dayOfWeek];
+}
+
+const char *DateTime::DayOfWeekToStringLow() {
+ return DateTime::DaysStringLow[(uint8_t)dayOfWeek];
+}
+
+const char *DateTime::DayOfWeekShortToStringLow() {
+ return DateTime::DaysStringShortLow[(uint8_t)dayOfWeek];
+}
+
+
+char const *DateTime::DaysStringLow[] = {
+ "--",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+};
+
+char const *DateTime::DaysStringShortLow[] = {
+ "--",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat",
+ "Sun"
+};
+
+char const *DateTime::DaysStringShort[] = {
+ "--",
+ "MON",
+ "TUE",
+ "WED",
+ "THU",
+ "FRI",
+ "SAT",
+ "SUN"
+};
+
+char const *DateTime::DaysString[] = {
+ "--",
+ "MONDAY",
+ "TUESDAY",
+ "WEDNESDAY",
+ "THURSDAY",
+ "FRIDAY",
+ "SATURDAY",
+ "SUNDAY"
+};
+
+char const *DateTime::MonthsString[] = {
+ "--",
+ "JAN",
+ "FEB",
+ "MAR",
+ "APR",
+ "MAY",
+ "JUN",
+ "JUL",
+ "AUG",
+ "SEP",
+ "OCT",
+ "NOV",
+ "DEC"
+};
+
+char const *DateTime::MonthsStringLow[] = {
+ "--",
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+};
+
+char const *DateTime::MonthsLow[] = {
+ "--",
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+}; \ No newline at end of file
diff --git a/src/components/datetime/DateTimeController.h b/src/components/datetime/DateTimeController.h
index d6020745..16bb59c9 100644
--- a/src/components/datetime/DateTimeController.h
+++ b/src/components/datetime/DateTimeController.h
@@ -20,6 +20,14 @@ namespace Pinetime {
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();
+
std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> CurrentDateTime() const { return currentDateTime; }
std::chrono::seconds Uptime() const { return uptime; }
private:
@@ -34,6 +42,15 @@ namespace Pinetime {
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[];
+
};
}
} \ No newline at end of file