| 
| void  | ec_master_clear_config (ec_master_t *master) | 
|   | Clear the configuration applied by the application.  More...
  | 
|   | 
| 
void  | ec_master_clear_slave_configs (ec_master_t *master) | 
|   | Clear all slave configurations. 
  | 
|   | 
| 
void  | ec_master_clear_domains (ec_master_t *master) | 
|   | Clear all domains. 
  | 
|   | 
| int  | ec_master_thread_start (ec_master_t *master, int(*thread_func)(void *), const char *name) | 
|   | Starts the master thread.  More...
  | 
|   | 
| void  | ec_master_thread_stop (ec_master_t *master) | 
|   | Stops the master thread.  More...
  | 
|   | 
| void  | ec_master_inject_external_datagrams (ec_master_t *master) | 
|   | Injects external datagrams that fit into the datagram queue.  More...
  | 
|   | 
| ec_datagram_t *  | ec_master_get_external_datagram (ec_master_t *master) | 
|   | Searches for a free datagram in the external datagram ring.  More...
  | 
|   | 
| void  | ec_master_exec_slave_fsms (ec_master_t *master) | 
|   | Execute slave FSMs.  More...
  | 
|   | 
| void  | ec_master_send_datagrams (ec_master_t *master, ec_device_index_t device_index) | 
|   | Sends the datagrams in the queue for a certain device.  More...
  | 
|   | 
| int  | ec_master_calc_topology_rec (ec_master_t *master, ec_slave_t *port0_slave, unsigned int *slave_position) | 
|   | Calculates the bus topology; recursion function.  More...
  | 
|   | 
| void  | ec_master_calc_topology (ec_master_t *master) | 
|   | Calculates the bus topology.  More...
  | 
|   | 
| void  | ec_master_calc_transmission_delays (ec_master_t *master) | 
|   | Calculates the bus transmission delays.  More...
  | 
|   | 
| 
static int  | ec_master_idle_thread (void *priv_data) | 
|   | Master kernel thread function for IDLE phase. 
  | 
|   | 
| 
static int  | ec_master_operation_thread (void *priv_data) | 
|   | Master kernel thread function for OPERATION phase. 
  | 
|   | 
| 
static int  | ec_master_eoe_thread (void *priv_data) | 
|   | Does the Ethernet over EtherCAT processing. 
  | 
|   | 
| void  | ec_master_find_dc_ref_clock (ec_master_t *master) | 
|   | Finds the DC reference clock.  More...
  | 
|   | 
| void  | ec_master_clear_device_stats (ec_master_t *master) | 
|   | Clears the common device statistics.  More...
  | 
|   | 
| void  | ec_master_update_device_stats (ec_master_t *master) | 
|   | Updates the common device statistics.  More...
  | 
|   | 
| 
void  | ec_master_nanosleep (const unsigned long) | 
|   | 
| 
static void  | sc_reset_task_kicker (struct irq_work *work) | 
|   | 
| 
static void  | sc_reset_task (struct work_struct *work) | 
|   | 
| 
void  | ec_master_init_static (void) | 
|   | Static variables initializer. 
  | 
|   | 
| int  | ec_master_init (ec_master_t *master, unsigned int index, const uint8_t *main_mac, const uint8_t *backup_mac, dev_t device_number, struct class *class, unsigned int debug_level, unsigned int run_on_cpu) | 
|   | Master constructor.  More...
  | 
|   | 
| void  | ec_master_clear (ec_master_t *master) | 
|   | Destructor.  More...
  | 
|   | 
| void  | ec_master_clear_eoe_handlers (ec_master_t *master) | 
|   | Clear and free all EoE handlers.  More...
  | 
|   | 
| 
void  | ec_master_clear_slaves (ec_master_t *master) | 
|   | Clear all slaves. 
  | 
|   | 
| void  | ec_master_internal_send_cb (void *cb_data) | 
|   | Internal sending callback.  More...
  | 
|   | 
| void  | ec_master_internal_receive_cb (void *cb_data) | 
|   | Internal receiving callback.  More...
  | 
|   | 
| int  | ec_master_enter_idle_phase (ec_master_t *master) | 
|   | Transition function from ORPHANED to IDLE phase.  More...
  | 
|   | 
| void  | ec_master_leave_idle_phase (ec_master_t *master) | 
|   | Transition function from IDLE to ORPHANED phase.  More...
  | 
|   | 
| int  | ec_master_enter_operation_phase (ec_master_t *master) | 
|   | Transition function from IDLE to OPERATION phase.  More...
  | 
|   | 
| void  | ec_master_leave_operation_phase (ec_master_t *master) | 
|   | Transition function from OPERATION to IDLE phase.  More...
  | 
|   | 
| void  | ec_master_set_send_interval (ec_master_t *master, unsigned int send_interval) | 
|   | Sets the expected interval between calls to ecrt_master_send and calculates the maximum amount of data to queue.  More...
  | 
|   | 
| void  | ec_master_queue_datagram (ec_master_t *master, ec_datagram_t *datagram) | 
|   | Places a datagram in the datagram queue.  More...
  | 
|   | 
| void  | ec_master_queue_datagram_ext (ec_master_t *master, ec_datagram_t *datagram) | 
|   | Places a datagram in the non-application datagram queue.  More...
  | 
|   | 
| void  | ec_master_receive_datagrams (ec_master_t *master, ec_device_t *device, const uint8_t *frame_data, size_t size) | 
|   | Processes a received frame.  More...
  | 
|   | 
| void  | ec_master_output_stats (ec_master_t *master) | 
|   | Output master statistics.  More...
  | 
|   | 
| 
static void  | set_normal_priority (struct task_struct *p, int nice) | 
|   | 
| void  | ec_master_eoe_start (ec_master_t *master) | 
|   | Starts Ethernet over EtherCAT processing on demand.  More...
  | 
|   | 
| void  | ec_master_eoe_stop (ec_master_t *master) | 
|   | Stops the Ethernet over EtherCAT processing.  More...
  | 
|   | 
| void  | ec_master_attach_slave_configs (ec_master_t *master) | 
|   | Attaches the slave configurations to the slaves.  More...
  | 
|   | 
| ec_slave_t *  | ec_master_find_slave (ec_master_t *master, uint16_t alias, uint16_t position) | 
|   | Finds a slave in the bus, given the alias and position.  More...
  | 
|   | 
| const ec_slave_t *  | ec_master_find_slave_const (const ec_master_t *master, uint16_t alias, uint16_t position) | 
|   | Finds a slave in the bus, given the alias and position.  More...
  | 
|   | 
| unsigned int  | ec_master_config_count (const ec_master_t *master) | 
|   | Get the number of slave configurations provided by the application.  More...
  | 
|   | 
| ec_slave_config_t *  | ec_master_get_config (const ec_master_t *master, unsigned int pos) | 
|   | Get a slave configuration via its position in the list.  More...
  | 
|   | 
| const ec_slave_config_t *  | ec_master_get_config_const (const ec_master_t *master, unsigned int pos) | 
|   | Get a slave configuration via its position in the list.  More...
  | 
|   | 
| unsigned int  | ec_master_domain_count (const ec_master_t *master) | 
|   | Get the number of domains.  More...
  | 
|   | 
| ec_domain_t *  | ec_master_find_domain (ec_master_t *master, unsigned int index) | 
|   | Get a domain via its position in the list.  More...
  | 
|   | 
| const ec_domain_t *  | ec_master_find_domain_const (const ec_master_t *master, unsigned int index) | 
|   | Get a domain via its position in the list.  More...
  | 
|   | 
| uint16_t  | ec_master_eoe_handler_count (const ec_master_t *master) | 
|   | Get the number of EoE handlers.  More...
  | 
|   | 
| const ec_eoe_t *  | ec_master_get_eoe_handler_const (const ec_master_t *master, uint16_t index) | 
|   | Get an EoE handler via its position in the list.  More...
  | 
|   | 
| int  | ec_master_debug_level (ec_master_t *master, unsigned int level) | 
|   | Set the debug level.  More...
  | 
|   | 
| void  | ec_master_calc_dc (ec_master_t *master) | 
|   | Distributed-clocks calculations.  More...
  | 
|   | 
| void  | ec_master_request_op (ec_master_t *master) | 
|   | Request OP state for configured slaves.  More...
  | 
|   | 
| ec_domain_t *  | ecrt_master_create_domain_err (ec_master_t *master) | 
|   | Same as ecrt_master_create_domain(), but with ERR_PTR() return value.  More...
  | 
|   | 
| ec_domain_t *  | ecrt_master_create_domain (ec_master_t *master) | 
|   | Creates a new process data domain.  More...
  | 
|   | 
| int  | ecrt_master_activate (ec_master_t *master) | 
|   | Finishes the configuration phase and prepares for cyclic operation.  More...
  | 
|   | 
| int  | ecrt_master_deactivate (ec_master_t *master) | 
|   | Deactivates the master.  More...
  | 
|   | 
| int  | ecrt_master_send (ec_master_t *master) | 
|   | Sends all datagrams in the queue.  More...
  | 
|   | 
| int  | ecrt_master_receive (ec_master_t *master) | 
|   | Fetches received frames from the hardware and processes the datagrams.  More...
  | 
|   | 
| int  | ecrt_master_send_ext (ec_master_t *master) | 
|   | Sends non-application datagrams.  More...
  | 
|   | 
| 
ec_slave_config_t *  | ecrt_master_slave_config_err (ec_master_t *master, uint16_t alias, uint16_t position, uint32_t vendor_id, uint32_t product_code) | 
|   | Same as ecrt_master_slave_config(), but with ERR_PTR() return value. 
  | 
|   | 
| ec_slave_config_t *  | ecrt_master_slave_config (ec_master_t *master, uint16_t alias, uint16_t position, uint32_t vendor_id, uint32_t product_code) | 
|   | Obtains a slave configuration.  More...
  | 
|   | 
| int  | ecrt_master_select_reference_clock (ec_master_t *master, ec_slave_config_t *sc) | 
|   | Selects the reference clock for distributed clocks.  More...
  | 
|   | 
| int  | ecrt_master (ec_master_t *master, ec_master_info_t *master_info) | 
|   | Obtains master information.  More...
  | 
|   | 
| int  | ecrt_master_scan_progress (ec_master_t *master, ec_master_scan_progress_t *progress) | 
|   | Obtains network scan progress information.  More...
  | 
|   | 
| int  | ecrt_master_get_slave (ec_master_t *master, uint16_t slave_position, ec_slave_info_t *slave_info) | 
|   | Obtains slave information.  More...
  | 
|   | 
| void  | ecrt_master_callbacks (ec_master_t *master, void(*send_cb)(void *), void(*receive_cb)(void *), void *cb_data) | 
|   | Sets the locking callbacks.  More...
  | 
|   | 
| int  | ecrt_master_state (const ec_master_t *master, ec_master_state_t *state) | 
|   | Reads the current master state.  More...
  | 
|   | 
| int  | ecrt_master_link_state (const ec_master_t *master, unsigned int dev_idx, ec_master_link_state_t *state) | 
|   | Reads the current state of a redundant link.  More...
  | 
|   | 
| int  | ecrt_master_application_time (ec_master_t *master, uint64_t app_time) | 
|   | Sets the application time.  More...
  | 
|   | 
| int  | ecrt_master_reference_clock_time (const ec_master_t *master, uint32_t *time) | 
|   | Get the lower 32 bit of the reference clock system time.  More...
  | 
|   | 
| int  | ecrt_master_sync_reference_clock (ec_master_t *master) | 
|   | Queues the DC reference clock drift compensation datagram for sending.  More...
  | 
|   | 
| int  | ecrt_master_sync_reference_clock_to (ec_master_t *master, uint64_t sync_time) | 
|   | Queues the DC reference clock drift compensation datagram for sending.  More...
  | 
|   | 
| int  | ecrt_master_sync_slave_clocks (ec_master_t *master) | 
|   | Queues the DC clock drift compensation datagram for sending.  More...
  | 
|   | 
| int  | ecrt_master_sync_monitor_queue (ec_master_t *master) | 
|   | Queues the DC synchrony monitoring datagram for sending.  More...
  | 
|   | 
| uint32_t  | ecrt_master_sync_monitor_process (const ec_master_t *master) | 
|   | Processes the DC synchrony monitoring datagram.  More...
  | 
|   | 
| int  | ecrt_master_sdo_download (ec_master_t *master, uint16_t slave_position, uint16_t index, uint8_t subindex, const uint8_t *data, size_t data_size, uint32_t *abort_code) | 
|   | Executes an SDO download request to write data to a slave.  More...
  | 
|   | 
| int  | ecrt_master_sdo_download_complete (ec_master_t *master, uint16_t slave_position, uint16_t index, const uint8_t *data, size_t data_size, uint32_t *abort_code) | 
|   | Executes an SDO download request to write data to a slave via complete access.  More...
  | 
|   | 
| int  | ecrt_master_sdo_upload (ec_master_t *master, uint16_t slave_position, uint16_t index, uint8_t subindex, uint8_t *target, size_t target_size, size_t *result_size, uint32_t *abort_code) | 
|   | Executes an SDO upload request to read data from a slave.  More...
  | 
|   | 
| int  | ecrt_master_write_idn (ec_master_t *master, uint16_t slave_position, uint8_t drive_no, uint16_t idn, const uint8_t *data, size_t data_size, uint16_t *error_code) | 
|   | Executes an SoE write request.  More...
  | 
|   | 
| int  | ecrt_master_read_idn (ec_master_t *master, uint16_t slave_position, uint8_t drive_no, uint16_t idn, uint8_t *target, size_t target_size, size_t *result_size, uint16_t *error_code) | 
|   | Executes an SoE read request.  More...
  | 
|   | 
| int  | ecrt_master_reset (ec_master_t *master) | 
|   | Retry configuring slaves.  More...
  | 
|   |