|
IgH EtherCAT Master
1.6.9
|
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. | |
| #define | EC_SLAVE_ERR(slave, fmt, args...) |
| Convenience macro for printing slave-specific errors to syslog. | |
| #define | EC_SLAVE_WARN(slave, fmt, args...) |
| Convenience macro for printing slave-specific warnings to syslog. | |
| #define | EC_SLAVE_DBG(slave, level, fmt, args...) |
| Convenience macro for printing slave-specific debug messages to syslog. | |
Functions | |
| void | ec_slave_init (ec_slave_t *, ec_master_t *, ec_device_index_t, uint16_t, uint16_t) |
| Slave constructor. | |
| void | ec_slave_clear (ec_slave_t *) |
| Slave destructor. | |
| 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. | |
| int | ec_slave_fetch_sii_general (ec_slave_t *, const uint8_t *, size_t) |
| Fetches data from a GENERAL category. | |
| int | ec_slave_fetch_sii_syncs (ec_slave_t *, const uint8_t *, size_t) |
| Fetches data from a SYNC MANAGER category. | |
| int | ec_slave_fetch_sii_pdos (ec_slave_t *, const uint8_t *, size_t, ec_direction_t) |
| Fetches data from a [RT]xPDO category. | |
| ec_sync_t * | ec_slave_get_sync (ec_slave_t *, uint8_t) |
| Get the sync manager given an index. | |
| 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. | |
| const ec_sdo_t * | ec_slave_get_sdo_const (const ec_slave_t *, uint16_t) |
| Get an SDO from the dictionary. | |
| 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. | |
| uint16_t | ec_slave_sdo_count (const ec_slave_t *) |
| Get the number of SDOs in the dictionary. | |
| const ec_pdo_t * | ec_slave_find_pdo (const ec_slave_t *, uint16_t) |
| Finds a mapped PDO. | |
| 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 | ) |
| void ec_slave_clear_sync_managers | ( | ec_slave_t * | slave | ) |
| void ec_slave_request_state | ( | ec_slave_t * | slave, |
| ec_slave_state_t | state ) |
| void ec_slave_set_state | ( | ec_slave_t * | slave, |
| ec_slave_state_t | new_state ) |
| 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 ) |
| void ec_slave_sdo_dict_info | ( | const ec_slave_t * | slave, |
| unsigned int * | sdo_count, | ||
| unsigned int * | entry_count ) |
| 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 ) |
| void ec_slave_attach_pdo_names | ( | ec_slave_t * | slave | ) |
| void ec_slave_calc_port_delays | ( | ec_slave_t * | slave | ) |
| void ec_slave_calc_transmission_delays_rec | ( | ec_slave_t * | slave, |
| uint32_t * | delay ) |