int main()
{
    int usb_a_exist = 0;
    int usb_b_exist = 0;
    int on_flag;
    int checkflag;

    if (check_usb_devices_exists(0) == 0)
    {
        usb_a_exist = 1;
        on_flag = 1;
    }
    else
    {
        usb_a_exist = 0;
        on_flag = 0;
    }

    if (check_usb_devices_exists(1) == 0)
    {
        usb_b_exist = 1;
        on_flag = 1;
    }
    else
    {
        usb_b_exist = 0;
        on_flag = 0;
    }

    if (usb_a_exist || usb_b_exist) {
        while(1) {
            if(on_flag == 0)
            {
                usbset(0,USB_CMD_ON);
                on_flag = 1;
                usleep(500000);
            }
            else
            {
                checkflag = 0;
                if(usb_a_exist)
                    checkflag |= usbcheck(0);
                if(usb_b_exist)
                    checkflag |= usbcheck(1);
                if (checkflag == 0)
                {
                    usbset(0,USB_CMD_OFF);
                    on_flag = 0;
                }
                sleep(1);
            }

        }
    }
    else
    {
        usbset(0,USB_CMD_OFF);
    }

}
Esempio n. 2
0
int main()
{   
	int usb_a_exist = 0;
	int usb_b_exist = 0;
	int on_flag;
	int checkflag,ret;

	ret = get_dwc_driver_version();

	if(ret == -1)
	{
		printf("This dwc_otg version not support. Please check!\n");
		return -1;
	}
	
	if (check_usb_devices_exists(0) == 0)
	{
		usb_a_exist = 1;
		on_flag = 1;
	}
	else
	{
		usb_a_exist = 0;
		on_flag = 0;
	}
	
	if (check_usb_devices_exists(1) == 0)
	{
		usb_b_exist = 1;
		on_flag = 1;
	}
	else
	{
	  usb_b_exist = 0;
		on_flag = 0;
	}
	
	if (usb_a_exist || usb_b_exist) {
		while(1) {
				if(on_flag == 0)
				{
					usbset(0,USB_CMD_ON);
					on_flag = 1;
					usleep(500000);	
				}
				else
				{
					checkflag = 0;
					if(usb_a_exist)
						checkflag |= usbcheck(0);
					if(usb_b_exist)
						checkflag |= usbcheck(1);
					if (checkflag == 0)
					{ 
						usbset(0,USB_CMD_OFF);
						on_flag = 0;
					}	
					sleep(1);
				}					
					
		}
	}
	else
	{
		usbset(0,USB_CMD_OFF);
	}
	
}
int main()
{   
	int usb_a_exist = 0;
	int usb_b_exist = 0;
	int a_on_flag,b_on_flag;
	
	if (check_usb_devices_exists(0) == 0)
	{
		usb_a_exist = 1;
		a_on_flag = 1;
	}
	else
		usbset(0,USB_CMD_OFF);
	
	if (check_usb_devices_exists(1) == 0)
	{
		usb_b_exist = 1;
		b_on_flag = 1;
	}
	else
		usbset(1,USB_CMD_OFF);	
	
	if (usb_a_exist || usb_b_exist) {
		while(1) {
			if (usb_a_exist) {
				if(a_on_flag == 0)
				{
					usbset(0,USB_CMD_ON);
					a_on_flag = 1;	
					usleep(500000);
					if (usbcheck(0) != 1)
					{ 
						usbset(0,USB_CMD_OFF);
						a_on_flag = 0;
					}	
				}
				else
				{
					if (usbcheck(0) != 1)
					{ 
						usbset(0,USB_CMD_OFF);
						a_on_flag = 0;
					}	
				}					
			}
			
			if (usb_b_exist) {
				if(b_on_flag == 0)
				{
					usbset(1,USB_CMD_ON);
					b_on_flag = 1;
					usleep(500000);
					if (usbcheck(1) != 1)
					{ 
						usbset(1,USB_CMD_OFF);
						b_on_flag = 0;
					}
				}
				else
				{
					if (usbcheck(1) != 1)
					{ 
						usbset(1,USB_CMD_OFF);
						b_on_flag = 0;
					}
				}						
			}
			
			usleep(500000);	//
		
		}
	}
	
}