master/fsm_coe_map.c
changeset 859 233e32f428e1
parent 858 69122084d066
child 879 9b395c5646ab
equal deleted inserted replaced
858:69122084d066 859:233e32f428e1
   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         ecrt_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_transfer(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     }
   191 
   191 
   192     if (slave->master->debug_level)
   192     if (slave->master->debug_level)
   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         ecrt_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_transfer(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     }
   247 
   247 
   248     // finished reading Pdo mapping/configuration
   248     // finished reading Pdo mapping/configuration
   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     ecrt_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_transfer(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 
   304 /*****************************************************************************/
   304 /*****************************************************************************/
   305 
   305 
   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         ecrt_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_transfer(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     }
   351 
   351 
   352     // next Pdo
   352     // next Pdo