diff options
Diffstat (limited to 'tinyusb')
| -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
|
