|
@@ -25,6 +25,7 @@
|
|
|
#include <linux/rtc.h>
|
|
|
#include <cjson/cJSON.h>
|
|
|
|
|
|
+#define IOCTL_DS13307_ALRM _IOR('p', 0x15, unsigned char)
|
|
|
|
|
|
int page(struct http_request *);
|
|
|
int handle_time(struct http_request *);
|
|
@@ -153,6 +154,7 @@ int handle_wkalrm(struct http_request *req) {
|
|
|
char *result_string;
|
|
|
struct rtc_wkalrm alarm;
|
|
|
int fdesc, ret;
|
|
|
+ unsigned char alarm_bit;
|
|
|
cJSON *alarm_json, *json_min, *json_hour, *json_mday,
|
|
|
*json_mon, *json_year, *json_sec, *json_wday,
|
|
|
*json_enabled, *json_pending;
|
|
@@ -160,6 +162,7 @@ int handle_wkalrm(struct http_request *req) {
|
|
|
alarm_json = cJSON_CreateObject();
|
|
|
fdesc = open("/dev/rtc", O_RDONLY);
|
|
|
ret = ioctl(fdesc, RTC_WKALM_RD, &alarm);
|
|
|
+ ret |= ioctl(fdesc, IOCTL_DS13307_ALRM, &alarm_bit);
|
|
|
close(fdesc);
|
|
|
if (!ret) {
|
|
|
json_sec = cJSON_CreateNumber(alarm.time.tm_sec);
|
|
@@ -170,7 +173,7 @@ int handle_wkalrm(struct http_request *req) {
|
|
|
json_year = cJSON_CreateNumber(alarm.time.tm_year);
|
|
|
json_wday = cJSON_CreateNumber(alarm.time.tm_wday);
|
|
|
json_enabled = cJSON_CreateNumber(alarm.enabled);
|
|
|
- json_pending = cJSON_CreateNumber(alarm.pending);
|
|
|
+ json_pending = cJSON_CreateNumber(alarm_bit);
|
|
|
cJSON_AddItemToObject(alarm_json, "seconds", json_sec);
|
|
|
cJSON_AddItemToObject(alarm_json, "minutes", json_min);
|
|
|
cJSON_AddItemToObject(alarm_json, "hour", json_hour);
|