Added better handling for command line parameters

This commit is contained in:
Nffj84
2024-07-04 12:33:32 +03:00
parent ed53266ca3
commit d377a626e2
3 changed files with 27 additions and 13 deletions
+17 -9
View File
@@ -1,3 +1,4 @@
#include <QCommandLineParser>
#include <QCoreApplication>
#include <QThread>
#include "config.hpp"
@@ -9,17 +10,24 @@
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
SerialCommand serialCommand;
SerialPort serialPort;
Config::setInitalValues(&serialPort, &serialCommand);
QCommandLineParser parser;
QCommandLineOption lOption(QStringList() << "l", "Use local mode");
parser.addOption(lOption);
QCommandLineOption pOption(QStringList() << "p", "Use serial port", "value");
parser.addOption(pOption);
parser.process(app);
bool useRemoteMode = true;
for (int i = 1; i < argc; ++i) {
if (QString(argv[i]) == "-l") {
useRemoteMode = false;
break;
}
if (parser.isSet(lOption)) {
useRemoteMode = false;
}
QString useSerialPort;
if (parser.isSet(pOption)) {
useSerialPort = parser.value(pOption);
}
SerialCommand serialCommand;
SerialPort serialPort(useSerialPort);
Config::setInitalValues(&serialPort, &serialCommand);
// Remote mode will read commands from pipe
if (useRemoteMode == true) {
+9 -3
View File
@@ -5,11 +5,15 @@
#include "defines.hpp"
#include "utilsCRC16.hpp"
SerialPort::SerialPort()
SerialPort::SerialPort(QString usePort)
: QObject(nullptr)
{
if (usePort.isEmpty() == true) {
usePort = SERIAL_PORT;
}
mSerialPort = new QSerialPort();
mSerialPort->setPortName(SERIAL_PORT);
mSerialPort->setPortName(usePort);
mSerialPort->setBaudRate(QSerialPort::Baud115200);
mSerialPort->setDataBits(QSerialPort::Data8);
mSerialPort->setStopBits(QSerialPort::OneStop);
@@ -17,9 +21,11 @@ SerialPort::SerialPort()
// Open the serial port
if (openPort() == false) {
qCritical() << "SerialPort(): Unable to open port";
qCritical().noquote().nospace() << "SerialPort(): Unable to open port " << port;
return;
}
qDebug().noquote().nospace() << "SerialPort(): Opened port " << port;
}
SerialPort::~SerialPort()
+1 -1
View File
@@ -9,7 +9,7 @@ class SerialPort : public QObject
Q_OBJECT
public:
SerialPort();
SerialPort(QString usePort);
~SerialPort();
bool openPort();