add tuh_cdc_write_clear, rename read_flush() to read_clear()

This commit is contained in:
hathach 2022-12-21 17:46:11 +07:00
parent cd9008e5a9
commit 9e8ea44925
2 changed files with 23 additions and 6 deletions

View File

@ -190,10 +190,16 @@ uint32_t tu_edpt_stream_write_available(tu_edpt_stream_t* s)
return (uint32_t) tu_fifo_remaining(&s->ff); return (uint32_t) tu_fifo_remaining(&s->ff);
} }
void tu_edpt_stream_read_clear(uint8_t daddr, tu_edpt_stream_t* s) bool tu_edpt_stream_read_clear(uint8_t daddr, tu_edpt_stream_t* s)
{ {
tu_fifo_clear(&s->ff); bool ret = tu_fifo_clear(&s->ff);
tu_edpt_stream_read_xfer(daddr, s); tu_edpt_stream_read_xfer(daddr, s);
return ret;
}
bool tu_edpt_stream_write_clear(tu_edpt_stream_t* s)
{
return tu_fifo_clear(&s->ff);
} }
typedef struct { typedef struct {
@ -331,6 +337,14 @@ uint32_t tuh_cdc_write_flush(uint8_t idx)
return tu_edpt_stream_write_xfer(p_cdc->daddr, &p_cdc->stream.tx); return tu_edpt_stream_write_xfer(p_cdc->daddr, &p_cdc->stream.tx);
} }
bool tuh_cdc_write_clear(uint8_t idx)
{
cdch_interface_t* p_cdc = get_itf(idx);
TU_VERIFY(p_cdc);
return tu_edpt_stream_write_clear(&p_cdc->stream.tx);
}
uint32_t tuh_cdc_write_available(uint8_t idx) uint32_t tuh_cdc_write_available(uint8_t idx)
{ {
cdch_interface_t* p_cdc = get_itf(idx); cdch_interface_t* p_cdc = get_itf(idx);
@ -355,12 +369,12 @@ uint32_t tuh_cdc_read_available(uint8_t idx)
return tu_edpt_stream_read_available(&p_cdc->stream.rx); return tu_edpt_stream_read_available(&p_cdc->stream.rx);
} }
void tuh_cdc_read_flush (uint8_t idx) bool tuh_cdc_read_clear (uint8_t idx)
{ {
cdch_interface_t* p_cdc = get_itf(idx); cdch_interface_t* p_cdc = get_itf(idx);
TU_VERIFY(p_cdc, ); TU_VERIFY(p_cdc);
tu_edpt_stream_read_clear(p_cdc->daddr, &p_cdc->stream.rx); return tu_edpt_stream_read_clear(p_cdc->daddr, &p_cdc->stream.rx);
} }
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+

View File

@ -110,6 +110,9 @@ uint32_t tuh_cdc_write(uint8_t idx, void const* buffer, uint32_t bufsize);
// Force sending data if possible, return number of forced bytes // Force sending data if possible, return number of forced bytes
uint32_t tuh_cdc_write_flush(uint8_t idx); uint32_t tuh_cdc_write_flush(uint8_t idx);
// Clear the transmit FIFO
bool tuh_cdc_write_clear(uint8_t idx);
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// Read API // Read API
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
@ -121,7 +124,7 @@ uint32_t tuh_cdc_read_available(uint8_t idx);
uint32_t tuh_cdc_read (uint8_t idx, void* buffer, uint32_t bufsize); uint32_t tuh_cdc_read (uint8_t idx, void* buffer, uint32_t bufsize);
// Clear the received FIFO // Clear the received FIFO
void tuh_cdc_read_flush (uint8_t idx); bool tuh_cdc_read_clear (uint8_t idx);
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// Control Endpoint (Request) API // Control Endpoint (Request) API