コード例 #1
0
ファイル: app_batt_task.c プロジェクト: Baxianxiahai/HWBOX
int app_batt_alert_timer_handler(ke_msg_id_t const msgid,
                                        void const *param,
										ke_task_id_t const dest_id,
										ke_task_id_t const src_id)
{
		
	
		//Read LED GPIO state
    if(bat_lvl_alert_used)
    {		
		if (bat_led_state)
		{
            GPIO_SetInactive( bat_led_port, bat_led_pin);            	

			bat_led_state = 0;
			app_timer_set(APP_BATT_ALERT_TIMER, dest_id, 20);
#ifdef CUSTOM_BATTERY_LEVEL_MEASUREMENTS___BOOST_MODE_CONFIGURATION
            if (app_get_sleep_mode())
                app_force_active_mode();    // prevent sleep only if enabled
#endif //CUSTOM_BATTERY_LEVEL_MEASUREMENTS___BOOST_MODE_CONFIGURATION
		}
		else
		{
            GPIO_SetActive( bat_led_port, bat_led_pin);

			bat_led_state = 1;
			app_timer_set(APP_BATT_ALERT_TIMER, dest_id, 5);
#ifdef CUSTOM_BATTERY_LEVEL_MEASUREMENTS___BOOST_MODE_CONFIGURATION
            app_restore_sleep_mode(); 
#endif //CUSTOM_BATTERY_LEVEL_MEASUREMENTS___BOOST_MODE_CONFIGURATION
		}
    }
		
    return (KE_MSG_CONSUMED);
}
コード例 #2
0
/**
 ****************************************************************************************
 * @brief  Sets-up the LEDS to indicate connection astablished status
 *
 * @param   None    
 *
 * @return  void
 ****************************************************************************************
 */
void leds_set_connection_established()
{
    if (!(GetWord16(SYS_STAT_REG) & DBG_IS_UP)) {
        red_led_off();
        green_led_on();
        app_timer_set(APP_GREEN_LED_TIMER, TASK_APP, GREEN_ON);
        if (app_get_sleep_mode()) {
            app_force_active_mode(); // prevent sleep only if enabled
        }
    }
}
コード例 #3
0
/**
 ****************************************************************************************
 * @brief Block sleep when a LED is up in BOOST mode for the period a LED is on.
 *
 * @param   None    
 *
 * @return  void
 ****************************************************************************************
 */
void leds_block_sleep()
{
    if ((GetBits16(ANA_STATUS_REG, BOOST_SELECTED) == 0x1) && app_get_sleep_mode()) {
        app_force_active_mode(); // in BOOST mode, prevent sleep only if enabled
    }
}