tud_hid_report_complete_cb() API
update hid composite to make use of tud_hid_report_complete_cb() for sending reports when possible.
This commit is contained in:
@@ -381,14 +381,24 @@ bool hidd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_
|
||||
uint8_t itf = 0;
|
||||
hidd_interface_t * p_hid = _hidd_itf;
|
||||
|
||||
for ( ; ; itf++, p_hid++)
|
||||
// Identify which interface to use
|
||||
for (itf = 0; itf < CFG_TUD_HID; itf++)
|
||||
{
|
||||
if (itf >= TU_ARRAY_SIZE(_hidd_itf)) return false;
|
||||
|
||||
if ( ep_addr == p_hid->ep_out ) break;
|
||||
p_hid = &_hidd_itf[itf];
|
||||
if ( (ep_addr == p_hid->ep_out) || (ep_addr == p_hid->ep_in) ) break;
|
||||
}
|
||||
TU_ASSERT(itf < CFG_TUD_HID);
|
||||
|
||||
if (ep_addr == p_hid->ep_out)
|
||||
// Sent report successfully
|
||||
if (ep_addr == p_hid->ep_in)
|
||||
{
|
||||
if (tud_hid_report_complete_cb)
|
||||
{
|
||||
tud_hid_report_complete_cb(itf, p_hid->epin_buf, (uint8_t) xferred_bytes);
|
||||
}
|
||||
}
|
||||
// Received report
|
||||
else if (ep_addr == p_hid->ep_out)
|
||||
{
|
||||
tud_hid_set_report_cb(
|
||||
#if CFG_TUD_HID > 1
|
||||
|
||||
Reference in New Issue
Block a user