Files
M300CO2/Source/MainSettings/MainConfigParser.cpp
2023-03-22 09:47:10 +08:00

122 lines
3.7 KiB
C++

#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;
}