summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/alarm_menu.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/apps/alarm_menu.c b/apps/alarm_menu.c
index 2f8c5ced47..9ccdcfc3c2 100644
--- a/apps/alarm_menu.c
+++ b/apps/alarm_menu.c
@@ -41,19 +41,24 @@
41bool alarm_screen(void) 41bool alarm_screen(void)
42{ 42{
43 /* get alarm time from RTC */ 43 /* get alarm time from RTC */
44 44
45 int h, m, hour, minute; 45 int h, m, hour, minute;
46 46
47 rtc_get_alarm(&h, &m); 47 rtc_get_alarm(&h, &m);
48 48
49 m = m / 5 * 5; /* 5 min accuracy should be enough */ 49 if (m > 60 || h > 24) { /* after battery-change RTC-values are out of range */
50 50 m = 0;
51 h = 12;
52 } else {
53 m = m / 5 * 5; /* 5 min accuracy should be enough */
54 }
55
51 bool done=false; 56 bool done=false;
52 char buf[32]; 57 char buf[32];
53 58
54 lcd_clear_display(); 59 lcd_clear_display();
55 lcd_puts(0,1, str(LANG_ALARM_MOD_KEYS)); 60 lcd_puts(0,1, str(LANG_ALARM_MOD_KEYS));
56 61
57 while(!done) { 62 while(!done) {
58 snprintf(buf, 32, str(LANG_ALARM_MOD_TIME), h, m); 63 snprintf(buf, 32, str(LANG_ALARM_MOD_TIME), h, m);
59 lcd_puts(0,0, buf); 64 lcd_puts(0,0, buf);