From abb37e98baa16ae9f99f9d7562e4ee166e8bc4de Mon Sep 17 00:00:00 2001 From: hathach Date: Sat, 14 Jul 2018 23:43:19 +0700 Subject: [PATCH] rename tud_cdc_flush() to tud_cdc_write_flush(), add tud_cdc_read_flush() --- examples/device/device_virtual_com/src/tusb_config.h | 2 +- examples/device/nrf52840/src/main.c | 2 +- examples/device/nrf52840/src/tusb_config.h | 2 +- examples/obsolete/device/src/tusb_config.h | 2 +- src/class/cdc/cdc_device.c | 7 ++++++- src/class/cdc/cdc_device.h | 5 +++-- src/common/tusb_verify.h | 1 + 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/examples/device/device_virtual_com/src/tusb_config.h b/examples/device/device_virtual_com/src/tusb_config.h index a69d2ecbb..511b81b78 100644 --- a/examples/device/device_virtual_com/src/tusb_config.h +++ b/examples/device/device_virtual_com/src/tusb_config.h @@ -90,7 +90,7 @@ // TX is sent automatically every Start of Frame event. -// If not enabled, application must call tud_cdc_flush() periodically +// If not enabled, application must call tud_cdc_write_flush() periodically #define CFG_TUD_CDC_FLUSH_ON_SOF 1 //--------------------------------------------------------------------+ diff --git a/examples/device/nrf52840/src/main.c b/examples/device/nrf52840/src/main.c index e6a6388bf..ec574738e 100644 --- a/examples/device/nrf52840/src/main.c +++ b/examples/device/nrf52840/src/main.c @@ -87,7 +87,7 @@ void virtual_com_task(void) uint32_t count = tud_cdc_read(buf, sizeof(buf)); tud_cdc_write(buf, count); - tud_cdc_flush(); + tud_cdc_write_flush(); } } diff --git a/examples/device/nrf52840/src/tusb_config.h b/examples/device/nrf52840/src/tusb_config.h index 258a5983d..62c788413 100644 --- a/examples/device/nrf52840/src/tusb_config.h +++ b/examples/device/nrf52840/src/tusb_config.h @@ -86,7 +86,7 @@ #define CFG_TUD_CDC_TX_BUFSIZE 64 // TX is sent automatically every Start of Frame event. -// If not enabled, application must call tud_cdc_flush() periodically +// If not enabled, application must call tud_cdc_write_flush() periodically #define CFG_TUD_CDC_FLUSH_ON_SOF 0 /*------------------------------------------------------------------*/ diff --git a/examples/obsolete/device/src/tusb_config.h b/examples/obsolete/device/src/tusb_config.h index 16003dd6d..8c8d32514 100644 --- a/examples/obsolete/device/src/tusb_config.h +++ b/examples/obsolete/device/src/tusb_config.h @@ -88,7 +88,7 @@ // TX is sent automatically in Start of Frame event. -// If not enabled, application must call tud_cdc_flush() periodically +// If not enabled, application must call tud_cdc_write_flush() periodically #define CFG_TUD_CDC_FLUSH_ON_SOF 1 diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c index 04402c5bb..bcef47136 100644 --- a/src/class/cdc/cdc_device.c +++ b/src/class/cdc/cdc_device.c @@ -136,6 +136,11 @@ char tud_cdc_n_peek(uint8_t itf, int pos) return tu_fifo_peek_at(&_cdcd_itf[itf].intact.rx_ff, pos, &ch) ? ch : (-1); } +void tud_cdc_n_read_flush (uint8_t itf) +{ + tu_fifo_clear(&_cdcd_itf[itf].intact.rx_ff); +} + //--------------------------------------------------------------------+ // WRITE API //--------------------------------------------------------------------+ @@ -150,7 +155,7 @@ uint32_t tud_cdc_n_write(uint8_t itf, void const* buffer, uint32_t bufsize) return tu_fifo_write_n(&_cdcd_itf[itf].intact.tx_ff, buffer, bufsize); } -bool tud_cdc_n_flush (uint8_t itf) +bool tud_cdc_n_write_flush (uint8_t itf) { uint8_t edpt = _cdcd_itf[itf].ep_in; VERIFY( !dcd_edpt_busy(TUD_RHPORT, edpt) ); // skip if previous transfer not complete diff --git a/src/class/cdc/cdc_device.h b/src/class/cdc/cdc_device.h index c815a42b6..0a1b2ca8f 100644 --- a/src/class/cdc/cdc_device.h +++ b/src/class/cdc/cdc_device.h @@ -64,11 +64,12 @@ void tud_cdc_n_set_wanted_char (uint8_t itf, char wanted); uint32_t tud_cdc_n_available (uint8_t itf); char tud_cdc_n_read_char (uint8_t itf); uint32_t tud_cdc_n_read (uint8_t itf, void* buffer, uint32_t bufsize); +void tud_cdc_n_read_flush (uint8_t itf); char tud_cdc_n_peek (uint8_t itf, int pos); uint32_t tud_cdc_n_write_char (uint8_t itf, char ch); uint32_t tud_cdc_n_write (uint8_t itf, void const* buffer, uint32_t bufsize); -bool tud_cdc_n_flush (uint8_t itf); +bool tud_cdc_n_write_flush (uint8_t itf); //--------------------------------------------------------------------+ // APPLICATION API (Interface0) @@ -85,7 +86,7 @@ static inline char tud_cdc_peek (int pos) static inline uint32_t tud_cdc_write_char (char ch) { return tud_cdc_n_write_char(0, ch); } static inline uint32_t tud_cdc_write (void const* buffer, uint32_t bufsize) { return tud_cdc_n_write(0, buffer, bufsize); } -static inline bool tud_cdc_flush (void) { return tud_cdc_n_flush(0); } +static inline bool tud_cdc_write_flush (void) { return tud_cdc_n_write_flush(0); } //--------------------------------------------------------------------+ // APPLICATION CALLBACK API (WEAK is optional) diff --git a/src/common/tusb_verify.h b/src/common/tusb_verify.h index 0e1f3b934..95816a0e7 100644 --- a/src/common/tusb_verify.h +++ b/src/common/tusb_verify.h @@ -61,6 +61,7 @@ // VERIFY Helper //--------------------------------------------------------------------+ #if CFG_TUSB_DEBUG >= 1 + #include #define _MESS_ERR(_err) printf("%s: %d: failed, error = %s\n", __func__, __LINE__, tusb_strerr[_err]) #define _MESS_FAILED() printf("%s: %d: failed\n", __func__, __LINE__) #else