equal
deleted
inserted
replaced
245 ) |
245 ) |
246 { |
246 { |
247 if (fsm->sync_subindex <= fsm->sync_subindices) { |
247 if (fsm->sync_subindex <= fsm->sync_subindices) { |
248 ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, |
248 ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, |
249 fsm->sync_subindex); |
249 fsm->sync_subindex); |
250 fsm->request.response_timeout = 0; |
250 fsm->request.response_timeout = 5000; |
251 ecrt_sdo_request_read(&fsm->request); |
251 ecrt_sdo_request_read(&fsm->request); |
252 fsm->state = ec_fsm_coe_map_state_pdo; |
252 fsm->state = ec_fsm_coe_map_state_pdo; |
253 ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); |
253 ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); |
254 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
254 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
255 return; |
255 return; |
312 EC_DBG(" Pdo 0x%04X.\n", fsm->pdo->index); |
312 EC_DBG(" Pdo 0x%04X.\n", fsm->pdo->index); |
313 |
313 |
314 list_add_tail(&fsm->pdo->list, &fsm->pdos.list); |
314 list_add_tail(&fsm->pdo->list, &fsm->pdos.list); |
315 |
315 |
316 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
316 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
317 fsm->request.response_timeout = 0; |
317 fsm->request.response_timeout = 5000; |
318 ecrt_sdo_request_read(&fsm->request); |
318 ecrt_sdo_request_read(&fsm->request); |
319 fsm->state = ec_fsm_coe_map_state_pdo_entry_count; |
319 fsm->state = ec_fsm_coe_map_state_pdo_entry_count; |
320 ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); |
320 ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); |
321 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
321 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
322 } |
322 } |
368 ec_fsm_coe_map_t *fsm /**< finite state machine */ |
368 ec_fsm_coe_map_t *fsm /**< finite state machine */ |
369 ) |
369 ) |
370 { |
370 { |
371 if (fsm->pdo_subindex <= fsm->pdo_subindices) { |
371 if (fsm->pdo_subindex <= fsm->pdo_subindices) { |
372 ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->pdo_subindex); |
372 ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->pdo_subindex); |
373 fsm->request.response_timeout = 0; |
373 fsm->request.response_timeout = 5000; |
374 ecrt_sdo_request_read(&fsm->request); |
374 ecrt_sdo_request_read(&fsm->request); |
375 fsm->state = ec_fsm_coe_map_state_pdo_entry; |
375 fsm->state = ec_fsm_coe_map_state_pdo_entry; |
376 ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); |
376 ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); |
377 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
377 ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately |
378 return; |
378 return; |