38 void control(
float value)
override;
Minimal static vector - saves memory by avoiding std::vector overhead.
optional< float >(*)(ModbusNumber *, float, std::span< const uint8_t >) transform_func_t
ModbusNumber(modbus::EntityType register_type, uint16_t start_address, uint8_t offset, uint32_t bitmask, SensorValueType value_type, RangeReuse reuse_previous_range)
void control(float value) override
void set_write_multiply(float factor)
optional< write_transform_func_t > write_transform_func_
void parse_and_publish(std::span< const uint8_t > data) override
optional< transform_func_t > transform_func_
void set_template(transform_func_t f)
void set_parent(ModbusController *parent)
void set_use_write_mutiple(bool use_write_multiple)
float get_setup_priority() const override
void dump_config() override
optional< float >(*)(ModbusNumber *, float, modbus::RegisterValues &) write_transform_func_t
void set_write_template(write_transform_func_t f)
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
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 numbers.
std::function< float >(float) value_to_data_t
const std::vector< uint8_t > & data
RangeReuse
How an item relates to the register range built just before it (same register type,...
constexpr float HARDWARE
For components that deal with hardware and are very important like GPIO switch.