Compare commits
2 Commits
b166cf5e60
...
318e527793
| Author | SHA1 | Date |
|---|---|---|
|
|
318e527793 | |
|
|
1d0cdb9f00 |
36
src/main.cpp
36
src/main.cpp
|
|
@ -222,11 +222,11 @@ void usage(std::string executableName) {
|
||||||
std::cerr << "Copyright 2019-2023 Intrepid Control Systems, Inc.\n\n";
|
std::cerr << "Copyright 2019-2023 Intrepid Control Systems, Inc.\n\n";
|
||||||
std::cerr << "Usage: " << executableName << " [option]\n\n";
|
std::cerr << "Usage: " << executableName << " [option]\n\n";
|
||||||
std::cerr << "Options:\n";
|
std::cerr << "Options:\n";
|
||||||
std::cerr << "\t-d, --daemon\t\t\tRun as a daemon in the background\n";
|
std::cerr << "\t-d, --daemon\t\t\tRun as a daemon in the background\n";
|
||||||
std::cerr << "\t-h, -?, --help, --usage\t\t\tShow this help page\n";
|
std::cerr << "\t-h, -?, --help, --usage\t\t\tShow this help page\n";
|
||||||
std::cerr << "\t --devices\t\t\tList supported devices\n";
|
std::cerr << "\t --devices\t\t\tList supported devices\n";
|
||||||
std::cerr << "\t --filter <serial>\t\tOnly connect to devices with serial\n\t\t\t\t\t\tnumbers starting with this filter\n";
|
std::cerr << "\t --filter <serial>\t\tOnly connect to devices with serial\n\t\t\t\t\t\tnumbers starting with this filter\n";
|
||||||
std::cerr << "\t --scan-interval-ms <interval>\tDevice scan interval in ms\n\t\t\t\t\t\tIf 0, only a single scan is performed\n";
|
std::cerr << "\t --scan-interval-ms <interval>\tDevice scan interval in ms\n\t\t\t\t\t\tIf 0, only a single scan is performed\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
void terminateSignal(int signal) {
|
void terminateSignal(int signal) {
|
||||||
|
|
@ -382,10 +382,10 @@ void searchForDevices() {
|
||||||
void deviceSearchThread() {
|
void deviceSearchThread() {
|
||||||
while(!stopRunning) {
|
while(!stopRunning) {
|
||||||
searchForDevices();
|
searchForDevices();
|
||||||
if (scanIntervalMs == 0) {
|
if(scanIntervalMs == 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(scanIntervalMs));
|
std::this_thread::sleep_for(std::chrono::milliseconds(scanIntervalMs));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -406,9 +406,21 @@ int main(int argc, char** argv) {
|
||||||
} else if(arg == "--filter" && i + 1 <= argc) {
|
} else if(arg == "--filter" && i + 1 <= argc) {
|
||||||
serialFilter = argv[++i];
|
serialFilter = argv[++i];
|
||||||
transform(serialFilter.begin(), serialFilter.end(), serialFilter.begin(), ::toupper);
|
transform(serialFilter.begin(), serialFilter.end(), serialFilter.begin(), ::toupper);
|
||||||
} else if(arg == "--scan-interval-ms" && i + 1 <= argc) {
|
} else if(arg == "--scan-interval-ms" && i + 1 <= argc) {
|
||||||
scanIntervalMs = std::atoi(argv[i + 1]);
|
try {
|
||||||
i++;
|
scanIntervalMs = std::stoi(argv[++i]);
|
||||||
|
} catch (const std::invalid_argument& e) {
|
||||||
|
std::cerr << "Invalid input for scan-interval-ms\n";
|
||||||
|
return EX_USAGE;
|
||||||
|
} catch (const std::out_of_range& e) {
|
||||||
|
std::cerr << "Out of range input for scan-interval-ms\n";
|
||||||
|
return EX_USAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(scanIntervalMs < 0) {
|
||||||
|
std::cerr << "Invalid input for scan-interval-ms\n";
|
||||||
|
return EX_USAGE;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
return EX_USAGE;
|
return EX_USAGE;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue