Skip to content

Commit b08a79f

Browse files
committed
use setStringDescriptor() in example
change the HID INOUT endpoint order : 1st endpoint is IN, 2nd is OUT to compatible with cmsis-dap
1 parent 9d3bee3 commit b08a79f

File tree

12 files changed

+30
-26
lines changed

12 files changed

+30
-26
lines changed

examples/HID/hid_composite/hid_composite.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ void setup()
5555
{
5656
usb_hid.setPollInterval(2);
5757
usb_hid.setReportDescriptor(desc_hid_report, sizeof(desc_hid_report));
58+
usb_hid.setStringDescriptor("TinyUSB HID Composite");
5859

5960
usb_hid.begin();
6061

examples/HID/hid_generic_inout/hid_generic_inout.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ void setup()
4545
usb_hid.setPollInterval(2);
4646
usb_hid.setReportDescriptor(desc_hid_report, sizeof(desc_hid_report));
4747
usb_hid.setReportCallback(get_report_callback, set_report_callback);
48+
usb_hid.setStringDescriptor("TinyUSB HID Generic");
4849

4950
usb_hid.begin();
5051

examples/HID/hid_keyboard/hid_keyboard.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ void setup()
3838
usb_hid.setPollInterval(2);
3939
usb_hid.setReportDescriptor(desc_hid_report, sizeof(desc_hid_report));
4040
usb_hid.setReportCallback(NULL, hid_report_callback);
41+
usb_hid.setStringDescriptor("TinyUSB Keyboard");
4142

4243
usb_hid.begin();
4344

examples/HID/hid_mouse/hid_mouse.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ void setup()
4848

4949
usb_hid.setPollInterval(2);
5050
usb_hid.setReportDescriptor(desc_hid_report, sizeof(desc_hid_report));
51+
usb_hid.setStringDescriptor("TinyUSB Mouse");
5152

5253
usb_hid.begin();
5354

examples/MIDI/midi_test/midi_test.ino

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ void setup()
4040
{
4141
pinMode(LED_BUILTIN, OUTPUT);
4242

43+
usb_midi.setStringDescriptor("TinyUSB MIDI");
44+
4345
// Initialize MIDI, and listen to all MIDI channels
4446
// This will also call usb_midi's begin()
4547
MIDI.begin(MIDI_CHANNEL_OMNI);

examples/WebUSB/webusb_rgb/webusb_rgb.ino

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,10 @@ WEBUSB_URL_DEF(landingPage, 1 /*https*/, "adafruit.github.io/Adafruit_TinyUSB_Ar
5454
// the setup function runs once when you press reset or power the board
5555
void setup()
5656
{
57-
usb_web.begin();
57+
usb_web.setStringDescriptor("TinyUSB WebUSB");
5858
usb_web.setLandingPage(&landingPage);
5959
usb_web.setLineStateCallback(line_state_callback);
60+
usb_web.begin();
6061

6162
Serial.begin(115200);
6263

examples/WebUSB/webusb_serial/webusb_serial.ino

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ void setup()
4141
pinMode(led_pin, OUTPUT);
4242
digitalWrite(led_pin, LOW);
4343

44-
usb_web.begin();
4544
usb_web.setLandingPage(&landingPage);
4645
usb_web.setLineStateCallback(line_state_callback);
46+
usb_web.setStringDescriptor("TinyUSB WebUSB");
47+
usb_web.begin();
4748

4849
Serial.begin(115200);
4950

src/Adafruit_USBD_HID.cpp

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -75,31 +75,27 @@ uint16_t Adafruit_USBD_HID::getDescriptor(uint8_t itfnum, uint8_t *buf,
7575
if (!_desc_report_len)
7676
return 0;
7777

78-
if (_out_endpoint) {
79-
// usb core will automatically update endpoint number
80-
uint8_t desc[] = {
81-
TUD_HID_INOUT_DESCRIPTOR(itfnum, 0, _protocol, _desc_report_len, EPOUT,
82-
EPIN, CFG_TUD_HID_BUFSIZE, _interval_ms)};
83-
uint16_t const len = sizeof(desc);
78+
// usb core will automatically update endpoint number
79+
uint8_t const desc_inout[] = { TUD_HID_INOUT_DESCRIPTOR(itfnum, 0, _protocol, _desc_report_len, EPIN, EPOUT, CFG_TUD_HID_BUFSIZE, _interval_ms)};
80+
uint8_t const desc_in_only[] = { TUD_HID_DESCRIPTOR(itfnum, 0, _protocol, _desc_report_len, EPIN, CFG_TUD_HID_BUFSIZE, _interval_ms) };
8481

85-
if (bufsize < len)
86-
return 0;
87-
memcpy(buf, desc, len);
82+
uint8_t const* desc;
83+
uint16_t len;
8884

89-
return len;
85+
if (_out_endpoint) {
86+
desc = desc_inout;
87+
len = sizeof(desc_inout);
9088
} else {
91-
// usb core will automatically update endpoint number
92-
uint8_t desc[] = {TUD_HID_DESCRIPTOR(itfnum, 0, _protocol, _desc_report_len,
93-
EPIN, CFG_TUD_HID_BUFSIZE,
94-
_interval_ms)};
95-
uint16_t const len = sizeof(desc);
96-
97-
if (bufsize < len)
98-
return 0;
99-
memcpy(buf, desc, len);
89+
desc = desc_in_only;
90+
len = sizeof(desc_in_only);
91+
}
10092

101-
return len;
93+
if (bufsize < len) {
94+
return 0;
10295
}
96+
97+
memcpy(buf, desc, len);
98+
return len;
10399
}
104100

105101
bool Adafruit_USBD_HID::begin(void) {

src/Adafruit_USBD_HID.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
#include "Adafruit_TinyUSB_Core.h"
2929

30-
class Adafruit_USBD_HID : Adafruit_USBD_Interface {
30+
class Adafruit_USBD_HID : public Adafruit_USBD_Interface {
3131
public:
3232
typedef uint16_t (*get_report_callback_t)(uint8_t report_id,
3333
hid_report_type_t report_type,

src/Adafruit_USBD_MIDI.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
#include "Adafruit_TinyUSB_Core.h"
2929

30-
class Adafruit_USBD_MIDI : public Stream, Adafruit_USBD_Interface {
30+
class Adafruit_USBD_MIDI : public Stream, public Adafruit_USBD_Interface {
3131
public:
3232
Adafruit_USBD_MIDI(void);
3333

src/Adafruit_USBD_MSC.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
#include "Adafruit_TinyUSB_Core.h"
2929

30-
class Adafruit_USBD_MSC : Adafruit_USBD_Interface {
30+
class Adafruit_USBD_MSC : public Adafruit_USBD_Interface {
3131
public:
3232
typedef int32_t (*read_callback_t)(uint32_t lba, void *buffer,
3333
uint32_t bufsize);

src/Adafruit_USBD_WebUSB.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
char url[3 + sizeof(_url)]; \
3636
} const _name = {3 + sizeof(_url) - 1, 3, _scheme, _url}
3737

38-
class Adafruit_USBD_WebUSB : public Stream, Adafruit_USBD_Interface {
38+
class Adafruit_USBD_WebUSB : public Stream, public Adafruit_USBD_Interface {
3939
public:
4040
typedef void (*linestate_callback_t)(bool connected);
4141
Adafruit_USBD_WebUSB(void);

0 commit comments

Comments
 (0)