complete double buffering for queueing xfer for lpc11u/13u requried by msc device

This commit is contained in:
hathach
2013-11-14 14:12:07 +07:00
parent 7d84139bd4
commit 6e8440afe5
11 changed files with 145 additions and 102 deletions

View File

@@ -165,7 +165,8 @@ tusb_error_t hidd_control_request(uint8_t coreid, tusb_control_request_t const *
case HID_REQUEST_CONTROL_SET_REPORT:
{
return TUSB_ERROR_DCD_CONTROL_REQUEST_NOT_SUPPORT;
return TUSB_ERROR_DCD_CONTROL_REQUEST_NOT_SUPPORT; // TODO test STALL control out endpoint (with mouse+keyboard)
// TODO HIDD set report support
hid_request_report_type_t report_type = u16_high_u8(p_request->wValue);
uint8_t report_id = u16_low_u8(p_request->wValue);

View File

@@ -56,7 +56,7 @@ typedef struct {
endpoint_handle_t edpt_in, edpt_out;
// must be in USB ram
ATTR_USB_MIN_ALIGNMENT uint8_t max_lun;
ATTR_USB_MIN_ALIGNMENT uint8_t max_lun; // can STALL for one LUN
ATTR_USB_MIN_ALIGNMENT msc_cmd_block_wrapper_t cbw;
ATTR_USB_MIN_ALIGNMENT msc_cmd_status_wrapper_t csw;
@@ -176,6 +176,7 @@ void mscd_isr(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xferred_b
}
//------------- Status Phase -------------//
// TODO need to be true for dcd_lpc43xx to clean up qtd !!!
ASSERT( dcd_pipe_xfer( p_msc->edpt_in , &p_msc->csw, sizeof(msc_cmd_status_wrapper_t), true) == TUSB_ERROR_NONE, VOID_RETURN );
//------------- Queue the next CBW -------------//