19 int tx_task_prio = 10, uint32_t tx_stack_depth = 2048,
20 int rx_task_prio = 10, uint32_t rx_stack_depth = 2048)
21 :
UART(rx_queue_size, BUFFER_SIZE, tx_queue_size, BUFFER_SIZE)
23 usb_serial_jtag_driver_config_t cfg = {
24 .tx_buffer_size = BUFFER_SIZE,
25 .rx_buffer_size = BUFFER_SIZE,
27 ESP_ERROR_CHECK(usb_serial_jtag_driver_install(&cfg));
32 xTaskCreate(TxTaskWrapper,
"esp32_vuart_tx", tx_stack_depth,
this, tx_task_prio,
34 xTaskCreate(RxTaskWrapper,
"esp32_vuart_rx", rx_stack_depth,
this, rx_task_prio,
38 static void TxTaskWrapper(
void *arg)
44 static void RxTaskWrapper(
void *arg)
56 if (uart->write_sem_.
Wait() != ErrorCode::OK)
60 if (uart->
write_port_.queue_info_->Pop(info) != ErrorCode::OK)
72 int sent = usb_serial_jtag_write_bytes(uart->tx_buffer_, info.size, portMAX_DELAY);
92 auto avail = usb_serial_jtag_read_ready();
96 len = usb_serial_jtag_read_bytes(uart->rx_buffer_, 1, portMAX_DELAY);
100 len = usb_serial_jtag_read_bytes(uart->rx_buffer_, BUFFER_SIZE, 0);
114 uart->write_sem_.
Post();
116 return ErrorCode::OK;
127 return ErrorCode::OK;
133 uint8_t tx_buffer_[BUFFER_SIZE];
134 uint8_t rx_buffer_[BUFFER_SIZE];