equal
deleted
inserted
replaced
48 |
48 |
49 /** Finite state machine of an EtherCAT slave. |
49 /** Finite state machine of an EtherCAT slave. |
50 */ |
50 */ |
51 struct ec_fsm_slave { |
51 struct ec_fsm_slave { |
52 ec_slave_t *slave; /**< slave the FSM runs on */ |
52 ec_slave_t *slave; /**< slave the FSM runs on */ |
53 ec_datagram_t *datagram; /**< datagram used in the state machine */ |
53 ec_mailbox_t *mbox; /**< mailbox used in the state machine */ |
54 |
54 |
55 void (*state)(ec_fsm_slave_t *); /**< master state function */ |
55 void (*state)(ec_fsm_slave_t *); /**< master state function */ |
56 ec_master_sdo_request_t *sdo_request; /**< SDO request to process. */ |
56 ec_master_sdo_request_t *sdo_request; /**< SDO request to process. */ |
57 ec_master_foe_request_t *foe_request; /**< FoE request to process. */ |
57 ec_master_foe_request_t *foe_request; /**< FoE request to process. */ |
58 off_t foe_index; /**< index to FoE write request data */ |
58 off_t foe_index; /**< index to FoE write request data */ |
63 ec_fsm_soe_t fsm_soe; /**< SoE state machine */ |
63 ec_fsm_soe_t fsm_soe; /**< SoE state machine */ |
64 }; |
64 }; |
65 |
65 |
66 /*****************************************************************************/ |
66 /*****************************************************************************/ |
67 |
67 |
68 void ec_fsm_slave_init(ec_fsm_slave_t *, ec_slave_t *, ec_datagram_t *); |
68 void ec_fsm_slave_init(ec_fsm_slave_t *, ec_slave_t *, ec_mailbox_t *); |
69 void ec_fsm_slave_clear(ec_fsm_slave_t *); |
69 void ec_fsm_slave_clear(ec_fsm_slave_t *); |
70 |
70 |
71 int ec_fsm_slave_exec(ec_fsm_slave_t *); |
71 int ec_fsm_slave_exec(ec_fsm_slave_t *); |
72 void ec_fsm_slave_ready(ec_fsm_slave_t *); |
72 void ec_fsm_slave_ready(ec_fsm_slave_t *); |
73 |
73 |