27#ifndef TUSB_CDC_DEVICE_H_
28#define TUSB_CDC_DEVICE_H_
35#if !defined(CFG_TUD_CDC_EP_BUFSIZE) && defined(CFG_TUD_CDC_EPSIZE)
36 #warning CFG_TUD_CDC_EPSIZE is renamed to CFG_TUD_CDC_EP_BUFSIZE, please update to use the new name
37 #define CFG_TUD_CDC_EP_BUFSIZE CFG_TUD_CDC_EPSIZE
40#ifndef CFG_TUD_CDC_EP_BUFSIZE
41 #define CFG_TUD_CDC_EP_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64)
53 uint8_t rx_persistent : 1;
54 uint8_t tx_persistent : 1;
55} tud_cdc_configure_fifo_t;
static TU_ATTR_ALWAYS_INLINE bool tud_cdc_peek(uint8_t *ui8)
uint32_t tud_cdc_n_write_flush(uint8_t itf)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_n_write_char(uint8_t itf, char ch)
uint16_t cdcd_open(uint8_t rhport, tusb_desc_interface_t const *itf_desc, uint16_t max_len)
static TU_ATTR_ALWAYS_INLINE bool tud_cdc_write_clear(void)
bool tud_cdc_n_ready(uint8_t itf)
bool tud_cdc_n_write_clear(uint8_t itf)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_write_str(char const *str)
TU_ATTR_WEAK void tud_cdc_send_break_cb(uint8_t itf, uint16_t duration_ms)
void tud_cdc_n_set_wanted_char(uint8_t itf, char wanted)
void cdcd_reset(uint8_t rhport)
bool tud_cdc_n_peek(uint8_t itf, uint8_t *ui8)
static TU_ATTR_ALWAYS_INLINE void tud_cdc_set_wanted_char(char wanted)
TU_ATTR_WEAK void tud_cdc_rx_cb(uint8_t itf)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_write_available(void)
static TU_ATTR_ALWAYS_INLINE void tud_cdc_read_flush(void)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_write_flush(void)
TU_ATTR_WEAK void tud_cdc_tx_complete_cb(uint8_t itf)
static TU_ATTR_ALWAYS_INLINE bool tud_cdc_ready(void)
void tud_cdc_n_get_line_coding(uint8_t itf, cdc_line_coding_t *coding)
static TU_ATTR_ALWAYS_INLINE uint8_t tud_cdc_get_line_state(void)
uint8_t tud_cdc_n_get_line_state(uint8_t itf)
bool cdcd_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const *request)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_n_write_str(uint8_t itf, char const *str)
bool tud_cdc_n_connected(uint8_t itf)
static TU_ATTR_ALWAYS_INLINE int32_t tud_cdc_n_read_char(uint8_t itf)
static TU_ATTR_ALWAYS_INLINE void tud_cdc_get_line_coding(cdc_line_coding_t *coding)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_read(void *buffer, uint32_t bufsize)
static TU_ATTR_ALWAYS_INLINE int32_t tud_cdc_read_char(void)
bool cdcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
uint32_t tud_cdc_n_write_available(uint8_t itf)
void tud_cdc_n_read_flush(uint8_t itf)
TU_ATTR_WEAK void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
bool tud_cdc_configure_fifo(tud_cdc_configure_fifo_t const *cfg)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_write(void const *buffer, uint32_t bufsize)
uint32_t tud_cdc_n_read(uint8_t itf, void *buffer, uint32_t bufsize)
uint32_t tud_cdc_n_write(uint8_t itf, void const *buffer, uint32_t bufsize)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_write_char(char ch)
static TU_ATTR_ALWAYS_INLINE bool tud_cdc_connected(void)
static TU_ATTR_ALWAYS_INLINE uint32_t tud_cdc_available(void)
uint32_t tud_cdc_n_available(uint8_t itf)
TU_ATTR_WEAK void tud_cdc_line_coding_cb(uint8_t itf, cdc_line_coding_t const *p_line_coding)
TU_ATTR_WEAK void tud_cdc_rx_wanted_cb(uint8_t itf, char wanted_char)
AUDIO Channel Cluster Descriptor (4.1)
CFG_TUH_MEM_ALIGN tusb_control_request_t request