1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #ifndef __ALARM_MANAGER_H__
- #define __ALARM_MANAGER_H__
- #ifdef CONFIG_RTC_ACTS
- #include <drivers/rtc.h>
- #endif
- #define MAX_ALARM_SUPPORT 3
- enum alarm_state {
- ALARM_STATE_NULL = 0,
- ALARM_STATE_OFF,
- ALARM_STATE_FREE,
- ALARM_STATE_OK,
- };
- struct alarm_info
- {
- int alarm_time;
- int state;
- };
- struct alarm_manager
- {
- struct alarm_info alarm[MAX_ALARM_SUPPORT];
- struct alarm_info sn_alarm[MAX_ALARM_SUPPORT];
- };
- typedef void (*alarm_callback)(void);
- int find_and_set_alarm(void);
- int system_registry_alarm_callback(alarm_callback callback);
- int alarm_manager_init(void);
- int alarm_manager_get_time(struct rtc_time *tm);
- int alarm_manager_set_time(struct rtc_time *tm);
- int alarm_manager_get_alarm(struct rtc_time *tm, bool *is_on);
- int alarm_manager_set_alarm(struct rtc_time *tm, bool is_snooze);
- int alarm_manager_delete_alarm(struct rtc_time *tm);
- bool alarm_wakeup_source_check(void);
- struct alarm_manager *larm_manager_get_exist_alarm(int *alarm_count);
- int alarm_manager_update_alarm(uint32_t time_sec, uint8_t alarm_index, int alarm_state);
- struct alarm_manager *alarm_manager_get_exist_alarm(int *alarm_count);
- #endif
|