diff options
| author | hathach <[email protected]> | 2018-04-07 15:04:01 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2018-04-07 15:04:01 +0700 |
| commit | fb27ae96b0197d4f072d3e5b825c8ef132903a96 (patch) | |
| tree | 35782465cdd2a154a8126da2d0f539bda5b65892 /tinyusb/class | |
| parent | 9be8e7bef6d8d8cada684f1f46334bceded7479f (diff) | |
fix cdc_device flush send zero bytes
Diffstat (limited to 'tinyusb/class')
| -rw-r--r-- | tinyusb/class/cdc/cdc_device.c | 6 | ||||
| -rw-r--r-- | tinyusb/class/cdc/cdc_device.h | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/tinyusb/class/cdc/cdc_device.c b/tinyusb/class/cdc/cdc_device.c index 4144dc018..f08f208ae 100644 --- a/tinyusb/class/cdc/cdc_device.c +++ b/tinyusb/class/cdc/cdc_device.c @@ -289,7 +289,11 @@ bool tud_n_cdc_flush (uint8_t rhport) VERIFY( !dcd_edpt_busy(rhport, edpt) );
uint16_t count = fifo_read_n(&_tx_ff, _tmp_tx_buf, sizeof(_tmp_tx_buf));
- TU_ASSERT( dcd_edpt_xfer(rhport, edpt, _tmp_tx_buf, count) );
+
+ if ( count )
+ {
+ TU_ASSERT( dcd_edpt_xfer(rhport, edpt, _tmp_tx_buf, count) );
+ }
return true;
}
diff --git a/tinyusb/class/cdc/cdc_device.h b/tinyusb/class/cdc/cdc_device.h index 9fb8cc075..2fcf1abec 100644 --- a/tinyusb/class/cdc/cdc_device.h +++ b/tinyusb/class/cdc/cdc_device.h @@ -79,10 +79,10 @@ static inline uint32_t tud_cdc_write (void const* buffer, uint32_t bufsize) static inline bool tud_cdc_flush (void) { return tud_n_cdc_flush(0); }
//--------------------------------------------------------------------+
-// APPLICATION CALLBACK API
+// APPLICATION CALLBACK API (WEAK is optional)
//--------------------------------------------------------------------+
//void tud_cdc_line_coding_changed_cb(uint8_t rhport, cdc_line_coding_t* p_line_coding);
-void tud_cdc_rx_cb(uint8_t rhport);
+void tud_cdc_rx_cb(uint8_t rhport) ATTR_WEAK;
//--------------------------------------------------------------------+
// USBD-CLASS DRIVER API
|
