aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Duggan <ad@aduggan.com>2015-05-11 15:27:42 -0700
committerAndrew Duggan <ad@aduggan.com>2015-05-11 15:27:42 -0700
commite7d0c107588771cae57f1b42192877590c862996 (patch)
treee6794b534f11762ef41c965e4f1a63006a3dd7d3
parent5932feea90ff953f589a67b31a71e46bb1df42a6 (diff)
parentcb308495f8e7600449e69063b51eb71da512df81 (diff)
downloadrmi4utils-e7d0c107588771cae57f1b42192877590c862996.tar.gz
Merge pull request #7 from josephsih/master
Add a noReset flag to f54test
-rw-r--r--f54test/main.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/f54test/main.cpp b/f54test/main.cpp
index 8a1d29f..d0cf8f7 100644
--- a/f54test/main.cpp
+++ b/f54test/main.cpp
@@ -34,7 +34,7 @@
#include "f54test.h"
#include "display.h"
-#define F54TEST_GETOPTS "hd:r:c"
+#define F54TEST_GETOPTS "hd:r:cn"
static bool stopRequested;
@@ -45,9 +45,10 @@ void printHelp(const char *prog_name)
fprintf(stdout, "\t-d, --device\thidraw device file associated with the device being tested.\n");
fprintf(stdout, "\t-r, --report_type\tReport type.\n");
fprintf(stdout, "\t-c, --continuous\tContinuous mode.\n");
+ fprintf(stdout, "\t-n, --no_reset\tDo not reset after the report.\n");
}
-int RunF54Test(const char * deviceFile, f54_report_types reportType, bool continuousMode)
+int RunF54Test(const char * deviceFile, f54_report_types reportType, bool continuousMode, bool noReset)
{
int rc;
HIDDevice rmidevice;
@@ -81,7 +82,8 @@ int RunF54Test(const char * deviceFile, f54_report_types reportType, bool contin
}
while (continuousMode && !stopRequested);
- rmidevice.Reset();
+ if (!noReset)
+ rmidevice.Reset();
rmidevice.Close();
@@ -106,12 +108,14 @@ int main(int argc, char **argv)
{"device", 1, NULL, 'd'},
{"report_type", 1, NULL, 'r'},
{"continuous", 0, NULL, 'c'},
+ {"no_reset", 0, NULL, 'n'},
{0, 0, 0, 0},
};
struct dirent * devDirEntry;
DIR * devDir;
f54_report_types reportType = F54_16BIT_IMAGE;
bool continuousMode = false;
+ bool noReset = false;
while ((opt = getopt_long(argc, argv, F54TEST_GETOPTS, long_options, &index)) != -1) {
switch (opt) {
@@ -127,6 +131,9 @@ int main(int argc, char **argv)
case 'c':
continuousMode = true;
break;
+ case 'n':
+ noReset = true;
+ break;
default:
break;
@@ -141,7 +148,7 @@ int main(int argc, char **argv)
}
if (deviceName) {
- rc = RunF54Test(deviceName, reportType, continuousMode);
+ rc = RunF54Test(deviceName, reportType, continuousMode, noReset);
if (rc)
return rc;
@@ -159,7 +166,7 @@ int main(int argc, char **argv)
if (strstr(devDirEntry->d_name, "hidraw")) {
strncpy(rawDevice, devDirEntry->d_name, PATH_MAX);
snprintf(deviceFile, PATH_MAX, "/dev/%s", devDirEntry->d_name);
- rc = RunF54Test(deviceFile, reportType, continuousMode);
+ rc = RunF54Test(deviceFile, reportType, continuousMode, noReset);
if (rc != 0) {
continue;
} else {