#include #include #include #include #include #include #include #include #include #include #include #include "microcontroller.h" #include "nfcuid.h" #include "overlorditemstore.h" #include "train.h" #include "turnout.h" #include "layout.h" void sigHandler(int sig) { QCoreApplication::quit(); } QJsonObject getJsonObjectFromDisk(const QString& filePath, bool* error) { QFile file; if(filePath.size() > 0) file.setFileName(filePath); else file.setFileName(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/trainoverloard.json"); file.open(QIODevice::ReadOnly); if(!file.isOpen()) { std::cerr<<"Can not open config file: "<getItems()->empty()) { micro->requestState(); timer->start(1000); } } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); signal(SIGINT, &sigHandler); //set info QCoreApplication::setOrganizationName("UVOS"); QCoreApplication::setOrganizationDomain("uvos.xyz"); QCoreApplication::setApplicationName("TrainOverlord"); QCoreApplication::setApplicationVersion("0.1"); //parse comand line QCommandLineParser parser; parser.setApplicationDescription("Train control application"); parser.addHelpOption(); parser.addVersionOption(); 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); parser.process(a); QTcpSocket microSocket; int port = 6856; if(parser.isSet(portOption)) port = parser.value(portOption).toInt(); QString host("127.0.0.1"); if(parser.isSet(hostOption)) host = parser.value(hostOption); std::cout<<"connecting to "<