master/fsm_master.h
changeset 2045 ff2a13a4603c
parent 2032 57c618557912
child 2094 83e9160319ec
equal deleted inserted replaced
2044:1ae0491b2f6b 2045:ff2a13a4603c
    37 #ifndef __EC_FSM_MASTER_H__
    37 #ifndef __EC_FSM_MASTER_H__
    38 #define __EC_FSM_MASTER_H__
    38 #define __EC_FSM_MASTER_H__
    39 
    39 
    40 #include "globals.h"
    40 #include "globals.h"
    41 #include "datagram.h"
    41 #include "datagram.h"
       
    42 #include "mailbox.h"
    42 #include "foe_request.h"
    43 #include "foe_request.h"
    43 #include "sdo_request.h"
    44 #include "sdo_request.h"
    44 #include "soe_request.h"
    45 #include "soe_request.h"
    45 #include "fsm_slave_config.h"
    46 #include "fsm_slave_config.h"
    46 #include "fsm_slave_scan.h"
    47 #include "fsm_slave_scan.h"
   125 /** Finite state machine of an EtherCAT master.
   126 /** Finite state machine of an EtherCAT master.
   126  */
   127  */
   127 struct ec_fsm_master {
   128 struct ec_fsm_master {
   128     ec_master_t *master; /**< master the FSM runs on */
   129     ec_master_t *master; /**< master the FSM runs on */
   129     ec_datagram_t *datagram; /**< datagram used in the state machine */
   130     ec_datagram_t *datagram; /**< datagram used in the state machine */
       
   131     ec_mailbox_t* mbox; /**< mailbox used in the CoE state machine */
   130     unsigned int retries; /**< retries on datagram timeout. */
   132     unsigned int retries; /**< retries on datagram timeout. */
   131 
   133 
   132     void (*state)(ec_fsm_master_t *); /**< master state function */
   134     void (*state)(ec_fsm_master_t *); /**< master state function */
   133     int idle; /**< state machine is in idle phase */
   135     int idle; /**< state machine is in idle phase */
   134     unsigned long scan_jiffies; /**< beginning of slave scanning */
   136     unsigned long scan_jiffies; /**< beginning of slave scanning */