|
IgH EtherCAT Master
1.5.2
|
EtherCAT slave configuration methods. More...
Go to the source code of this file.
Functions | |
| void | ec_slave_config_init (ec_slave_config_t *sc, ec_master_t *master, uint16_t alias, uint16_t position, uint32_t vendor_id, uint32_t product_code) |
| Slave configuration constructor. More... | |
| void | ec_slave_config_clear (ec_slave_config_t *sc) |
| Slave configuration destructor. More... | |
| int | ec_slave_config_prepare_fmmu (ec_slave_config_t *sc, ec_domain_t *domain, uint8_t sync_index, ec_direction_t dir) |
| Prepares an FMMU configuration. More... | |
| int | ec_slave_config_attach (ec_slave_config_t *sc) |
| Attaches the configuration to the addressed slave object. More... | |
| void | ec_slave_config_detach (ec_slave_config_t *sc) |
| Detaches the configuration from a slave object. More... | |
| void | ec_slave_config_load_default_sync_config (ec_slave_config_t *sc) |
| Loads the default PDO assignment from the slave object. | |
| void | ec_slave_config_load_default_mapping (const ec_slave_config_t *sc, ec_pdo_t *pdo) |
| Loads the default mapping for a PDO from the slave object. | |
| unsigned int | ec_slave_config_sdo_count (const ec_slave_config_t *sc) |
| Get the number of SDO configurations. More... | |
| const ec_sdo_request_t * | ec_slave_config_get_sdo_by_pos_const (const ec_slave_config_t *sc, unsigned int pos) |
| Finds an SDO configuration via its position in the list. More... | |
| unsigned int | ec_slave_config_idn_count (const ec_slave_config_t *sc) |
| Get the number of IDN configurations. More... | |
| const ec_soe_request_t * | ec_slave_config_get_idn_by_pos_const (const ec_slave_config_t *sc, unsigned int pos) |
| Finds an IDN configuration via its position in the list. More... | |
| ec_sdo_request_t * | ec_slave_config_find_sdo_request (ec_slave_config_t *sc, unsigned int pos) |
| Finds a CoE handler via its position in the list. More... | |
| ec_foe_request_t * | ec_slave_config_find_foe_request (ec_slave_config_t *sc, unsigned int pos) |
| Finds an FoE handler via its position in the list. More... | |
| ec_reg_request_t * | ec_slave_config_find_reg_request (ec_slave_config_t *sc, unsigned int pos) |
| Finds a register handler via its position in the list. More... | |
| ec_voe_handler_t * | ec_slave_config_find_voe_handler (ec_slave_config_t *sc, unsigned int pos) |
| Finds a VoE handler via its position in the list. More... | |
| void | ec_slave_config_expire_disconnected_requests (ec_slave_config_t *sc) |
| Expires any requests that have been started on a detached slave. More... | |
| int | ecrt_slave_config_sync_manager (ec_slave_config_t *sc, uint8_t sync_index, ec_direction_t dir, ec_watchdog_mode_t watchdog_mode) |
| Configure a sync manager. More... | |
| void | ecrt_slave_config_watchdog (ec_slave_config_t *sc, uint16_t divider, uint16_t intervals) |
| Configure a slave's watchdog times. More... | |
| void | ecrt_slave_config_overlapping_pdos (ec_slave_config_t *sc, uint8_t allow_overlapping_pdos) |
| Configure whether a slave allows overlapping PDOs. More... | |
| int | ecrt_slave_config_pdo_assign_add (ec_slave_config_t *sc, uint8_t sync_index, uint16_t pdo_index) |
| Add a PDO to a sync manager's PDO assignment. More... | |
| void | ecrt_slave_config_pdo_assign_clear (ec_slave_config_t *sc, uint8_t sync_index) |
| Clear a sync manager's PDO assignment. More... | |
| int | ecrt_slave_config_pdo_mapping_add (ec_slave_config_t *sc, uint16_t pdo_index, uint16_t entry_index, uint8_t entry_subindex, uint8_t entry_bit_length) |
| Add a PDO entry to the given PDO's mapping. More... | |
| void | ecrt_slave_config_pdo_mapping_clear (ec_slave_config_t *sc, uint16_t pdo_index) |
| Clear the mapping of a given PDO. More... | |
| int | ecrt_slave_config_pdos (ec_slave_config_t *sc, unsigned int n_syncs, const ec_sync_info_t syncs[]) |
| Specify a complete PDO configuration. More... | |
| int | ecrt_slave_config_reg_pdo_entry (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, ec_domain_t *domain, unsigned int *bit_position) |
| Registers a PDO entry for process data exchange in a domain. More... | |
| int | ecrt_slave_config_reg_pdo_entry_pos (ec_slave_config_t *sc, uint8_t sync_index, unsigned int pdo_pos, unsigned int entry_pos, ec_domain_t *domain, unsigned int *bit_position) |
| Registers a PDO entry using its position. More... | |
| void | ecrt_slave_config_dc (ec_slave_config_t *sc, uint16_t assign_activate, uint32_t sync0_cycle_time, int32_t sync0_shift_time, uint32_t sync1_cycle_time, int32_t sync1_shift_time) |
| Configure distributed clocks. More... | |
| int | ecrt_slave_config_sdo (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, const uint8_t *data, size_t size) |
| Add an SDO configuration. More... | |
| int | ecrt_slave_config_sdo8 (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, uint8_t value) |
| Add a configuration value for an 8-bit SDO. More... | |
| int | ecrt_slave_config_sdo16 (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, uint16_t value) |
| Add a configuration value for a 16-bit SDO. More... | |
| int | ecrt_slave_config_sdo32 (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, uint32_t value) |
| Add a configuration value for a 32-bit SDO. More... | |
| int | ecrt_slave_config_complete_sdo (ec_slave_config_t *sc, uint16_t index, const uint8_t *data, size_t size) |
| Add configuration data for a complete SDO. More... | |
| int | ecrt_slave_config_emerg_size (ec_slave_config_t *sc, size_t elements) |
| Set the size of the CoE emergency ring buffer. More... | |
| int | ecrt_slave_config_emerg_pop (ec_slave_config_t *sc, uint8_t *target) |
| Read and remove one record from the CoE emergency ring buffer. More... | |
| int | ecrt_slave_config_emerg_clear (ec_slave_config_t *sc) |
| Clears CoE emergency ring buffer and the overrun counter. More... | |
| int | ecrt_slave_config_emerg_overruns (ec_slave_config_t *sc) |
| Read the number of CoE emergency overruns. More... | |
| ec_sdo_request_t * | ecrt_slave_config_create_sdo_request_err (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, uint8_t complete, size_t size) |
| Same as ecrt_slave_config_create_sdo_request(), but with ERR_PTR() return value. | |
| ec_sdo_request_t * | ecrt_slave_config_create_sdo_request (ec_slave_config_t *sc, uint16_t index, uint8_t subindex, size_t size) |
| Create an SDO request to exchange SDOs during realtime operation. More... | |
| ec_sdo_request_t * | ecrt_slave_config_create_sdo_request_complete (ec_slave_config_t *sc, uint16_t index, size_t size) |
| Create an SDO request to exchange SDOs during realtime operation using complete access. More... | |
| ec_foe_request_t * | ecrt_slave_config_create_foe_request_err (ec_slave_config_t *sc, size_t size) |
| Same as ecrt_slave_config_create_foe_request(), but with ERR_PTR() return value. | |
| ec_foe_request_t * | ecrt_slave_config_create_foe_request (ec_slave_config_t *sc, size_t size) |
| Create an FoE request to exchange files during realtime operation. More... | |
| ec_reg_request_t * | ecrt_slave_config_create_reg_request_err (ec_slave_config_t *sc, size_t size) |
| Same as ecrt_slave_config_create_reg_request(), but with ERR_PTR() return value. | |
| ec_reg_request_t * | ecrt_slave_config_create_reg_request (ec_slave_config_t *sc, size_t size) |
| Create a register request to exchange EtherCAT register contents during realtime operation. More... | |
| ec_voe_handler_t * | ecrt_slave_config_create_voe_handler_err (ec_slave_config_t *sc, size_t size) |
| Same as ecrt_slave_config_create_voe_handler(), but with ERR_PTR() return value. | |
| ec_voe_handler_t * | ecrt_slave_config_create_voe_handler (ec_slave_config_t *sc, size_t size) |
| Create an VoE handler to exchange vendor-specific data during realtime operation. More... | |
| void | ecrt_slave_config_state (const ec_slave_config_t *sc, ec_slave_config_state_t *state) |
| Outputs the state of the slave configuration. More... | |
| int | ecrt_slave_config_idn (ec_slave_config_t *sc, uint8_t drive_no, uint16_t idn, ec_al_state_t state, const uint8_t *data, size_t size) |
| Add an SoE IDN configuration. More... | |
EtherCAT slave configuration methods.
Definition in file slave_config.c.
| void ec_slave_config_init | ( | ec_slave_config_t * | sc, |
| ec_master_t * | master, | ||
| uint16_t | alias, | ||
| uint16_t | position, | ||
| uint32_t | vendor_id, | ||
| uint32_t | product_code | ||
| ) |
Slave configuration constructor.
See ecrt_master_slave_config() for the usage of the alias and position parameters.
| sc | Slave configuration. |
| master | EtherCAT master. |
| alias | Slave alias. |
| position | Slave position. |
| vendor_id | Expected vendor ID. |
| product_code | Expected product code. |
Definition at line 55 of file slave_config.c.
| void ec_slave_config_clear | ( | ec_slave_config_t * | sc | ) |
Slave configuration destructor.
Clears and frees a slave configuration object.
| sc | Slave configuration. |
Definition at line 104 of file slave_config.c.
| int ec_slave_config_prepare_fmmu | ( | ec_slave_config_t * | sc, |
| ec_domain_t * | domain, | ||
| uint8_t | sync_index, | ||
| ec_direction_t | dir | ||
| ) |
Prepares an FMMU configuration.
Configuration data for the FMMU is saved in the slave config structure and is written to the slave during the configuration. The FMMU configuration is done in a way, that the complete data range of the corresponding sync manager is covered. Seperate FMMUs are configured for each domain. If the FMMU configuration is already prepared, the function does nothing and returns with success.
| >=0 | Success, logical offset byte address. |
| <0 | Error code. |
| sc | Slave configuration. |
| domain | Domain. |
| sync_index | Sync manager index. |
| dir | PDO direction. |
Definition at line 180 of file slave_config.c.
| int ec_slave_config_attach | ( | ec_slave_config_t * | sc | ) |
Attaches the configuration to the addressed slave object.
| 0 | Success. |
| <0 | Error code. |
| sc | Slave configuration. |
Definition at line 249 of file slave_config.c.
| void ec_slave_config_detach | ( | ec_slave_config_t * | sc | ) |
Detaches the configuration from a slave object.
| sc | Slave configuration. |
Definition at line 315 of file slave_config.c.
| unsigned int ec_slave_config_sdo_count | ( | const ec_slave_config_t * | sc | ) |
Get the number of SDO configurations.
| sc | Slave configuration. |
Definition at line 430 of file slave_config.c.
| const ec_sdo_request_t* ec_slave_config_get_sdo_by_pos_const | ( | const ec_slave_config_t * | sc, |
| unsigned int | pos | ||
| ) |
Finds an SDO configuration via its position in the list.
Const version.
| sc | Slave configuration. |
| pos | Position in the list. |
Definition at line 452 of file slave_config.c.
| unsigned int ec_slave_config_idn_count | ( | const ec_slave_config_t * | sc | ) |
Get the number of IDN configurations.
| sc | Slave configuration. |
Definition at line 474 of file slave_config.c.
| const ec_soe_request_t* ec_slave_config_get_idn_by_pos_const | ( | const ec_slave_config_t * | sc, |
| unsigned int | pos | ||
| ) |
Finds an IDN configuration via its position in the list.
Const version.
| sc | Slave configuration. |
| pos | Position in the list. |
Definition at line 496 of file slave_config.c.
| ec_sdo_request_t* ec_slave_config_find_sdo_request | ( | ec_slave_config_t * | sc, |
| unsigned int | pos | ||
| ) |
Finds a CoE handler via its position in the list.
| sc | Slave configuration. |
| pos | Position in the list. |
Definition at line 518 of file slave_config.c.
| ec_foe_request_t* ec_slave_config_find_foe_request | ( | ec_slave_config_t * | sc, |
| unsigned int | pos | ||
| ) |
Finds an FoE handler via its position in the list.
| sc | Slave configuration. |
| pos | Position in the list. |
Definition at line 540 of file slave_config.c.
| ec_reg_request_t* ec_slave_config_find_reg_request | ( | ec_slave_config_t * | sc, |
| unsigned int | pos | ||
| ) |
Finds a register handler via its position in the list.
| sc | Slave configuration. |
| pos | Position in the list. |
Definition at line 562 of file slave_config.c.
| ec_voe_handler_t* ec_slave_config_find_voe_handler | ( | ec_slave_config_t * | sc, |
| unsigned int | pos | ||
| ) |
Finds a VoE handler via its position in the list.
| sc | Slave configuration. |
| pos | Position in the list. |
Definition at line 584 of file slave_config.c.
| void ec_slave_config_expire_disconnected_requests | ( | ec_slave_config_t * | sc | ) |
Expires any requests that have been started on a detached slave.
| sc | Slave configuration. |
Definition at line 604 of file slave_config.c.