Skip to content
Snippets Groups Projects
Commit 9bec4838 authored by Florian Pose's avatar Florian Pose
Browse files

Added -q flag (quiet).

parent 6ec1fdcd
No related branches found
No related tags found
No related merge requests found
......@@ -209,31 +209,31 @@ void Master::showMaster()
/****************************************************************************/
void Master::listPdos(int slavePosition)
void Master::listPdos(int slavePosition, bool quiet)
{
if (slavePosition == -1) {
unsigned int numSlaves = slaveCount(), i;
for (i = 0; i < numSlaves; i++) {
listSlavePdos(i, true);
listSlavePdos(i, quiet, true);
}
} else {
listSlavePdos(slavePosition, false);
listSlavePdos(slavePosition, quiet, false);
}
}
/****************************************************************************/
void Master::listSdos(int slavePosition)
void Master::listSdos(int slavePosition, bool quiet)
{
if (slavePosition == -1) {
unsigned int numSlaves = slaveCount(), i;
for (i = 0; i < numSlaves; i++) {
listSlaveSdos(i, true);
listSlaveSdos(i, quiet, true);
}
} else {
listSlaveSdos(slavePosition, false);
listSlaveSdos(slavePosition, quiet, false);
}
}
......@@ -390,7 +390,11 @@ void Master::showDomain(unsigned int domainIndex)
/****************************************************************************/
void Master::listSlavePdos(uint16_t slavePosition, bool withHeader)
void Master::listSlavePdos(
uint16_t slavePosition,
bool quiet,
bool withHeader
)
{
ec_ioctl_slave_t slave;
ec_ioctl_sync_t sync;
......@@ -424,6 +428,9 @@ void Master::listSlavePdos(uint16_t slavePosition, bool withHeader)
<< hex << setfill('0') << setw(4) << pdo.index
<< " \"" << pdo.name << "\"" << endl;
if (quiet)
continue;
for (k = 0; k < pdo.entry_count; k++) {
getPdoEntry(&entry, slavePosition, i, j, k);
......@@ -440,7 +447,11 @@ void Master::listSlavePdos(uint16_t slavePosition, bool withHeader)
/****************************************************************************/
void Master::listSlaveSdos(uint16_t slavePosition, bool withHeader)
void Master::listSlaveSdos(
uint16_t slavePosition,
bool quiet,
bool withHeader
)
{
ec_ioctl_slave_t slave;
ec_ioctl_sdo_t sdo;
......@@ -459,6 +470,9 @@ void Master::listSlaveSdos(uint16_t slavePosition, bool withHeader)
<< hex << setfill('0') << setw(4) << sdo.sdo_index
<< ", \"" << sdo.name << "\"" << endl;
if (quiet)
continue;
for (j = 0; j <= sdo.max_subindex; j++) {
getSdoEntry(&entry, slavePosition, i, j);
......
......@@ -47,16 +47,16 @@ class Master
void showDomains(int);
void listSlaves();
void showMaster();
void listPdos(int);
void listSdos(int);
void listPdos(int, bool = false);
void listSdos(int, bool = false);
void requestStates(int, const vector<string> &);
void generateXml(int);
protected:
void outputDomainData(unsigned int);
void showDomain(unsigned int);
void listSlavePdos(uint16_t, bool = false);
void listSlaveSdos(uint16_t, bool = false);
void listSlavePdos(uint16_t, bool = false, bool = false);
void listSlaveSdos(uint16_t, bool = false, bool = false);
void generateSlaveXml(uint16_t);
unsigned int domainCount();
unsigned int slaveCount();
......
......@@ -25,6 +25,7 @@ static int slavePosition = DEFAULT_SLAVEPOSITION;
static int domainIndex = DEFAULT_DOMAININDEX;
static string command = DEFAULT_COMMAND;
vector<string> commandArgs;
static bool quiet = false;
/*****************************************************************************/
......@@ -53,6 +54,7 @@ void printUsage()
<< endl
<< " or 'all' for all domains (default)."
<< endl
<< " --quiet -q Show less output." << endl
<< " --help -h Show this help." << endl;
}
......@@ -68,12 +70,13 @@ void getOptions(int argc, char **argv)
{"master", required_argument, NULL, 'm'},
{"slave", required_argument, NULL, 's'},
{"domain", required_argument, NULL, 'd'},
{"quiet", no_argument, NULL, 'q'},
{"help", no_argument, NULL, 'h'},
{}
};
do {
c = getopt_long(argc, argv, "m:s:d:h", longOptions, &optionIndex);
c = getopt_long(argc, argv, "m:s:d:qh", longOptions, &optionIndex);
switch (c) {
case 'm':
......@@ -117,6 +120,10 @@ void getOptions(int argc, char **argv)
}
break;
case 'q':
quiet = true;
break;
case 'h':
case '?':
printUsage();
......@@ -163,9 +170,9 @@ int main(int argc, char **argv)
} else if (command == "master") {
master.showMaster();
} else if (command == "pdos") {
master.listPdos(slavePosition);
master.listPdos(slavePosition, quiet);
} else if (command == "sdos") {
master.listSdos(slavePosition);
master.listSdos(slavePosition, quiet);
} else if (command == "state") {
master.requestStates(slavePosition, commandArgs);
} else if (command == "xml") {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment