|
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...
|
|
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...
|
|