static void ScheduleTimeout(void* arg)
{
    u8 times;
    OSStatus err;
    struct tm time;
    SMngTimer* mng = (SMngTimer*)arg;

    err = mico_reload_timer(&mng->timer);
    if(err != kNoErr) {
        user_log("[ERR]ScheduleTimeout: reload schedule[%d] failed", mng->index);
    }

    u16 remind_time = GetScheduleRemindHour(mng->index)*60 + GetScheduleRemindMinute(mng->index);
    sntp_current_time_get(&time);
    u16 current_time = time.tm_hour*60 + time.tm_min;

    if(current_time < remind_time) {
        return ;
    }

    times = GetScheduleRemindTimes(mng->index);
    while(times--) {
        u8 type = GetScheduleTrackType(mng->index);
        u16 track_id = GetScheduleSelTrack(mng->index);
        AaSysLogPrint(LOGLEVEL_DBG, "track type %d index %d will be played %d times", type, track_id, times);
        SendQuitReq();
        SendPlayReq(type, track_id);
    }
}
Пример #2
0
int alink_uart_put(char *buf, int len)
{
  if(_uart_reload_timer.handle != NULL)
    mico_reload_timer(&_uart_reload_timer);
  MicoUartSend(UART_FOR_APP, buf, len);
  return 0;
}
Пример #3
0
//启动喝水定时
static void TIMER_start(void)
{
    //获取配置

    mico_reload_timer(&cupTimeObj.cup_timer);
    cupTimeObj.unitTimes = 0;
    mico_start_timer(&cupTimeObj.cup_timer);
}