Revert "drop itfnum in signature of Adafruit_USBD_Interface::getInterfaceDescriptor()"

This reverts commit 0df71c015f.
This commit is contained in:
hathach 2024-01-30 19:33:39 +07:00
parent 0df71c015f
commit 9047e04cae
15 changed files with 30 additions and 17 deletions

View file

@ -64,7 +64,7 @@ Adafruit_USBD_I2C::Adafruit_USBD_I2C(TwoWire* wire) {
setStringDescriptor("I2C Interface");
}
uint16_t Adafruit_USBD_I2C::getInterfaceDescriptor(uint8_t* buf, uint16_t bufsize) {
uint16_t Adafruit_USBD_I2C::getInterfaceDescriptor(uint8_t itfnum_deprecated, uint8_t* buf, uint16_t bufsize) {
uint8_t itfnum = 0;
uint8_t ep_in = 0;
uint8_t ep_out = 0;

View file

@ -93,7 +93,7 @@ public:
bool handleControlTransfer(uint8_t rhport, uint8_t stage, tusb_control_request_t const* request);
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t* buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t* buf, uint16_t bufsize);
private:
TwoWire* _wire;

View file

@ -46,7 +46,8 @@ Adafruit_USBD_CDC::Adafruit_USBD_CDC(void) { _instance = INVALID_INSTANCE; }
#if CFG_TUD_ENABLED
uint16_t Adafruit_USBD_CDC::getInterfaceDescriptor(uint8_t *buf,
uint16_t Adafruit_USBD_CDC::getInterfaceDescriptor(uint8_t itfnum_deprecated,
uint8_t *buf,
uint16_t bufsize) {
// CDC is mostly always existed for DFU
uint8_t itfnum = 0;

View file

@ -80,7 +80,8 @@ public:
operator bool();
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum_deprecated,
uint8_t *buf, uint16_t bufsize);
private:
enum { INVALID_INSTANCE = 0xffu };

View file

@ -233,8 +233,8 @@ void Adafruit_USBD_Device::clearConfiguration(void) {
// - Endpoint number is updated to be unique
bool Adafruit_USBD_Device::addInterface(Adafruit_USBD_Interface &itf) {
uint8_t *desc = _desc_cfg + _desc_cfg_len;
uint16_t const len =
itf.getInterfaceDescriptor(desc, _desc_cfg_maxlen - _desc_cfg_len);
uint16_t const len = itf.getInterfaceDescriptor(
_itf_count, desc, _desc_cfg_maxlen - _desc_cfg_len);
if (!len) {
return false;

View file

@ -37,10 +37,11 @@ public:
// Get Interface Descriptor
// Fill the descriptor (if buf is not NULL) and return its length
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize) = 0;
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t *buf,
uint16_t bufsize) = 0;
// Get Interface Descriptor Length
uint16_t getInterfaceDescriptorLen() {
return getInterfaceDescriptor(NULL, 0);
return getInterfaceDescriptor(0, NULL, 0);
}
void setStringDescriptor(const char *str);

View file

@ -158,7 +158,8 @@ uint16_t Adafruit_USBD_HID::makeItfDesc(uint8_t itfnum, uint8_t *buf,
return len;
}
uint16_t Adafruit_USBD_HID::getInterfaceDescriptor(uint8_t *buf,
uint16_t Adafruit_USBD_HID::getInterfaceDescriptor(uint8_t itfnum_deprecated,
uint8_t *buf,
uint16_t bufsize) {
uint8_t itfnum = 0;
uint8_t ep_in = 0;

View file

@ -80,7 +80,8 @@ public:
bool mouseButtonRelease(uint8_t report_id);
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t *buf,
uint16_t bufsize);
// internal use only
uint16_t makeItfDesc(uint8_t itfnum, uint8_t *buf, uint16_t bufsize,

View file

@ -153,7 +153,8 @@ uint16_t Adafruit_USBD_MIDI::makeItfDesc(uint8_t itfnum, uint8_t *buf,
return desc_len;
}
uint16_t Adafruit_USBD_MIDI::getInterfaceDescriptor(uint8_t *buf,
uint16_t Adafruit_USBD_MIDI::getInterfaceDescriptor(uint8_t itfnum_deprecated,
uint8_t *buf,
uint16_t bufsize) {
uint8_t itfnum = 0;
uint8_t ep_in = 0;

View file

@ -60,7 +60,8 @@ public:
bool readPacket(uint8_t packet[4]);
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t *buf,
uint16_t bufsize);
// internal use only
uint16_t makeItfDesc(uint8_t itfnum, uint8_t *buf, uint16_t bufsize,

View file

@ -76,7 +76,8 @@ uint16_t Adafruit_USBD_MSC::makeItfDesc(uint8_t itfnum, uint8_t *buf,
return len;
}
uint16_t Adafruit_USBD_MSC::getInterfaceDescriptor(uint8_t *buf,
uint16_t Adafruit_USBD_MSC::getInterfaceDescriptor(uint8_t itfnum_deprecated,
uint8_t *buf,
uint16_t bufsize) {
// null buffer is used to get the length of descriptor only
if (!buf) {
@ -84,6 +85,7 @@ uint16_t Adafruit_USBD_MSC::getInterfaceDescriptor(uint8_t *buf,
}
uint8_t const itfnum = TinyUSBDevice.allocInterface(1);
;
uint8_t const ep_in = TinyUSBDevice.allocEndpoint(TUSB_DIR_IN);
uint8_t const ep_out = TinyUSBDevice.allocEndpoint(TUSB_DIR_OUT);

View file

@ -83,7 +83,8 @@ public:
}
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t *buf,
uint16_t bufsize);
// internal use only
uint16_t makeItfDesc(uint8_t itfnum, uint8_t *buf, uint16_t bufsize,

View file

@ -39,7 +39,8 @@ public:
// bool isStreaming(uint8_t stream_idx);
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t *buf,
uint16_t bufsize);
private:
uint8_t const *_desc_itf;

View file

@ -202,7 +202,8 @@ uint16_t Adafruit_USBD_WebUSB::makeItfDesc(uint8_t itfnum, uint8_t *buf,
return len;
}
uint16_t Adafruit_USBD_WebUSB::getInterfaceDescriptor(uint8_t *buf,
uint16_t Adafruit_USBD_WebUSB::getInterfaceDescriptor(uint8_t itfnum_deprecated,
uint8_t *buf,
uint16_t bufsize) {
if (!buf) {
return TUD_VENDOR_DESC_LEN;

View file

@ -65,7 +65,8 @@ public:
operator bool();
// from Adafruit_USBD_Interface
virtual uint16_t getInterfaceDescriptor(uint8_t *buf, uint16_t bufsize);
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum, uint8_t *buf,
uint16_t bufsize);
// internal use only
uint16_t makeItfDesc(uint8_t itfnum, uint8_t *buf, uint16_t bufsize,