diff --git a/misc/camera/a8/main.cpp b/misc/camera/a8/main.cpp index e99fa4b..1d3466c 100644 --- a/misc/camera/a8/main.cpp +++ b/misc/camera/a8/main.cpp @@ -1,3 +1,4 @@ +#include #include #include #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) { diff --git a/misc/camera/a8/serialPort.cpp b/misc/camera/a8/serialPort.cpp index cc87d45..a5444a1 100644 --- a/misc/camera/a8/serialPort.cpp +++ b/misc/camera/a8/serialPort.cpp @@ -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() diff --git a/misc/camera/a8/serialPort.hpp b/misc/camera/a8/serialPort.hpp index 9359639..48ee903 100644 --- a/misc/camera/a8/serialPort.hpp +++ b/misc/camera/a8/serialPort.hpp @@ -9,7 +9,7 @@ class SerialPort : public QObject Q_OBJECT public: - SerialPort(); + SerialPort(QString usePort); ~SerialPort(); bool openPort();