#include "MainConfigParser.h" MainConfigParser::MainConfigParser(QObject* parent /*= nullptr*/) { m_bIsInit = false; } MainConfigParser::~MainConfigParser() { } int MainConfigParser::SetFilePath(QString qstrFullFilePath) { m_qstrFullFilePath = qstrFullFilePath; return 0; } int MainConfigParser::GetParams(MiscControls& struMiscCtrls, M300RTKSettings& struM300RTKSs, SensorPort& struSensorPort) { if (!m_bIsInit) { Initialize(m_qstrFullFilePath); } struSensorPort.qstrGasSensorPort = m_struSensorPort.qstrGasSensorPort; struSensorPort.qstrWindSensorPort = m_struSensorPort.qstrWindSensorPort; struMiscCtrls.iPumpGPIOPort = m_struMiscCtrls.iPumpGPIOPort; struM300RTKSs.qstrM300RTKUDEV1 = m_struM300RTKSs.qstrM300RTKUDEV1; struM300RTKSs.qstrM300RTKUDEV2 = m_struM300RTKSs.qstrM300RTKUDEV2; struM300RTKSs.qstrM300RTKWidgetFilePath = m_struM300RTKSs.qstrM300RTKWidgetFilePath; struM300RTKSs.qstrM300RTKSettingsFilePath = m_struM300RTKSs.qstrM300RTKSettingsFilePath; return 0; } int MainConfigParser::Initialize(QString qstrPath) { QFileInfo qfiSettings(qstrPath); if (!qfiSettings.exists()) { qDebug() << "Fatal Error.Main config file not found.!!!"; return 1; } QSettings qsMainSettings(qfiSettings.filePath(), QSettings::Format::IniFormat); QString qstrWindSensorPort = qsMainSettings.value(QString("SENSOR/WindSensorPort"), "Error").toString(); qDebug() << "qstrWindSensorPort:" << qstrWindSensorPort; if (qstrWindSensorPort == "Error") { qDebug() << "MainConfigParser:Func Initialize.WindSensorPort not load"; return 2; } m_struSensorPort.qstrWindSensorPort = qstrWindSensorPort; QString qstrGasSensorPort = qsMainSettings.value(QString("SENSOR/GasSensorPort"), "Error").toString(); qDebug() << "qstrGasSensorPort:" << qstrGasSensorPort; if (qstrGasSensorPort == "Error") { qDebug() << "MainConfigParser:Func Initialize.GasSensorPort not load"; return 3; } m_struSensorPort.qstrGasSensorPort = qstrGasSensorPort; int iPumpGPIO = qsMainSettings.value(QString("GPIO/PortNumber"), "-1").toInt(); qDebug() << "iPumpGPIO:" << iPumpGPIO; if (iPumpGPIO == -1) { qDebug() << "MainConfigParser:Func Initialize.iPumpGPIO not load"; return 4; } m_struMiscCtrls.iPumpGPIOPort = iPumpGPIO; QString qstrUART1= qsMainSettings.value(QString("M300RTK/UART1"), "Error").toString(); if (qstrUART1 == "Error") { qDebug() << "MainConfigParser:Func Initialize.M300 UART1 not load"; return 5; } m_struM300RTKSs.qstrM300RTKUDEV1= qstrUART1; strcpy(gvpcM300RTK_UART1, qstrUART1.toLatin1().data()); QString qstrUART2 = qsMainSettings.value(QString("M300RTK/UART2"), "Error").toString(); if (qstrUART2 == "Error") { qDebug() << "MainConfigParser:Func Initialize.M300 UART2 not load"; return 6; } m_struM300RTKSs.qstrM300RTKUDEV2 = qstrUART2; strcpy(gvpcM300RTK_UART2, qstrUART2.toLatin1().data()); QString qstrSettingsFilePath = qsMainSettings.value(QString("M300RTK/SettingsFilePath"), "Error").toString(); if (qstrSettingsFilePath == "Error") { qDebug() << "MainConfigParser:Func Initialize.M300 SettingsFilePath not load"; return 7; } m_struM300RTKSs.qstrM300RTKSettingsFilePath = qstrSettingsFilePath; QString qstrWidgetFilePath = qsMainSettings.value(QString("M300RTK/WidgetFilePath"), "Error").toString(); if (qstrWidgetFilePath == "Error") { qDebug() << "MainConfigParser:Func Initialize.M300 WidgetFilePath not load"; return 8; } m_struM300RTKSs.qstrM300RTKWidgetFilePath = qstrWidgetFilePath; #ifdef ZZ_FLAG_TEST qDebug() << "UART 1" << gvpcM300RTK_UART1; qDebug() << "UART 2" << gvpcM300RTK_UART2; qDebug() << "WidgetFilePath" << qstrWidgetFilePath; qDebug() << "SettingsFilePath" << qstrSettingsFilePath; #endif m_bIsInit = 1; return 0; }