equal
deleted
inserted
replaced
203 |
203 |
204 // set mapped Pdo count to zero |
204 // set mapped Pdo count to zero |
205 EC_WRITE_U8(&fsm->request.data, 0); // zero Pdos mapped |
205 EC_WRITE_U8(&fsm->request.data, 0); // zero Pdos mapped |
206 fsm->request.data_size = 1; |
206 fsm->request.data_size = 1; |
207 ec_sdo_request_address(&fsm->request, 0x1C10 + fsm->sync->index, 0); |
207 ec_sdo_request_address(&fsm->request, 0x1C10 + fsm->sync->index, 0); |
208 ec_sdo_request_write(&fsm->request); |
208 ecrt_sdo_request_write(&fsm->request); |
209 if (fsm->slave->master->debug_level) |
209 if (fsm->slave->master->debug_level) |
210 EC_DBG("Setting Pdo count to zero for SM%u.\n", fsm->sync->index); |
210 EC_DBG("Setting Pdo count to zero for SM%u.\n", fsm->sync->index); |
211 |
211 |
212 fsm->state = ec_fsm_pdo_mapping_state_zero_count; |
212 fsm->state = ec_fsm_pdo_mapping_state_zero_count; |
213 ec_fsm_coe_download(fsm->fsm_coe, fsm->slave, &fsm->request); |
213 ec_fsm_coe_download(fsm->fsm_coe, fsm->slave, &fsm->request); |
246 { |
246 { |
247 EC_WRITE_U16(&fsm->request.data, fsm->pdo->index); |
247 EC_WRITE_U16(&fsm->request.data, fsm->pdo->index); |
248 fsm->request.data_size = 2; |
248 fsm->request.data_size = 2; |
249 ec_sdo_request_address(&fsm->request, |
249 ec_sdo_request_address(&fsm->request, |
250 0x1C10 + fsm->sync->index, fsm->pdo_count); |
250 0x1C10 + fsm->sync->index, fsm->pdo_count); |
251 ec_sdo_request_write(&fsm->request); |
251 ecrt_sdo_request_write(&fsm->request); |
252 if (fsm->slave->master->debug_level) |
252 if (fsm->slave->master->debug_level) |
253 EC_DBG("Mapping Pdo 0x%04X at position %u.\n", |
253 EC_DBG("Mapping Pdo 0x%04X at position %u.\n", |
254 fsm->pdo->index, fsm->pdo_count); |
254 fsm->pdo->index, fsm->pdo_count); |
255 |
255 |
256 fsm->state = ec_fsm_pdo_mapping_state_add_pdo; |
256 fsm->state = ec_fsm_pdo_mapping_state_add_pdo; |
312 if (!(fsm->pdo = ec_fsm_pdo_mapping_next_pdo(fsm, &fsm->pdo->list))) { |
312 if (!(fsm->pdo = ec_fsm_pdo_mapping_next_pdo(fsm, &fsm->pdo->list))) { |
313 // no more Pdos to map. write Pdo count |
313 // no more Pdos to map. write Pdo count |
314 EC_WRITE_U8(&fsm->request.data, fsm->pdo_count); |
314 EC_WRITE_U8(&fsm->request.data, fsm->pdo_count); |
315 fsm->request.data_size = 1; |
315 fsm->request.data_size = 1; |
316 ec_sdo_request_address(&fsm->request, 0x1C10 + fsm->sync->index, 0); |
316 ec_sdo_request_address(&fsm->request, 0x1C10 + fsm->sync->index, 0); |
317 ec_sdo_request_write(&fsm->request); |
317 ecrt_sdo_request_write(&fsm->request); |
318 if (fsm->slave->master->debug_level) |
318 if (fsm->slave->master->debug_level) |
319 EC_DBG("Setting number of mapped Pdos to %u.\n", |
319 EC_DBG("Setting number of mapped Pdos to %u.\n", |
320 fsm->pdo_count); |
320 fsm->pdo_count); |
321 |
321 |
322 fsm->state = ec_fsm_pdo_mapping_state_pdo_count; |
322 fsm->state = ec_fsm_pdo_mapping_state_pdo_count; |