207 } |
207 } |
208 } |
208 } |
209 |
209 |
210 /****************************************************************************/ |
210 /****************************************************************************/ |
211 |
211 |
212 void Master::listPdos(int slavePosition) |
212 void Master::listPdos(int slavePosition, bool quiet) |
213 { |
213 { |
214 if (slavePosition == -1) { |
214 if (slavePosition == -1) { |
215 unsigned int numSlaves = slaveCount(), i; |
215 unsigned int numSlaves = slaveCount(), i; |
216 |
216 |
217 for (i = 0; i < numSlaves; i++) { |
217 for (i = 0; i < numSlaves; i++) { |
218 listSlavePdos(i, true); |
218 listSlavePdos(i, quiet, true); |
219 } |
219 } |
220 } else { |
220 } else { |
221 listSlavePdos(slavePosition, false); |
221 listSlavePdos(slavePosition, quiet, false); |
222 } |
222 } |
223 } |
223 } |
224 |
224 |
225 /****************************************************************************/ |
225 /****************************************************************************/ |
226 |
226 |
227 void Master::listSdos(int slavePosition) |
227 void Master::listSdos(int slavePosition, bool quiet) |
228 { |
228 { |
229 if (slavePosition == -1) { |
229 if (slavePosition == -1) { |
230 unsigned int numSlaves = slaveCount(), i; |
230 unsigned int numSlaves = slaveCount(), i; |
231 |
231 |
232 for (i = 0; i < numSlaves; i++) { |
232 for (i = 0; i < numSlaves; i++) { |
233 listSlaveSdos(i, true); |
233 listSlaveSdos(i, quiet, true); |
234 } |
234 } |
235 } else { |
235 } else { |
236 listSlaveSdos(slavePosition, false); |
236 listSlaveSdos(slavePosition, quiet, false); |
237 } |
237 } |
238 } |
238 } |
239 |
239 |
240 /****************************************************************************/ |
240 /****************************************************************************/ |
241 |
241 |
388 delete [] processData; |
388 delete [] processData; |
389 } |
389 } |
390 |
390 |
391 /****************************************************************************/ |
391 /****************************************************************************/ |
392 |
392 |
393 void Master::listSlavePdos(uint16_t slavePosition, bool withHeader) |
393 void Master::listSlavePdos( |
|
394 uint16_t slavePosition, |
|
395 bool quiet, |
|
396 bool withHeader |
|
397 ) |
394 { |
398 { |
395 ec_ioctl_slave_t slave; |
399 ec_ioctl_slave_t slave; |
396 ec_ioctl_sync_t sync; |
400 ec_ioctl_sync_t sync; |
397 ec_ioctl_pdo_t pdo; |
401 ec_ioctl_pdo_t pdo; |
398 ec_ioctl_pdo_entry_t entry; |
402 ec_ioctl_pdo_entry_t entry; |
422 |
426 |
423 cout << " " << (pdo.dir ? "T" : "R") << "xPdo 0x" |
427 cout << " " << (pdo.dir ? "T" : "R") << "xPdo 0x" |
424 << hex << setfill('0') << setw(4) << pdo.index |
428 << hex << setfill('0') << setw(4) << pdo.index |
425 << " \"" << pdo.name << "\"" << endl; |
429 << " \"" << pdo.name << "\"" << endl; |
426 |
430 |
|
431 if (quiet) |
|
432 continue; |
|
433 |
427 for (k = 0; k < pdo.entry_count; k++) { |
434 for (k = 0; k < pdo.entry_count; k++) { |
428 getPdoEntry(&entry, slavePosition, i, j, k); |
435 getPdoEntry(&entry, slavePosition, i, j, k); |
429 |
436 |
430 cout << " Pdo entry 0x" |
437 cout << " Pdo entry 0x" |
431 << hex << setfill('0') << setw(4) << entry.index |
438 << hex << setfill('0') << setw(4) << entry.index |
438 } |
445 } |
439 } |
446 } |
440 |
447 |
441 /****************************************************************************/ |
448 /****************************************************************************/ |
442 |
449 |
443 void Master::listSlaveSdos(uint16_t slavePosition, bool withHeader) |
450 void Master::listSlaveSdos( |
|
451 uint16_t slavePosition, |
|
452 bool quiet, |
|
453 bool withHeader |
|
454 ) |
444 { |
455 { |
445 ec_ioctl_slave_t slave; |
456 ec_ioctl_slave_t slave; |
446 ec_ioctl_sdo_t sdo; |
457 ec_ioctl_sdo_t sdo; |
447 ec_ioctl_sdo_entry_t entry; |
458 ec_ioctl_sdo_entry_t entry; |
448 unsigned int i, j, k; |
459 unsigned int i, j, k; |
456 getSdo(&sdo, slavePosition, i); |
467 getSdo(&sdo, slavePosition, i); |
457 |
468 |
458 cout << "Sdo 0x" |
469 cout << "Sdo 0x" |
459 << hex << setfill('0') << setw(4) << sdo.sdo_index |
470 << hex << setfill('0') << setw(4) << sdo.sdo_index |
460 << ", \"" << sdo.name << "\"" << endl; |
471 << ", \"" << sdo.name << "\"" << endl; |
|
472 |
|
473 if (quiet) |
|
474 continue; |
461 |
475 |
462 for (j = 0; j <= sdo.max_subindex; j++) { |
476 for (j = 0; j <= sdo.max_subindex; j++) { |
463 getSdoEntry(&entry, slavePosition, i, j); |
477 getSdoEntry(&entry, slavePosition, i, j); |
464 |
478 |
465 cout << " Entry 0x" |
479 cout << " Entry 0x" |