Skip to content

Commit eeab293

Browse files
committed
update tinyusb midi
1 parent 3afe3c5 commit eeab293

File tree

4 files changed

+30
-35
lines changed

4 files changed

+30
-35
lines changed

cores/nRF5/Adafruit_TinyUSB_Core/Adafruit_USBD_CDC.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Adafruit_USBD_CDC::Adafruit_USBD_CDC(void)
4040
uint16_t Adafruit_USBD_CDC::getDescriptor(uint8_t* buf, uint16_t bufsize)
4141
{
4242
// CDC is mostly always existed for DFU
43+
// usb core will automatically update interface number and endpoint number
4344
uint8_t desc[] = { TUD_CDC_DESCRIPTOR(0, 0, EPIN, 8, EPOUT, EPIN, 64) };
4445
uint16_t const len = sizeof(desc);
4546

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/midi/midi_device.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ typedef struct
7474
//--------------------------------------------------------------------+
7575
CFG_TUSB_MEM_SECTION midid_interface_t _midid_itf[CFG_TUD_MIDI];
7676

77-
bool tud_midi_n_connected(uint8_t itf) {
77+
bool tud_midi_n_mounted (uint8_t itf)
78+
{
7879
midid_interface_t* midi = &_midid_itf[itf];
7980
return midi->itf_num != 0;
8081
}
@@ -126,15 +127,14 @@ void midi_rx_done_cb(midid_interface_t* midi, uint8_t const* buffer, uint32_t bu
126127

127128
static bool maybe_transmit(midid_interface_t* midi, uint8_t itf_index)
128129
{
129-
TU_VERIFY( !usbd_edpt_busy(TUD_OPT_RHPORT, midi->ep_in) ); // skip if previous transfer not complete
130+
TU_VERIFY( !usbd_edpt_busy(TUD_OPT_RHPORT, midi->ep_in) ); // skip if previous transfer not complete
130131

131-
uint16_t count = tu_fifo_read_n(&midi->tx_ff, midi->epin_buf, CFG_TUD_MIDI_EPSIZE);
132-
if (count > 0)
133-
{
134-
TU_VERIFY( tud_midi_n_connected(itf_index) ); // fifo is empty if not connected
135-
TU_ASSERT( usbd_edpt_xfer(TUD_OPT_RHPORT, midi->ep_in, midi->epin_buf, count) );
136-
}
137-
return true;
132+
uint16_t count = tu_fifo_read_n(&midi->tx_ff, midi->epin_buf, CFG_TUD_MIDI_EPSIZE);
133+
if (count > 0)
134+
{
135+
TU_ASSERT( usbd_edpt_xfer(TUD_OPT_RHPORT, midi->ep_in, midi->epin_buf, count) );
136+
}
137+
return true;
138138
}
139139

140140
uint32_t tud_midi_n_write(uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize)

cores/nRF5/Adafruit_TinyUSB_Core/tinyusb/src/class/midi/midi_device.h

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,25 +53,24 @@
5353
// Application API (Multiple Interfaces)
5454
// CFG_TUD_MIDI > 1
5555
//--------------------------------------------------------------------+
56-
bool tud_midi_n_connected (uint8_t itf);
57-
uint32_t tud_midi_n_available (uint8_t itf, uint8_t jack_id);
58-
uint32_t tud_midi_n_read (uint8_t itf, uint8_t jack_id, void* buffer, uint32_t bufsize);
59-
void tud_midi_n_read_flush (uint8_t itf, uint8_t jack_id);
60-
uint32_t tud_midi_n_write (uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize);
61-
bool tud_midi_n_write_flush (uint8_t itf);
56+
bool tud_midi_n_mounted (uint8_t itf);
57+
uint32_t tud_midi_n_available (uint8_t itf, uint8_t jack_id);
58+
uint32_t tud_midi_n_read (uint8_t itf, uint8_t jack_id, void* buffer, uint32_t bufsize);
59+
void tud_midi_n_read_flush (uint8_t itf, uint8_t jack_id);
60+
uint32_t tud_midi_n_write (uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize);
6261

63-
static inline uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3);
62+
static inline
63+
uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3);
6464

6565
//--------------------------------------------------------------------+
6666
// Application API (Interface0)
6767
//--------------------------------------------------------------------+
68-
static inline bool tud_midi_connected (void);
69-
static inline uint32_t tud_midi_available (void);
70-
static inline uint32_t tud_midi_read (void* buffer, uint32_t bufsize);
71-
static inline void tud_midi_read_flush (void);
72-
static inline uint32_t tud_midi_write (uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize);
73-
static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3);
74-
static inline bool tud_midi_write_flush (void);
68+
static inline bool tud_midi_mounted (void);
69+
static inline uint32_t tud_midi_available (void);
70+
static inline uint32_t tud_midi_read (void* buffer, uint32_t bufsize);
71+
static inline void tud_midi_read_flush (void);
72+
static inline uint32_t tud_midi_write (uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize);
73+
static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3);
7574

7675
//--------------------------------------------------------------------+
7776
// Application Callback API (weak is optional)
@@ -88,9 +87,9 @@ static inline uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t
8887
return tud_midi_n_write(itf, jack_id, msg, 3);
8988
}
9089

91-
static inline bool tud_midi_connected (void)
90+
static inline bool tud_midi_mounted (void)
9291
{
93-
return tud_midi_n_connected(0);
92+
return tud_midi_n_mounted(0);
9493
}
9594

9695
static inline uint32_t tud_midi_available (void)
@@ -119,11 +118,6 @@ static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b
119118
return tud_midi_write(jack_id, msg, 3);
120119
}
121120

122-
static inline bool tud_midi_write_flush (void)
123-
{
124-
return tud_midi_n_write_flush(0);
125-
}
126-
127121
//--------------------------------------------------------------------+
128122
// Internal Class Driver API
129123
//--------------------------------------------------------------------+

libraries/Bluefruit52Lib/src/services/BLEMidi.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ class BLEMidi: public BLEService, public Stream
7575
void autoMIDIread(void* midi_obj);
7676

7777
// Stream API for MIDI Interface
78-
virtual int read ( void );
79-
virtual size_t write ( uint8_t b );
80-
virtual int available ( void );
81-
virtual int peek ( void );
82-
virtual void flush ( void );
78+
virtual int read ( void );
79+
virtual size_t write ( uint8_t b );
80+
virtual int available ( void );
81+
virtual int peek ( void );
82+
virtual void flush ( void );
8383

8484
using Print::write; // pull in write(str) and write(buf, size) from Print
8585

0 commit comments

Comments
 (0)