fsm_sii.c File Reference

EtherCAT slave information interface FSM. More...

Go to the source code of this file.

Defines

#define SII_TIMEOUT   20
 Read/write timeout [ms].
#define SII_INHIBIT   5
 Time before evaluating answer at writing [ms].

Functions

void ec_fsm_sii_state_start_reading (ec_fsm_sii_t *fsm)
 SII state: START READING.
void ec_fsm_sii_state_read_check (ec_fsm_sii_t *fsm)
 SII state: READ CHECK.
void ec_fsm_sii_state_read_fetch (ec_fsm_sii_t *fsm)
 SII state: READ FETCH.
void ec_fsm_sii_state_start_writing (ec_fsm_sii_t *fsm)
 SII state: START WRITING.
void ec_fsm_sii_state_write_check (ec_fsm_sii_t *fsm)
 SII state: WRITE CHECK.
void ec_fsm_sii_state_write_check2 (ec_fsm_sii_t *fsm)
 SII state: WRITE CHECK 2.
void ec_fsm_sii_state_end (ec_fsm_sii_t *fsm)
 State: END.
void ec_fsm_sii_state_error (ec_fsm_sii_t *fsm)
 State: ERROR.
void ec_fsm_sii_init (ec_fsm_sii_t *fsm, ec_datagram_t *datagram)
 Constructor.
void ec_fsm_sii_clear (ec_fsm_sii_t *fsm)
 Destructor.
void ec_fsm_sii_read (ec_fsm_sii_t *fsm, ec_slave_t *slave, uint16_t word_offset, ec_fsm_sii_addressing_t mode)
 Initializes the SII read state machine.
void ec_fsm_sii_write (ec_fsm_sii_t *fsm, ec_slave_t *slave, uint16_t word_offset, const uint16_t *value, ec_fsm_sii_addressing_t mode)
 Initializes the SII write state machine.
int ec_fsm_sii_exec (ec_fsm_sii_t *fsm)
 Executes the SII state machine.
int ec_fsm_sii_success (ec_fsm_sii_t *fsm)
 Returns, if the master startup state machine terminated with success.


Detailed Description

EtherCAT slave information interface FSM.

Definition in file fsm_sii.c.


Define Documentation

#define SII_TIMEOUT   20

Read/write timeout [ms].

Used to calculate timeouts bsed on the jiffies counter.

Attention:
Must be more than 10 to avoid problems on kernels that run with a timer interupt frequency of 100 Hz.

Definition at line 49 of file fsm_sii.c.


Function Documentation

void ec_fsm_sii_state_start_reading ( ec_fsm_sii_t fsm  ) 

SII state: START READING.

Starts reading the slave information interface.

Parameters:
fsm  finite state machine

Definition at line 166 of file fsm_sii.c.

void ec_fsm_sii_state_read_check ( ec_fsm_sii_t fsm  ) 

SII state: READ CHECK.

Checks, if the SII-read-datagram has been sent and issues a fetch datagram.

Parameters:
fsm  finite state machine

Definition at line 203 of file fsm_sii.c.

void ec_fsm_sii_state_read_fetch ( ec_fsm_sii_t fsm  ) 

SII state: READ FETCH.

Fetches the result of an SII-read datagram.

Parameters:
fsm  finite state machine

Definition at line 250 of file fsm_sii.c.

void ec_fsm_sii_state_start_writing ( ec_fsm_sii_t fsm  ) 

SII state: START WRITING.

Starts writing a word through the slave information interface.

Parameters:
fsm  finite state machine

Definition at line 320 of file fsm_sii.c.

void ec_fsm_sii_state_write_check ( ec_fsm_sii_t fsm  ) 

SII state: WRITE CHECK.

Parameters:
fsm  finite state machine

Definition at line 350 of file fsm_sii.c.

void ec_fsm_sii_state_write_check2 ( ec_fsm_sii_t fsm  ) 

SII state: WRITE CHECK 2.

Parameters:
fsm  finite state machine

Definition at line 389 of file fsm_sii.c.

void ec_fsm_sii_state_end ( ec_fsm_sii_t fsm  ) 

State: END.

Parameters:
fsm  finite state machine

Definition at line 484 of file fsm_sii.c.

void ec_fsm_sii_state_error ( ec_fsm_sii_t fsm  ) 

State: ERROR.

Parameters:
fsm  finite state machine

Definition at line 472 of file fsm_sii.c.

void ec_fsm_sii_init ( ec_fsm_sii_t fsm,
ec_datagram_t datagram 
)

Constructor.

Parameters:
fsm  finite state machine
datagram  datagram structure to use

Definition at line 74 of file fsm_sii.c.

void ec_fsm_sii_clear ( ec_fsm_sii_t fsm  ) 

Destructor.

Parameters:
fsm  finite state machine

Definition at line 88 of file fsm_sii.c.

void ec_fsm_sii_read ( ec_fsm_sii_t fsm,
ec_slave_t slave,
uint16_t  word_offset,
ec_fsm_sii_addressing_t  mode 
)

Initializes the SII read state machine.

Parameters:
fsm  finite state machine
slave  slave to read from
word_offset  offset to read from
mode  addressing scheme

Definition at line 98 of file fsm_sii.c.

void ec_fsm_sii_write ( ec_fsm_sii_t fsm,
ec_slave_t slave,
uint16_t  word_offset,
const uint16_t *  value,
ec_fsm_sii_addressing_t  mode 
)

Initializes the SII write state machine.

Parameters:
fsm  finite state machine
slave  slave to read from
word_offset  offset to read from
value  pointer to 2 bytes of data
mode  addressing scheme

Definition at line 116 of file fsm_sii.c.

int ec_fsm_sii_exec ( ec_fsm_sii_t fsm  ) 

Executes the SII state machine.

Returns:
false, if the state machine has terminated
Parameters:
fsm  finite state machine

Definition at line 137 of file fsm_sii.c.

int ec_fsm_sii_success ( ec_fsm_sii_t fsm  ) 

Returns, if the master startup state machine terminated with success.

Returns:
non-zero if successful.
Parameters:
fsm  Finite state machine

Definition at line 152 of file fsm_sii.c.


Generated on Mon Jun 20 09:31:30 2016 for IgH EtherCAT Master by  doxygen 1.5.6