MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/driver/ModbusAnalogValue.hh

51 lines
1.1 KiB
C++

/*
* ModbusAnalogValue.hh
*
* Created on: 19 ìàð. 2021 ã.
* Author: titov
*/
#ifndef UMLIBRARY_DRIVER_MODBUSANALOGVALUE_HH_
#define UMLIBRARY_DRIVER_MODBUSANALOGVALUE_HH_
#include <stdint.h>
#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<float> & tech_value;
const uint16_t nan_out_of_range; //!< Ñîïîñòàâëåíèå äëÿ çíà÷åíèÿ NAN ñèãíàëà
public:
ModbusAnalogValue( systemic::IValueType<float> & 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_ */