Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
canopen::ManagingSyncLayer Class Reference
Inheritance diagram for canopen::ManagingSyncLayer:
Inheritance graph
[legend]

Public Member Functions

virtual void addNode (void *const ptr)
 
 ManagingSyncLayer (const SyncProperties &p, can::CommInterfaceSharedPtr interface)
 
virtual void removeNode (void *const ptr)
 
- Public Member Functions inherited from canopen::SyncLayer
 SyncLayer (const SyncProperties &p)
 
- Public Member Functions inherited from canopen::Layer
void diag (LayerReport &report)
 
LayerState getLayerState ()
 
void halt (LayerStatus &status)
 
void init (LayerStatus &status)
 
 Layer (const std::string &n)
 
void read (LayerStatus &status)
 
void recover (LayerStatus &status)
 
void shutdown (LayerStatus &status)
 
void write (LayerStatus &status)
 
virtual ~Layer ()
 
- Public Member Functions inherited from canopen::SyncCounter
 SyncCounter (const SyncProperties &p)
 
virtual ~SyncCounter ()
 

Protected Member Functions

virtual void handleDiag (LayerReport &report)
 
virtual void handleHalt (LayerStatus &status)
 
virtual void handleRecover (LayerStatus &status)
 
virtual void handleShutdown (LayerStatus &status)
 
- Protected Member Functions inherited from canopen::Layer
virtual void handleInit (LayerStatus &status)=0
 
virtual void handleRead (LayerStatus &status, const LayerState &current_state)=0
 
virtual void handleWrite (LayerStatus &status, const LayerState &current_state)=0
 

Protected Attributes

boost::chrono::milliseconds half_step_
 
can::CommInterfaceSharedPtr interface_
 
std::set< void * > nodes_
 
boost::mutex nodes_mutex_
 
std::atomic< size_t > nodes_size_
 
boost::chrono::milliseconds step_
 

Additional Inherited Members

- Public Types inherited from canopen::Layer
enum  LayerState {
  Off, Init, Shutdown, Error,
  Halt, Recover, Ready
}
 
- Public Attributes inherited from canopen::Layer
const std::string name
 
- Public Attributes inherited from canopen::SyncCounter
const SyncProperties properties
 

Detailed Description

Definition at line 9 of file master_plugin.cpp.

Constructor & Destructor Documentation

◆ ManagingSyncLayer()

canopen::ManagingSyncLayer::ManagingSyncLayer ( const SyncProperties p,
can::CommInterfaceSharedPtr  interface 
)
inline

Definition at line 26 of file master_plugin.cpp.

Member Function Documentation

◆ addNode()

virtual void canopen::ManagingSyncLayer::addNode ( void *const  ptr)
inlinevirtual

Implements canopen::SyncCounter.

Definition at line 31 of file master_plugin.cpp.

◆ handleDiag()

virtual void canopen::ManagingSyncLayer::handleDiag ( LayerReport report)
inlineprotectedvirtual

Implements canopen::Layer.

Definition at line 22 of file master_plugin.cpp.

◆ handleHalt()

virtual void canopen::ManagingSyncLayer::handleHalt ( LayerStatus status)
inlineprotectedvirtual

Implements canopen::Layer.

Definition at line 21 of file master_plugin.cpp.

◆ handleRecover()

virtual void canopen::ManagingSyncLayer::handleRecover ( LayerStatus status)
inlineprotectedvirtual

Implements canopen::Layer.

Definition at line 23 of file master_plugin.cpp.

◆ handleShutdown()

virtual void canopen::ManagingSyncLayer::handleShutdown ( LayerStatus status)
inlineprotectedvirtual

Implements canopen::Layer.

Definition at line 18 of file master_plugin.cpp.

◆ removeNode()

virtual void canopen::ManagingSyncLayer::removeNode ( void *const  ptr)
inlinevirtual

Implements canopen::SyncCounter.

Definition at line 36 of file master_plugin.cpp.

Member Data Documentation

◆ half_step_

boost::chrono::milliseconds canopen::ManagingSyncLayer::half_step_
protected

Definition at line 12 of file master_plugin.cpp.

◆ interface_

can::CommInterfaceSharedPtr canopen::ManagingSyncLayer::interface_
protected

Definition at line 11 of file master_plugin.cpp.

◆ nodes_

std::set<void *> canopen::ManagingSyncLayer::nodes_
protected

Definition at line 14 of file master_plugin.cpp.

◆ nodes_mutex_

boost::mutex canopen::ManagingSyncLayer::nodes_mutex_
protected

Definition at line 15 of file master_plugin.cpp.

◆ nodes_size_

std::atomic<size_t> canopen::ManagingSyncLayer::nodes_size_
protected

Definition at line 16 of file master_plugin.cpp.

◆ step_

boost::chrono::milliseconds canopen::ManagingSyncLayer::step_
protected

Definition at line 12 of file master_plugin.cpp.


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


canopen_master
Author(s): Mathias Lüdtke
autogenerated on Mon Feb 28 2022 23:28:03