ESPHome 2025.5.0
Loading...
Searching...
No Matches
esp32_can.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef USE_ESP32
4
7
8namespace esphome {
9namespace esp32_can {
10
11class ESP32Can : public canbus::Canbus {
12 public:
13 void set_rx(int rx) { rx_ = rx; }
14 void set_tx(int tx) { tx_ = tx; }
15 void set_tx_queue_len(uint32_t tx_queue_len) { this->tx_queue_len_ = tx_queue_len; }
16 void set_rx_queue_len(uint32_t rx_queue_len) { this->rx_queue_len_ = rx_queue_len; }
17 void set_tx_enqueue_timeout_ms(uint32_t tx_enqueue_timeout_ms) {
18 this->tx_enqueue_timeout_ticks_ = pdMS_TO_TICKS(tx_enqueue_timeout_ms);
19 }
21
22 protected:
23 bool setup_internal() override;
24 canbus::Error send_message(struct canbus::CanFrame *frame) override;
25 canbus::Error read_message(struct canbus::CanFrame *frame) override;
26
27 int rx_{-1};
28 int tx_{-1};
32};
33
34} // namespace esp32_can
35} // namespace esphome
36
37#endif
canbus::Error read_message(struct canbus::CanFrame *frame) override
optional< uint32_t > rx_queue_len_
Definition esp32_can.h:31
TickType_t tx_enqueue_timeout_ticks_
Definition esp32_can.h:29
void set_tx_enqueue_timeout_ms(uint32_t tx_enqueue_timeout_ms)
Definition esp32_can.h:17
void set_tx_queue_len(uint32_t tx_queue_len)
Definition esp32_can.h:15
optional< uint32_t > tx_queue_len_
Definition esp32_can.h:30
void set_rx_queue_len(uint32_t rx_queue_len)
Definition esp32_can.h:16
canbus::Error send_message(struct canbus::CanFrame *frame) override
bool setup_internal() override
Definition esp32_can.cpp:69
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7