46 lines
927 B
C++
46 lines
927 B
C++
|
|
/*
|
|||
|
|
* ModbusAction.hh
|
|||
|
|
*
|
|||
|
|
* Created on: 18 <EFBFBD><EFBFBD><EFBFBD>. 2021 <EFBFBD>.
|
|||
|
|
* Author: titov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef UMLIBRARY_DRIVER_MODBUSACTION_HH_
|
|||
|
|
#define UMLIBRARY_DRIVER_MODBUSACTION_HH_
|
|||
|
|
|
|||
|
|
#include <stdint.h>
|
|||
|
|
|
|||
|
|
#include "../systemic/IFunctor.hh"
|
|||
|
|
|
|||
|
|
#include "IModBus.hh"
|
|||
|
|
|
|||
|
|
namespace driver {
|
|||
|
|
namespace modbus {
|
|||
|
|
|
|||
|
|
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Modbus.
|
|||
|
|
class ModbusAction : public IModBusDispatch {
|
|||
|
|
|
|||
|
|
typedef IModBusDispatch::Status Status;
|
|||
|
|
|
|||
|
|
systemic::IFunctor<void> & action_on;
|
|||
|
|
systemic::IFunctor<void> & action_off;
|
|||
|
|
|
|||
|
|
const bool inversion; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
bool coil_state; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
ModbusAction( systemic::IFunctor<void> & action_on, systemic::IFunctor<void> & action_off, bool inversion );
|
|||
|
|
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
const bool & state() const;
|
|||
|
|
|
|||
|
|
Status read( uint16_t & reg );
|
|||
|
|
Status write( uint16_t reg );
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif /* UMLIBRARY_DRIVER_MODBUSACTION_HH_ */
|