示例#1
0
void save_alarm(bool addToRing)
{
  AlarmTime tempAlarmTime;
  //temp_alarm.enabled = cell_index->row==0;
  APP_LOG(APP_LOG_LEVEL_DEBUG, "Exiting alarm window");
  if(temp_alarm.enabled) {
    APP_LOG(APP_LOG_LEVEL_DEBUG, "alarm ENABLED");
  } else {
    APP_LOG(APP_LOG_LEVEL_DEBUG, "alarm DISABLED");
  }
  // update timer, destroy windows
  //temp_alarm.enabled=true;
  if(!clock_is_24h_style()) {
    // convert hours and am/pm back
    APP_LOG(APP_LOG_LEVEL_DEBUG,"Hour before conversion is %d",temp_alarm.hour);
    if(s_is_am) {
      int hour = temp_alarm.hour;
      hour -= 12;
      if(hour<0) hour+=12;
      APP_LOG(APP_LOG_LEVEL_DEBUG,"Hour after conversion is %d",hour);
      temp_alarm.hour = hour;
    } else {
      temp_alarm.hour = ((temp_alarm.hour+12)%12) + 12;
    }          
  }

  tempAlarmTime.hour = temp_alarm.hour;
  tempAlarmTime.minute = temp_alarm.minute;

  if(addToRing)
    alarm_ring_add(&tempAlarmTime);
  
  memcpy(current_alarm,&temp_alarm,sizeof(Alarm));
  alarm_process();
}
示例#2
0
文件: app.c 项目: sakhnik/zelesta
void app_second(void)
{
    if (!app_running)
        return;
    clock_process();
    alarm_process();
}
int main()
{
    struct device_state old_state;
    get_device_state(&old_state);

    if (screen_init() < 0)
        goto err1;
    ev_init();
    led_init();

    sleep(3);

    /* Set battery LED, initialize image, screen brightness */
    power_event(1);
    screen_brightness_animation_start();

    while (!quit) {
        int r, delay = alarm_get_time_until_next();
        if (delay < 1) {
            alarm_process();
            continue;
        }

        r = ev_get(delay);

        /* Press below keys will wake the display and repeat the
           display cycle:
           Power key, Volume up/down key, Camera key.
           Long press Power key will reboot the device. */
        switch (r) {
        /* Power key */
        case EVENT_POWER_KEY_DOWN:
            if (powerup)
            alarm_set_relative(power_key_alarm, NULL, 1000);
            break;
        case EVENT_POWER_KEY_UP:
            alarm_cancel(power_key_alarm);
            update_screen_on_wakeup_key();
            break;
        /* Other keys */
        case EVENT_VOLUMEDOWN_KEY_DOWN:
            update_screen_on_wakeup_key2();
            break;
        case EVENT_VOLUMEUP_KEY_DOWN:
            update_screen_on_wakeup_key2();
            break;
        case EVENT_CAMERA_KEY_DOWN:
            update_screen_on_wakeup_key2();
            break;
        /* Battery events */
        case EVENT_BATTERY:
            power_event(1);
            break;
        /* Others */
        case EVENT_QUIT:
            quit = 1;
            break;
        default:
            break;
        }
    }

    led_uninit();
    ev_exit();
    screen_uninit();

    return 0;

err1:
    return -1;

}