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

46 lines
927 B
C++

/*
* ModbusAction.hh
*
* Created on: 18 ìàð. 2021 ã.
* 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 {
//!Äåéñòâèÿ ïðè îáðàùåíèè ê êàòóøêå Modbus.
class ModbusAction : public IModBusDispatch {
typedef IModBusDispatch::Status Status;
systemic::IFunctor<void> & action_on;
systemic::IFunctor<void> & action_off;
const bool inversion; //!<Ïðèçíàê èíâåðñèè âûõîäà.
bool coil_state; //!<Òåêóùåå ñîñòîÿíèå.
public:
ModbusAction( systemic::IFunctor<void> & action_on, systemic::IFunctor<void> & action_off, bool inversion );
//!Ñîñòîÿíèå êàòóøêè.
const bool & state() const;
Status read( uint16_t & reg );
Status write( uint16_t reg );
};
}
}
#endif /* UMLIBRARY_DRIVER_MODBUSACTION_HH_ */