added all assert check to osal_queue_send and osal_semaphore_post

This commit is contained in:
hathach 2014-04-24 23:57:21 +07:00
parent 6804fee0fa
commit dbf276ad6f
8 changed files with 32 additions and 27 deletions

View File

@ -91,7 +91,7 @@ void tusbd_cdc_xfer_cb(uint8_t coreid, tusb_event_t event, cdc_pipeid_t pipe_id,
{
fifo_write(&fifo_serial, serial_rx_buffer+i);
}
osal_semaphore_post(sem_hdl); // notify main task
(void) osal_semaphore_post(sem_hdl); // notify main task
break;
case TUSB_EVENT_XFER_ERROR:

View File

@ -88,7 +88,7 @@ void tusbh_cdc_xfer_isr(uint8_t dev_addr, tusb_event_t event, cdc_pipeid_t pipe_
{
case TUSB_EVENT_XFER_COMPLETE:
received_bytes = xferred_bytes;
osal_semaphore_post(sem_hdl); // notify main task
(void) osal_semaphore_post(sem_hdl); // notify main task
break;
case TUSB_EVENT_XFER_ERROR:

View File

@ -85,7 +85,7 @@ void tusbh_hid_keyboard_isr(uint8_t dev_addr, tusb_event_t event)
switch(event)
{
case TUSB_EVENT_XFER_COMPLETE:
osal_queue_send(queue_kbd_hdl, &usb_keyboard_report);
(void) osal_queue_send(queue_kbd_hdl, &usb_keyboard_report);
tusbh_hid_keyboard_get_report(dev_addr, (uint8_t*) &usb_keyboard_report);
break;

View File

@ -84,7 +84,7 @@ void tusbh_hid_mouse_isr(uint8_t dev_addr, tusb_event_t event)
switch(event)
{
case TUSB_EVENT_XFER_COMPLETE:
osal_queue_send(queue_mouse_hdl, &usb_mouse_report);
(void) osal_queue_send(queue_mouse_hdl, &usb_mouse_report);
(void) tusbh_hid_mouse_get_report(dev_addr, (uint8_t*) &usb_mouse_report);
break;

View File

@ -408,7 +408,7 @@ void msch_isr(pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes
tusbh_msc_isr(pipe_hdl.dev_addr, event, xferred_bytes);
}else
{ // still initializing under open subtask
osal_semaphore_post(msch_sem_hdl);
ASSERT( TUSB_ERROR_NONE == osal_semaphore_post(msch_sem_hdl), VOID_RETURN );
}
}
}

View File

@ -431,7 +431,7 @@ void usbd_xfer_isr(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xfer
{
if (edpt_hdl.class_code == 0 ) // Control Transfer
{
osal_semaphore_post( usbd_control_xfer_sem_hdl );
ASSERT( TUSB_ERROR_NONE == osal_semaphore_post( usbd_control_xfer_sem_hdl ), VOID_RETURN);
}else
{
usbd_task_event_t task_event =

View File

@ -253,7 +253,7 @@ void usbh_xfer_isr(pipe_handle_t pipe_hdl, uint8_t class_code, tusb_event_t even
{
usbh_devices[ pipe_hdl.dev_addr ].control.pipe_status = event;
// usbh_devices[ pipe_hdl.dev_addr ].control.xferred_bytes = xferred_bytes; not yet neccessary
osal_semaphore_post( usbh_devices[ pipe_hdl.dev_addr ].control.sem_hdl );
ASSERT( TUSB_ERROR_NONE == osal_semaphore_post( usbh_devices[ pipe_hdl.dev_addr ].control.sem_hdl ), VOID_RETURN);
}else if (usbh_class_drivers[class_index].isr)
{
usbh_class_drivers[class_index].isr(pipe_hdl, event, xferred_bytes);
@ -265,22 +265,26 @@ void usbh_xfer_isr(pipe_handle_t pipe_hdl, uint8_t class_code, tusb_event_t even
void usbh_hub_port_plugged_isr(uint8_t hub_addr, uint8_t hub_port)
{
osal_queue_send(enum_queue_hdl,
&(usbh_enumerate_t){
.core_id = usbh_devices[hub_addr].core_id,
.hub_addr = hub_addr,
.hub_port = hub_port}
);
usbh_enumerate_t enum_entry =
{
.core_id = usbh_devices[hub_addr].core_id,
.hub_addr = hub_addr,
.hub_port = hub_port
};
ASSERT( TUSB_ERROR_NONE == osal_queue_send(enum_queue_hdl, &enum_entry), VOID_RETURN );
}
void usbh_hcd_rhport_plugged_isr(uint8_t hostid)
{
osal_queue_send(enum_queue_hdl,
&(usbh_enumerate_t){
.core_id = hostid,
.hub_addr = 0,
.hub_port = 0}
);
usbh_enumerate_t enum_entry =
{
.core_id = hostid,
.hub_addr = 0,
.hub_port = 0
};
ASSERT( TUSB_ERROR_NONE == osal_queue_send(enum_queue_hdl, &enum_entry), VOID_RETURN );
}
// a device unplugged on hostid, hub_addr, hub_port
@ -325,13 +329,14 @@ static void usbh_device_unplugged(uint8_t hostid, uint8_t hub_addr, uint8_t hub_
void usbh_hcd_rhport_unplugged_isr(uint8_t hostid)
{
osal_queue_send(enum_queue_hdl,
&(usbh_enumerate_t)
{
.core_id = hostid,
.hub_addr = 0,
.hub_port = 0
} );
usbh_enumerate_t enum_entry =
{
.core_id = hostid,
.hub_addr = 0,
.hub_port = 0
};
ASSERT( TUSB_ERROR_NONE == osal_queue_send(enum_queue_hdl, &enum_entry), VOID_RETURN );
}
//--------------------------------------------------------------------+

View File

@ -182,7 +182,7 @@ static inline void osal_queue_receive (osal_queue_handle_t const queue_hdl, void
}
}
static inline tusb_error_t osal_queue_send(osal_queue_handle_t const queue_hdl, void const * data) ATTR_ALWAYS_INLINE;
static inline tusb_error_t osal_queue_send(osal_queue_handle_t const queue_hdl, void const * data) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
static inline tusb_error_t osal_queue_send(osal_queue_handle_t const queue_hdl, void const * data)
{
void *p_buf = osMailAlloc(queue_hdl->pool, 0); // instantly return in case of sending within ISR (mostly used)