summaryrefslogtreecommitdiffstats
path: root/movement/watch_faces/settings
diff options
context:
space:
mode:
authorJoey Castillo <joeycastillo@utexas.edu>2021-11-25 10:06:49 -0500
committerJoey Castillo <joeycastillo@utexas.edu>2021-11-25 10:36:01 -0500
commit5c3967aea28dff5a2731a28862c5cae3b995f875 (patch)
treee4ff92e50234f3adf300f66722bd9ac8bd360599 /movement/watch_faces/settings
parent4a71def034590236b8a3527960cb2331876529a5 (diff)
downloadSensor-Watch-5c3967aea28dff5a2731a28862c5cae3b995f875.tar.gz
Sensor-Watch-5c3967aea28dff5a2731a28862c5cae3b995f875.tar.bz2
Sensor-Watch-5c3967aea28dff5a2731a28862c5cae3b995f875.zip
movement: implement time zone setting
Diffstat (limited to 'movement/watch_faces/settings')
-rw-r--r--movement/watch_faces/settings/set_time_face.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/movement/watch_faces/settings/set_time_face.c b/movement/watch_faces/settings/set_time_face.c
index 6b82c68b..fd414279 100644
--- a/movement/watch_faces/settings/set_time_face.c
+++ b/movement/watch_faces/settings/set_time_face.c
@@ -2,8 +2,8 @@
#include "set_time_face.h"
#include "watch.h"
-#define SET_TIME_FACE_NUM_SETTINGS (6)
-const char set_time_face_titles[SET_TIME_FACE_NUM_SETTINGS][3] = {"HR", "MN", "SE", "YR", "MO", "DA"};
+#define SET_TIME_FACE_NUM_SETTINGS (7)
+const char set_time_face_titles[SET_TIME_FACE_NUM_SETTINGS][3] = {"HR", "M1", "SE", "YR", "MO", "DA", "ZO"};
void set_time_face_setup(movement_settings_t *settings, void ** context_ptr) {
(void) settings;
@@ -55,6 +55,10 @@ bool set_time_face_loop(movement_event_t event, movement_settings_t *settings, v
date_time.unit.day = 1;
}
break;
+ case 6: // time zone
+ settings->bit.time_zone++;
+ if (settings->bit.time_zone > 40) settings->bit.time_zone = 0;
+ break;
}
watch_rtc_set_date_time(date_time);
break;
@@ -76,12 +80,22 @@ bool set_time_face_loop(movement_event_t event, movement_settings_t *settings, v
if (date_time.unit.hour > 12) watch_set_indicator(WATCH_INDICATOR_PM);
else watch_clear_indicator(WATCH_INDICATOR_PM);
}
- } else {
+ } else if (current_page < 6) {
watch_clear_colon();
watch_clear_indicator(WATCH_INDICATOR_24H);
watch_clear_indicator(WATCH_INDICATOR_PM);
sprintf(buf, "%s %2d%02d%02d", set_time_face_titles[current_page], date_time.unit.year + 20, date_time.unit.month, date_time.unit.day);
+ } else {
+ if (event.subsecond % 2) {
+ watch_clear_colon();
+ sprintf(buf, "%s ", set_time_face_titles[current_page]);
+ } else {
+ watch_set_colon();
+ sprintf(buf, "%s %3d%02d ", set_time_face_titles[current_page], (int8_t) (movement_timezone_offsets[settings->bit.time_zone] / 60), (int8_t) (movement_timezone_offsets[settings->bit.time_zone] % 60) * (movement_timezone_offsets[settings->bit.time_zone] < 0 ? -1 : 1));
+ }
}
+
+ // blink up the parameter we're setting
if (event.subsecond % 2) {
switch (current_page) {
case 0: