From 141ac25e3b3aaf72a50ace257d2bda41d1ebe702 Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 20 Jul 2018 15:47:28 +0700 Subject: [PATCH] also added wanted char to fifo --- src/class/cdc/cdc_device.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c index 6d5ad4e85..8848ddca0 100644 --- a/src/class/cdc/cdc_device.c +++ b/src/class/cdc/cdc_device.c @@ -70,7 +70,7 @@ typedef struct tu_fifo_t tx_ff; uint8_t rx_ff_buf[CFG_TUD_CDC_RX_BUFSIZE]; - uint8_t tx_ff_buf[CFG_TUD_CDC_RX_BUFSIZE]; + uint8_t tx_ff_buf[CFG_TUD_CDC_TX_BUFSIZE]; // Endpoint Transfer buffer CFG_TUSB_MEM_ALIGN uint8_t epin_buf[CFG_TUD_CDC_EPSIZE]; @@ -327,13 +327,12 @@ tusb_error_t cdcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, tusb_event_t event, u for(uint32_t i=0; irx_ff, &p_cdc->epin_buf[i]); + // Check for wanted char and invoke callback if needed if ( tud_cdc_rx_wanted_cb && ( wanted != -1 ) && ( wanted == p_cdc->epin_buf[i] ) ) { tud_cdc_rx_wanted_cb(itf, wanted); - }else - { - tu_fifo_write(&p_cdc->rx_ff, &p_cdc->epin_buf[i]); } }