Skip to content

Commit

Permalink
USBD_CDC: Allow setting the CDC string descriptor
Browse files Browse the repository at this point in the history
  • Loading branch information
jepler committed Jun 21, 2024
1 parent c67266b commit 9312f79
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/arduino/Adafruit_USBD_CDC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ uint16_t Adafruit_USBD_CDC::getInterfaceDescriptor(uint8_t itfnum_deprecated,
return len;
}

// Baud and config is ignore in CDC
void Adafruit_USBD_CDC::begin(uint32_t baud) {
// Configure with a custom descriptor string
void Adafruit_USBD_CDC::begin(uint32_t baud, const char *descriptor) {
(void)baud;

// already called begin()
Expand All @@ -102,10 +102,14 @@ void Adafruit_USBD_CDC::begin(uint32_t baud) {
}

_instance = _instance_count++;
this->setStringDescriptor("TinyUSB Serial");
this->setStringDescriptor(descriptor);
TinyUSBDevice.addInterface(*this);
}

void Adafruit_USBD_CDC::begin(uint32_t baud) {
Adafruit_USBD_CDC::begin(baud, "TinyUSB Serial");
}

void Adafruit_USBD_CDC::begin(uint32_t baud, uint8_t config) {
(void)config;
this->begin(baud);
Expand Down
1 change: 1 addition & 0 deletions src/arduino/Adafruit_USBD_CDC.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ class Adafruit_USBD_CDC : public Stream, public Adafruit_USBD_Interface {
(void)pin_tx;
}
void begin(uint32_t baud);
void begin(uint32_t baud, const char *descriptor);
void begin(uint32_t baud, uint8_t config);
void end(void);

Expand Down
5 changes: 5 additions & 0 deletions src/arduino/cdc/Adafruit_USBH_CDC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ void Adafruit_USBH_CDC::begin(unsigned long baudrate) {
}
}

void Adafruit_USBH_CDC::begin(uint32_t baudrate, const char *descriptor) {
(void)descriptor;
begin(baudrate);
}

void Adafruit_USBH_CDC::begin(unsigned long baudrate, uint16_t config) {
(void)config; // TODO support line coding later
begin(baudrate);
Expand Down
1 change: 1 addition & 0 deletions src/arduino/cdc/Adafruit_USBH_CDC.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class Adafruit_USBH_CDC : public HardwareSerial {
uint8_t getInterfaceIndex(void) { return _idx; }

void begin(unsigned long baudrate);
void begin(uint32_t baud, const char *descriptor);
void begin(unsigned long baudrate, uint16_t config);

bool mount(uint8_t idx);
Expand Down

0 comments on commit 9312f79

Please sign in to comment.