equal
deleted
inserted
replaced
180 fsm->sync->index, slave->ring_position); |
180 fsm->sync->index, slave->ring_position); |
181 |
181 |
182 ec_pdo_mapping_clear_pdos(&fsm->mapping); |
182 ec_pdo_mapping_clear_pdos(&fsm->mapping); |
183 |
183 |
184 ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, 0); |
184 ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, 0); |
185 ec_sdo_request_read(&fsm->request); |
185 ecrt_sdo_request_read(&fsm->request); |
186 fsm->state = ec_fsm_coe_map_state_pdo_count; |
186 fsm->state = ec_fsm_coe_map_state_pdo_count; |
187 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
187 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
188 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
188 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
189 return; |
189 return; |
190 } |
190 } |
236 ) |
236 ) |
237 { |
237 { |
238 if (fsm->sync_subindex <= fsm->sync_subindices) { |
238 if (fsm->sync_subindex <= fsm->sync_subindices) { |
239 ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, |
239 ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, |
240 fsm->sync_subindex); |
240 fsm->sync_subindex); |
241 ec_sdo_request_read(&fsm->request); |
241 ecrt_sdo_request_read(&fsm->request); |
242 fsm->state = ec_fsm_coe_map_state_pdo; |
242 fsm->state = ec_fsm_coe_map_state_pdo; |
243 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
243 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
244 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
244 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
245 return; |
245 return; |
246 } |
246 } |
293 EC_DBG(" Pdo 0x%04X.\n", fsm->pdo->index); |
293 EC_DBG(" Pdo 0x%04X.\n", fsm->pdo->index); |
294 |
294 |
295 list_add_tail(&fsm->pdo->list, &fsm->mapping.pdos); |
295 list_add_tail(&fsm->pdo->list, &fsm->mapping.pdos); |
296 |
296 |
297 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
297 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
298 ec_sdo_request_read(&fsm->request); |
298 ecrt_sdo_request_read(&fsm->request); |
299 fsm->state = ec_fsm_coe_map_state_pdo_entry_count; |
299 fsm->state = ec_fsm_coe_map_state_pdo_entry_count; |
300 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
300 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
301 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
301 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
302 } |
302 } |
303 |
303 |
340 ec_fsm_coe_map_t *fsm /**< finite state machine */ |
340 ec_fsm_coe_map_t *fsm /**< finite state machine */ |
341 ) |
341 ) |
342 { |
342 { |
343 if (fsm->pdo_subindex <= fsm->pdo_subindices) { |
343 if (fsm->pdo_subindex <= fsm->pdo_subindices) { |
344 ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->pdo_subindex); |
344 ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->pdo_subindex); |
345 ec_sdo_request_read(&fsm->request); |
345 ecrt_sdo_request_read(&fsm->request); |
346 fsm->state = ec_fsm_coe_map_state_pdo_entry; |
346 fsm->state = ec_fsm_coe_map_state_pdo_entry; |
347 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
347 ec_fsm_coe_upload(fsm->fsm_coe, fsm->slave, &fsm->request); |
348 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
348 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
349 return; |
349 return; |
350 } |
350 } |