summaryrefslogtreecommitdiff
path: root/apps/alarm_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/alarm_menu.c')
-rw-r--r--apps/alarm_menu.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/apps/alarm_menu.c b/apps/alarm_menu.c
index 20b2f51821..47d2c1226b 100644
--- a/apps/alarm_menu.c
+++ b/apps/alarm_menu.c
@@ -82,20 +82,11 @@ bool alarm_screen(void)
82 lcd_update(); 82 lcd_update();
83 rtc_init(); 83 rtc_init();
84 rtc_set_alarm(h,m); 84 rtc_set_alarm(h,m);
85 /* in some cases enabling the alarm results in an activated AF flag */ 85 rtc_enable_alarm(true);
86 /* this should not happen, but it does */
87 /* if you know why, tell me! */
88 /* for now, we try again forever in this case */
89 while (rtc_enable_alarm(true)) { /* error occured */
90 sleep(HZ / 10);
91 rtc_init();
92 rtc_set_alarm(h,m);
93 }
94 sleep(HZ);
95 lcd_puts(0,1,str(LANG_ALARM_MOD_SHUTDOWN)); 86 lcd_puts(0,1,str(LANG_ALARM_MOD_SHUTDOWN));
96 lcd_update(); 87 lcd_update();
97 sleep(HZ); 88 sleep(HZ);
98 power_off(); 89 done = true;
99 } else { 90 } else {
100 lcd_clear_display(); 91 lcd_clear_display();
101 lcd_puts(0,0,str(LANG_ALARM_MOD_ERROR)); 92 lcd_puts(0,0,str(LANG_ALARM_MOD_ERROR));
@@ -150,6 +141,11 @@ bool alarm_screen(void)
150 case BUTTON_STOP: 141 case BUTTON_STOP:
151 case BUTTON_MENU: 142 case BUTTON_MENU:
152#endif 143#endif
144 lcd_clear_display();
145 lcd_puts(0,0,str(LANG_ALARM_MOD_DISABLE));
146 lcd_update();
147 sleep(HZ);
148 rtc_enable_alarm(false);
153 done = true; 149 done = true;
154 break; 150 break;
155 } 151 }