summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 @@
bool alarm_screen(void)
{
/* get alarm time from RTC */
-
+
int h, m, hour, minute;
-
+
rtc_get_alarm(&h, &m);
-
- m = m / 5 * 5; /* 5 min accuracy should be enough */
-
+
+ if (m > 60 || h > 24) { /* after battery-change RTC-values are out of range */
+ m = 0;
+ h = 12;
+ } else {
+ m = m / 5 * 5; /* 5 min accuracy should be enough */
+ }
+
bool done=false;
char buf[32];
-
+
lcd_clear_display();
lcd_puts(0,1, str(LANG_ALARM_MOD_KEYS));
-
+
while(!done) {
snprintf(buf, 32, str(LANG_ALARM_MOD_TIME), h, m);
lcd_puts(0,0, buf);