mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-19 19:21:05 +00:00
migrate audio device to new control xfer cb
This commit is contained in:
parent
c4bc8b2561
commit
cebb375eac
@ -989,7 +989,7 @@ static bool audiod_set_interface(uint8_t rhport, tusb_control_request_t const *
|
|||||||
|
|
||||||
// Invoked when class request DATA stage is finished.
|
// Invoked when class request DATA stage is finished.
|
||||||
// return false to stall control EP (e.g Host send non-sense DATA)
|
// return false to stall control EP (e.g Host send non-sense DATA)
|
||||||
bool audiod_control_complete(uint8_t rhport, tusb_control_request_t const * p_request)
|
static bool audiod_control_complete(uint8_t rhport, tusb_control_request_t const * p_request)
|
||||||
{
|
{
|
||||||
// Handle audio class specific set requests
|
// Handle audio class specific set requests
|
||||||
if(p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_CLASS && p_request->bmRequestType_bit.direction == TUSB_DIR_OUT)
|
if(p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_CLASS && p_request->bmRequestType_bit.direction == TUSB_DIR_OUT)
|
||||||
@ -1065,7 +1065,7 @@ bool audiod_control_complete(uint8_t rhport, tusb_control_request_t const * p_re
|
|||||||
|
|
||||||
// Handle class control request
|
// Handle class control request
|
||||||
// return false to stall control endpoint (e.g unsupported request)
|
// return false to stall control endpoint (e.g unsupported request)
|
||||||
bool audiod_control_request(uint8_t rhport, tusb_control_request_t const * p_request)
|
static bool audiod_control_request(uint8_t rhport, tusb_control_request_t const * p_request)
|
||||||
{
|
{
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
|
|
||||||
@ -1175,6 +1175,20 @@ bool audiod_control_request(uint8_t rhport, tusb_control_request_t const * p_req
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool audiod_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const * request)
|
||||||
|
{
|
||||||
|
if ( stage == CONTROL_STAGE_SETUP )
|
||||||
|
{
|
||||||
|
return audiod_control_request(rhport, request);
|
||||||
|
}
|
||||||
|
else if ( stage == CONTROL_STAGE_DATA )
|
||||||
|
{
|
||||||
|
return audiod_control_complete(rhport, request);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool audiod_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
|
bool audiod_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
|
||||||
{
|
{
|
||||||
(void) result;
|
(void) result;
|
||||||
|
@ -384,11 +384,10 @@ static inline uint16_t tud_audio_int_ctr_write(uint8_t const* buffer, uint16_t b
|
|||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// Internal Class Driver API
|
// Internal Class Driver API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
void audiod_init (void);
|
void audiod_init (void);
|
||||||
void audiod_reset (uint8_t rhport);
|
void audiod_reset (uint8_t rhport);
|
||||||
uint16_t audiod_open (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t max_len);
|
uint16_t audiod_open (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t max_len);
|
||||||
bool audiod_control_request (uint8_t rhport, tusb_control_request_t const * request);
|
bool audiod_control_xfer_cb (uint8_t rhport, uint8_t stage, tusb_control_request_t const * request);
|
||||||
bool audiod_control_complete (uint8_t rhport, tusb_control_request_t const * request);
|
|
||||||
bool audiod_xfer_cb (uint8_t rhport, uint8_t edpt_addr, xfer_result_t result, uint32_t xferred_bytes);
|
bool audiod_xfer_cb (uint8_t rhport, uint8_t edpt_addr, xfer_result_t result, uint32_t xferred_bytes);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -133,8 +133,7 @@ static usbd_class_driver_t const _usbd_driver[] =
|
|||||||
.init = audiod_init,
|
.init = audiod_init,
|
||||||
.reset = audiod_reset,
|
.reset = audiod_reset,
|
||||||
.open = audiod_open,
|
.open = audiod_open,
|
||||||
.control_xfer_cb = audiod_control_request,
|
.control_xfer_cb = audiod_control_xfer_cb,
|
||||||
.control_complete = audiod_control_complete,
|
|
||||||
.xfer_cb = audiod_xfer_cb,
|
.xfer_cb = audiod_xfer_cb,
|
||||||
.sof = NULL
|
.sof = NULL
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user