37 #ifndef __EC_FSM_MASTER_H__ 38 #define __EC_FSM_MASTER_H__ 53 struct list_head list;
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.
EtherCAT slave reboot FSM.
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.
ec_slave_state_t slave_states[EC_MAX_NUM_DEVICES]
AL states of responding slaves for every device.
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 reboot FSM.
ec_fsm_sii_t fsm_sii
SII state machine.
EtherCAT CANopen SDO request structure.
ec_device_index_t
Master devices.
unsigned long scan_jiffies
beginning of slave scanning
ec_fsm_reboot_t fsm_reboot
Slave reboot state machine.
EtherCAT FoE request structure.
ec_slave_state_t
State of an EtherCAT slave.
EtherCAT datagram structure.
EtherCAT Mailbox Gateway request structure.
void ec_fsm_master_reset(ec_fsm_master_t *)
Reset state machine.
int idle
state machine is in idle phase
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
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.
uint8_t link_state[EC_MAX_NUM_DEVICES]
Last link state for every device.