@@ -74,14 +74,14 @@ void Adafruit_USBD_HID::setReportCallback(get_report_callback_t get_report, set_
74
74
_set_report_cb = set_report;
75
75
}
76
76
77
- uint16_t Adafruit_USBD_HID::getDescriptor (uint8_t * buf, uint16_t bufsize)
77
+ uint16_t Adafruit_USBD_HID::getDescriptor (uint8_t itfnum, uint8_t * buf, uint16_t bufsize)
78
78
{
79
79
if ( !_desc_report_len ) return 0 ;
80
80
81
81
if ( _out_endpoint )
82
82
{
83
- // usb core will automatically update interface number and endpoint number
84
- uint8_t desc[] = { TUD_HID_INOUT_DESCRIPTOR (0 , 0 , _protocol, _desc_report_len, EPIN, EPOUT, CFG_TUD_HID_BUFSIZE, _interval_ms) };
83
+ // usb core will automatically update endpoint number
84
+ uint8_t desc[] = { TUD_HID_INOUT_DESCRIPTOR (itfnum , 0 , _protocol, _desc_report_len, EPIN, EPOUT, CFG_TUD_HID_BUFSIZE, _interval_ms) };
85
85
uint16_t const len = sizeof (desc);
86
86
87
87
if ( bufsize < len ) return 0 ;
@@ -90,8 +90,8 @@ uint16_t Adafruit_USBD_HID::getDescriptor(uint8_t* buf, uint16_t bufsize)
90
90
return len;
91
91
}else
92
92
{
93
- // usb core will automatically update interface number and endpoint number
94
- uint8_t desc[] = { TUD_HID_DESCRIPTOR (0 , 0 , _protocol, _desc_report_len, EPIN, CFG_TUD_HID_BUFSIZE, _interval_ms) };
93
+ // usb core will automatically update endpoint number
94
+ uint8_t desc[] = { TUD_HID_DESCRIPTOR (itfnum , 0 , _protocol, _desc_report_len, EPIN, CFG_TUD_HID_BUFSIZE, _interval_ms) };
95
95
uint16_t const len = sizeof (desc);
96
96
97
97
if ( bufsize < len ) return 0 ;
0 commit comments