Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
ModbusCommunicationController.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_COMMS_MODBUS_MODBUSCOMMUNICATIONCONTROLLER_HPP_
2#define IV_SRC_COMMS_MODBUS_MODBUSCOMMUNICATIONCONTROLLER_HPP_
3
6
7namespace iv::comms::modbus
8{
9
11 public std::enable_shared_from_this<ModbusCommunicationController>
12{
14
15public:
17 ModbusCommunicationController(const std::shared_ptr<iv::comms::ICommunicationDriver> &driver,
18 const std::shared_ptr<iv::model::comms::NetworkData> &networkData,
22 ~ModbusCommunicationController() override = default;
23
26
27private:
28 void addChannel(const std::shared_ptr<iv::channels::AbstractChannel> &channel) override;
29 void initialize() override;
30 bool frame() override;
31
32 std::vector<std::optional<iv::types::comms::modbus::registerValue>>
34
36
38 std::vector<std::shared_ptr<iv::channels::AbstractChannel>>>
41};
42
43}// namespace iv::comms::modbus
44
45#endif//IV_SRC_COMMS_MODBUS_MODBUSCOMMUNICATIONCONTROLLER_HPP_
Definition ICommunicationController.hpp:23
Definition ModbusCommunicationController.cpp:16
Definition ModbusCommunicationController.hpp:12
void initialize() override
Definition ModbusCommunicationController.cpp:73
iv::model::comms::modbus::Settings m_modbusSettings
Definition ModbusCommunicationController.hpp:40
std::map< iv::types::comms::modbus::modbusAddressAndFunction, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > > m_channelsOrderedByModbusAddress
Definition ModbusCommunicationController.hpp:39
ModbusCommunicationController & operator=(const ModbusCommunicationController &other)=delete
iv::comms::modbus::eType m_type
Definition ModbusCommunicationController.hpp:35
void addChannel(const std::shared_ptr< iv::channels::AbstractChannel > &channel) override
Definition ModbusCommunicationController.cpp:54
ModbusCommunicationController & operator=(ModbusCommunicationController &&other)=delete
bool frame() override
Definition ModbusCommunicationController.cpp:106
ModbusCommunicationController(ModbusCommunicationController &&other)=delete
std::vector< std::optional< iv::types::comms::modbus::registerValue > > obtainChannelValues(const iv::channels::ModbusRegisterInfo &modbusInfo) const
Definition ModbusCommunicationController.cpp:250
ModbusCommunicationController(const ModbusCommunicationController &other)=delete
Definition AbstractModbusCommunicationProtocol.cpp:8
eType
Definition enums.hpp:70
std::pair< iv::types::comms::modbus::modbusAddress, iv::comms::modbus::eRegisterType > modbusAddressAndFunction
Definition defines.hpp:39
Definition structs.hpp:509
Definition ModbusSettings.hpp:11