IgH EtherCAT Master  1.6.9
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 50 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 42 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 54 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 69 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 123 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 140 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 157 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 172 of file fsm_change.c.