house keeping

add some more logic for enum task
This commit is contained in:
hathach
2013-02-01 14:21:22 +07:00
parent 7fc3e4f8fe
commit a25da9d3ee
5 changed files with 37 additions and 14 deletions

View File

@@ -78,11 +78,31 @@ osal_queue_handle_t enum_queue_hdl;
void usbh_enumeration_task(void)
{
usbh_enumerate_t enum_item;
tusb_error_t error;
OSAL_TASK_LOOP
{
OSAL_TASK_LOOP_BEGIN
// osal_queue_receive(enumeration_queue_hdl, )
osal_queue_receive(enum_queue_hdl, (uint32_t*)&enum_item, OSAL_TIMEOUT_NORMAL, &error);
if (error != TUSB_ERROR_NONE)
{
ASSERT_STATEMENT("%s", TUSB_ErrorStr[error]);
}
else
{
if (enum_item.hub_address == 0) // direct connection
{
if ( enum_item.connect_status == hcd_port_connect_status(enum_item.core_id) ) // there chances the event is out-dated
{
}
}else // device connect via a hub
{
ASSERT_STATEMENT("%s", "Hub is not supported yet");
}
}
OSAL_TASK_LOOP_END
}