@@ -74,14 +74,14 @@ void Adafruit_USBD_HID::setReportCallback(get_report_callback_t get_report, set_
7474 _set_report_cb = set_report;
7575}
7676
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)
7878{
7979 if ( !_desc_report_len ) return 0 ;
8080
8181 if ( _out_endpoint )
8282 {
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) };
8585 uint16_t const len = sizeof (desc);
8686
8787 if ( bufsize < len ) return 0 ;
@@ -90,8 +90,8 @@ uint16_t Adafruit_USBD_HID::getDescriptor(uint8_t* buf, uint16_t bufsize)
9090 return len;
9191 }else
9292 {
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) };
9595 uint16_t const len = sizeof (desc);
9696
9797 if ( bufsize < len ) return 0 ;
0 commit comments