Ejemplo n.º 1
0
/*---------------------------   -------------------------*/
void system_sleep_countdown_detect()
{
    // 5min sleep 5*60 = 300 *1s
    if(( get_sleep_countdown() >= SYSTEM_SLEEP_DEADLINE) && (get_work_mode() == SYSTEM_DEFAULT_MODE))
    {
        clear_sleep_countdown();
        system_mcu_sleep_mode_operate();
    }
}
Ejemplo n.º 2
0
void TIMER1_IRQHandler()
{
    if((NRF_TIMER1->EVENTS_COMPARE[0] == 1) && (NRF_TIMER1->INTENSET & TIMER_INTENSET_COMPARE0_Msk))
    {
        NRF_TIMER1->EVENTS_COMPARE[0] = 0;
        NRF_TIMER1->TASKS_CLEAR = 1;
        if(get_work_switch_state())  
        {
            work_switch_clear();
            
            switch(get_work_mode())
            {
            case SYSTEM_PEDOMETER_MODE:
                system_default_work_mode_init();
                set_led_flicker(2);
                break;

            case SYSTEM_USER_SLEEP_MODE :
                system_user_sleep_mode_init();
                set_led_flicker(3);
                break;

            case SYSTEM_BLE_WORK_MODE :
                system_ble_work_mode_init();
                set_led_flicker(4);
                break;

            }
        }
        else     
        {
            switch(get_work_mode())
            {
            case SYSTEM_PEDOMETER_MODE:
                system_default_work_mode_operate();

                break;

            case SYSTEM_USER_SLEEP_MODE :
                system_user_sleep_mode_operate();
                break;

            case SYSTEM_BLE_WORK_MODE :
                system_ble_work_mode_operate();
                break;

            case SYSTEM_MCU_SLEEP_MODE :
                system_mcu_sleep_mode_operate();
                break;

            }
            system_idle_operate();
        }

    }
}