IgH EtherCAT Master  1.6.9
fsm_slave_config.h File Reference

EtherCAT slave configuration state machine. More...

Go to the source code of this file.

Data Structures

struct  ec_fsm_slave_config
 Finite state machine to configure an EtherCAT slave. More...

Typedefs

typedef struct ec_fsm_slave_config ec_fsm_slave_config_t

Functions

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 *, ec_fsm_eoe_t *)
 Constructor.
void ec_fsm_slave_config_clear (ec_fsm_slave_config_t *)
 Destructor.
void ec_fsm_slave_config_start (ec_fsm_slave_config_t *, ec_slave_t *)
 Start slave configuration state machine.
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 *)

Detailed Description

EtherCAT slave configuration state machine.

Definition in file fsm_slave_config.h.

Typedef Documentation

◆ ec_fsm_slave_config_t

See also
ec_fsm_slave_config

Definition at line 42 of file fsm_slave_config.h.

Function Documentation

◆ ec_fsm_slave_config_init()

void ec_fsm_slave_config_init ( ec_fsm_slave_config_t * fsm,
ec_datagram_t * datagram,
ec_fsm_change_t * fsm_change,
ec_fsm_coe_t * fsm_coe,
ec_fsm_soe_t * fsm_soe,
ec_fsm_pdo_t * fsm_pdo,
ec_fsm_eoe_t * fsm_eoe )

Constructor.

Parameters
fsmslave state machine
datagramdatagram structure to use
fsm_changeState change state machine to use.
fsm_coeCoE state machine to use.
fsm_soeSoE state machine to use.
fsm_pdoPDO configuration state machine to use.
fsm_eoeEoE state machine to use.

Definition at line 121 of file fsm_slave_config.c.

◆ ec_fsm_slave_config_clear()

void ec_fsm_slave_config_clear ( ec_fsm_slave_config_t * fsm)

Destructor.

Parameters
fsmslave state machine

Definition at line 148 of file fsm_slave_config.c.

◆ ec_fsm_slave_config_start()

void ec_fsm_slave_config_start ( ec_fsm_slave_config_t * fsm,
ec_slave_t * slave )

Start slave configuration state machine.

Parameters
fsmslave state machine
slaveslave to configure

Definition at line 160 of file fsm_slave_config.c.

◆ ec_fsm_slave_config_exec()

int ec_fsm_slave_config_exec ( ec_fsm_slave_config_t * fsm)

Executes the current state of the state machine.

If the state machine's datagram is not sent or received yet, the execution of the state machine is delayed to the next cycle.

Returns
false, if state machine has terminated
Parameters
fsmslave state machine

Definition at line 191 of file fsm_slave_config.c.

◆ ec_fsm_slave_config_success()

int ec_fsm_slave_config_success ( const ec_fsm_slave_config_t * fsm)
Returns
true, if the state machine terminated gracefully
Parameters
fsmslave state machine

Definition at line 210 of file fsm_slave_config.c.