IgH EtherCAT Master  1.5.2
fsm_change.h File Reference

EtherCAT state change FSM. More...

Go to the source code of this file.

Data Structures

struct  ec_fsm_change
 EtherCAT state change FSM. More...
 

Typedefs

typedef struct ec_fsm_change ec_fsm_change_t
 

Enumerations

enum  ec_fsm_change_mode_t { EC_FSM_CHANGE_MODE_FULL , EC_FSM_CHANGE_MODE_ACK_ONLY }
 Mode of the change state machine. More...
 

Functions

void ec_fsm_change_init (ec_fsm_change_t *, ec_datagram_t *)
 Constructor.
 
void ec_fsm_change_clear (ec_fsm_change_t *)
 Destructor.
 
void ec_fsm_change_start (ec_fsm_change_t *, ec_slave_t *, ec_slave_state_t)
 Starts the change state machine.
 
void ec_fsm_change_ack (ec_fsm_change_t *, ec_slave_t *)
 Starts the change state machine to only acknowlegde a slave's state.
 
int ec_fsm_change_exec (ec_fsm_change_t *)
 Executes the current state of the state machine.
 
int ec_fsm_change_success (ec_fsm_change_t *)
 Returns, if the state machine terminated with success.
 

Detailed Description

EtherCAT state change FSM.

Definition in file fsm_change.h.

Typedef Documentation

◆ ec_fsm_change_t

See also
ec_fsm_change

Definition at line 58 of file fsm_change.h.

Enumeration Type Documentation

◆ ec_fsm_change_mode_t

Mode of the change state machine.

Enumerator
EC_FSM_CHANGE_MODE_FULL 

full state change

EC_FSM_CHANGE_MODE_ACK_ONLY 

only state acknowledgement

Definition at line 50 of file fsm_change.h.

Function Documentation

◆ ec_fsm_change_init()

void ec_fsm_change_init ( ec_fsm_change_t fsm,
ec_datagram_t datagram 
)

Constructor.

Parameters
fsmfinite state machine
datagramdatagram

Definition at line 65 of file fsm_change.c.

◆ ec_fsm_change_clear()

void ec_fsm_change_clear ( ec_fsm_change_t fsm)

Destructor.

Parameters
fsmfinite state machine

Definition at line 80 of file fsm_change.c.

◆ ec_fsm_change_start()

void ec_fsm_change_start ( ec_fsm_change_t fsm,
ec_slave_t slave,
ec_slave_state_t  state 
)

Starts the change state machine.

Parameters
fsmfinite state machine
slaveEtherCAT slave
staterequested state

Definition at line 90 of file fsm_change.c.

◆ ec_fsm_change_ack()

void ec_fsm_change_ack ( ec_fsm_change_t fsm,
ec_slave_t slave 
)

Starts the change state machine to only acknowlegde a slave's state.

Parameters
fsmfinite state machine
slaveEtherCAT slave

Definition at line 107 of file fsm_change.c.

◆ ec_fsm_change_exec()

int ec_fsm_change_exec ( ec_fsm_change_t fsm)

Executes the current state of the state machine.

Returns
false, if the state machine has terminated
Parameters
fsmfinite state machine

Definition at line 124 of file fsm_change.c.

◆ ec_fsm_change_success()

int ec_fsm_change_success ( ec_fsm_change_t fsm)

Returns, if the state machine terminated with success.

Returns
non-zero if successful.
Parameters
fsmFinite state machine

Definition at line 139 of file fsm_change.c.