esp-tunnel/main/app_serial.cpp

44 lines
930 B
C++

//
// Created by erki on 6/3/23.
//
#include "app_serial.hpp"
#include "driver/uart.h"
namespace
{
QueueHandle_t s_uart_queue = nullptr;
}
namespace Serial
{
QueueHandle_t setupSerial(const uart_port_t uart)
{
uart_config_t config = {
.baud_rate = 115200,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
.rx_flow_ctrl_thresh = UART_HW_FLOWCTRL_DISABLE,
.source_clk = UART_SCLK_DEFAULT,
};
ESP_ERROR_CHECK(uart_driver_install(uart, CONFIG_ESPTNL_BUFFER_SIZE * 2, CONFIG_ESPTNL_BUFFER_SIZE * 2, 4, &s_uart_queue, 0));
ESP_ERROR_CHECK(uart_param_config(uart, &config));
ESP_ERROR_CHECK(uart_set_pin(uart, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE));
return s_uart_queue;
}
void discardRxBuffer(const uart_port_t uart)
{
ESP_ERROR_CHECK(uart_flush(uart));
}
}