Skip to content

Commit 9eae19b

Browse files
committed
clean up midi
1 parent 10e0c41 commit 9eae19b

File tree

3 files changed

+11
-52
lines changed

3 files changed

+11
-52
lines changed

examples/MIDI/midi_test/midi_test.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void setup()
4545

4646
pinMode(LED_BUILTIN, OUTPUT);
4747

48-
//usb_midi.setStringDescriptor("TinyUSB MIDI");
48+
usb_midi.setStringDescriptor("TinyUSB MIDI");
4949

5050
// Initialize MIDI, and listen to all MIDI channels
5151
// This will also call usb_midi's begin()

src/arduino/midi/Adafruit_USBD_MIDI.cpp

Lines changed: 10 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -36,33 +36,9 @@
3636
// TODO multiple instances
3737
static Adafruit_USBD_MIDI *_midi_dev = NULL;
3838

39-
#ifdef ARDUINO_ARCH_ESP32
40-
static uint16_t midi_load_descriptor(uint8_t *dst, uint8_t *itf) {
41-
// uint8_t str_index = tinyusb_add_string_descriptor("TinyUSB HID");
42-
43-
uint8_t ep_in = tinyusb_get_free_in_endpoint();
44-
uint8_t ep_out = tinyusb_get_free_out_endpoint();
45-
TU_VERIFY(ep_in && ep_out);
46-
ep_in |= 0x80;
47-
48-
uint16_t desc_len = _midi_dev->getInterfaceDescriptorLen();
49-
desc_len = _midi_dev->makeItfDesc(*itf, dst, desc_len, ep_in, ep_out);
50-
51-
*itf += 2;
52-
return desc_len;
53-
}
54-
#endif
55-
5639
Adafruit_USBD_MIDI::Adafruit_USBD_MIDI(uint8_t n_cables) {
5740
_n_cables = n_cables;
5841
memset(_cable_name_strid, 0, sizeof(_cable_name_strid));
59-
60-
#ifdef ARDUINO_ARCH_ESP32
61-
// ESP32 requires setup configuration descriptor within constructor
62-
_midi_dev = this;
63-
uint16_t const desc_len = getInterfaceDescriptorLen();
64-
tinyusb_enable_interface(USB_INTERFACE_MIDI, desc_len, midi_load_descriptor);
65-
#endif
6642
}
6743

6844
void Adafruit_USBD_MIDI::setCables(uint8_t n_cables) { _n_cables = n_cables; }
@@ -87,14 +63,16 @@ bool Adafruit_USBD_MIDI::begin(void) {
8763
return true;
8864
}
8965

90-
uint16_t Adafruit_USBD_MIDI::makeItfDesc(uint8_t itfnum, uint8_t *buf,
91-
uint16_t bufsize, uint8_t ep_in,
92-
uint8_t ep_out) {
66+
uint16_t Adafruit_USBD_MIDI::getInterfaceDescriptor(uint8_t itfnum_deprecated,
67+
uint8_t *buf,
68+
uint16_t bufsize) {
69+
(void)itfnum_deprecated;
70+
9371
uint16_t const desc_len = TUD_MIDI_DESC_HEAD_LEN +
9472
TUD_MIDI_DESC_JACK_LEN * _n_cables +
9573
2 * TUD_MIDI_DESC_EP_LEN(_n_cables);
9674

97-
// null buf is for length only
75+
// null buffer is used to get the length of descriptor only
9876
if (!buf) {
9977
return desc_len;
10078
}
@@ -103,6 +81,10 @@ uint16_t Adafruit_USBD_MIDI::makeItfDesc(uint8_t itfnum, uint8_t *buf,
10381
return 0;
10482
}
10583

84+
uint8_t itfnum = TinyUSBDevice.allocInterface(2);
85+
uint8_t ep_in = TinyUSBDevice.allocEndpoint(TUSB_DIR_IN);
86+
uint8_t ep_out = TinyUSBDevice.allocEndpoint(TUSB_DIR_OUT);
87+
10688
uint16_t len = 0;
10789

10890
// Header
@@ -153,25 +135,6 @@ uint16_t Adafruit_USBD_MIDI::makeItfDesc(uint8_t itfnum, uint8_t *buf,
153135
return desc_len;
154136
}
155137

156-
uint16_t Adafruit_USBD_MIDI::getInterfaceDescriptor(uint8_t itfnum_deprecated,
157-
uint8_t *buf,
158-
uint16_t bufsize) {
159-
(void)itfnum_deprecated;
160-
161-
uint8_t itfnum = 0;
162-
uint8_t ep_in = 0;
163-
uint8_t ep_out = 0;
164-
165-
// null buffer is used to get the length of descriptor only
166-
if (buf) {
167-
itfnum = TinyUSBDevice.allocInterface(2);
168-
ep_in = TinyUSBDevice.allocEndpoint(TUSB_DIR_IN);
169-
ep_out = TinyUSBDevice.allocEndpoint(TUSB_DIR_OUT);
170-
}
171-
172-
return makeItfDesc(itfnum, buf, bufsize, ep_in, ep_out);
173-
}
174-
175138
int Adafruit_USBD_MIDI::read(void) {
176139
uint8_t ch;
177140
return tud_midi_stream_read(&ch, 1) ? (int)ch : (-1);

src/arduino/midi/Adafruit_USBD_MIDI.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,6 @@ class Adafruit_USBD_MIDI : public Stream, public Adafruit_USBD_Interface {
6363
virtual uint16_t getInterfaceDescriptor(uint8_t itfnum_deprecated,
6464
uint8_t *buf, uint16_t bufsize);
6565

66-
// internal use only
67-
uint16_t makeItfDesc(uint8_t itfnum, uint8_t *buf, uint16_t bufsize,
68-
uint8_t ep_in, uint8_t ep_out);
69-
7066
private:
7167
uint8_t _n_cables;
7268
uint8_t _cable_name_strid[16];

0 commit comments

Comments
 (0)