Сохранение/восстановление/сброс настроек через веб-интерфейс.
[esp-clock.git] / alarm.cpp
1 #include "Clock.h"
2
3 void hourlyBeep() {
4   bool enable_hourly = cfg.getBoolValue(F("enable_hourly"));
5   int hourly_count = cfg.getIntValue(F("hourly_count"));
6   bool hourly_night = cfg.getBoolValue(F("hourly_night"));
7   int hourly_beep_ms = cfg.getIntValue(F("hourly_beep_ms"));
8   int hourly_silent_ms = cfg.getIntValue(F("hourly_silent_ms"));
9   int hourly_tone = cfg.getIntValue(F("hourly_tone"));  
10   if ( enable_hourly && hourly_count && (!isNight() || hourly_night)) {
11     int length = hourly_count * hourly_beep_ms + (hourly_count - 1) * hourly_silent_ms;
12     beep(hourly_tone, length, hourly_beep_ms, hourly_silent_ms);
13   }
14 }
15
16 void checkAlarm() {
17   bool enable_alarm = cfg.getBoolValue(F("enable_alarm"));
18   int alarm_hour = cfg.getIntValue(F("alarm_hour"));
19   int alarm_minute = cfg.getIntValue(F("alarm_minute"));
20   const char* alarm_days = cfg.getCharValue(F("alarm_days"));
21   int alarm_tone = cfg.getIntValue(F("alarm_tone"));
22   int alarm_length = cfg.getIntValue(F("alarm_length"));
23   int alarm_beep_ms = cfg.getIntValue(F("alarm_beep_ms"));
24   int alarm_silent_ms = cfg.getIntValue(F("alarm_silent_ms"));
25   if ( enable_alarm && (hh == alarm_hour) && (mi == alarm_minute) && (alarm_days[dw?dw-1:6]!='0')) {
26     beep(alarm_tone, alarm_length * 1000, alarm_beep_ms, alarm_silent_ms);
27     reportMessage(F("Будильник сработал!"));
28   }
29 }
30
31 void setupAlarm() {
32   unregisterTimeHandler(F("hourly-beep"));
33   unregisterTimeHandler(F("check-alarm"));
34   registerTimeHandler(F("hourly-beep"),'h',hourlyBeep);
35   registerTimeHandler(F("check-alarm"),'m',checkAlarm);
36 }
37