Exemplo n.º 1
0
/*FUNCTION*----------------------------------------------------------------
*
* Function Name  : App_HandleUserInput
* Returned Value : none
* Comments       :
*
*
*END*--------------------------------------------------------------------*/
static void App_HandleUserInput(void)
{
    int8_t character;
#if (OS_ADAPTER_ACTIVE_OS == OS_ADAPTER_MQX)
    if (status())
    {
        printf("\n\r");
        character = getchar();
#else
    if (uart_getchar_no_block(&character))
    {
        printf("\n\r %c", character);
#endif
        switch (character)
        {

        case '1':
            if (_usb_otg_session_request(g_otg_handle) == USB_OK)
            {
                printf("\n\rSRP request");
            }
            else
            {
                printf("\n\rError Requesting SRP");
            }
            break;
        case '2':
            if (_usb_otg_bus_request(g_otg_handle) == USB_OK)
            {
                printf("\n\rB bus request");
            }
            else
            {
                printf("\n\rError requesting the bus");
            }
            break;

        case '3':
            if (_usb_otg_bus_release(g_otg_handle) == USB_OK)
            {
                printf("\n\rB bus release");
            }
            else
            {
                printf("\n\rError releasing the bus");
            }
            break;
        case '4':
            _usb_otg_set_a_bus_req(g_otg_handle , TRUE);
            printf("\n\rA bus request");
            break;
        case '5':
            _usb_otg_set_a_bus_req(g_otg_handle , FALSE);
            printf("\n\rA bus release");
            break;
        case '6':
            _usb_otg_set_a_bus_drop(g_otg_handle , TRUE);
            printf("\n\rA set a bus drop true");
            break;
        case '7':
            _usb_otg_set_a_bus_drop(g_otg_handle , FALSE);
            printf("\n\rA set a bus drop false");
            break;
        case '8':
            _usb_otg_set_a_clear_err(g_otg_handle);
            break;
        case 'p':
        case 'P':
            App_PrintMenu();
            break;
        default:
            break;
        }
    }
}

/*FUNCTION*----------------------------------------------------------------
*
* Function Name  : App_PrintMenu
* Returned Value : none
* Comments       :
*
*
*END*--------------------------------------------------------------------*/
static void App_PrintMenu(void)
{
    bool a_bus_req;
    bool a_bus_drop;
    printf("\n\r  OTG App User Input Menu");
    if (g_dev_type == dev_a)
    {
        if (g_vbus_err == FALSE)
        {
            if (g_sess_vld == TRUE)
            {
                _usb_otg_get_a_bus_req(g_otg_handle, &a_bus_req);
                if(FALSE == a_bus_req)
                {
                    printf("\n\r      4. A bus request ");
                }
                else
                {
                    printf("\n\r      5. A bus release ");
                }
                printf("\n\r      6. A set a bus drop true (session end)");
            }
            else  /* session not valid */
            {
                _usb_otg_get_a_bus_req(g_otg_handle, &a_bus_req);
                if(FALSE == a_bus_req)
                {
                    printf("\n\r      4. A bus request ");
                }
                else
                {
                    printf("\n\r      5. A bus release ");
                }
                _usb_otg_get_a_bus_drop(g_otg_handle, &a_bus_drop);
                if (TRUE == a_bus_drop)
                {
                    printf("\n\r      7. A set a bus drop false");
                }
            }
        }
        else    /* no VBUS error */
        {
            printf("\n\r      6. A set a bus drop true (session end)");
            printf("\n\r      8. A clear error");
        }
    }
    else if (g_dev_type == dev_b)
    {
        if (g_sess_vld == TRUE)
        {
            if (g_otg_state == OTG_B_PERIPHERAL)
            {
                printf("\n\r      2. B bus request (HNP start)");
            }
            if (g_otg_state == OTG_B_HOST)
            {
                printf("\n\r      3. B bus release");
            }
        }
        else
        {
            printf("\n\r      1. B session request (SRP start)");
        }
    }
}
Exemplo n.º 2
0
static void App_HandleUserInput(void)
{
 uint_8 character = TERMIO_GetCharNB();
 
 switch(character)
 {
  case '1': if(_usb_otg_hnp_enable(0, TRUE) == USB_OK)
            {    
             printf("\n\rHNP enabled");
            }
            else
            {
             printf("\n\rError enabling HNP");
            }
   break;
  
  case '2': if(_usb_otg_hnp_enable(0, FALSE) == USB_OK)
            {    
             printf("\n\rHNP disabled");
            }
            else
            {
             printf("\n\rError disabling HNP");
            }             
   break;
  
  case '3': if(_usb_otg_bus_request(otg_handle) == USB_OK)
            {    
             printf("\n\rBus request");
            }
            else
            {
             printf("\n\rError requesting the bus");
            }            
   break;
  
  case '4': if(_usb_otg_bus_release(otg_handle) == USB_OK)
            {    
             printf("\n\rBus release");
            }
            else
            {
             printf("\n\rError releasing the bus");
            }             
   break;         
  
  
  case '5': if(_usb_otg_session_request(otg_handle) == USB_OK)
            {    
             printf("\n\rSRP request");
            }
            else
            {
             printf("\n\rError rerequesting SRP");
            }
   break;           
   
    case '6': _usb_otg_set_a_bus_req(otg_handle , TRUE);
                
             printf("\n\rA BUS REQ");
            
   break;
    case '7': _usb_otg_set_a_bus_req(otg_handle , FALSE);
                
             printf("\n\rA BUS RELEASE");
   break;
   
    case '8': _usb_otg_set_a_bus_drop(otg_handle , TRUE);
                
             printf("\n\rA BUS DROP TRUE");
   break;
    case '9': _usb_otg_set_a_bus_drop(otg_handle , FALSE);
                
             printf("\n\rA BUS DROP FALSE");
   break;
    case 'a':
    case 'A':
             _usb_otg_set_a_clear_err(otg_handle);
   break; 
  
  case 'p':
  case 'P': App_PrintMenu();
   break;
  
  
  default: break;          
 }
}