Skip to content

Commit 6959d8c

Browse files
Update src/displayapp/screens/WatchFaceTerminal.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
1 parent 4d85028 commit 6959d8c

1 file changed

Lines changed: 15 additions & 55 deletions

File tree

src/displayapp/screens/WatchFaceTerminal.cpp

Lines changed: 15 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -156,65 +156,25 @@ void WatchFaceTerminal::Refresh() {
156156
uint8_t minute = time.minutes().count();
157157
uint8_t second = time.seconds().count();
158158

159-
char minutesChar[6];
160-
sprintf(minutesChar, "%02d", static_cast<int>(minute));
161-
162-
char hoursChar[8];
163-
164-
char ampmChar[3];
165-
if (settingsController.GetClockType() == Controllers::Settings::ClockType::H24) {
166-
sprintf(hoursChar, "%02d", hour);
167-
} else {
168-
if (hour == 0 && hour != 12) {
169-
hour = 12;
170-
sprintf(ampmChar, "AM");
171-
} else if (hour == 12 && hour != 0) {
172-
hour = 12;
173-
sprintf(ampmChar, "PM");
174-
} else if (hour < 12 && hour != 0) {
175-
sprintf(ampmChar, "AM");
176-
} else if (hour > 12 && hour != 0) {
177-
hour = hour - 12;
178-
sprintf(ampmChar, "PM");
179-
}
180-
sprintf(hoursChar, "%02d", hour);
181-
}
182-
183-
char secondsChar[5];
184-
sprintf(secondsChar, "%02d", static_cast<int>(second));
185-
186-
auto batteryValue = static_cast<uint8_t>(batteryController.PercentRemaining());
187-
char battStr[24];
188-
sprintf(battStr, "[BATT]#387b54 %d%\%#", batteryValue);
189-
lv_label_set_text(batteryPercent, battStr);
190-
191-
if (hoursChar[0] != displayedChar[0] || hoursChar[1] != displayedChar[1] || minutesChar[0] != displayedChar[2] ||
192-
minutesChar[1] != displayedChar[3] || secondsChar[0] != displayedChar[4] || secondsChar[1] != displayedChar[5]) {
193-
displayedChar[0] = hoursChar[0];
194-
displayedChar[1] = hoursChar[1];
195-
displayedChar[2] = minutesChar[0];
196-
displayedChar[3] = minutesChar[1];
197-
displayedChar[4] = secondsChar[0];
198-
displayedChar[5] = secondsChar[1];
159+
if (displayedHour != hour || displayedMinute != minute || displayedSecond != second) {
160+
displayedHour = hour;
161+
displayedMinute = minute;
162+
displayedSecond = second;
199163

200164
if (settingsController.GetClockType() == Controllers::Settings::ClockType::H12) {
201-
if (hoursChar[0] == '0') {
202-
hoursChar[0] = ' ';
165+
char ampmChar[3] = "AM";
166+
if (hour == 0) {
167+
hour = 12;
168+
} else if (hour == 12) {
169+
ampmChar[0] = 'P';
170+
} else if (hour > 12) {
171+
hour = hour - 12;
172+
ampmChar[0] = 'P';
203173
}
174+
lv_label_set_text_fmt(label_time, "[TIME]#11cc55 %02d:%02d:%02d %s#", hour, minute, second, ampmChar);
175+
} else {
176+
lv_label_set_text_fmt(label_time, "[TIME]#11cc55 %02d:%02d:%02d", hour, minute, second);
204177
}
205-
206-
char timeStr[42];
207-
sprintf(timeStr,
208-
"[TIME]#11cc55 %c%c:%c%c:%c%c %s#",
209-
hoursChar[0],
210-
hoursChar[1],
211-
minutesChar[0],
212-
minutesChar[1],
213-
secondsChar[0],
214-
secondsChar[1],
215-
ampmChar);
216-
217-
lv_label_set_text(label_time, timeStr);
218178
}
219179

220180
if ((year != currentYear) || (month != currentMonth) || (dayOfWeek != currentDayOfWeek) || (day != currentDay)) {

0 commit comments

Comments
 (0)