IgH EtherCAT Master
1.6.2
|
EtherCAT slave structure. More...
Go to the source code of this file.
Data Structures | |
struct | ec_slave_port_t |
Slave port. More... | |
struct | ec_sii_t |
Slave information interface data. More... | |
struct | ec_slave |
EtherCAT slave. More... | |
Macros | |
#define | EC_SLAVE_INFO(slave, fmt, args...) |
Convenience macro for printing slave-specific information to syslog. More... | |
#define | EC_SLAVE_ERR(slave, fmt, args...) |
Convenience macro for printing slave-specific errors to syslog. More... | |
#define | EC_SLAVE_WARN(slave, fmt, args...) |
Convenience macro for printing slave-specific warnings to syslog. More... | |
#define | EC_SLAVE_DBG(slave, level, fmt, args...) |
Convenience macro for printing slave-specific debug messages to syslog. More... | |
Functions | |
void | ec_slave_init (ec_slave_t *, ec_master_t *, ec_device_index_t, uint16_t, uint16_t) |
Slave constructor. More... | |
void | ec_slave_clear (ec_slave_t *) |
Slave destructor. More... | |
void | ec_slave_clear_sync_managers (ec_slave_t *) |
Clear the sync manager array. | |
void | ec_slave_request_state (ec_slave_t *, ec_slave_state_t) |
Request a slave state and resets the error flag. | |
void | ec_slave_set_state (ec_slave_t *, ec_slave_state_t) |
Sets the application state of a slave. | |
int | ec_slave_fetch_sii_strings (ec_slave_t *, const uint8_t *, size_t) |
Fetches data from a STRING category. More... | |
int | ec_slave_fetch_sii_general (ec_slave_t *, const uint8_t *, size_t) |
Fetches data from a GENERAL category. More... | |
int | ec_slave_fetch_sii_syncs (ec_slave_t *, const uint8_t *, size_t) |
Fetches data from a SYNC MANAGER category. More... | |
int | ec_slave_fetch_sii_pdos (ec_slave_t *, const uint8_t *, size_t, ec_direction_t) |
Fetches data from a [RT]xPDO category. More... | |
ec_sync_t * | ec_slave_get_sync (ec_slave_t *, uint8_t) |
Get the sync manager given an index. More... | |
void | ec_slave_sdo_dict_info (const ec_slave_t *, unsigned int *, unsigned int *) |
Counts the total number of SDOs and entries in the dictionary. | |
ec_sdo_t * | ec_slave_get_sdo (ec_slave_t *, uint16_t) |
Get an SDO from the dictionary. More... | |
const ec_sdo_t * | ec_slave_get_sdo_const (const ec_slave_t *, uint16_t) |
Get an SDO from the dictionary. More... | |
const ec_sdo_t * | ec_slave_get_sdo_by_pos_const (const ec_slave_t *, uint16_t) |
Get an SDO from the dictionary, given its position in the list. More... | |
uint16_t | ec_slave_sdo_count (const ec_slave_t *) |
Get the number of SDOs in the dictionary. More... | |
const ec_pdo_t * | ec_slave_find_pdo (const ec_slave_t *, uint16_t) |
Finds a mapped PDO. More... | |
void | ec_slave_attach_pdo_names (ec_slave_t *) |
Attach PDO names. | |
void | ec_slave_calc_port_delays (ec_slave_t *) |
Calculates the port transmission delays. | |
void | ec_slave_calc_transmission_delays_rec (ec_slave_t *, uint32_t *) |
Recursively calculates transmission delays. | |
EtherCAT slave structure.
Definition in file slave.h.
#define EC_SLAVE_INFO | ( | slave, | |
fmt, | |||
args... | |||
) |
Convenience macro for printing slave-specific information to syslog.
This will print the message in fmt with a prefixed "EtherCAT <INDEX>-<POSITION>: ", where INDEX is the master index and POSITION is the slave's ring position.
slave | EtherCAT slave |
fmt | format string (like in printf()) |
args | arguments (optional) |
#define EC_SLAVE_ERR | ( | slave, | |
fmt, | |||
args... | |||
) |
Convenience macro for printing slave-specific errors to syslog.
This will print the message in fmt with a prefixed "EtherCAT <INDEX>-<POSITION>: ", where INDEX is the master index and POSITION is the slave's ring position.
slave | EtherCAT slave |
fmt | format string (like in printf()) |
args | arguments (optional) |
#define EC_SLAVE_WARN | ( | slave, | |
fmt, | |||
args... | |||
) |
Convenience macro for printing slave-specific warnings to syslog.
This will print the message in fmt with a prefixed "EtherCAT <INDEX>-<POSITION>: ", where INDEX is the master index and POSITION is the slave's ring position.
slave | EtherCAT slave |
fmt | format string (like in printf()) |
args | arguments (optional) |
#define EC_SLAVE_DBG | ( | slave, | |
level, | |||
fmt, | |||
args... | |||
) |
Convenience macro for printing slave-specific debug messages to syslog.
This will print the message in fmt with a prefixed "EtherCAT <INDEX>-<POSITION>: ", where INDEX is the master index and POSITION is the slave's ring position.
slave | EtherCAT slave |
level | Debug level. Master's debug level must be >= level for output. |
fmt | format string (like in printf()) |
args | arguments (optional) |
void ec_slave_init | ( | ec_slave_t * | slave, |
ec_master_t * | master, | ||
ec_device_index_t | dev_idx, | ||
uint16_t | ring_position, | ||
uint16_t | station_address | ||
) |
void ec_slave_clear | ( | ec_slave_t * | slave | ) |
int ec_slave_fetch_sii_strings | ( | ec_slave_t * | slave, |
const uint8_t * | data, | ||
size_t | data_size | ||
) |
int ec_slave_fetch_sii_general | ( | ec_slave_t * | slave, |
const uint8_t * | data, | ||
size_t | data_size | ||
) |
int ec_slave_fetch_sii_syncs | ( | ec_slave_t * | slave, |
const uint8_t * | data, | ||
size_t | data_size | ||
) |
int ec_slave_fetch_sii_pdos | ( | ec_slave_t * | slave, |
const uint8_t * | data, | ||
size_t | data_size, | ||
ec_direction_t | dir | ||
) |
ec_sync_t* ec_slave_get_sync | ( | ec_slave_t * | slave, |
uint8_t | sync_index | ||
) |
ec_sdo_t* ec_slave_get_sdo | ( | ec_slave_t * | slave, |
uint16_t | index | ||
) |
const ec_sdo_t* ec_slave_get_sdo_const | ( | const ec_slave_t * | slave, |
uint16_t | index | ||
) |
const ec_sdo_t* ec_slave_get_sdo_by_pos_const | ( | const ec_slave_t * | slave, |
uint16_t | sdo_position | ||
) |
uint16_t ec_slave_sdo_count | ( | const ec_slave_t * | slave | ) |
const ec_pdo_t* ec_slave_find_pdo | ( | const ec_slave_t * | slave, |
uint16_t | index | ||
) |