/************************************************* * Function: MX_Rest * Description: * Author: cxy * Returns: * Parameter: * History: *************************************************/ void MX_Rest() { if(eState_EasyLink!=context->micoStatus.sys_state) { PlatformEasyLinkButtonClickedCallback(); } }
static void _button_EL_irq_handler( void* arg ) { (void)(arg); if (GPIO_ReadInputDataBit(Button_EL_PORT, Button_EL_PIN) == 0) { _default_start_time = mico_get_time()+1; mico_start_timer(&_button_EL_timer); } else { if ( (_default_start_time != 0) && (mico_get_time() - _default_start_time) > 50){ /* EasyLink button clicked once */ PlatformEasyLinkButtonClickedCallback(); } mico_stop_timer(&_button_EL_timer); _default_start_time = 0; } }
static void _button_EL_irq_handler( void* arg ) { (void)(arg); int interval = -1; if ( MicoGpioInputGet( (mico_gpio_t)EasyLink_BUTTON ) == 0 ) { _default_start_time = mico_get_time()+1; mico_start_timer(&_button_EL_timer); } else { interval = mico_get_time() + 1 - _default_start_time; if ( (_default_start_time != 0) && interval > 50 && interval < RestoreDefault_TimeOut){ /* EasyLink button clicked once */ PlatformEasyLinkButtonClickedCallback(); } mico_stop_timer(&_button_EL_timer); _default_start_time = 0; } }
static void _button_EL_irq_handler( void* arg ) { (void)(arg); int interval = -1; if (GPIO_ReadInputDataBit(Button_EL_PORT, Button_EL_PIN) == 0) { _default_start_time = mico_get_time()+1; mico_start_timer(&_button_EL_timer); } else { interval = mico_get_time() + 1 - _default_start_time; if ( (_default_start_time != 0) && interval > 50 && interval < RestoreDefault_TimeOut){ /* EasyLink button clicked once */ PlatformEasyLinkButtonClickedCallback(); } mico_stop_timer(&_button_EL_timer); _default_start_time = 0; } }
static void _button_EL_irq_handler( void* arg ) { (void)(arg); int interval = -1; mico_start_timer(&_button_EL_timer); if ( MicoGpioInputGet( (mico_gpio_t)EasyLink_BUTTON ) == 0 ) { _default_start_time = mico_get_time()+1; mico_start_timer(&_button_EL_timer); MicoGpioEnableIRQ( (mico_gpio_t)EasyLink_BUTTON, IRQ_TRIGGER_RISING_EDGE, _button_EL_irq_handler, NULL ); } else { interval = mico_get_time() + 1 - _default_start_time; if ( (_default_start_time != 0) && interval > 50 && interval < RestoreDefault_TimeOut){ /* EasyLink button clicked once */ PlatformEasyLinkButtonClickedCallback(); //platform_log("PlatformEasyLinkButtonClickedCallback!"); MicoGpioOutputLow( (mico_gpio_t)MICO_RF_LED ); MicoGpioEnableIRQ( (mico_gpio_t)EasyLink_BUTTON, IRQ_TRIGGER_FALLING_EDGE, _button_EL_irq_handler, NULL ); } mico_stop_timer(&_button_EL_timer); _default_start_time = 0; } }