diff options
| author | hathach <[email protected]> | 2018-03-20 18:33:06 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2018-03-20 18:33:28 +0700 |
| commit | 2f0fcf80e0b2d49116a019c02da5bc63dadc763b (patch) | |
| tree | 770f629b6876ad3a4ad29b282d98229280f1ce93 /tinyusb/class/cdc/cdc_device.c | |
| parent | 7a628f4dfca4a6cf3b086439bca6ca0361b92b39 (diff) | |
nrf52 cdc example work on nrf52840pdk
- add tud_cdc_flush(), auto flush with sof is enabled by default.
-
Diffstat (limited to 'tinyusb/class/cdc/cdc_device.c')
| -rw-r--r-- | tinyusb/class/cdc/cdc_device.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/tinyusb/class/cdc/cdc_device.c b/tinyusb/class/cdc/cdc_device.c index d798560be..a4f934e83 100644 --- a/tinyusb/class/cdc/cdc_device.c +++ b/tinyusb/class/cdc/cdc_device.c @@ -280,18 +280,24 @@ tusb_error_t cdcd_xfer_cb(uint8_t port, uint8_t ep_addr, tusb_event_t event, uin return TUSB_ERROR_NONE;
}
-void cdcd_sof(uint8_t port)
+bool tud_n_cdc_flush (uint8_t port)
{
- if ( !tud_n_cdc_connected(port) ) return;
+ VERIFY( tud_n_cdc_connected(port) );
uint8_t edpt = cdcd_data[port].ep_addr[CDC_PIPE_DATA_IN];
- if ( !tusb_dcd_edpt_busy(port, edpt) )
- {
- uint16_t count = fifo_read_n(&_tx_ff, _tmp_tx_buf, sizeof(_tmp_tx_buf));
+ VERIFY( !tusb_dcd_edpt_busy(port, edpt) );
- TU_ASSERT( tusb_dcd_edpt_xfer(port, edpt, _tmp_tx_buf, count, false), TUSB_ERROR_DCD_EDPT_XFER);
- }
+
+ uint16_t count = fifo_read_n(&_tx_ff, _tmp_tx_buf, sizeof(_tmp_tx_buf));
+ TU_ASSERT( tusb_dcd_edpt_xfer(port, edpt, _tmp_tx_buf, count, false) );
+
+ return true;
+}
+
+void cdcd_sof(uint8_t port)
+{
+ tud_n_cdc_flush(port);
}
#endif
|
