57 { |
57 { |
58 void (*state)(ec_fsm_coe_map_t *); /**< CoE mapping state function */ |
58 void (*state)(ec_fsm_coe_map_t *); /**< CoE mapping state function */ |
59 ec_fsm_coe_t *fsm_coe; /**< CoE state machine to use */ |
59 ec_fsm_coe_t *fsm_coe; /**< CoE state machine to use */ |
60 |
60 |
61 ec_slave_t *slave; /**< EtherCAT slave */ |
61 ec_slave_t *slave; /**< EtherCAT slave */ |
62 ec_sdo_request_t request; |
62 ec_sdo_request_t request; /**< SDO request */ |
63 |
63 |
64 unsigned int sync_index; |
64 unsigned int sync_index; /**< index of the current sync manager */ |
65 ec_sdo_t *sync_sdo; |
65 ec_sdo_t *sync_sdo; /**< pointer to the sync managers mapping SDO */ |
66 uint8_t sync_subindices; |
66 uint8_t sync_subindices; /**< number of mapped PDOs */ |
67 uint16_t sync_subindex; |
67 uint16_t sync_subindex; /**< current subindex in mapping SDO */ |
68 |
68 |
69 struct list_head pdos; |
69 struct list_head pdos; /**< list of mapped PDOs */ |
70 ec_pdo_t *pdo; |
70 ec_pdo_t *pdo; /**< current PDO */ |
71 ec_sdo_t *pdo_sdo; |
71 ec_sdo_t *pdo_sdo; /**< current PDO SDO */ |
72 uint8_t pdo_subindices; |
72 uint8_t pdo_subindices; /**< number of PDO entries */ |
73 uint16_t pdo_subindex; |
73 uint16_t pdo_subindex; /**< current subindex in PDO SDO */ |
74 }; |
74 }; |
75 |
75 |
76 /*****************************************************************************/ |
76 /*****************************************************************************/ |
77 |
77 |
78 void ec_fsm_coe_map_init(ec_fsm_coe_map_t *, ec_fsm_coe_t *); |
78 void ec_fsm_coe_map_init(ec_fsm_coe_map_t *, ec_fsm_coe_t *); |