/* * ModbusAction.hh * * Created on: 18 мар. 2021 г. * Author: titov */ #ifndef UMLIBRARY_DRIVER_MODBUSACTION_HH_ #define UMLIBRARY_DRIVER_MODBUSACTION_HH_ #include #include "../systemic/IFunctor.hh" #include "IModBus.hh" namespace driver { namespace modbus { //!Действия при обращении к катушке Modbus. class ModbusAction : public IModBusDispatch { typedef IModBusDispatch::Status Status; systemic::IFunctor & action_on; systemic::IFunctor & action_off; const bool inversion; //!<Признак инверсии выхода. bool coil_state; //!<Текущее состояние. public: ModbusAction( systemic::IFunctor & action_on, systemic::IFunctor & action_off, bool inversion ); //!Состояние катушки. const bool & state() const; Status read( uint16_t & reg ); Status write( uint16_t reg ); }; } } #endif /* UMLIBRARY_DRIVER_MODBUSACTION_HH_ */