Go to the source code of this file.
Defines | |
| #define | DEBUG_REDUNDANCY 0 |
| Extra debug output for redundancy functions. | |
Functions | |
| void | ec_domain_clear_data (ec_domain_t *domain) |
| Frees internally allocated memory. | |
| void | ec_domain_init (ec_domain_t *domain, ec_master_t *master, unsigned int index) |
| Domain constructor. | |
| void | ec_domain_clear (ec_domain_t *domain) |
| Domain destructor. | |
| void | ec_domain_add_fmmu_config (ec_domain_t *domain, ec_fmmu_config_t *fmmu) |
| Adds an FMMU configuration to the domain. | |
| int | ec_domain_add_datagram_pair (ec_domain_t *domain, uint32_t logical_offset, size_t data_size, uint8_t *data, const unsigned int used[]) |
| Allocates a domain datagram pair and appends it to the list. | |
| int | shall_count (const ec_fmmu_config_t *cur_fmmu, const ec_fmmu_config_t *first_fmmu) |
| Domain finish helper function. | |
| int | ec_domain_finish (ec_domain_t *domain, uint32_t base_address) |
| Finishes a domain. | |
| unsigned int | ec_domain_fmmu_count (const ec_domain_t *domain) |
| Get the number of FMMU configurations of the domain. | |
| const ec_fmmu_config_t * | ec_domain_find_fmmu (const ec_domain_t *domain, unsigned int pos) |
| Get a certain FMMU configuration via its position in the list. | |
| int | ecrt_domain_reg_pdo_entry_list (ec_domain_t *domain, const ec_pdo_entry_reg_t *regs) |
| Registers a bunch of PDO entries for a domain. | |
| size_t | ecrt_domain_size (const ec_domain_t *domain) |
| Returns the current size of the domain's process data. | |
| void | ecrt_domain_external_memory (ec_domain_t *domain, uint8_t *mem) |
| Provide external memory to store the domain's process data. | |
| uint8_t * | ecrt_domain_data (ec_domain_t *domain) |
| Returns the domain's process data. | |
| void | ecrt_domain_process (ec_domain_t *domain) |
| Determines the states of the domain's datagrams. | |
| void | ecrt_domain_queue (ec_domain_t *domain) |
| (Re-)queues all domain datagrams in the master's datagram queue. | |
| void | ecrt_domain_state (const ec_domain_t *domain, ec_domain_state_t *state) |
| Reads the state of a domain. | |
Definition in file domain.c.
| void ec_domain_clear_data | ( | ec_domain_t * | domain | ) |
| void ec_domain_init | ( | ec_domain_t * | domain, | |
| ec_master_t * | master, | |||
| unsigned int | index | |||
| ) |
| void ec_domain_clear | ( | ec_domain_t * | domain | ) |
| void ec_domain_add_fmmu_config | ( | ec_domain_t * | domain, | |
| ec_fmmu_config_t * | fmmu | |||
| ) |
| int ec_domain_add_datagram_pair | ( | ec_domain_t * | domain, | |
| uint32_t | logical_offset, | |||
| size_t | data_size, | |||
| uint8_t * | data, | |||
| const unsigned int | used[] | |||
| ) |
Allocates a domain datagram pair and appends it to the list.
The datagrams' types and expected working counters are determined by the number of input and output fmmus that share the datagrams.
| 0 | Success. | |
| <0 | Error code. |
| domain | EtherCAT domain. |
| logical_offset | Logical offset. |
| data_size | Size of the data. |
| data | Process data. |
| used | Slave config counter for in/out. |
| int shall_count | ( | const ec_fmmu_config_t * | cur_fmmu, | |
| const ec_fmmu_config_t * | first_fmmu | |||
| ) |
Domain finish helper function.
Detects, if a slave configuration has already been taken into account for a datagram's expected working counter calculation.
Walks through the list of all FMMU configurations for the current datagram and ends before the current datagram.
| cur_fmmu | Current FMMU with direction to search for. |
| first_fmmu | Datagram's first FMMU. |
| int ec_domain_finish | ( | ec_domain_t * | domain, | |
| uint32_t | base_address | |||
| ) |
Finishes a domain.
This allocates the necessary datagrams and writes the correct logical addresses to every configured FMMU.
| 0 | Success | |
| <0 | Error code. |
| domain | EtherCAT domain. |
| base_address | Logical base address. |
| const ec_fmmu_config_t* ec_domain_find_fmmu | ( | const ec_domain_t * | domain, | |
| unsigned int | pos | |||
| ) |
1.5.6