ethercat_driver_ros2  main
C++ ROS test
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
ethercat_interface::EcSlave Class Reference

#include <ec_slave.hpp>

Public Types

typedef std::map< unsigned int, std::vector< unsigned int > > DomainMap
 

Public Member Functions

 EcSlave (uint32_t vendor_id, uint32_t product_id)
 
virtual ~EcSlave ()
 
virtual void processData (size_t, uint8_t *)
 
virtual const ec_sync_info_t * syncs ()
 
virtual bool initialized ()
 
virtual void set_state_is_operational (bool value)
 
virtual int assign_activate_dc_sync ()
 
virtual size_t syncSize ()
 
virtual const ec_pdo_entry_info_t * channels ()
 
virtual void domains (DomainMap &) const
 
virtual bool setupSlave (std::unordered_map< std::string, std::string > slave_paramters, std::vector< double > *state_interface, std::vector< double > *command_interface)
 

Public Attributes

uint32_t vendor_id_
 
uint32_t product_id_
 
std::vector< SdoConfigEntrysdo_config
 

Protected Attributes

std::vector< double > * state_interface_ptr_
 
std::vector< double > * command_interface_ptr_
 
std::unordered_map< std::string, std::string > paramters_
 
bool is_operational_ = false
 

Member Typedef Documentation

◆ DomainMap

typedef std::map<unsigned int, std::vector<unsigned int> > ethercat_interface::EcSlave::DomainMap

a map from domain index to pdo indices in that domain. map<domain index, vector<channels_ indices> >

Constructor & Destructor Documentation

◆ EcSlave()

ethercat_interface::EcSlave::EcSlave ( uint32_t  vendor_id,
uint32_t  product_id 
)
inline

◆ ~EcSlave()

virtual ethercat_interface::EcSlave::~EcSlave ( )
inlinevirtual

Member Function Documentation

◆ processData()

virtual void ethercat_interface::EcSlave::processData ( size_t  ,
uint8_t *   
)
inlinevirtual

read or write data to the domain

◆ syncs()

virtual const ec_sync_info_t* ethercat_interface::EcSlave::syncs ( )
inlinevirtual

a pointer to syncs. return &syncs[0]

◆ initialized()

virtual bool ethercat_interface::EcSlave::initialized ( )
inlinevirtual

◆ set_state_is_operational()

virtual void ethercat_interface::EcSlave::set_state_is_operational ( bool  value)
inlinevirtual

◆ assign_activate_dc_sync()

virtual int ethercat_interface::EcSlave::assign_activate_dc_sync ( )
inlinevirtual

Assign activate DC synchronization. return activate word

◆ syncSize()

virtual size_t ethercat_interface::EcSlave::syncSize ( )
inlinevirtual

number of elements in the syncs array.

◆ channels()

virtual const ec_pdo_entry_info_t* ethercat_interface::EcSlave::channels ( )
inlinevirtual

a pointer to all PDO entries

◆ domains()

virtual void ethercat_interface::EcSlave::domains ( DomainMap ) const
inlinevirtual

◆ setupSlave()

virtual bool ethercat_interface::EcSlave::setupSlave ( std::unordered_map< std::string, std::string >  slave_paramters,
std::vector< double > *  state_interface,
std::vector< double > *  command_interface 
)
inlinevirtual

Member Data Documentation

◆ vendor_id_

uint32_t ethercat_interface::EcSlave::vendor_id_

◆ product_id_

uint32_t ethercat_interface::EcSlave::product_id_

◆ sdo_config

std::vector<SdoConfigEntry> ethercat_interface::EcSlave::sdo_config

◆ state_interface_ptr_

std::vector<double>* ethercat_interface::EcSlave::state_interface_ptr_
protected

◆ command_interface_ptr_

std::vector<double>* ethercat_interface::EcSlave::command_interface_ptr_
protected

◆ paramters_

std::unordered_map<std::string, std::string> ethercat_interface::EcSlave::paramters_
protected

◆ is_operational_

bool ethercat_interface::EcSlave::is_operational_ = false
protected

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