8#if !(defined(__linux__) || defined(__APPLE__))
9#error This HostUartComponent implementation is not supported on this host OS
26speed_t get_baud(
int baud) {
101static const char *
const TAG =
"uart.host";
111 ESP_LOGCONFIG(TAG,
"Opening UART port");
114 ESP_LOGE(TAG,
"Unsupported baud rate: %d", this->
baud_rate_);
129 options.c_cflag |= CREAD | CLOCAL;
130 options.c_iflag &= ~(IXOFF | IXANY);
135 options.c_cflag |= CS5;
151 options.c_cflag &= ~PARENB;
164 options.c_cflag |= CSTOPB;
174 ESP_LOGCONFIG(TAG,
"UART:");
175 ESP_LOGCONFIG(TAG,
" Port: %s", this->
port_name_.c_str());
177 ESP_LOGCONFIG(TAG,
" Port status: Not opened");
179 ESP_LOGCONFIG(TAG,
" Error: %s", this->
first_error_.c_str());
184 " Port status: opened\n"
206#ifdef USE_UART_DEBUGGER
207 for (
size_t i = 0; i <
len; i++) {
238 uint8_t *data_ptr = data;
239 size_t length_to_read =
len;
246 if (length_to_read > 0) {
253#ifdef USE_UART_DEBUGGER
254 for (
size_t i = 0; i <
len; i++) {
282 ESP_LOGV(TAG,
" Flushing");
290 ESP_LOGE(TAG,
"Port error: %s", error.c_str());
void mark_failed()
Mark this component as failed.
bool read_array(uint8_t *data, size_t len) override
FlushResult flush() override
size_t available() override
void write_array(const uint8_t *data, size_t len) override
void update_error_(const std::string &error)
void check_logger_conflict() override
void dump_config() override
virtual ~HostUartComponent()
bool peek_byte(uint8_t *data) override
UARTParityOptions parity_
bool check_read_timeout_(size_t len=1)
CallbackManager< void(UARTDirection, uint8_t)> debug_callback_
@ UART_CONFIG_PARITY_EVEN
@ UART_CONFIG_PARITY_NONE
FlushResult
Result of a flush() call.
@ ASSUMED_SUCCESS
Platform cannot report result; success is assumed.