tools/Master.cpp
changeset 966 f1a7ea8a550a
parent 965 1aee4aa1def3
child 968 b0e894257743
equal deleted inserted replaced
965:1aee4aa1def3 966:f1a7ea8a550a
   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"