Minimal static vector - saves memory by avoiding std::vector overhead.
void set_use_write_mutiple(bool use_write_multiple)
void parse_and_publish(std::span< const uint8_t > data) override
optional< bool >(*)(ModbusBinaryOutput *, bool, modbus::helpers::PduBuffer &) write_transform_func_t
void write_state(bool state) override
void set_parent(ModbusController *parent)
optional< write_transform_func_t > write_transform_func_
void set_write_template(write_transform_func_t f)
ModbusBinaryOutput(uint16_t start_address, uint8_t offset)
void dump_config() override
ModbusFloatOutput(uint16_t start_address, uint8_t offset, SensorValueType value_type)
void set_write_multiply(float factor)
void write_state(float value) override
Write a value to the device.
optional< write_transform_func_t > write_transform_func_
void set_write_template(write_transform_func_t f)
void parse_and_publish(std::span< const uint8_t > data) override
void dump_config() override
void set_use_write_mutiple(bool use_write_multiple)
void set_parent(ModbusController *parent)
optional< float >(*)(ModbusFloatOutput *, float, modbus::RegisterValues &) write_transform_func_t
modbus::EntityType register_type
void set_address(uint16_t address)
Sets the configured address, and points the range base at it.
void set_offset_from_start_address(uint8_t offset)
Records the offset as configured, and seeds the resolved position with it.
SensorValueType sensor_value_type
uint8_t offset
Position of this sensor's data within its range's response - a byte offset for registers,...
Gives a writer entity the write API of the WriterDevice it owns.
void set_controller_(ModbusController *controller)
Base class for all output components that can output a variable level, like PWM.
const std::vector< uint8_t > & data