summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/recorder/icons.c17
-rw-r--r--apps/recorder/icons.h2
-rw-r--r--apps/status.c9
3 files changed, 13 insertions, 15 deletions
diff --git a/apps/recorder/icons.c b/apps/recorder/icons.c
index 3f6518903f..22233b6c84 100644
--- a/apps/recorder/icons.c
+++ b/apps/recorder/icons.c
@@ -290,7 +290,7 @@ void statusbar_icon_lock(void)
/*
* Print time to status bar
*/
-void statusbar_time(int minutes)
+void statusbar_time(int hour, int minute)
{
unsigned char buffer[6];
unsigned int width, height;
@@ -298,22 +298,13 @@ void statusbar_time(int minutes)
unsigned char *font;
#endif
- int hour = minutes / 60;
- int minute = minutes % 60;
-
if ( hour >= 0 &&
hour <= 23 &&
minute >= 0 &&
- minute <= 59 )
- {
- snprintf(buffer, sizeof(buffer), "%d%d:%d%d",
- (hour & 0x30) >> 4,
- hour & 0x0f,
- (minute & 0xf0) >> 4,
- minute & 0x0f);
+ minute <= 59 ) {
+ snprintf(buffer, sizeof(buffer), "%02d:%02d", hour, minute);
}
- else
- {
+ else {
strncpy(buffer, "--:--", sizeof buffer);
}
diff --git a/apps/recorder/icons.h b/apps/recorder/icons.h
index cebff7ca2c..8f12528063 100644
--- a/apps/recorder/icons.h
+++ b/apps/recorder/icons.h
@@ -86,6 +86,6 @@ extern void statusbar_icon_play_mode(int mode);
extern void statusbar_icon_shuffle(void);
extern void statusbar_icon_lock(void);
#ifdef HAVE_RTC
-extern void statusbar_time(int minutes);
+extern void statusbar_time(int hour, int minute);
#endif
#endif /* End HAVE_LCD_BITMAP */
diff --git a/apps/status.c b/apps/status.c
index c2b6aad7fc..9d5c02db23 100644
--- a/apps/status.c
+++ b/apps/status.c
@@ -69,6 +69,9 @@ void status_draw(void)
{
int battlevel = battery_level();
int volume = mpeg_val2phys(SOUND_VOLUME, global_settings.volume);
+#ifdef HAVE_LCD_BITMAP
+ int hour, minute;
+#endif
#if defined(HAVE_LCD_CHARCELLS)
lcd_icon(ICON_BATTERY, true);
@@ -172,7 +175,11 @@ void status_draw(void)
if (keys_locked)
statusbar_icon_lock();
#ifdef HAVE_RTC
- statusbar_time( rtc_read(3)*60 + rtc_read(2) );
+ hour = rtc_read(3);
+ hour = ((hour & 0x30) >> 4) * 10 + (hour & 0x0f);
+ minute = rtc_read(2);
+ minute = ((minute & 0x70) >> 4) * 10 + (minute & 0x0f);
+ statusbar_time(hour, minute);
#endif
#ifdef SIMULATOR