Opentherm static class that supports either listening or sending Opentherm data packets in the same time.
More...
#include <opentherm.h>
Opentherm static class that supports either listening or sending Opentherm data packets in the same time.
Definition at line 234 of file opentherm.h.
◆ OpenTherm()
◆ debug_data()
| void esphome::opentherm::OpenTherm::debug_data |
( |
OpenthermData & | data | ) |
|
◆ debug_error()
| void esphome::opentherm::OpenTherm::debug_error |
( |
OpenThermError & | error | ) |
const |
◆ esp8266_timer_isr()
| static void esphome::opentherm::OpenTherm::esp8266_timer_isr |
( |
| ) |
|
|
static |
◆ get_message()
| bool esphome::opentherm::OpenTherm::get_message |
( |
OpenthermData & | data | ) |
|
Use this to retrive data packed captured by listen() function.
Data packet is ready when has_message() function returns true. This function can be called multiple times until stop() is called.
- Parameters
-
| data | reference to data structure to which fill the data packet data. |
- Returns
- true if packet was ready and was filled into data structure passed, false otherwise.
◆ get_mode()
◆ get_protocol_error()
| bool esphome::opentherm::OpenTherm::get_protocol_error |
( |
OpenThermError & | error | ) |
|
Get protocol error details in case a protocol error occured.
- Parameters
-
| error | reference to data structure to which fill the error details |
- Returns
- true if protocol error occured during last conversation, false otherwise.
◆ has_message()
| bool esphome::opentherm::OpenTherm::has_message |
( |
| ) |
|
|
inline |
Use this function to check whether listen() function already captured a valid data packet.
- Returns
- true if data packet has been captured from line by listen() function.
Definition at line 257 of file opentherm.h.
◆ initialize()
| bool esphome::opentherm::OpenTherm::initialize |
( |
| ) |
|
◆ is_active()
| bool esphome::opentherm::OpenTherm::is_active |
( |
| ) |
|
|
inline |
◆ is_error()
| bool esphome::opentherm::OpenTherm::is_error |
( |
| ) |
|
|
inline |
Indicates whether last listen() or send() operation ends up with an error.
Includes both timeout and protocol errors.
- Returns
- true if last listen() or send() operation ends up with an error.
Definition at line 311 of file opentherm.h.
◆ is_idle()
| bool esphome::opentherm::OpenTherm::is_idle |
( |
| ) |
|
|
inline |
Indicates whether listinig or sending is not in progress.
That also means that no timers are running and no interrupts are attached.
- Returns
- true if listening nor sending is in progress.
Definition at line 303 of file opentherm.h.
◆ is_protocol_error()
| bool esphome::opentherm::OpenTherm::is_protocol_error |
( |
| ) |
|
|
inline |
◆ is_sent()
| bool esphome::opentherm::OpenTherm::is_sent |
( |
| ) |
|
|
inline |
Use this function to check whether send() function already finished sending data packed to line.
- Returns
- true if data packet has been sent, false otherwise.
Definition at line 295 of file opentherm.h.
◆ is_timeout()
| bool esphome::opentherm::OpenTherm::is_timeout |
( |
| ) |
|
|
inline |
◆ is_timer_error()
| bool esphome::opentherm::OpenTherm::is_timer_error |
( |
| ) |
|
|
inline |
Indicates whether start_esp32_timer_() or stop_timer_() had an error.
Only relevant when used on ESP32.
- Returns
- true if there was an error.
Definition at line 331 of file opentherm.h.
◆ listen()
| void esphome::opentherm::OpenTherm::listen |
( |
| ) |
|
Start listening for Opentherm data packet comming from line connected to given pin.
If data packet is received then has_message() function returns true and data packet can be retrieved by calling get_message() function. If timeout > 0 then this function waits for incomming data package for timeout millis and if no data packet is recevived, error state is indicated by is_error() function. If either data packet is received or timeout is reached listening is stopped.
◆ message_id_to_str()
| const char * esphome::opentherm::OpenTherm::message_id_to_str |
( |
MessageId | id | ) |
|
◆ message_type_to_str()
| const char * esphome::opentherm::OpenTherm::message_type_to_str |
( |
MessageType | message_type | ) |
|
◆ operation_mode_to_str()
| const char * esphome::opentherm::OpenTherm::operation_mode_to_str |
( |
OperationMode | mode | ) |
|
◆ protocol_error_to_str()
| const char * esphome::opentherm::OpenTherm::protocol_error_to_str |
( |
ProtocolErrorType | error_type | ) |
|
◆ report_and_reset_timer_error()
| void esphome::opentherm::OpenTherm::report_and_reset_timer_error |
( |
| ) |
|
◆ send()
Immediately send out Opentherm data packet to line connected on given pin.
Completed data transfer is indicated by is_sent() function. Error state is indicated by is_error() function.
- Parameters
-
| data | Opentherm data packet. |
◆ stop()
| void esphome::opentherm::OpenTherm::stop |
( |
| ) |
|
Stops listening for data packet or sending out data packet and resets internal state of this class.
Stops all timers and unattaches all interrupts.
◆ timer_error_to_str()
| const char * esphome::opentherm::OpenTherm::timer_error_to_str |
( |
TimerErrorType | error_type | ) |
|
◆ timer_isr() [1/2]
| static bool esphome::opentherm::OpenTherm::timer_isr |
( |
gptimer_handle_t | timer, |
|
|
const gptimer_alarm_event_data_t * | edata, |
|
|
void * | user_ctx ) |
|
static |
◆ timer_isr() [2/2]
| static bool esphome::opentherm::OpenTherm::timer_isr |
( |
OpenTherm * | arg | ) |
|
|
static |
The documentation for this class was generated from the following file: