3#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
11class USBUartTypeCdcAcm;
12class USBUartComponent;
14static const char *
const TAG =
"usb_uart";
16static constexpr uint8_t USB_CDC_SUBCLASS_ACM = 0x02;
17static constexpr uint8_t USB_SUBCLASS_COMMON = 0x02;
18static constexpr uint8_t USB_SUBCLASS_NULL = 0x00;
19static constexpr uint8_t USB_PROTOCOL_NULL = 0x00;
20static constexpr uint8_t USB_DEVICE_PROTOCOL_IAD = 0x01;
21static constexpr uint8_t USB_VENDOR_IFC = usb_host::USB_TYPE_VENDOR | usb_host::USB_RECIP_INTERFACE;
22static constexpr uint8_t USB_VENDOR_DEV = usb_host::USB_TYPE_VENDOR | usb_host::USB_RECIP_DEVICE;
45static const char *
const PARITY_NAMES[] = {
"NONE",
"ODD",
"EVEN",
"MARK",
"SPACE"};
46static const char *
const STOP_BITS_NAMES[] = {
"1",
"1.5",
"2"};
57 void push(uint8_t item);
58 void push(
const uint8_t *data,
size_t len);
60 size_t pop(uint8_t *data,
size_t len);
107 void setup()
override;
108 void loop()
override;
Helper class to easily give an object a parent of type T.
USBClient(uint16_t vid, uint16_t pid)
RingBuffer(uint16_t buffer_size)
size_t get_free_space() const
size_t get_available() const
void set_dummy_receiver(bool dummy_receiver)
bool peek_byte(uint8_t *data) override
void set_parity(UARTParityOptions parity)
UARTParityOptions parity_
void write_array(const uint8_t *data, size_t len) override
void check_logger_conflict() override
RingBuffer output_buffer_
bool read_array(uint8_t *data, size_t len) override
USBUartChannel(uint8_t index, uint16_t buffer_size)
void set_debug(bool debug)
void add_channel(USBUartChannel *channel)
USBUartComponent(uint16_t vid, uint16_t pid)
std::vector< USBUartChannel * > channels_
void start_output(USBUartChannel *channel)
void dump_config() override
void start_input(USBUartChannel *channel)
std::vector< USBUartChannel * > get_channels()
void enable_channels() override
CH34x.
USBUartTypeCH34X(uint16_t vid, uint16_t pid)
USBUartTypeCP210X(uint16_t vid, uint16_t pid)
std::vector< CdcEps > parse_descriptors_(usb_device_handle_t dev_hdl) override
void enable_channels() override
void on_disconnected() override
void on_connected() override
USBUartTypeCdcAcm(uint16_t vid, uint16_t pid)
virtual void enable_channels()
virtual std::vector< CdcEps > parse_descriptors_(usb_device_handle_t dev_hdl)
@ UART_CONFIG_STOP_BITS_1_5
@ UART_CONFIG_STOP_BITS_1
@ UART_CONFIG_STOP_BITS_2
@ UART_CONFIG_PARITY_SPACE
@ UART_CONFIG_PARITY_MARK
@ UART_CONFIG_PARITY_NONE
@ UART_CONFIG_PARITY_EVEN
Providing packet encoding functions for exchanging data with a remote host.
const usb_ep_desc_t * out_ep
const usb_ep_desc_t * notify_ep
const usb_ep_desc_t * in_ep