esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
esphome::api::SerialProxy Class Reference

Proxies a UART on the device, forwarding data and control to clients. More...

#include <serial_proxy.hpp>

Inheritance diagram for esphome::api::SerialProxy:
Inheritance graph
[legend]
Collaboration diagram for esphome::api::SerialProxy:
Collaboration graph
[legend]

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
Clientclient_
 

Detailed Description

Proxies a UART on the device, forwarding data and control to clients.

Member Typedef Documentation

◆ DataHandler

using esphome::api::SerialProxy::DataHandler = std::function<void(const SerialProxyData&)>

◆ ModemPinsHandler

◆ ResponseHandler

Constructor & Destructor Documentation

◆ SerialProxy()

esphome::api::SerialProxy::SerialProxy ( Client client)
inlineexplicit

Member Function Documentation

◆ configure()

void esphome::api::SerialProxy::configure ( const SerialProxyConfig config) const

Configure UART parameters for an instance.

◆ get_modem_pins()

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.

◆ instance()

SerialPort esphome::api::SerialProxy::instance ( std::uint32_t  index)
inline

An instance-bound handle so you don't repeat the instance index on every call: client.serial_proxy(0).write(...).

◆ on_data() [1/2]

void esphome::api::SerialProxy::on_data ( DataHandler  handler)

Register a callback fired for every incoming SerialProxyDataReceived (any instance).

◆ on_data() [2/2]

void esphome::api::SerialProxy::on_data ( std::uint32_t  instance,
DataHandler  handler 
)

Register a callback fired only for data from instance.

◆ on_modem_pins()

void esphome::api::SerialProxy::on_modem_pins ( ModemPinsHandler  handler)

Register a persistent callback fired for every modem-pin response.

◆ on_request_response()

void esphome::api::SerialProxy::on_request_response ( ResponseHandler  handler)

Register a callback fired for each SerialProxyRequestResponse.

◆ request()

void esphome::api::SerialProxy::request ( std::uint32_t  instance,
SerialProxyRequestType  type 
) const

Issue a simple control request (subscribe, unsubscribe, flush).

◆ set_modem_pins()

void esphome::api::SerialProxy::set_modem_pins ( std::uint32_t  instance,
SerialProxyLineStates  lines 
) const

Set modem control pin states (RTS and DTR).

◆ set_modem_pins_raw()

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).

◆ write()

void esphome::api::SerialProxy::write ( std::uint32_t  instance,
const std::string &  data 
) const

Write raw data to the serial device.


The documentation for this class was generated from the following file: