/* * ModBusRtuSetup.hh * * Created on: 30 июн. 2020 г. * Author: s.maksimenko */ #ifndef UMLIBRARY_APPLICATION_DRIVERS_MODBUSRTU_HH_ #define UMLIBRARY_APPLICATION_DRIVERS_MODBUSRTUSETUP_HH_ #include #include "../ISetupStep.hh" #include "../../peripheral/IUartPort.hh" #include "../../systemic/ISignal.hh" #include "../../systemic/IStatus.hh" namespace application { namespace drivers { //!Драйвер протокола обмена Modbus RTU. class ModbusRtu : public ISetupStep { typedef systemic::ISignal ISignal; typedef systemic::IStatus IStatus; peripheral::IUartPort* mpPort = nullptr; std::pmr::memory_resource * mpMemRes = nullptr; ISignal * mpSigAddrModBus = nullptr; IStatus * mpStsAddrValid = nullptr; public: bool input ( Environment & env ); void build ( Environment & env ); struct Links { /* Input links */ Environment::Id uart; //!<Порт Modbus. Environment::SignalId address; //!<Адрес на шине Modbus RTU. Environment::StatusId enable; //!<Разрешение присвоения адреса. Environment::Id memory; //!