Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::comms::modbus::ModbusCommunicationController Class Referencefinal

#include <ModbusCommunicationController.hpp>

Inheritance diagram for iv::comms::modbus::ModbusCommunicationController:
[legend]
Collaboration diagram for iv::comms::modbus::ModbusCommunicationController:
[legend]

Public Member Functions

 ModbusCommunicationController ()=delete
 
 ModbusCommunicationController (const std::shared_ptr< iv::comms::ICommunicationDriver > &driver, const std::shared_ptr< iv::model::comms::NetworkData > &networkData, iv::comms::modbus::eType type)
 
 ModbusCommunicationController (const ModbusCommunicationController &other)=delete
 
 ModbusCommunicationController (ModbusCommunicationController &&other)=delete
 
 ~ModbusCommunicationController () override=default
 
ModbusCommunicationControlleroperator= (const ModbusCommunicationController &other)=delete
 
ModbusCommunicationControlleroperator= (ModbusCommunicationController &&other)=delete
 
void pause () const
 
void resume () const
 
iv::types::networkId getNetworkId () const
 
std::shared_ptr< iv::model::comms::NetworkDatagetCommConfig () const
 
std::shared_ptr< iv::comms::ICommunicationDrivergetDriver () const
 
bool hasChannel (const iv::types::channelId &channelId) const
 
bool isEnabled ()
 

Protected Attributes

iv::types::networkId m_networkId
 
std::shared_ptr< bool > m_isEnabled
 
std::shared_ptr< iv::model::comms::NetworkDatam_commConfig
 
std::shared_ptr< iv::comms::ICommunicationProtocolm_protocol
 
std::shared_ptr< iv::comms::ICommunicationDriverm_driver
 
std::map< iv::types::channelId, std::shared_ptr< iv::channels::AbstractChannel > > m_channels
 
std::weak_ptr< iv::channels::AbstractChannelm_errorChannel
 
std::weak_ptr< iv::channels::AbstractChannelm_heartbeatChannel
 
std::weak_ptr< iv::comms::ICommunicationControllerm_fallbackComm
 
std::weak_ptr< iv::diamar::AppFailuresLoggerManagerm_appFailuresLoggerManager
 

Private Member Functions

void addChannel (const std::shared_ptr< iv::channels::AbstractChannel > &channel) override
 
void initialize () override
 
bool frame () override
 
std::vector< std::optional< iv::types::comms::modbus::registerValue > > obtainChannelValues (const iv::channels::ModbusRegisterInfo &modbusInfo) const
 

Private Attributes

iv::comms::modbus::eType m_type
 
std::map< iv::types::comms::modbus::modbusAddressAndFunction, std::vector< std::shared_ptr< iv::channels::AbstractChannel > > > m_channelsOrderedByModbusAddress
 
iv::model::comms::modbus::Settings m_modbusSettings
 

Friends

class ModbusCommunicationControllerFrame
 

Constructor & Destructor Documentation

◆ ModbusCommunicationController() [1/4]

iv::comms::modbus::ModbusCommunicationController::ModbusCommunicationController ( )
delete

◆ ModbusCommunicationController() [2/4]

iv::comms::modbus::ModbusCommunicationController::ModbusCommunicationController ( const std::shared_ptr< iv::comms::ICommunicationDriver > & driver,
const std::shared_ptr< iv::model::comms::NetworkData > & networkData,
iv::comms::modbus::eType type )

◆ ModbusCommunicationController() [3/4]

iv::comms::modbus::ModbusCommunicationController::ModbusCommunicationController ( const ModbusCommunicationController & other)
delete

◆ ModbusCommunicationController() [4/4]

iv::comms::modbus::ModbusCommunicationController::ModbusCommunicationController ( ModbusCommunicationController && other)
delete

◆ ~ModbusCommunicationController()

iv::comms::modbus::ModbusCommunicationController::~ModbusCommunicationController ( )
overridedefault

Member Function Documentation

◆ addChannel()

void iv::comms::modbus::ModbusCommunicationController::addChannel ( const std::shared_ptr< iv::channels::AbstractChannel > & channel)
overrideprivatevirtual

◆ frame()

bool iv::comms::modbus::ModbusCommunicationController::frame ( )
overrideprivatevirtual

check si está el address en el grid.

comprobar si reinterpreta

Implements iv::comms::ICommunicationController.

◆ getCommConfig()

std::shared_ptr< iv::model::comms::NetworkData > iv::comms::ICommunicationController::getCommConfig ( ) const
inlinenodiscardinherited

◆ getDriver()

std::shared_ptr< iv::comms::ICommunicationDriver > iv::comms::ICommunicationController::getDriver ( ) const
inlinenodiscardinherited

◆ getNetworkId()

iv::types::networkId iv::comms::ICommunicationController::getNetworkId ( ) const
inlinenodiscardinherited

◆ hasChannel()

bool iv::comms::ICommunicationController::hasChannel ( const iv::types::channelId & channelId) const
inlinenodiscardinherited

◆ initialize()

void iv::comms::modbus::ModbusCommunicationController::initialize ( )
overrideprivatevirtual

◆ isEnabled()

bool iv::comms::ICommunicationController::isEnabled ( )
inlinenodiscardinherited

◆ obtainChannelValues()

std::vector< std::optional< iv::types::comms::modbus::registerValue > > iv::comms::modbus::ModbusCommunicationController::obtainChannelValues ( const iv::channels::ModbusRegisterInfo & modbusInfo) const
private

◆ operator=() [1/2]

ModbusCommunicationController & iv::comms::modbus::ModbusCommunicationController::operator= ( const ModbusCommunicationController & other)
delete

◆ operator=() [2/2]

ModbusCommunicationController & iv::comms::modbus::ModbusCommunicationController::operator= ( ModbusCommunicationController && other)
delete

◆ pause()

void iv::comms::ICommunicationController::pause ( ) const
inlineinherited

◆ resume()

void iv::comms::ICommunicationController::resume ( ) const
inlineinherited

Friends And Related Symbol Documentation

◆ ModbusCommunicationControllerFrame

Member Data Documentation

◆ m_appFailuresLoggerManager

std::weak_ptr<iv::diamar::AppFailuresLoggerManager> iv::comms::ICommunicationController::m_appFailuresLoggerManager
protectedinherited

◆ m_channels

std::map<iv::types::channelId, std::shared_ptr<iv::channels::AbstractChannel> > iv::comms::ICommunicationController::m_channels
protectedinherited

◆ m_channelsOrderedByModbusAddress

std::map<iv::types::comms::modbus::modbusAddressAndFunction, std::vector<std::shared_ptr<iv::channels::AbstractChannel> > > iv::comms::modbus::ModbusCommunicationController::m_channelsOrderedByModbusAddress
private

◆ m_commConfig

std::shared_ptr<iv::model::comms::NetworkData> iv::comms::ICommunicationController::m_commConfig
protectedinherited

◆ m_driver

std::shared_ptr<iv::comms::ICommunicationDriver> iv::comms::ICommunicationController::m_driver
protectedinherited

◆ m_errorChannel

std::weak_ptr<iv::channels::AbstractChannel> iv::comms::ICommunicationController::m_errorChannel
protectedinherited

◆ m_fallbackComm

std::weak_ptr<iv::comms::ICommunicationController> iv::comms::ICommunicationController::m_fallbackComm
protectedinherited

◆ m_heartbeatChannel

std::weak_ptr<iv::channels::AbstractChannel> iv::comms::ICommunicationController::m_heartbeatChannel
protectedinherited

◆ m_isEnabled

std::shared_ptr<bool> iv::comms::ICommunicationController::m_isEnabled
protectedinherited

◆ m_modbusSettings

iv::model::comms::modbus::Settings iv::comms::modbus::ModbusCommunicationController::m_modbusSettings
private

◆ m_networkId

iv::types::networkId iv::comms::ICommunicationController::m_networkId
protectedinherited

◆ m_protocol

std::shared_ptr<iv::comms::ICommunicationProtocol> iv::comms::ICommunicationController::m_protocol
protectedinherited

◆ m_type

iv::comms::modbus::eType iv::comms::modbus::ModbusCommunicationController::m_type
private

The documentation for this class was generated from the following files: