From 9ed2f18a25b531421e6e643329128968e0505124 Mon Sep 17 00:00:00 2001 From: Michele Bini Date: Fri, 8 Apr 2022 16:58:52 +0200 Subject: watchface digital display seconds 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 batteryPercentRemaining {}; DirtyValue 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; -- cgit v0.10.2