merge class driver control_request & control_complete to control_xfer_cb()
migrated msc_device
This commit is contained in:
		@@ -186,10 +186,14 @@ uint16_t mscd_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint1
 | 
			
		||||
  return drv_len;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Handle class control request
 | 
			
		||||
// Invoked when a control transfer occurred on an interface of this class
 | 
			
		||||
// Driver response accordingly to the request and the transfer stage (setup/data/ack)
 | 
			
		||||
// return false to stall control endpoint (e.g unsupported request)
 | 
			
		||||
bool mscd_control_request(uint8_t rhport, tusb_control_request_t const * p_request)
 | 
			
		||||
bool mscd_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const * p_request)
 | 
			
		||||
{
 | 
			
		||||
  // nothing to do with DATA & ACK stage
 | 
			
		||||
  if (stage != CONTROL_STAGE_SETUP) return true;
 | 
			
		||||
 | 
			
		||||
  // Handle class request only
 | 
			
		||||
  TU_VERIFY(p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_CLASS);
 | 
			
		||||
 | 
			
		||||
@@ -219,17 +223,6 @@ bool mscd_control_request(uint8_t rhport, tusb_control_request_t const * p_reque
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Invoked when class request DATA stage is finished.
 | 
			
		||||
// return false to stall control endpoint (e.g Host send non-sense DATA)
 | 
			
		||||
bool mscd_control_complete(uint8_t rhport, tusb_control_request_t const * request)
 | 
			
		||||
{
 | 
			
		||||
  (void) rhport;
 | 
			
		||||
  (void) request;
 | 
			
		||||
 | 
			
		||||
  // nothing to do
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// return response's length (copied to buffer). Negative if it is not an built-in command or indicate Failed status (CSW)
 | 
			
		||||
// In case of a failed status, sense key must be set for reason of failure
 | 
			
		||||
int32_t proc_builtin_scsi(uint8_t lun, uint8_t const scsi_cmd[16], uint8_t* buffer, uint32_t bufsize)
 | 
			
		||||
 
 | 
			
		||||
@@ -161,8 +161,7 @@ TU_ATTR_WEAK bool tud_msc_is_writable_cb(uint8_t lun);
 | 
			
		||||
void     mscd_init             (void);
 | 
			
		||||
void     mscd_reset            (uint8_t rhport);
 | 
			
		||||
uint16_t mscd_open             (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t max_len);
 | 
			
		||||
bool     mscd_control_request  (uint8_t rhport, tusb_control_request_t const * p_request);
 | 
			
		||||
bool     mscd_control_complete (uint8_t rhport, tusb_control_request_t const * p_request);
 | 
			
		||||
bool     mscd_control_xfer_cb  (uint8_t rhport, uint8_t stage, tusb_control_request_t const * p_request);
 | 
			
		||||
bool     mscd_xfer_cb          (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user