add std=gnu99 for test build

add hcd_init to usbh_init and update test code
add TUSB_CFG_OS_TICK_PER_SECOND define for TUSB_OS_NONE
change osal_semaphore_wait and osal_queue_receive API to have timeout effectively
This commit is contained in:
hathach
2013-02-01 10:33:43 +07:00
parent 1b963f6a71
commit 9e3785e7e1
12 changed files with 151 additions and 93 deletions

View File

@@ -58,12 +58,6 @@
//--------------------------------------------------------------------+
STATIC_ usbh_device_info_t device_info_pool[TUSB_CFG_HOST_DEVICE_MAX];
OSAL_TASK_DEF(enumeration_task, usbh_enumerate_task, 128, OSAL_PRIO_HIGH);
#define ENUM_QUEUE_DEPTH 5
OSAL_DEF_QUEUE(enumeration_queue, ENUM_QUEUE_DEPTH, uin32_t);
osal_queue_handle_t enumeration_queue_hdl;
//--------------------------------------------------------------------+
// PUBLIC API (Parameter Verification is required)
//--------------------------------------------------------------------+
@@ -73,23 +67,45 @@ tusbh_device_status_t tusbh_device_status_get (tusb_handle_device_t const device
return device_info_pool[device_hdl].status;
}
//--------------------------------------------------------------------+
// ENUMERATION TASK & ITS DATA
//--------------------------------------------------------------------+
OSAL_TASK_DEF(enumeration_task, usbh_enumerate_task, 128, OSAL_PRIO_HIGH);
#define ENUM_QUEUE_DEPTH 5
OSAL_DEF_QUEUE(enumeration_queue, ENUM_QUEUE_DEPTH, uin32_t);
osal_queue_handle_t enumeration_queue_hdl;
void usbh_enumerate_task(void)
{
OSAL_TASK_LOOP
{
OSAL_TASK_LOOP_BEGIN
OSAL_TASK_LOOP_END
}
}
//--------------------------------------------------------------------+
// CLASS-USBD API (don't require to verify parameters)
//--------------------------------------------------------------------+
tusb_error_t usbh_init(void)
{
uint32_t i;
memset(device_info_pool, 0, sizeof(usbh_device_info_t)*TUSB_CFG_HOST_DEVICE_MAX);
for(i=0; i<TUSB_CFG_HOST_CONTROLLER_NUM; i++)
{
ASSERT_STATUS( hcd_init(i) );
}
ASSERT_STATUS( osal_task_create(&enumeration_task) );
enumeration_queue_hdl = osal_queue_create(&enumeration_queue);
ASSERT_PTR(enumeration_queue_hdl, TUSB_ERROR_OSAL_QUEUE_FAILED);
return TUSB_ERROR_NONE;
}
void usbh_enumerate_task(void)
{
}
#endif