VHFMill/main.cpp
2023-01-29 18:45:42 +01:00

65 lines
2.3 KiB
C++

#include "mainwindow.h"
#include <QApplication>
#include <QSerialPort>
#include <QTcpSocket>
#include <QMessageBox>
#include <QCommandLineParser>
#include <QThread>
#include "vhfmill.h"
#include "vhfmillthread.h"
#include "mainobject.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QCoreApplication::setOrganizationName("UVOS");
QCoreApplication::setOrganizationDomain("uvos.xyz");
QCoreApplication::setApplicationName("VHFMill");
QCoreApplication::setApplicationVersion("0.1");
QCommandLineParser parser;
parser.setApplicationDescription("VHF mill cnc interface");
parser.addHelpOption();
parser.addVersionOption();
QCommandLineOption tcpOption(QStringList() << "t" << "tcp", QCoreApplication::translate("main", "Use Tcp connection"));
parser.addOption(tcpOption);
QCommandLineOption hostOption(QStringList() << "H" << "host", QCoreApplication::translate("main",
"Set server host ip addres"), "adress");
parser.addOption(hostOption);
QCommandLineOption portOption(QStringList() << "p" << "port", QCoreApplication::translate("main",
"Set server Port in TCP mode or Serial port in serial mode"), "port");
parser.addOption(portOption);
QCommandLineOption serialOption(QStringList() << "s" << "serial", QCoreApplication::translate("main",
"Use serial connection"));
parser.addOption(serialOption);
QCommandLineOption settingsPathOption(QStringList() << "c" << "config", QCoreApplication::translate("main",
"Set config file"), "configFilePath");
parser.addOption(settingsPathOption);
QCommandLineOption secondaryOption(QStringList() << "e" << "secondary", QCoreApplication::translate("main",
"Set if instance is not main instance"));
parser.addOption(secondaryOption);
parser.process(a);
int port = 6856;
QString serialPort("ttyUSB0");
QString host("127.0.0.1");
if(parser.isSet(hostOption))
host = parser.value(hostOption);
if(parser.isSet(tcpOption) && parser.isSet(portOption))
port = parser.value(portOption).toInt();
else if(parser.isSet(portOption))
serialPort = parser.value(portOption);
VhfMillThread vhfMillTread(parser.isSet(tcpOption), port, host, serialPort);
MainObject mainObject(&a, &vhfMillTread);
vhfMillTread.start();
int ret = a.exec();
vhfMillTread.exit();
return ret;
}