122 lines
3.7 KiB
C++
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;
|
|
}
|
|
|