EAPI int elm_main(int argc, char **argv) { int i; int activate = 0; int repeat = 0; for (i = 1; i < argc; i++) { if (!strcmp(argv[i], "-activate")) activate = 1; } load_alarm(); if (activate) { clear_alarm(); alm.job = 0; if (alm.on) { if (alm.repeat) set_alarm(); else alm.on = 0; } save_alarm(); create_alarm_win(); alarm_sound(); } else create_main_win(); elm_run(); elm_shutdown(); return 0; }
void alarm_init() { flash.read(ALARM_FLAG_FLASH_ADDR,&alarm_flag,1); if(alarm_flag != ALARM_FLAG) { alarm_flag = ALARM_FLAG; memset(alarm,0,sizeof(alarm)); for(int i = 0; i < 20; i++) { alarm[i].dt.year = 15; alarm[i].dt.month = 11; alarm[i].dt.date = 30; } flash.write(ALARM_FLASH_ADDR,(uint8_t *)alarm,sizeof(alarm)); flash.write(ALARM_FLAG_FLASH_ADDR,&alarm_flag,1); } else { load_alarm(); } }