summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/datetime/DateTimeController.cpp120
-rw-r--r--src/components/datetime/DateTimeController.h17
-rw-r--r--src/components/settings/Settings.cpp16
-rw-r--r--src/components/settings/Settings.h30
4 files changed, 183 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
diff --git a/src/components/settings/Settings.cpp b/src/components/settings/Settings.cpp
new file mode 100644
index 00000000..0c6cf610
--- /dev/null
+++ b/src/components/settings/Settings.cpp
@@ -0,0 +1,16 @@
+#include "Settings.h"
+
+using namespace Pinetime::Controllers;
+
+
+// TODO (team):
+// Read and write the settings to Flash
+//
+void Settings::Init() {
+ // default Clock face
+ clockFace = 0;
+
+ clockType = ClockType::H24;
+
+}
+
diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h
new file mode 100644
index 00000000..fa67f35e
--- /dev/null
+++ b/src/components/settings/Settings.h
@@ -0,0 +1,30 @@
+#pragma once
+#include <cstdint>
+
+namespace Pinetime {
+ namespace Controllers {
+ class Settings {
+ public:
+ enum class ClockType {H24, H12};
+
+ void Init();
+
+ void SetClockFace( uint8_t face ) { clockFace = face; };
+ uint8_t GetClockFace() { return clockFace; };
+
+ void SetAppMenu( uint8_t menu ) { appMenu = menu; };
+ uint8_t GetAppMenu() { return appMenu; };
+
+ void SetClockType( ClockType clocktype ) { clockType = clocktype; };
+ ClockType GetClockType() { return clockType; };
+
+
+ private:
+ uint8_t clockFace = 0;
+ uint8_t appMenu = 0;
+
+ ClockType clockType = ClockType::H24;
+
+ };
+ }
+} \ No newline at end of file