/*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)"); } } }
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; } }