|
IgH EtherCAT Master
1.6.9
|
EtherCAT master. More...
#include <master.h>
Data Fields | |
| unsigned int | index |
| Index. | |
| unsigned int | reserved |
| True, if the master is in use. | |
| ec_cdev_t | cdev |
| Master character device. | |
| struct device * | class_device |
| Master class device. | |
| struct semaphore | master_sem |
| Master semaphore. | |
| ec_device_t | devices [EC_MAX_NUM_DEVICES] |
| EtherCAT devices. | |
| const uint8_t * | macs [EC_MAX_NUM_DEVICES] |
| Device MAC addresses. | |
| struct semaphore | device_sem |
| Device semaphore. | |
| ec_device_stats_t | device_stats |
| Device statistics. | |
| ec_fsm_master_t | fsm |
| Master state machine. | |
| ec_datagram_t | fsm_datagram |
| Datagram used for state machines. | |
| ec_master_phase_t | phase |
| Master phase. | |
| unsigned int | active |
| Master has been activated. | |
| unsigned int | config_changed |
| The configuration changed. | |
| unsigned int | injection_seq_fsm |
| Datagram injection sequence number for the FSM side. | |
| unsigned int | injection_seq_rt |
| Datagram injection sequence number for the realtime side. | |
| ec_slave_t * | slaves |
| Array of slaves on the bus. | |
| unsigned int | slave_count |
| Number of slaves on the bus. | |
| struct list_head | configs |
| List of slave configurations. | |
| struct list_head | domains |
| List of domains. | |
| u64 | app_time |
| Time of the last ecrt_master_sync() call. | |
| u64 | dc_ref_time |
| Common reference timestamp for DC start times. | |
| ec_datagram_t | ref_sync_datagram |
| Datagram used for synchronizing the reference clock to the master clock. | |
| ec_datagram_t | sync_datagram |
| Datagram used for DC drift compensation. | |
| ec_datagram_t | sync_mon_datagram |
| Datagram used for DC synchronisation monitoring. | |
| ec_slave_config_t * | dc_ref_config |
| Application-selected DC reference clock slave config. | |
| ec_slave_t * | dc_ref_clock |
| DC reference clock slave. | |
| unsigned int | scan_busy |
| Current scan state. | |
| unsigned int | scan_index |
| Index of slave currently scanned. | |
| unsigned int | allow_scan |
| True, if slave scanning is allowed. | |
| struct semaphore | scan_sem |
| Semaphore protecting the scan_busy variable and the allow_scan flag. | |
| wait_queue_head_t | scan_queue |
| Queue for processes that wait for slave scanning. | |
| unsigned int | config_busy |
| State of slave configuration. | |
| struct semaphore | config_sem |
| Semaphore protecting the config_busy variable and the allow_config flag. | |
| wait_queue_head_t | config_queue |
| Queue for processes that wait for slave configuration. | |
| struct list_head | datagram_queue |
| Datagram queue. | |
| uint8_t | datagram_index |
| Current datagram index. | |
| struct list_head | ext_datagram_queue |
| Queue for non-application datagrams. | |
| struct semaphore | ext_queue_sem |
| Semaphore protecting the ext_datagram_queue. | |
| ec_datagram_t | ext_datagram_ring [EC_EXT_RING_SIZE] |
| External datagram ring. | |
| unsigned int | ext_ring_idx_rt |
| Index in external datagram ring for RT side. | |
| unsigned int | ext_ring_idx_fsm |
| Index in external datagram ring for FSM side. | |
| unsigned int | send_interval |
| Interval between two calls to ecrt_master_send(). | |
| size_t | max_queue_size |
| Maximum size of datagram queue. | |
| ec_slave_t * | fsm_slave |
| Slave that is queried next for FSM exec. | |
| struct list_head | fsm_exec_list |
| Slave FSM execution list. | |
| unsigned int | fsm_exec_count |
| Number of entries in execution list. | |
| unsigned int | debug_level |
| Master debug level. | |
| unsigned int | run_on_cpu |
| bind kernel threads to this cpu | |
| ec_stats_t | stats |
| Cyclic statistics. | |
| struct task_struct * | thread |
| Master thread. | |
| struct task_struct * | eoe_thread |
| EoE thread. | |
| struct list_head | eoe_handlers |
| Ethernet over EtherCAT handlers. | |
| struct rt_mutex | io_mutex |
| Mutex used in IDLE and OP phase. | |
| void(* | send_cb )(void *) |
| Current send datagrams callback. | |
| void(* | receive_cb )(void *) |
| Current receive datagrams callback. | |
| void * | cb_data |
| Current callback data. | |
| void(* | app_send_cb )(void *) |
| Application's send datagrams callback. | |
| void(* | app_receive_cb )(void *) |
| Application's receive datagrams callback. | |
| void * | app_cb_data |
| Application callback data. | |
| struct list_head | sii_requests |
| SII write requests. | |
| struct list_head | emerg_reg_requests |
| Emergency register access requests. | |
| wait_queue_head_t | request_queue |
| Wait queue for external requests from user space. | |
| struct work_struct | sc_reset_work |
| Task to reset slave configuration. | |
| struct irq_work | sc_reset_work_kicker |
| NMI-Safe kicker to trigger reset task above. | |
| unsigned int ec_master::reserved |
| struct device* ec_master::class_device |
| ec_device_t ec_master::devices[EC_MAX_NUM_DEVICES] |
| const uint8_t* ec_master::macs[EC_MAX_NUM_DEVICES] |
| ec_device_stats_t ec_master::device_stats |
| ec_fsm_master_t ec_master::fsm |
| ec_datagram_t ec_master::fsm_datagram |
| ec_master_phase_t ec_master::phase |
| unsigned int ec_master::config_changed |
| unsigned int ec_master::injection_seq_fsm |
| unsigned int ec_master::injection_seq_rt |
| ec_slave_t* ec_master::slaves |
| unsigned int ec_master::slave_count |
| struct list_head ec_master::configs |
| u64 ec_master::app_time |
| u64 ec_master::dc_ref_time |
| ec_datagram_t ec_master::ref_sync_datagram |
| ec_datagram_t ec_master::sync_datagram |
| ec_datagram_t ec_master::sync_mon_datagram |
| ec_slave_config_t* ec_master::dc_ref_config |
| ec_slave_t* ec_master::dc_ref_clock |
| unsigned int ec_master::scan_index |
| unsigned int ec_master::allow_scan |
| struct semaphore ec_master::scan_sem |
| wait_queue_head_t ec_master::scan_queue |
| unsigned int ec_master::config_busy |
| struct semaphore ec_master::config_sem |
| wait_queue_head_t ec_master::config_queue |
| struct list_head ec_master::ext_datagram_queue |
| struct semaphore ec_master::ext_queue_sem |
| ec_datagram_t ec_master::ext_datagram_ring[EC_EXT_RING_SIZE] |
| unsigned int ec_master::ext_ring_idx_rt |
| unsigned int ec_master::ext_ring_idx_fsm |
| unsigned int ec_master::send_interval |
Interval between two calls to ecrt_master_send().
| size_t ec_master::max_queue_size |
| ec_slave_t* ec_master::fsm_slave |
| struct list_head ec_master::fsm_exec_list |
| unsigned int ec_master::fsm_exec_count |
| unsigned int ec_master::run_on_cpu |
| ec_stats_t ec_master::stats |
| struct list_head ec_master::eoe_handlers |
| struct rt_mutex ec_master::io_mutex |
| void(* ec_master::send_cb) (void *) |
| void(* ec_master::receive_cb) (void *) |
| void(* ec_master::app_send_cb) (void *) |
| void(* ec_master::app_receive_cb) (void *) |
| struct list_head ec_master::sii_requests |
| struct list_head ec_master::emerg_reg_requests |
| wait_queue_head_t ec_master::request_queue |
| struct work_struct ec_master::sc_reset_work |