summaryrefslogtreecommitdiff
path: root/tinyusb
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-02-06 13:50:17 +0700
committerhathach <[email protected]>2013-02-06 13:50:17 +0700
commit7961f04e17e4988db3e4ceafd57e2e02ae2d7d1f (patch)
treee5fbdba98557ad5e9edd47e9516da24de86ffddb /tinyusb
parenta253e4d64846316610aa92b231e3371acd7428e6 (diff)
remove hcd_addr0_close_Ignore
add code to check error handling from enum task
Diffstat (limited to 'tinyusb')
-rw-r--r--tinyusb/common/errors.h2
-rw-r--r--tinyusb/host/usbh.c9
-rw-r--r--tinyusb/host/usbh_hcd.h2
-rw-r--r--tinyusb/osal/osal_freeRTOS.h1
4 files changed, 6 insertions, 8 deletions
diff --git a/tinyusb/common/errors.h b/tinyusb/common/errors.h
index 42a7a3975..57de5cea4 100644
--- a/tinyusb/common/errors.h
+++ b/tinyusb/common/errors.h
@@ -66,7 +66,7 @@
ENTRY(TUSB_ERROR_CLASS_DEVICE_DONT_SUPPORT)\
ENTRY(TUSB_ERROR_CLASS_DATA_NOT_AVAILABLE)\
ENTRY(TUSB_ERROR_HCD_FAILED)\
- ENTRY(TUSB_ERROR_USBH_MOUNT_FAILED)\
+ ENTRY(TUSB_ERROR_USBH_MOUNT_DEVICE_NOT_RESPOND)\
ENTRY(TUSB_ERROR_OSAL_TIMEOUT)\
ENTRY(TUSB_ERROR_OSAL_TASK_FAILED)\
ENTRY(TUSB_ERROR_OSAL_QUEUE_FAILED)\
diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c
index 371514748..fd2f94ce6 100644
--- a/tinyusb/host/usbh.c
+++ b/tinyusb/host/usbh.c
@@ -79,7 +79,7 @@ OSAL_QUEUE_DEF(enum_queue, ENUM_QUEUE_DEPTH, uin32_t);
osal_queue_handle_t enum_queue_hdl;
usbh_device_addr0_t device_addr0 TUSB_CFG_ATTR_USBRAM;
-uint8_t enum_data_buffer[TUSB_CFG_HOST_ENUM_BUFFER_SIZE] TUSB_CFG_ATTR_USBRAM;
+STATIC_ uint8_t enum_data_buffer[TUSB_CFG_HOST_ENUM_BUFFER_SIZE] TUSB_CFG_ATTR_USBRAM;
void usbh_enumeration_task(void)
@@ -108,7 +108,7 @@ void usbh_enumeration_task(void)
hcd_pipe_control_xfer(device_addr0.pipe_hdl, &request_device_desc, enum_data_buffer);
osal_semaphore_wait(device_addr0.sem_hdl, OSAL_TIMEOUT_NORMAL, &error); // careful of local variable without static
- TASK_ASSERT_STATUS_HANDLER(error, tusbh_device_mount_failed_cb(TUSB_ERROR_USBH_MOUNT_FAILED, NULL));
+ TASK_ASSERT_STATUS_HANDLER(error, tusbh_device_mount_failed_cb(TUSB_ERROR_USBH_MOUNT_DEVICE_NOT_RESPOND, NULL) );
}
new_addr = get_new_address();
@@ -123,7 +123,7 @@ void usbh_enumeration_task(void)
hcd_pipe_control_xfer(device_addr0.pipe_hdl, &request_set_address, NULL);
osal_semaphore_wait(device_addr0.sem_hdl, OSAL_TIMEOUT_NORMAL, &error); // careful of local variable without static
- TASK_ASSERT_STATUS(error);
+ TASK_ASSERT_STATUS_HANDLER(error, tusbh_device_mount_failed_cb(TUSB_ERROR_USBH_MOUNT_DEVICE_NOT_RESPOND, NULL) );
}
// update data for the new device
@@ -133,9 +133,6 @@ void usbh_enumeration_task(void)
usbh_device_info_pool[new_addr].speed = device_addr0.speed;
usbh_device_info_pool[new_addr].status = TUSB_DEVICE_STATUS_ADDRESSED;
- hcd_addr0_close(&device_addr0);
-
-
}else // device connect via a hub
{
ASSERT_MESSAGE("%s", "Hub is not supported yet");
diff --git a/tinyusb/host/usbh_hcd.h b/tinyusb/host/usbh_hcd.h
index 310de2060..111afeae6 100644
--- a/tinyusb/host/usbh_hcd.h
+++ b/tinyusb/host/usbh_hcd.h
@@ -110,7 +110,7 @@ typedef struct { // TODO internal structure, re-order members
// ADDRESS 0 API
//--------------------------------------------------------------------+
tusb_error_t hcd_addr0_open(usbh_device_addr0_t *dev_addr0) ATTR_WARN_UNUSED_RESULT;
-tusb_error_t hcd_addr0_close(usbh_device_addr0_t *dev_addr0) ATTR_WARN_UNUSED_RESULT;
+//NOTE addr0 close is not needed tusb_error_t hcd_addr0_close(usbh_device_addr0_t *dev_addr0) ATTR_WARN_UNUSED_RESULT;
#ifdef __cplusplus
}
diff --git a/tinyusb/osal/osal_freeRTOS.h b/tinyusb/osal/osal_freeRTOS.h
index b1f16adf0..ed167e688 100644
--- a/tinyusb/osal/osal_freeRTOS.h
+++ b/tinyusb/osal/osal_freeRTOS.h
@@ -76,6 +76,7 @@
#define OSAL_TASK_LOOP_END \
}
+// TODO FreeRTOS TASK_ASSERT need to omit do while to get continue statement works.
#define TASK_ASSERT(condition)
#define TASK_ASSERT_STATUS(sts)