19static constexpr size_t MAX_LINE_LENGTH = 1024;
33 void setup()
override;
58 std::array<char, MAX_LINE_LENGTH + 1>
buffer_{};
Fixed-capacity vector - sized once through init() or try_init(); push_back never reallocates This avo...
StringRef is a reference to a string owned by something else.
Main class for the EmonTx component.
FixedVector< std::pair< const char *, sensor::Sensor * > > sensors_
void add_on_json_callback(F &&callback)
void init_sensors(size_t count)
void send_command(const char *command)
Sends a command string to the emonTx device via UART.
void add_on_data_callback(F &&callback)
void loop() override
Implements the main loop for parsing data from the serial port.
void dump_config() override
Logs the EmonTx component configuration details.
std::array< char, MAX_LINE_LENGTH+1 > buffer_
void send_command(const std::string &command)
void register_sensor(const char *tag_name, sensor::Sensor *sensor)
Registers a sensor to receive updates for a specific JSON tag.
LazyCallbackManager< void(JsonObject, StringRef)> json_callbacks_
LazyCallbackManager< void(StringRef)> data_callbacks_
void parse_json_(const char *data, size_t len)
Base-class for all sensors.