Просмотр исходного кода

update calculate & netparse process

xuqiang 4 месяцев назад
Родитель
Сommit
7b702218a2
5 измененных файлов с 37 добавлено и 27 удалено
  1. 2 2
      include/calprocess.h
  2. 2 2
      include/netparseprocess.h
  3. 4 2
      src/appcontext.cpp
  4. 15 11
      src/calprocess.cpp
  5. 14 10
      src/netparseprocess.cpp

+ 2 - 2
include/calprocess.h

@@ -13,9 +13,9 @@ public:
     explicit CalProcess(QObject *parent = nullptr);
     ~CalProcess();
 
-    void start(const QString &configure, const QString &fifo1, const QString &fifo2);
+    void start(const QString &configure);
     void stop();
-    void restart(const QString &configure, const QString &fifo1, const QString &fifo2);
+    void restart(const QString &configure = QString(""));
 
     bool isRunning();
 

+ 2 - 2
include/netparseprocess.h

@@ -13,9 +13,9 @@ public:
     explicit NetParseProcess(QObject *parent = nullptr);
     ~NetParseProcess();
 
-    void start(const QString &configure, const QString &fifo);
+    void start(const QString &configure);
     void stop();
-    void restart(const QString &configure, const QString &fifo);
+    void restart(const QString &configure = QString(""));
 
     bool isRunning();
 

+ 4 - 2
src/appcontext.cpp

@@ -7,10 +7,12 @@ AppContext::AppContext(QObject *parent)
     : QObject{parent}
 {
     connect(&m_httpServer, &HttpServer::netparseConfigureUpdate, this, [this](const QString &filename){
-        m_netParseProcess.restart(filename, NETPARSE_FIFO_PATH);
+        m_netParseProcess.restart(filename);
+        m_calProcess.restart();
     });
     connect(&m_httpServer, &HttpServer::formulaConfigureUpdate, this, [this](const QString &filename){
-        m_calProcess.restart(filename, NETPARSE_FIFO_PATH, CALCULATE_FIFO_PATH);
+        m_netParseProcess.restart();
+        m_calProcess.restart(filename);
     });
 }
 

+ 15 - 11
src/calprocess.cpp

@@ -9,12 +9,7 @@ CalProcess::CalProcess(QObject *parent)
 {
     // start("/home/forlinx/Desktop/workspace/TPMFM-A/extracted_params20251205.xml", NETPARSE_FIFO_PATH, CALCULATE_FIFO_PATH);
 
-    QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
-    settings.setIniCodec("UTF-8");
-    settings.beginGroup("CONFIGURE");
-    if(settings.contains("CALCULATE"))
-        start(settings.value("CALCULATE").toString(), NETPARSE_FIFO_PATH, CALCULATE_FIFO_PATH);
-    settings.endGroup();
+    restart();
 
     connect(&m_timer, &QTimer::timeout, this, [this](){
         QString state = QMetaEnum::fromType<QProcess::ProcessState>().valueToKey(m_process.state());
@@ -30,7 +25,7 @@ CalProcess::~CalProcess()
     stop();
 }
 
-void CalProcess::start(const QString &configure, const QString &fifo1, const QString &fifo2)
+void CalProcess::start(const QString &configure)
 {
     if (m_process.state() != QProcess::NotRunning) {
         LOG_WARN("netparse is already running!");
@@ -43,8 +38,8 @@ void CalProcess::start(const QString &configure, const QString &fifo1, const QSt
     QStringList args;
     args << "/home/forlinx/Desktop/workspace/dataParsing/formula_calculation.py";
     args << configure;
-    args << fifo1;
-    args << fifo2;
+    args << NETPARSE_FIFO_PATH;
+    args << CALCULATE_FIFO_PATH;
 
     LOG_INFO("calculate process args: {}", args.join(" ").toStdString());
 
@@ -71,10 +66,19 @@ void CalProcess::stop()
     LOG_INFO("netparse stopped.");
 }
 
-void CalProcess::restart(const QString &configure, const QString &fifo1, const QString &fifo2)
+void CalProcess::restart(const QString &configure)
 {
     stop();
-    start(configure, fifo1, fifo2);
+    if(configure.isEmpty()) {
+        QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
+        settings.setIniCodec("UTF-8");
+        settings.beginGroup("CONFIGURE");
+        if(settings.contains("CALCULATE"))
+            start(settings.value("CALCULATE").toString());
+        settings.endGroup();
+    } else {
+        start(configure);
+    }
 }
 
 bool CalProcess::isRunning()

+ 14 - 10
src/netparseprocess.cpp

@@ -8,12 +8,7 @@
 NetParseProcess::NetParseProcess(QObject *parent)
     : QObject{parent}
 {
-    QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
-    settings.setIniCodec("UTF-8");
-    settings.beginGroup("CONFIGURE");
-    if(settings.contains("NETPARSE"))
-        start(settings.value("NETPARSE").toString(), NETPARSE_FIFO_PATH);
-    settings.endGroup();
+    restart();
 
     connect(&m_timer, &QTimer::timeout, this, [this](){
         QString state = QMetaEnum::fromType<QProcess::ProcessState>().valueToKey(m_process.state());
@@ -34,7 +29,7 @@ NetParseProcess::~NetParseProcess()
     stop();
 }
 
-void NetParseProcess::start(const QString &configure, const QString &fifo)
+void NetParseProcess::start(const QString &configure)
 {
     if (m_process.state() != QProcess::NotRunning) {
         LOG_WARN("netparse is already running!");
@@ -47,7 +42,7 @@ void NetParseProcess::start(const QString &configure, const QString &fifo)
     QStringList args;
     args << "/home/forlinx/Desktop/workspace/TPMFM-A/capture_mul.py";
     args << configure;
-    args << fifo;
+    args << NETPARSE_FIFO_PATH;
 
     LOG_INFO("netparse process args: {}", args.join(" ").toStdString());
 
@@ -74,10 +69,19 @@ void NetParseProcess::stop()
     LOG_INFO("netparse stopped.");
 }
 
-void NetParseProcess::restart(const QString &configure, const QString &fifo)
+void NetParseProcess::restart(const QString &configure)
 {
     stop();
-    start(configure, fifo);
+
+    if(configure.isEmpty()) {
+        QSettings settings("storage/conf/settings.ini", QSettings::IniFormat);
+        settings.setIniCodec("UTF-8");
+        settings.beginGroup("CONFIGURE");
+        if(settings.contains("NETPARSE"))
+            start(settings.value("NETPARSE").toString());
+        settings.endGroup();
+    }
+    start(configure);
 }
 
 bool NetParseProcess::isRunning()