ESPHome 2025.10.0-dev
Loading...
Searching...
No Matches
uart_component_esp_idf.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef USE_ESP32
4
5#include <driver/uart.h>
7#include "uart_component.h"
8
9namespace esphome {
10namespace uart {
11
13 public:
14 void setup() override;
15 void dump_config() override;
16 float get_setup_priority() const override { return setup_priority::BUS; }
17
18 void set_rx_full_threshold(size_t rx_full_threshold) override;
19 void set_rx_timeout(size_t rx_timeout) override;
20
21 void write_array(const uint8_t *data, size_t len) override;
22
23 bool peek_byte(uint8_t *data) override;
24 bool read_array(uint8_t *data, size_t len) override;
25
26 int available() override;
27 void flush() override;
28
29 uint8_t get_hw_serial_number() { return this->uart_num_; }
30 QueueHandle_t *get_uart_event_queue() { return &this->uart_event_queue_; }
31
44 void load_settings(bool dump_config) override;
45 void load_settings() override { this->load_settings(true); }
46
47 protected:
48 void check_logger_conflict() override;
49 uart_port_t uart_num_;
50 QueueHandle_t uart_event_queue_;
51 uart_config_t get_config_();
52 SemaphoreHandle_t lock_;
53
54 bool has_peek_{false};
55 uint8_t peek_byte_;
56};
57
58} // namespace uart
59} // namespace esphome
60
61#endif // USE_ESP32
void set_rx_timeout(size_t rx_timeout) override
bool peek_byte(uint8_t *data) override
void write_array(const uint8_t *data, size_t len) override
void set_rx_full_threshold(size_t rx_full_threshold) override
bool read_array(uint8_t *data, size_t len) override
float get_setup_priority() const override
const float BUS
For communication buses like i2c/spi.
Definition component.cpp:46
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
std::string size_t len
Definition helpers.h:291