Add fifo helper function to CDC class for DMA transfer.

This commit is contained in:
Mengsk 2021-06-24 11:34:29 +02:00
parent b34724215b
commit 9d6fd78b63
2 changed files with 32 additions and 0 deletions

View File

@ -483,4 +483,18 @@ bool cdcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_
return true;
}
// Get the Receive FIFO (for DMA transfer)
tu_fifo_t* tud_cdc_n_get_rx_ff (uint8_t itf)
{
TU_ASSERT(itf < CFG_TUD_CDC);
return &_cdcd_itf[itf].rx_ff;
}
// Get the transmit FIFO (for DMA transfer)
tu_fifo_t* tud_cdc_n_get_tx_ff (uint8_t itf)
{
TU_ASSERT(itf < CFG_TUD_CDC);
return &_cdcd_itf[itf].tx_ff;
}
#endif

View File

@ -104,6 +104,12 @@ uint32_t tud_cdc_n_write_available (uint8_t itf);
// Clear the transmit FIFO
bool tud_cdc_n_write_clear (uint8_t itf);
// Get the Receive FIFO (for DMA transfer)
tu_fifo_t* tud_cdc_n_get_rx_ff (uint8_t itf);
// Get the transmit FIFO (for DMA transfer)
tu_fifo_t* tud_cdc_n_get_tx_ff (uint8_t itf);
//--------------------------------------------------------------------+
// Application API (Single Port)
//--------------------------------------------------------------------+
@ -241,6 +247,18 @@ static inline bool tud_cdc_write_clear(void)
return tud_cdc_n_write_clear(0);
}
// Get the Receive FIFO
static inline tu_fifo_t* tud_cdc_get_rx_ff (uint8_t itf)
{
return tud_cdc_n_get_rx_ff(0);
}
// Get the transmit FIFO
static inline tu_fifo_t* tud_cdc_get_tx_ff (uint8_t itf)
{
return tud_cdc_n_get_tx_ff(0);
}
/** @} */
/** @} */