From b0e5a1a9ec52d85fdab44d5aa2cc72e15e5315cc Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 4 Jul 2019 01:27:51 +0700 Subject: [PATCH] remove tud_midi_write_flush() send asap. rename tud_midi_connected() to tud_midi_mounted() --- src/class/cdc/cdc_device.c | 6 ++++-- src/class/midi/midi_device.c | 18 +++++++++--------- src/class/midi/midi_device.h | 15 ++++----------- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c index 464936793..6d13dafc0 100644 --- a/src/class/cdc/cdc_device.c +++ b/src/class/cdc/cdc_device.c @@ -370,7 +370,7 @@ bool cdcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_ uint8_t const itf = 0; cdcd_interface_t* p_cdc = &_cdcd_itf[itf]; - // receive new data + // Received new data if ( ep_addr == p_cdc->ep_out ) { for(uint32_t i=0; iep_in ) // { // diff --git a/src/class/midi/midi_device.c b/src/class/midi/midi_device.c index fbfbcae01..76776d71c 100644 --- a/src/class/midi/midi_device.c +++ b/src/class/midi/midi_device.c @@ -74,7 +74,8 @@ typedef struct //--------------------------------------------------------------------+ CFG_TUSB_MEM_SECTION midid_interface_t _midid_itf[CFG_TUD_MIDI]; -bool tud_midi_n_connected(uint8_t itf) { +bool tud_midi_n_mounted (uint8_t itf) +{ midid_interface_t* midi = &_midid_itf[itf]; return midi->itf_num != 0; } @@ -126,15 +127,14 @@ void midi_rx_done_cb(midid_interface_t* midi, uint8_t const* buffer, uint32_t bu static bool maybe_transmit(midid_interface_t* midi, uint8_t itf_index) { - TU_VERIFY( !usbd_edpt_busy(TUD_OPT_RHPORT, midi->ep_in) ); // skip if previous transfer not complete + TU_VERIFY( !usbd_edpt_busy(TUD_OPT_RHPORT, midi->ep_in) ); // skip if previous transfer not complete - uint16_t count = tu_fifo_read_n(&midi->tx_ff, midi->epin_buf, CFG_TUD_MIDI_EPSIZE); - if (count > 0) - { - TU_VERIFY( tud_midi_n_connected(itf_index) ); // fifo is empty if not connected - TU_ASSERT( usbd_edpt_xfer(TUD_OPT_RHPORT, midi->ep_in, midi->epin_buf, count) ); - } - return true; + uint16_t count = tu_fifo_read_n(&midi->tx_ff, midi->epin_buf, CFG_TUD_MIDI_EPSIZE); + if (count > 0) + { + TU_ASSERT( usbd_edpt_xfer(TUD_OPT_RHPORT, midi->ep_in, midi->epin_buf, count) ); + } + return true; } uint32_t tud_midi_n_write(uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize) diff --git a/src/class/midi/midi_device.h b/src/class/midi/midi_device.h index 10af21276..939c8c6e1 100644 --- a/src/class/midi/midi_device.h +++ b/src/class/midi/midi_device.h @@ -53,25 +53,23 @@ // Application API (Multiple Interfaces) // CFG_TUD_MIDI > 1 //--------------------------------------------------------------------+ -bool tud_midi_n_connected (uint8_t itf); +bool tud_midi_n_mounted (uint8_t itf); uint32_t tud_midi_n_available (uint8_t itf, uint8_t jack_id); uint32_t tud_midi_n_read (uint8_t itf, uint8_t jack_id, void* buffer, uint32_t bufsize); void tud_midi_n_read_flush (uint8_t itf, uint8_t jack_id); uint32_t tud_midi_n_write (uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize); -bool tud_midi_n_write_flush (uint8_t itf); static inline uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3); //--------------------------------------------------------------------+ // Application API (Interface0) //--------------------------------------------------------------------+ -static inline bool tud_midi_connected (void); +static inline bool tud_midi_mounted (void); static inline uint32_t tud_midi_available (void); static inline uint32_t tud_midi_read (void* buffer, uint32_t bufsize); static inline void tud_midi_read_flush (void); static inline uint32_t tud_midi_write (uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize); static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3); -static inline bool tud_midi_write_flush (void); //--------------------------------------------------------------------+ // Application Callback API (weak is optional) @@ -88,9 +86,9 @@ static inline uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t return tud_midi_n_write(itf, jack_id, msg, 3); } -static inline bool tud_midi_connected (void) +static inline bool tud_midi_mounted (void) { - return tud_midi_n_connected(0); + return tud_midi_n_mounted(0); } static inline uint32_t tud_midi_available (void) @@ -119,11 +117,6 @@ static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b return tud_midi_write(jack_id, msg, 3); } -static inline bool tud_midi_write_flush (void) -{ - return tud_midi_n_write_flush(0); -} - //--------------------------------------------------------------------+ // Internal Class Driver API //--------------------------------------------------------------------+