89 lines
2.6 KiB
C++
89 lines
2.6 KiB
C++
#include "ChaletDataLogger.h"
|
|
#include <QDateTime>
|
|
#include <QString>
|
|
|
|
|
|
CChaletDataLogger::CChaletDataLogger(QObject *parent) : QObject(parent)
|
|
{
|
|
bool create = false;
|
|
mChaletLogFile = new QFile(CHALET_LORA_DATA_LOG_FILENAME);
|
|
if(QFile::exists(CHALET_LORA_DATA_LOG_FILENAME) == false)
|
|
create = true;
|
|
|
|
if(mChaletLogFile->open(QIODevice::ReadWrite|QIODevice::Append/*|QIODevice::Text*/) == false)
|
|
{
|
|
delete mChaletLogFile;
|
|
mChaletLogFile = 0;
|
|
qDebug("Cannot open chalet LORA log file...");
|
|
return;
|
|
}
|
|
|
|
if(create)
|
|
{
|
|
qDebug("Creating new chalet LORA log file...");
|
|
QString Header("Date;Heure;Courant Batterie;Tension Batterie;Inverter;Wifi\n");
|
|
int bytes = mChaletLogFile->write(qPrintable(Header));
|
|
mChaletLogFile->flush();
|
|
|
|
}
|
|
// mChaletLogFile->close();
|
|
|
|
qDebug("Chalet LORA log file created successfully");
|
|
}
|
|
|
|
CChaletDataLogger::~CChaletDataLogger()
|
|
{
|
|
if(mChaletLogFile)
|
|
{
|
|
mChaletLogFile->close();
|
|
delete mChaletLogFile;
|
|
}
|
|
}
|
|
|
|
bool CChaletDataLogger::LogChaletLORAData(CChaletMainStatus *Data)
|
|
{
|
|
if(mChaletLogFile == 0)
|
|
{
|
|
qDebug("Invalid LORA log file handle");
|
|
return false;
|
|
}
|
|
|
|
// if(mChaletLogFile->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text) == false)
|
|
// {
|
|
// delete mChaletLogFile;
|
|
// mChaletLogFile = 0;
|
|
// qDebug("Cannot open chalet LORA log file...");
|
|
// return false;
|
|
// }
|
|
|
|
QString CSVData;// = QString("%1;%2;%3;%4;%5;%6\n").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd").arg(QDateTime::currentDateTime().toString("hh:mm:ss")).arg(Data->mBatteryCurrent).arg(Data->mBatteryVoltage).arg(Data->mInverterRelayStatus).arg(Data->mWiFiModuleStatus));
|
|
CSVData.clear();
|
|
CSVData.append(QDateTime::currentDateTime().toString("yyyy-MM-dd"));
|
|
CSVData.append(";");
|
|
CSVData.append(QDateTime::currentDateTime().toString("hh:mm:ss"));
|
|
CSVData.append(";");
|
|
CSVData.append(QString("%1;").arg(Data->mBatteryCurrent));
|
|
CSVData.append(QString("%1;").arg(Data->mBatteryVoltage));
|
|
if(Data->mInverterRelayStatus == 1)
|
|
CSVData.append(QString("ON;"));
|
|
else
|
|
CSVData.append(QString("OFF;"));
|
|
|
|
//CSVData.append(QString("%1;").arg(Data->mInverterRelayStatus));
|
|
if(Data->mWiFiModuleStatus == 0)
|
|
CSVData.append(QString("OFF\n"));
|
|
else
|
|
CSVData.append(QString("ON\n"));
|
|
// CSVData.append(QString("%1\n").arg(Data->mWiFiModuleStatus));
|
|
|
|
|
|
|
|
|
|
mChaletLogFile->write(qPrintable(CSVData));
|
|
mChaletLogFile->flush();
|
|
|
|
// mChaletLogFile->close();
|
|
|
|
return true;
|
|
}
|