Ejemplo n.º 1
0
void update_led_indicator(unsigned int low_time, unsigned int high_time)
{
	BSP_GPIOSetValue(USER_GPIO_IDX_LED, GPIO_LOW_LEVEL);
	OSTimeDly(low_time);	
	BSP_GPIOSetValue(USER_GPIO_IDX_LED, GPIO_HIGH_LEVEL);
	OSTimeDly(high_time);
}
Ejemplo n.º 2
0
void Yeelink_initGPIO(void)
{
    //GPIO09
	BSP_GPIOPinMux(USER_GPIO_IDX_LED);		    /* led indicator */
	BSP_GPIOSetDir(USER_GPIO_IDX_LED, 1);		/* output */
	BSP_GPIOSetValue(USER_GPIO_IDX_LED, 1);	    /* low level */

	//GPIO30
	BSP_GPIOPinMux(USER_GPIO_IDX_LED3);		    /* led indicator */
	BSP_GPIOSetDir(USER_GPIO_IDX_LED3, 1);		/* output */
	BSP_GPIOSetValue(USER_GPIO_IDX_LED3, 1);	    /* low level */
	

	/* DirectConfig gpio is valied when set to low level */
	BSP_GPIOPinMux(USER_GPIO_DIRECTCONFIG);  
	BSP_GPIOSetDir(USER_GPIO_DIRECTCONFIG, GPIO_DIRECTION_INPUT); 
}
Ejemplo n.º 3
0
/* 
 * ===  FUNCTION  ======================================================================
 *         Name:  SysIdxLedThread
 *  Description:  Output indicator LED based on system status. 
 *         Note:
 * =====================================================================================
 */
void SysIdxLedThread(void *arg)
{
	log_info("Create system LED indicator task success.\n");

	/* initialize LED indicator gpio */
	BSP_GPIOPinMux(USER_GPIO_IDX_LED);		    /* led indicator */
	BSP_GPIOSetDir(USER_GPIO_IDX_LED, 1);		/* output */
	BSP_GPIOSetValue(USER_GPIO_IDX_LED, 0);	    /* low level */

	while (1) {
		switch (sys_status.status) {
			case SYS_STATUS_WIFI_STOP:
				while (sys_status.status == SYS_STATUS_WIFI_STOP) {
					BSP_GPIOSetValue(USER_GPIO_IDX_LED, GPIO_LOW_LEVEL);
					OSTimeDly(200);
				}
				break;

			case SYS_STATUS_WIFI_SOFTAP:
				update_led_indicator(300, 100);
				break;

			case SYS_STATUS_WIFI_DIRECTCONFING:
				update_led_indicator(20, 20);
				break;

			case SYS_STATUS_WIFI_STA_CONNECTED:
				update_led_indicator(100, 100);
				break;

			case SYS_STATUS_WIFI_STA_LOGIN:
				while (sys_status.status == SYS_STATUS_WIFI_STA_LOGIN) {
					BSP_GPIOSetValue(USER_GPIO_IDX_LED, GPIO_HIGH_LEVEL);
					OSTimeDly(200);
				}
				break;

			default:
				break;
		}		
	}
}
Ejemplo n.º 4
0
Archivo: testing.c Proyecto: yjl/test
void timer_irq_handle(void)
{
    int i;

    //if (led_data.status_flag == 1) {
        /* restart timer1 */
        BSP_Timer1Init(10);

        /* Check red/green/blue/white led 
      
            if (led_pwm > LED_MIN_BRIGHTNESS &&led_pwm <= LED_MAX_BRIGHTNESS) 
            {
                if (timer_cnt == pwm &&led_data.timer_cnt != LED_MAX_BRIGHTNESS) {
                    BSP_GPIOSetValue(led_gpio, 0);

                } else if (timer_cnt == 0) {
                    BSP_GPIOSetValue(led_data.led_data.led_table[i].led_gpio, 1);
                }           
            }else if(led_pwm == MIN_BRIGHTNESS){
                if(led_data.timer_cnt == 0){
                    BSP_GPIOSetValue(led_gpio, 0);
                }
            }   
        }*/
        if(PWM_H>0)
        {
            BSP_GPIOSetValue(IR_GPIO, 1);
            PWM_H--;
        }      else if (PWM_L>=0 && PWM_H == 0)
        {
            BSP_GPIOSetValue(IR_GPIO, 0);
            PWM_L--;
        }
        
        timer_cnt++;
    }