37#ifndef __EC_FSM_SLAVE_CONFIG_H__
38#define __EC_FSM_SLAVE_CONFIG_H__
EtherCAT datagram structure.
EtherCAT state change FSM.
EtherCAT CoE state machines.
EtherCAT PDO configuration state machine structures.
void ec_fsm_slave_config_start(ec_fsm_slave_config_t *, ec_slave_t *)
Start slave configuration state machine.
void ec_fsm_slave_config_init(ec_fsm_slave_config_t *, ec_datagram_t *, ec_fsm_change_t *, ec_fsm_coe_t *, ec_fsm_soe_t *, ec_fsm_pdo_t *)
Constructor.
void ec_fsm_slave_config_clear(ec_fsm_slave_config_t *)
Destructor.
int ec_fsm_slave_config_exec(ec_fsm_slave_config_t *)
Executes the current state of the state machine.
int ec_fsm_slave_config_success(const ec_fsm_slave_config_t *)
Global definitions and macros.
EtherCAT slave structure.
EtherCAT state change FSM.
Finite state machines for the CANopen over EtherCAT protocol.
PDO configuration state machine.
Finite state machine to configure an EtherCAT slave.
ec_fsm_change_t * fsm_change
State change state machine.
ec_sdo_request_t * request
SDO request for SDO configuration.
void(* state)(ec_fsm_slave_config_t *)
State function.
ec_fsm_soe_t * fsm_soe
SoE state machine.
ec_sdo_request_t request_copy
Copied SDO request.
ec_datagram_t * datagram
Datagram used in the state machine.
ec_fsm_coe_t * fsm_coe
CoE state machine.
unsigned int retries
Retries on datagram timeout.
ec_soe_request_t * soe_request
SDO request for SDO configuration.
unsigned int take_time
Store jiffies after datagram reception.
ec_slave_t * slave
Slave the FSM runs on.
unsigned long jiffies_start
For timeout calculations.
ec_soe_request_t soe_request_copy
Copied SDO request.
ec_fsm_pdo_t * fsm_pdo
PDO configuration state machine.
Finite state machines for the Sercos over EtherCAT protocol.
Sercos-over-EtherCAT request.