15 std::vector<int64_t> mapping) {
38 void control(
size_t index)
override;
Minimal static vector - saves memory by avoiding std::vector overhead.
optional< write_transform_func_t > write_transform_func_
ModbusSelect(SensorValueType sensor_value_type, uint16_t start_address, RangeReuse reuse_previous_range, std::vector< int64_t > mapping)
void control(size_t index) override
std::vector< int64_t > mapping_
void set_use_write_mutiple(bool use_write_multiple)
optional< int64_t >(*)(ModbusSelect *const, const std::string &, int64_t, modbus::RegisterValues &) write_transform_func_t
void dump_config() override
optional< std::string >(*)(ModbusSelect *const, int64_t, std::span< const uint8_t >) transform_func_t
void set_template(transform_func_t f)
void parse_and_publish(std::span< const uint8_t > data) override
optional< transform_func_t > transform_func_
void set_write_template(write_transform_func_t f)
void set_parent(ModbusController *const parent)
void set_optimistic(bool optimistic)
modbus::EntityType register_type
RangeReuse reuse_previous_range
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
Gives a writer entity the write API of the WriterDevice it owns.
void set_controller_(ModbusController *controller)
Base-class for all selects.
const std::vector< uint8_t > & data
RangeReuse
How an item relates to the register range built just before it (same register type,...