35 #ifndef __EC_FSM_MASTER_H__ 36 #define __EC_FSM_MASTER_H__ 52 struct list_head list;
Finite state machines for the Sercos over EtherCAT protocol.
uint16_t offset
SII word offset.
ec_datagram_t * datagram
datagram used in the state machine
void ec_fsm_master_clear(ec_fsm_master_t *)
Destructor.
ec_sii_write_request_t * sii_request
SII write request.
ec_fsm_soe_t fsm_soe
SoE state machine.
ec_fsm_pdo_t fsm_pdo
PDO configuration state machine.
Finite state machine of an EtherCAT master.
ec_internal_request_state_t state
State of the request.
unsigned int slaves_responding[EC_MAX_NUM_DEVICES]
Number of responding slaves for every device.
Slave information interface FSM.
void(* state)(ec_fsm_master_t *)
master state function
size_t nwords
Number of words.
unsigned int rescan_required
A bus rescan is required.
EtherCAT PDO configuration state machine structures.
ec_slave_state_t slave_states[EC_MAX_NUM_DEVICES]
AL states of responding slaves for every device.
EtherCAT slave scanning state machine.
int ec_fsm_master_idle(const ec_fsm_master_t *)
Global definitions and macros.
ec_internal_request_state_t
Generic request state.
int ec_fsm_master_exec(ec_fsm_master_t *)
Executes the current state of the state machine.
ec_slave_t * slave
EtherCAT slave.
void ec_fsm_master_init(ec_fsm_master_t *, ec_master_t *, ec_datagram_t *)
Constructor.
EtherCAT slave configuration state machine.
ec_fsm_sii_t fsm_sii
SII state machine.
ec_fsm_slave_scan_t fsm_slave_scan
slave state machine
EtherCAT CANopen SDO request structure.
ec_sdo_request_t * sdo_request
SDO request to process.
ec_device_index_t
Master devices.
ec_soe_request_t * soe_request
SoE request to process.
unsigned long scan_jiffies
beginning of slave scanning
EtherCAT FoE request structure.
Finite state machine for scanning an EtherCAT slave.
ec_slave_state_t
State of an EtherCAT slave.
EtherCAT datagram structure.
PDO configuration state machine.
void ec_fsm_master_reset(ec_fsm_master_t *)
Reset state machine.
int idle
state machine is in idle phase
ec_fsm_slave_config_t fsm_slave_config
slave state machine
Finite state machine to configure an EtherCAT slave.
ec_master_t * master
master the FSM runs on
unsigned int retries
retries on datagram timeout.
EtherCAT SoE request structure.
ec_slave_t * slave
current slave
ec_fsm_change_t fsm_change
State change state machine.
off_t sii_index
index to SII write request data
ec_device_index_t dev_idx
Current device index (for scanning etc.).
const uint16_t * words
Pointer to the data words.
Sercos-over-EtherCAT request.
EtherCAT state change FSM.
uint8_t link_state[EC_MAX_NUM_DEVICES]
Last link state for every device.
ec_fsm_coe_t fsm_coe
CoE state machine.
Finite state machines for the CANopen over EtherCAT protocol.