From 23fa9eeebe1581e4cc877a2fe52336469974ddc9 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 8 Mar 2018 14:55:02 +0700 Subject: cdc device require SOF to operate --- tinyusb/class/cdc/cdc_device.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'tinyusb/class') diff --git a/tinyusb/class/cdc/cdc_device.c b/tinyusb/class/cdc/cdc_device.c index 4e9a22539..0b83457b5 100644 --- a/tinyusb/class/cdc/cdc_device.c +++ b/tinyusb/class/cdc/cdc_device.c @@ -270,6 +270,8 @@ tusb_error_t cdcd_xfer_cb(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32 void cdcd_sof(uint8_t coreid) { + if ( !tud_cdc_connected(coreid) ) return; + endpoint_handle_t ep = cdcd_data[coreid].edpt_hdl[CDC_PIPE_DATA_IN]; if ( !dcd_pipe_is_busy( ep ) ) @@ -280,14 +282,14 @@ void cdcd_sof(uint8_t coreid) } } -uint32_t tud_cdc_available(uint8_t coreid) +bool tud_cdc_connected(uint8_t coreid) { - return fifo_count(&_rx_ff); + return cdcd_data[coreid].connected; } -bool tud_cdc_connected(uint8_t coreid) +uint32_t tud_cdc_available(uint8_t coreid) { - return cdcd_data[coreid].connected; + return fifo_count(&_rx_ff); } int tud_cdc_read_char(uint8_t coreid) -- cgit v1.3.1