ethercatcpp
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ethercatcpp::SlaveDevice Class Reference

This class define an EtherCAT unit device. More...

#include <slave_device.h>

Inheritance diagram for ethercatcpp::SlaveDevice:
Inheritance graph

Public Types

enum  syncmanager_buffer_t { ASYNCHROS_OUT, ASYNCHROS_IN, SYNCHROS_OUT, SYNCHROS_IN = 4 }
 This enum define all type of buffers (SyncManager type) More...
 

Public Member Functions

 SlaveDevice ()
 Constructor of SlaveDevice class. More...
 
virtual ~SlaveDevice ()
 
void set_serial_number (uint32_t serial_number)
 Set the serial number of the device. More...
 
uint32_t eep_manufacturer () const
 Get EtherCAT device manufacturer id. More...
 
uint32_t eep_device () const
 Get EtherCAT device id. More...
 
uint32_t serial_number () const
 Get device serial number. More...
 
- Public Member Functions inherited from ethercatcpp::Device
 Device ()
 
virtual ~Device ()
 

Protected Member Functions

template<typename T , typename... U>
void define_physical_buffer (syncmanager_buffer_t type, uint16_t start_addr, uint32_t flags)
 Define a physical buffer (EtherCAT syncManager buffer). More...
 
void define_physical_buffer (syncmanager_buffer_t type, uint16_t start_addr, uint32_t flags, uint16_t length)
 Define a physical buffer (EtherCAT syncManager buffer). More...
 
template<typename T >
T * input_buffer (uint16_t start_addr)
 Get data of input physical buffer. More...
 
template<typename T , typename U , typename... Other>
std::tuple< T *, U *, Other *... > input_buffer (uint16_t start_addr)
 
uint8_t * input_buffer (uint16_t start_addr)
 Get data of input physical buffer. More...
 
template<typename T >
T * output_buffer (uint16_t start_addr)
 Get data of output physical buffer. More...
 
template<typename T , typename U , typename... Other>
std::tuple< T *, U *, Other *... > output_buffer (uint16_t start_addr)
 
uint8_t * output_buffer (uint16_t start_addr)
 Get data of output physical buffer. More...
 
void add_run_step (std::function< void()> &&pre, std::function< void()> &&post)
 Add a run step and define pre_function and post_function run step. More...
 
void add_init_step (std::function< void()> &&pre, std::function< void()> &&post)
 Add a init step and define pre_function and post_function for this init step. More...
 
void add_end_step (std::function< void()> &&pre, std::function< void()> &&post)
 Add a end step and define pre_function and post_function for this end step. More...
 
void set_id (const std::string &name, uint32_t manufacturer, uint32_t model)
 Set a specific ID to the slave. More...
 
void define_distributed_clock (bool have_dc)
 Define if the slave have a distributed clock. More...
 
void define_period_for_non_cyclic_steps (int period)
 Define the period between two non cyclic steps. More...
 
void configure_at_init (std::function< void()> &&func)
 Define the function that configures the slave in PREOP state at initialization of the ethercat bus (Master::init()) . More...
 
void configure_at_end (std::function< void()> &&func)
 Define the function that performs configuration actions in PREOP state at termination of the ethercat bus. (Master::end()). More...
 
int write_sdo (uint16_t index, uint8_t sub_index, int buffer_size, void *buffer) const
 write a SDO capable object field More...
 
int read_sdo (uint16_t index, uint8_t sub_index, int buffer_size, void *buffer) const
 read a SDO capable object field More...
 
template<typename T >
int write_sdo (uint16_t index, uint8_t sub_index, T &value) const
 Send a CoE write SDO packet to the slave. More...
 
template<typename T >
int read_sdo (uint16_t index, uint8_t sub_index, T &value) const
 Send a CoE read SDO packet to the slave. More...
 
template<typename T >
bool start_command_pdo_mapping ()
 Start the definition of the command PDO mapping. More...
 
template<typename T >
bool add_command_pdo_mapping (uint16_t pdo_address)
 Add a new command PDO map link. More...
 
template<typename T >
bool end_command_pdo_mapping ()
 Finish the definition of the command PDO mapping. More...
 
template<typename T >
bool start_status_pdo_mapping ()
 Start definition of the status PDO mapping. More...
 
template<typename T >
bool add_status_pdo_mapping (uint16_t pdo_address)
 Add a new STATUS PDO map link. More...
 
template<typename T >
bool end_status_pdo_mapping ()
 Finish definition of the status PDO mapping. More...
 
void configure_dc_sync0 (uint32_t cycle_time_0, int32_t cycle_shift) const
 Define DC synchro signal 0. More...
 
void configure_dc_sync0_1 (uint32_t cycle_time_0, uint32_t cycle_time_1, int32_t cycle_shift) const
 Define DC synchro signals 0 and 1. More...
 
int32_t read_file (std::string_view filename, uint32_t password, int32_t size, uint8_t *buffer) const
 
bool write_file (std::string_view filename, uint32_t password, int32_t size, uint8_t *buffer) const
 
bool read_sercos (uint8_t drive, uint8_t flags, uint16_t idn, int32_t size, uint8_t *buffer) const
 
bool write_sercos (uint8_t drive, uint8_t flags, uint16_t idn, int32_t size, uint8_t *buffer) const
 

Private Member Functions

void print_slave_info () const
 Print all slave informations. More...
 
uint8_t run_steps () const
 Get the number of run steps for the device. More...
 
void pre_run_step (uint8_t step)
 Launch the pre_function for one specific run step. More...
 
void post_run_step (uint8_t step)
 Launch the post_function for one specific run step. More...
 
uint8_t init_steps () const
 Get the number of init steps for the device. More...
 
void pre_init_step (uint8_t step)
 Launch the pre_function for one specific init step. More...
 
void post_init_step (uint8_t step)
 Launch the post_function for one specific init step. More...
 
uint8_t end_steps () const
 
void pre_end_step (uint8_t step)
 Launch the pre_function for one specific end step. More...
 
void post_end_step (uint8_t step)
 Launch the post_function for one specific end step. More...
 
void update_buffers ()
 Update In/Out buffers address. More...
 
void launch_init_configuration ()
 Call the init configuration function. More...
 
void launch_end_configuration ()
 Call the end configuration function. More...
 
void set_command_mappings (uint8_t mappings)
 
uint8_t get_command_mappings () const
 
void set_status_mappings (uint8_t mappings)
 
uint8_t get_status_mappings () const
 
std::vector< Device * > device_vector () final
 Get the vector of sub-devices contained by the device. More...
 
SlaveInfo * slave_address () final
 Get the device corresponding physical slave address. More...
 
template<typename T >
std::tuple< T * > input_buffer_tuple (uint16_t start_addr, size_t ptr_increment)
 
template<typename T , typename U , typename... Other>
std::tuple< T *, U *, Other *... > input_buffer_tuple (uint16_t start_addr, size_t ptr_increment)
 
template<typename T >
std::tuple< T * > output_buffer_tuple (uint16_t start_addr, size_t ptr_increment)
 
template<typename T , typename U , typename... Other>
std::tuple< T *, U *, Other *... > output_buffer_tuple (uint16_t start_addr, size_t ptr_increment)
 

Private Attributes

std::unique_ptr< Impl > impl_
 

Friends

class coe::PDOMapping
 
class coe::PDOBuffer
 
class Master
 
class SlaveInfo
 

Detailed Description

This class define an EtherCAT unit device.

A unit device is an EtherCAT device who contain slave informations (it is composed by a dedicated slave object). It define all steps function (run, init and end), define EtherCAT I/O buffers and all EtherCAT slave configurations.

Member Enumeration Documentation

◆ syncmanager_buffer_t

This enum define all type of buffers (SyncManager type)

Enumerator
ASYNCHROS_OUT 

define an asynchro mailbox out (from master to slave)

ASYNCHROS_IN 

define an asynchro mailbox in (from slave to master)

SYNCHROS_OUT 

define a synchro buffer out (from master to slave)

SYNCHROS_IN 

define a synchro buffer in (from slave to master)

Constructor & Destructor Documentation

◆ SlaveDevice()

ethercatcpp::SlaveDevice::SlaveDevice ( )

Constructor of SlaveDevice class.

◆ ~SlaveDevice()

virtual ethercatcpp::SlaveDevice::~SlaveDevice ( )
virtual

Member Function Documentation

◆ add_command_pdo_mapping()

template<typename T >
bool ethercatcpp::SlaveDevice::add_command_pdo_mapping ( uint16_t  pdo_address)
inlineprotected

Add a new command PDO map link.

Parameters
[in]pdo_addressis the map address who want to add to the PDO.
Template Parameters
Trepresent the type of data register (generally uint8 or uint16).
Returns
false if communication failed, true if success.

◆ add_end_step()

void ethercatcpp::SlaveDevice::add_end_step ( std::function< void()> &&  pre,
std::function< void()> &&  post 
)
protected

Add a end step and define pre_function and post_function for this end step.

Parameters
[in]preis the function witch is execute before a end step (generally set commands).
[in]postis the function witch is execute after a end step (generally get status and datas).

◆ add_init_step()

void ethercatcpp::SlaveDevice::add_init_step ( std::function< void()> &&  pre,
std::function< void()> &&  post 
)
protected

Add a init step and define pre_function and post_function for this init step.

Parameters
[in]preis the function witch is execute before a init step (generally set commands).
[in]postis the function witch is execute after a init step (generally get status and datas).

◆ add_run_step()

void ethercatcpp::SlaveDevice::add_run_step ( std::function< void()> &&  pre,
std::function< void()> &&  post 
)
protected

Add a run step and define pre_function and post_function run step.

Parameters
[in]preis the function witch is execute before a run step (generally set commands).
[in]postis the function witch is execute after a run step (generally get status and datas).

◆ add_status_pdo_mapping()

template<typename T >
bool ethercatcpp::SlaveDevice::add_status_pdo_mapping ( uint16_t  pdo_address)
inlineprotected

Add a new STATUS PDO map link.

Parameters
[in]pdo_addressis the map address who want to add to the PDO.
Template Parameters
Trepresent the type of "date register" (generally uint8 or uint16).
Returns
false if communication failed, true if success.

◆ configure_at_end()

void ethercatcpp::SlaveDevice::configure_at_end ( std::function< void()> &&  func)
protected

Define the function that performs configuration actions in PREOP state at termination of the ethercat bus. (Master::end()).

This is typically used to configure CanOpen over EtherCAT devices, by calling write_sdo/read_sdo.

Parameters
[in]funcis the function witch is executed at bus termination time.
See also
Master::end()

◆ configure_at_init()

void ethercatcpp::SlaveDevice::configure_at_init ( std::function< void()> &&  func)
protected

Define the function that configures the slave in PREOP state at initialization of the ethercat bus (Master::init()) .

This is typically used to configure CanOpen over EtherCAT devices, by calling write_sdo/read_sdo, and functions to define PDO mappings and PDO buffers configuration. It can also be used for any operations using FoE.

Parameters
[in]funcis the function witch is executed witch is executed at bus initialization time.
See also
Master::init()

◆ configure_dc_sync0()

void ethercatcpp::SlaveDevice::configure_dc_sync0 ( uint32_t  cycle_time_0,
int32_t  cycle_shift 
) const
protected

Define DC synchro signal 0.

This function active DC sync 0 mode and set timers for a slave.

Parameters
[in]cycle_time_0is Cycltime SYNC0 in ns.
[in]cycle_shiftis CyclShift in ns.

◆ configure_dc_sync0_1()

void ethercatcpp::SlaveDevice::configure_dc_sync0_1 ( uint32_t  cycle_time_0,
uint32_t  cycle_time_1,
int32_t  cycle_shift 
) const
protected

Define DC synchro signals 0 and 1.

This function active DC sync 0 and 1 mode and set timers for a slave.

Parameters
[in]cycle_time_0is Cycltime SYNC0 in ns.
[in]cycle_time_1is Cycltime SYNC1 in ns. This time is a delta time in relation to the SYNC0 fire. If CylcTime1 = 0 then SYNC1 fires a the same time as SYNC0.
[in]cycle_shiftis CyclShift in ns.

◆ define_distributed_clock()

void ethercatcpp::SlaveDevice::define_distributed_clock ( bool  have_dc)
protected

Define if the slave have a distributed clock.

Parameters
[in]have_dcstate for distributed clock (TRUE if have DC).

◆ define_period_for_non_cyclic_steps()

void ethercatcpp::SlaveDevice::define_period_for_non_cyclic_steps ( int  period)
protected

Define the period between two non cyclic steps.

Parameters
[in]periodtime desired to wait in us.

◆ define_physical_buffer() [1/2]

template<typename T , typename... U>
void ethercatcpp::SlaveDevice::define_physical_buffer ( syncmanager_buffer_t  type,
uint16_t  start_addr,
uint32_t  flags 
)
inlineprotected

Define a physical buffer (EtherCAT syncManager buffer).

This function define a physical buffer and updates size of total I/O buffer

Template Parameters
Tis the first or unique data type defining buffer content.
Uare the other data types defining buffer content sequentially happend to T.
Parameters
[in]typeis the type of buffer selected in syncmanager_buffer_t.
[in]start_addris the buffer physical start address.
[in]flagsis the specific flag for this buffer.

◆ define_physical_buffer() [2/2]

void ethercatcpp::SlaveDevice::define_physical_buffer ( syncmanager_buffer_t  type,
uint16_t  start_addr,
uint32_t  flags,
uint16_t  length 
)
protected

Define a physical buffer (EtherCAT syncManager buffer).

This function defines a physical buffer and update size of total I/O buffer

Parameters
[in]typeis the type of buffer selected in syncmanager_buffer_t.
[in]start_addris the buffer physical start address.
[in]flagsis the specific flag for this buffer.
[in]lengthis the size of the buffer in bytes.

◆ device_vector()

std::vector<Device*> ethercatcpp::SlaveDevice::device_vector ( )
finalprivatevirtual

Get the vector of sub-devices contained by the device.

Returns
a vector of Device pointer. This vector contain only this device address (unit device)

Implements ethercatcpp::Device.

◆ eep_device()

uint32_t ethercatcpp::SlaveDevice::eep_device ( ) const

Get EtherCAT device id.

Returns
the device id.

◆ eep_manufacturer()

uint32_t ethercatcpp::SlaveDevice::eep_manufacturer ( ) const

Get EtherCAT device manufacturer id.

Returns
EtherCAT device manufacturer id.

◆ end_command_pdo_mapping()

template<typename T >
bool ethercatcpp::SlaveDevice::end_command_pdo_mapping ( )
inlineprotected

Finish the definition of the command PDO mapping.

Template Parameters
Trepresent the type of date register (generally uint8 or uint16).
Returns
false if communication failed, true if success.

◆ end_status_pdo_mapping()

template<typename T >
bool ethercatcpp::SlaveDevice::end_status_pdo_mapping ( )
inlineprotected

Finish definition of the status PDO mapping.

Template Parameters
Trepresent the type of date register (generally uint8 or uint16).
Returns
false if communication failed, true if success.

◆ end_steps()

uint8_t ethercatcpp::SlaveDevice::end_steps ( ) const
private

◆ get_command_mappings()

uint8_t ethercatcpp::SlaveDevice::get_command_mappings ( ) const
private

◆ get_status_mappings()

uint8_t ethercatcpp::SlaveDevice::get_status_mappings ( ) const
private

◆ init_steps()

uint8_t ethercatcpp::SlaveDevice::init_steps ( ) const
private

Get the number of init steps for the device.

Returns
number of init steps

◆ input_buffer() [1/3]

template<typename T >
T* ethercatcpp::SlaveDevice::input_buffer ( uint16_t  start_addr)
inlineprotected

Get data of input physical buffer.

This function get the raw datas of the input physical buffer and cast them in the data structure type indicate with "template param" to more easyest used.

Template Parameters
Tis the data structure type of the buffer.
Parameters
[in]start_addris the input buffer physical start address.
Returns
pointer to buffer data with "template param" structure type.

◆ input_buffer() [2/3]

template<typename T , typename U , typename... Other>
std::tuple<T*, U*, Other*...> ethercatcpp::SlaveDevice::input_buffer ( uint16_t  start_addr)
inlineprotected

◆ input_buffer() [3/3]

uint8_t* ethercatcpp::SlaveDevice::input_buffer ( uint16_t  start_addr)
protected

Get data of input physical buffer.

Parameters
[in]start_addris the input buffer physical start address.
Returns
pointer to buffer data.

◆ input_buffer_tuple() [1/2]

template<typename T >
std::tuple<T*> ethercatcpp::SlaveDevice::input_buffer_tuple ( uint16_t  start_addr,
size_t  ptr_increment 
)
inlineprivate

◆ input_buffer_tuple() [2/2]

template<typename T , typename U , typename... Other>
std::tuple<T*, U*, Other*...> ethercatcpp::SlaveDevice::input_buffer_tuple ( uint16_t  start_addr,
size_t  ptr_increment 
)
inlineprivate

◆ launch_end_configuration()

void ethercatcpp::SlaveDevice::launch_end_configuration ( )
private

Call the end configuration function.

◆ launch_init_configuration()

void ethercatcpp::SlaveDevice::launch_init_configuration ( )
private

Call the init configuration function.

◆ output_buffer() [1/3]

template<typename T >
T* ethercatcpp::SlaveDevice::output_buffer ( uint16_t  start_addr)
inlineprotected

Get data of output physical buffer.

This function get the raw datas of the output physical buffer and cast them in the data structure type indicate with "template param" to more easyest used.

Template Parameters
Tis the data structure type of the buffer.
Parameters
[in]start_addris the output buffer physical start address.
Returns
pointer to buffer data with "template param" structure type.

◆ output_buffer() [2/3]

template<typename T , typename U , typename... Other>
std::tuple<T*, U*, Other*...> ethercatcpp::SlaveDevice::output_buffer ( uint16_t  start_addr)
inlineprotected

◆ output_buffer() [3/3]

uint8_t* ethercatcpp::SlaveDevice::output_buffer ( uint16_t  start_addr)
protected

Get data of output physical buffer.

Parameters
[in]start_addris the output buffer physical start address.
Returns
pointer to buffer data.

◆ output_buffer_tuple() [1/2]

template<typename T >
std::tuple<T*> ethercatcpp::SlaveDevice::output_buffer_tuple ( uint16_t  start_addr,
size_t  ptr_increment 
)
inlineprivate

◆ output_buffer_tuple() [2/2]

template<typename T , typename U , typename... Other>
std::tuple<T*, U*, Other*...> ethercatcpp::SlaveDevice::output_buffer_tuple ( uint16_t  start_addr,
size_t  ptr_increment 
)
inlineprivate

◆ post_end_step()

void ethercatcpp::SlaveDevice::post_end_step ( uint8_t  step)
private

Launch the post_function for one specific end step.

Parameters
[in]stepis the specific step number who want to launch.

◆ post_init_step()

void ethercatcpp::SlaveDevice::post_init_step ( uint8_t  step)
private

Launch the post_function for one specific init step.

Parameters
[in]stepis the specific step number who want to launch.

◆ post_run_step()

void ethercatcpp::SlaveDevice::post_run_step ( uint8_t  step)
private

Launch the post_function for one specific run step.

Parameters
[in]stepis the specific step number who want to launch.

◆ pre_end_step()

void ethercatcpp::SlaveDevice::pre_end_step ( uint8_t  step)
private

Launch the pre_function for one specific end step.

Parameters
[in]stepis the specific step number who want to launch.

◆ pre_init_step()

void ethercatcpp::SlaveDevice::pre_init_step ( uint8_t  step)
private

Launch the pre_function for one specific init step.

Parameters
[in]stepis the specific step number who want to launch.

◆ pre_run_step()

void ethercatcpp::SlaveDevice::pre_run_step ( uint8_t  step)
private

Launch the pre_function for one specific run step.

Parameters
[in]stepis the specific step number who want to launch.

◆ print_slave_info()

void ethercatcpp::SlaveDevice::print_slave_info ( ) const
private

Print all slave informations.

◆ read_file()

int32_t ethercatcpp::SlaveDevice::read_file ( std::string_view  filename,
uint32_t  password,
int32_t  size,
uint8_t *  buffer 
) const
protected

◆ read_sdo() [1/2]

int ethercatcpp::SlaveDevice::read_sdo ( uint16_t  index,
uint8_t  sub_index,
int  buffer_size,
void *  buffer 
) const
protected

read a SDO capable object field

Parameters
indexindex of the object
sub_indexsub-index of the field
buffer_sizesize of field data
bufferpointer to the memory zone holding the data read
Returns
int the workcounter. 0 on failure.

◆ read_sdo() [2/2]

template<typename T >
int ethercatcpp::SlaveDevice::read_sdo ( uint16_t  index,
uint8_t  sub_index,
T &  value 
) const
inlineprotected

Send a CoE read SDO packet to the slave.

Parameters
[in]indexis the SDO index to read data.
[in]sub_indexis the SDO sub index to read data.
[in]valueis the data readed.
Template Parameters
Trepresent the data type of input parameter value.
Returns
0 if communication failed. Worcounter value if success.

◆ read_sercos()

bool ethercatcpp::SlaveDevice::read_sercos ( uint8_t  drive,
uint8_t  flags,
uint16_t  idn,
int32_t  size,
uint8_t *  buffer 
) const
protected

◆ run_steps()

uint8_t ethercatcpp::SlaveDevice::run_steps ( ) const
private

Get the number of run steps for the device.

Returns
number of run steps

◆ serial_number()

uint32_t ethercatcpp::SlaveDevice::serial_number ( ) const

Get device serial number.

Returns
device serial number.

◆ set_command_mappings()

void ethercatcpp::SlaveDevice::set_command_mappings ( uint8_t  mappings)
private

◆ set_id()

void ethercatcpp::SlaveDevice::set_id ( const std::string &  name,
uint32_t  manufacturer,
uint32_t  model 
)
protected

Set a specific ID to the slave.

Parameters
[in]nameis slave name.
[in]manufactureris the slave manufacturer ID.
[in]modelis the slave model ID.

◆ set_serial_number()

void ethercatcpp::SlaveDevice::set_serial_number ( uint32_t  serial_number)

Set the serial number of the device.

This make it posible to force the serial number of the device. So at Master::init() step the serial number will be check, and an error throw if the device serial number dos not match.

Parameters
[in]serial_numberthe serial number.

◆ set_status_mappings()

void ethercatcpp::SlaveDevice::set_status_mappings ( uint8_t  mappings)
private

◆ slave_address()

SlaveInfo* ethercatcpp::SlaveDevice::slave_address ( )
finalprivatevirtual

Get the device corresponding physical slave address.

Returns
the dedicated slave address, or nullptr if device not bound to a physical slave.

Implements ethercatcpp::Device.

◆ start_command_pdo_mapping()

template<typename T >
bool ethercatcpp::SlaveDevice::start_command_pdo_mapping ( )
inlineprotected

Start the definition of the command PDO mapping.

Template Parameters
Trepresent the type of data register (generally uint8 or uint16).
Returns
false if communication failed, true if success.

◆ start_status_pdo_mapping()

template<typename T >
bool ethercatcpp::SlaveDevice::start_status_pdo_mapping ( )
inlineprotected

Start definition of the status PDO mapping.

Template Parameters
Trepresent the type of date register (generally uint8 or uint16).
Returns
false if communication failed, true if success.

◆ update_buffers()

void ethercatcpp::SlaveDevice::update_buffers ( )
private

Update In/Out buffers address.

◆ write_file()

bool ethercatcpp::SlaveDevice::write_file ( std::string_view  filename,
uint32_t  password,
int32_t  size,
uint8_t *  buffer 
) const
protected

◆ write_sdo() [1/2]

int ethercatcpp::SlaveDevice::write_sdo ( uint16_t  index,
uint8_t  sub_index,
int  buffer_size,
void *  buffer 
) const
protected

write a SDO capable object field

Parameters
indexindex of the object
sub_indexsub-index of the field
buffer_sizesize of field data
bufferpointer to the memory zone holding the data to xrite
Returns
int the workcounter. 0 on failure.

◆ write_sdo() [2/2]

template<typename T >
int ethercatcpp::SlaveDevice::write_sdo ( uint16_t  index,
uint8_t  sub_index,
T &  value 
) const
inlineprotected

Send a CoE write SDO packet to the slave.

Parameters
[in]indexis the SDO index to write data.
[in]sub_indexis the SDO sub index to write data.
[in]valueis the data to write.
Template Parameters
Trepresent the data type of input parameter value.
Returns
0 if communication failed. Worcounter value if success.

◆ write_sercos()

bool ethercatcpp::SlaveDevice::write_sercos ( uint8_t  drive,
uint8_t  flags,
uint16_t  idn,
int32_t  size,
uint8_t *  buffer 
) const
protected

Friends And Related Function Documentation

◆ coe::PDOBuffer

friend class coe::PDOBuffer
friend

◆ coe::PDOMapping

friend class coe::PDOMapping
friend

◆ Master

friend class Master
friend

◆ SlaveInfo

friend class SlaveInfo
friend

Member Data Documentation

◆ impl_

std::unique_ptr<Impl> ethercatcpp::SlaveDevice::impl_
private

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