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

44 lines
798 B
C++
Raw Permalink Normal View History

/*
* ModbusDiscreteOutput.hh
*
* Created on: 18 <EFBFBD><EFBFBD><EFBFBD>. 2021 <EFBFBD>.
* Author: titov
*/
#ifndef UMLIBRARY_DRIVER_MODBUSDISCRETEOUTPUT_HH_
#define UMLIBRARY_DRIVER_MODBUSDISCRETEOUTPUT_HH_
#include <stdint.h>
#include "IModBus.hh"
namespace driver {
namespace modbus {
class ModbusDiscreteOutput : public IModBusDispatch {
typedef IModBusDispatch::Status Status;
const bool inversion; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
bool coil_state;
bool on_state() const { return not inversion; }
bool off_state() const { return inversion; }
public:
ModbusDiscreteOutput( bool initial_state, bool inversion );
const bool & status() const;
Status read( uint16_t & reg );
Status write( uint16_t reg );
};
}
}
#endif /* UMLIBRARY_DRIVER_MODBUSDISCRETEOUTPUT_HH_ */