equal
deleted
inserted
replaced
209 fsm->state = ec_fsm_pdo_config_state_error; |
209 fsm->state = ec_fsm_pdo_config_state_error; |
210 return; |
210 return; |
211 } |
211 } |
212 |
212 |
213 // set mapped Pdo count to zero |
213 // set mapped Pdo count to zero |
214 EC_WRITE_U8(&fsm->request.data, 0); |
214 EC_WRITE_U8(fsm->request.data, 0); |
215 fsm->request.data_size = 1; |
215 fsm->request.data_size = 1; |
216 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
216 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
217 ecrt_sdo_request_write(&fsm->request); |
217 ecrt_sdo_request_write(&fsm->request); |
218 if (fsm->slave->master->debug_level) |
218 if (fsm->slave->master->debug_level) |
219 EC_DBG("Setting entry count to zero for Pdo 0x%04X.\n", |
219 EC_DBG("Setting entry count to zero for Pdo 0x%04X.\n", |
249 { |
249 { |
250 uint32_t value; |
250 uint32_t value; |
251 |
251 |
252 value = fsm->entry->index << 16 |
252 value = fsm->entry->index << 16 |
253 | fsm->entry->subindex << 8 | fsm->entry->bit_length; |
253 | fsm->entry->subindex << 8 | fsm->entry->bit_length; |
254 EC_WRITE_U32(&fsm->request.data, value); |
254 EC_WRITE_U32(fsm->request.data, value); |
255 fsm->request.data_size = 4; |
255 fsm->request.data_size = 4; |
256 ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->entry_count); |
256 ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->entry_count); |
257 ecrt_sdo_request_write(&fsm->request); |
257 ecrt_sdo_request_write(&fsm->request); |
258 if (fsm->slave->master->debug_level) |
258 if (fsm->slave->master->debug_level) |
259 EC_DBG("Configuring Pdo entry %08X at position %u.\n", |
259 EC_DBG("Configuring Pdo entry %08X at position %u.\n", |
315 } |
315 } |
316 |
316 |
317 // find next entry |
317 // find next entry |
318 if (!(fsm->entry = ec_fsm_pdo_config_next_entry(fsm, &fsm->entry->list))) { |
318 if (!(fsm->entry = ec_fsm_pdo_config_next_entry(fsm, &fsm->entry->list))) { |
319 // No more entries to add. Write entry count. |
319 // No more entries to add. Write entry count. |
320 EC_WRITE_U8(&fsm->request.data, fsm->entry_count); |
320 EC_WRITE_U8(fsm->request.data, fsm->entry_count); |
321 fsm->request.data_size = 1; |
321 fsm->request.data_size = 1; |
322 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
322 ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); |
323 ecrt_sdo_request_write(&fsm->request); |
323 ecrt_sdo_request_write(&fsm->request); |
324 if (fsm->slave->master->debug_level) |
324 if (fsm->slave->master->debug_level) |
325 EC_DBG("Setting number of Pdo entries to %u.\n", |
325 EC_DBG("Setting number of Pdo entries to %u.\n", |