2#if defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
22 void setup()
override;
std::array< uint8_t, CONFIG_TINYUSB_CDC_RX_BUFSIZE > uart_tx_buffer_
TaskHandle_t uart_rx_task_handle_
uart::IDFUARTComponent * get_uart_parent() const
uint8_t configured_data_bits_
std::atomic< uint8_t > paused_
bool sync_host_framing_()
uart::IDFUARTComponent * uart_parent_
void resume()
Re-apply the host's line coding and line state, then resume forwarding.
static void uart_rx_task_fn(void *arg)
void set_line_state(bool dtr, bool rts)
void restore_configured_framing_()
usb_cdc_acm::USBCDCACMInstance * usb_cdc_parent_
std::atomic< uint8_t > rx_parked_
static void uart_tx_task_fn(void *arg)
bool is_paused() const
True once both worker tasks are off the bus and the configured framing is restored.
uart::UARTParityOptions configured_parity_
void on_shutdown() override
static constexpr uint32_t UART_RX_WAIT_MS
uint32_t reload_requested_at_
std::atomic< uint8_t > tx_busy_
void set_rts_pin(GPIOPin *rts_pin)
void dump_config() override
float get_setup_priority() const override
@ MAIN_STATE_RELOAD_PENDING
uint32_t configured_baud_rate_
TaskHandle_t uart_tx_task_handle_
void set_dtr_pin(GPIOPin *dtr_pin)
void pause()
Stop forwarding in both directions and hand the UART back to its configured framing,...
uint8_t configured_stop_bits_
CDCACMUARTBridge(uart::IDFUARTComponent *uart_parent, usb_cdc_acm::USBCDCACMInstance *usb_cdc_parent)
std::array< uint8_t, CONFIG_TINYUSB_CDC_TX_BUFSIZE > uart_rx_buffer_
ESP-IDF UART driver wrapper.
Represents a single CDC ACM interface instance.
constexpr float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
@ UART_CONFIG_PARITY_NONE