|
esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
|
Proxies a UART on the device, forwarding data and control to clients. More...
#include <serial_proxy.hpp>


Public Types | |
| using | DataHandler = std::function< void(const SerialProxyData &)> |
| using | ResponseHandler = std::function< void(const SerialProxyResponse &)> |
| using | ModemPinsHandler = std::function< void(const SerialProxyModemPins &)> |
Public Member Functions | |
| SerialProxy (Client &client) | |
| SerialPort | instance (std::uint32_t index) |
An instance-bound handle so you don't repeat the instance index on every call: client.serial_proxy(0).write(...). | |
| void | on_data (DataHandler handler) |
| Register a callback fired for every incoming SerialProxyDataReceived (any instance). | |
| void | on_data (std::uint32_t instance, DataHandler handler) |
Register a callback fired only for data from instance. | |
| void | on_request_response (ResponseHandler handler) |
| Register a callback fired for each SerialProxyRequestResponse. | |
| void | on_modem_pins (ModemPinsHandler handler) |
| Register a persistent callback fired for every modem-pin response. | |
| void | request (std::uint32_t instance, SerialProxyRequestType type) const |
| Issue a simple control request (subscribe, unsubscribe, flush). | |
| void | configure (const SerialProxyConfig &config) const |
| Configure UART parameters for an instance. | |
| void | write (std::uint32_t instance, const std::string &data) const |
| Write raw data to the serial device. | |
| void | get_modem_pins (std::uint32_t instance, ModemPinsHandler once={}) |
| Request the current modem control pin states. | |
| void | set_modem_pins (std::uint32_t instance, SerialProxyLineStates lines) const |
| Set modem control pin states (RTS and DTR). | |
| void | set_modem_pins_raw (std::uint32_t instance, std::uint32_t line_states) const |
| Set modem control pin states from a raw bitmask (advanced). | |
Public Member Functions inherited from esphome::api::Subsystem | |
| Subsystem (Client &client) | |
Additional Inherited Members | |
Protected Attributes inherited from esphome::api::Subsystem | |
| Client & | client_ |
Proxies a UART on the device, forwarding data and control to clients.
| using esphome::api::SerialProxy::DataHandler = std::function<void(const SerialProxyData&)> |
| using esphome::api::SerialProxy::ModemPinsHandler = std::function<void(const SerialProxyModemPins&)> |
| using esphome::api::SerialProxy::ResponseHandler = std::function<void(const SerialProxyResponse&)> |
|
inlineexplicit |
| void esphome::api::SerialProxy::configure | ( | const SerialProxyConfig & | config | ) | const |
Configure UART parameters for an instance.
| void esphome::api::SerialProxy::get_modem_pins | ( | std::uint32_t | instance, |
| ModemPinsHandler | once = {} |
||
| ) |
Request the current modem control pin states.
If once is provided it is invoked exactly once with the matching response for this instance (plus any persistent on_modem_pins handler). Drive the event loop (e.g. SyncClient::pump_until) to receive it.
|
inline |
An instance-bound handle so you don't repeat the instance index on every call: client.serial_proxy(0).write(...).
| void esphome::api::SerialProxy::on_data | ( | DataHandler | handler | ) |
Register a callback fired for every incoming SerialProxyDataReceived (any instance).
| void esphome::api::SerialProxy::on_data | ( | std::uint32_t | instance, |
| DataHandler | handler | ||
| ) |
Register a callback fired only for data from instance.
| void esphome::api::SerialProxy::on_modem_pins | ( | ModemPinsHandler | handler | ) |
Register a persistent callback fired for every modem-pin response.
| void esphome::api::SerialProxy::on_request_response | ( | ResponseHandler | handler | ) |
Register a callback fired for each SerialProxyRequestResponse.
| void esphome::api::SerialProxy::request | ( | std::uint32_t | instance, |
| SerialProxyRequestType | type | ||
| ) | const |
Issue a simple control request (subscribe, unsubscribe, flush).
| void esphome::api::SerialProxy::set_modem_pins | ( | std::uint32_t | instance, |
| SerialProxyLineStates | lines | ||
| ) | const |
Set modem control pin states (RTS and DTR).
| void esphome::api::SerialProxy::set_modem_pins_raw | ( | std::uint32_t | instance, |
| std::uint32_t | line_states | ||
| ) | const |
Set modem control pin states from a raw bitmask (advanced).
| void esphome::api::SerialProxy::write | ( | std::uint32_t | instance, |
| const std::string & | data | ||
| ) | const |
Write raw data to the serial device.