/* * ModbusAnalogValue.hh * * Created on: 19 мар. 2021 г. * Author: titov */ #ifndef UMLIBRARY_DRIVER_MODBUSANALOGVALUE_HH_ #define UMLIBRARY_DRIVER_MODBUSANALOGVALUE_HH_ #include #include "IModBus.hh" #include "../systemic/IValueAsync.hpp" namespace driver { namespace modbus { class ModbusAnalogValue : public IModBusDispatch { typedef IModBusDispatch::Status Status; float write_coeff; float write_offset; float read_coeff; float read_offset; bool format_signed; float up_limit; float down_limit; systemic::IValueType & tech_value; const uint16_t nan_out_of_range; //!< Сопоставление для значения NAN сигнала public: ModbusAnalogValue( systemic::IValueType & value, float write_coeff, float write_offset, float read_coeff, float read_offset, bool sign, float up_limit, float down_limit, uint16_t nan_register ); Status read( uint16_t & reg ); Status write( uint16_t reg ); }; } } #endif /* UMLIBRARY_DRIVER_MODBUSANALOGVALUE_HH_ */