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