summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-04-08 14:58:52 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-04-08 14:59:48 (GMT)
commit9ed2f18a25b531421e6e643329128968e0505124 (patch)
tree8b7c25cf83e49a4e2ad92abd3d2d8319cb04b608
parent898ba6a9c637c2269d48c8ac8c42347acd0e2c7c (diff)
watchface digital display seconds
-rw-r--r--src/displayapp/screens/WatchFaceDigital.cpp13
-rw-r--r--src/displayapp/screens/WatchFaceDigital.h3
2 files changed, 16 insertions, 0 deletions
diff --git a/src/displayapp/screens/WatchFaceDigital.cpp b/src/displayapp/screens/WatchFaceDigital.cpp
index 8d5e27d..50c56d9 100644
--- a/src/displayapp/screens/WatchFaceDigital.cpp
+++ b/src/displayapp/screens/WatchFaceDigital.cpp
@@ -71,6 +71,10 @@ WatchFaceDigital::WatchFaceDigital(DisplayApp* app,
lv_label_set_text_static(label_time_pm, "P ");
lv_obj_align(label_time_pm, label_time, LV_ALIGN_OUT_LEFT_TOP, 0, 0);
+ label_time_seconds = lv_label_create(lv_scr_act(), nullptr);
+ lv_label_set_text_static(label_time_seconds, seconds_label_text);
+ lv_obj_align(label_time_seconds, label_time, LV_ALIGN_OUT_RIGHT_BOTTOM, 0, 0);
+
backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_click(backgroundLabel, true);
lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP);
@@ -132,6 +136,15 @@ void WatchFaceDigital::Refresh() {
}
#endif
+ uint8_t second = dateTimeController.Seconds();
+
+ if (second != displayedSecond) {
+ displayedSecond = second;
+ seconds_label_text[1] = '0' + (second / 10);
+ seconds_label_text[2] = '0' + (second % 10);
+ lv_label_set_text_static(label_time_seconds, seconds_label_text);
+ }
+
currentDateTime = dateTimeController.CurrentDateTime();
if (currentDateTime.IsUpdated()) {
diff --git a/src/displayapp/screens/WatchFaceDigital.h b/src/displayapp/screens/WatchFaceDigital.h
index 2e0ad0b..c4a92c0 100644
--- a/src/displayapp/screens/WatchFaceDigital.h
+++ b/src/displayapp/screens/WatchFaceDigital.h
@@ -39,6 +39,7 @@ namespace Pinetime {
System::SystemTask& systemTask;
uint8_t displayedHour = -1;
uint8_t displayedMinute = -1;
+ uint8_t displayedSecond = -1;
uint16_t currentYear = 1970;
Controllers::DateTime::Months currentMonth = Pinetime::Controllers::DateTime::Months::Unknown;
@@ -46,6 +47,7 @@ namespace Pinetime {
uint8_t currentDay = 0;
char hhmm_label_text[6] = { '?', '?', ':', '?', '?', 0 };
+ char seconds_label_text[4] = { ':', '?', '?', 0 };
DirtyValue<uint8_t> batteryPercentRemaining {};
DirtyValue<bool> powerPresent {};
@@ -59,6 +61,7 @@ namespace Pinetime {
lv_obj_t* label_temp;
lv_obj_t* label_time;
lv_obj_t* label_time_pm;
+ lv_obj_t* label_time_seconds;
lv_obj_t* label_date;
lv_obj_t* backgroundLabel;
lv_obj_t* batteryIcon;