diff options
author | Markus Braun <markus.braun@krawel.de> | 2002-08-30 19:44:58 +0000 |
---|---|---|
committer | Markus Braun <markus.braun@krawel.de> | 2002-08-30 19:44:58 +0000 |
commit | 4e4dfc0848d8f4a31ee292332f72569148f67d90 (patch) | |
tree | 62b2a9e2a8a833a094dca4975317f491b2e85003 | |
parent | 5bade50b6af1494e8e045694f5f0d290582c1af7 (diff) |
Fixed time display in statusbar.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2087 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/recorder/icons.c | 17 | ||||
-rw-r--r-- | apps/recorder/icons.h | 2 | ||||
-rw-r--r-- | apps/status.c | 9 |
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 |