blob: 461a04586283f2c06a785344e255d0fcbfdbac6c [file] [log] [blame]
#include <math.h>
#include <stdlib.h>
#include "mbtk_alarm.h"
#include "lynq_alarm.h"
#include "mbtk_str.h"
bool rtc_flag = FALSE;
int lynq_rtc_service_init(void)
{
int ret = 0;
if(!rtc_flag)
{
rtc_flag = TRUE;
ret = 1;
}
else
{
ret = -1;
}
return ret;
}
int lynq_rtc_service_deinit(void)
{
int ret = 0;
if(rtc_flag)
{
rtc_flag = FALSE;
ret = 0;
}
else{
ret = -1;
}
return ret;
}
int lynq_set_wakealarm(unsigned long time_sec,int src_id,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify )
{
UNUSED(time_sec);
if(time_sec < 1 || time_sec > pow(2, 28)) {
return -1;
}
return -1;
}
//int lynq_set_poweralarm(unsigned long time_sec)
int lynq_set_poweralarm(unsigned long time_sec,int src_id)
{
UNUSED(time_sec);
if(time_sec < 1 || time_sec > pow(2, 28)) {
return -1;
}
char buf[50] ={0};
sprintf(buf, "rtcwake -d rtc0 -s %d -m on &", time_sec);
system(buf);
return 0;
}
// min:1 max:2^28
ssize_t wakealarm(char *buffer,int src_id,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify )
{
UNUSED(buffer);
if(str_empty(buffer)) {
return -1;
}
return lynq_set_wakealarm(atol(buffer), src_id, rtc_id, wakealarm_notify);
}
// min:1 max:2^28
ssize_t poweralarm(char *buffer,int src_id)
{
UNUSED(buffer);
if(str_empty(buffer)) {
return -1;
}
return lynq_set_poweralarm(atol(buffer), 0);
}
ssize_t cancel_wakealarm(int src_id, int rtc_id)
{
return -1;
}