#include "DataFileManager.h" DataFileManager::DataFileManager(QObject* parent /*= nullptr*/) { m_pqfData = NULL; m_qstrFilePath = "/home/data/Data/"; } DataFileManager::~DataFileManager() { } void DataFileManager::GenerateFilePath() { m_qdtTime = QDateTime::currentDateTime(); // QTimeZone curZone; // m_qdtTime.toTimeZone(); QString qstrAddYMD = m_qdtTime.toString("/yyyy_MM_dd"); m_qdtTime = m_qdtTime.addSecs(3600 * 8); QString qstrAddHMS = m_qdtTime.toString("hh_mm_ss"); m_qstrFullFileName = m_qstrFilePath + qstrAddYMD; QString qstrTemp = m_qstrFullFileName; m_qstrFullFileName = m_qstrFullFileName + "/" + qstrAddHMS + ".csv"; QDir qdirPathTemp(m_qstrFilePath); if (!qdirPathTemp.exists()) { bool bRes = qdirPathTemp.mkdir(m_qstrFilePath); if (!bRes) { qDebug() << "DataFileProcessor mkdir Failed."; //printf("DataFileProcessor mkdir Failed"); } } QDir qdirPathTempA(qstrTemp); if (!qdirPathTempA.exists()) { bool bRes = qdirPathTempA.mkdir(qstrTemp); if (!bRes) { qDebug() << "DataFileProcessor mkdir Failed."; //printf("DataFileProcessor mkdir Failed"); } } //return 0; } int DataFileManager::GenerateFile() { m_pqfData = new QFile(m_qstrFullFileName); bool bRes = m_pqfData->open(QFile::WriteOnly | QFile::Text | QIODevice::Append); if (!bRes) { qDebug() << "GenerateFile Failed."; return 1; } return 0; } int DataFileManager::WriteData(M300RTKDataFrame struM300RTKDataFrame, GSDataFrame struGSDataFrame, UASDataFrame struUASDataFrame) { // QFile qfData(m_qstrFullFileName); // bool bRes = qfData.open(QFile::WriteOnly | QFile::Text | QIODevice::Append); // if (!bRes) // { // qDebug() << "WriteData open Failed."; // return 0; // } QString qstrTemp; qstrTemp = QString("%1,%2,%3,").arg(struM300RTKDataFrame.stGPSPosition.x).arg(struM300RTKDataFrame.stGPSPosition.y).arg(struM300RTKDataFrame.stGPSPosition.z); qint64 qRes = m_pqfData->write(qstrTemp.toLatin1()); //qDebug() << qstrTemp; //qDebug() << qRes; qstrTemp= QString("%1,%2,%3,").arg(struM300RTKDataFrame.stVelocity.x).arg(struM300RTKDataFrame.stVelocity.y).arg(struM300RTKDataFrame.stVelocity.z); qRes = m_pqfData->write(qstrTemp.toLatin1()); //qDebug() << qRes; //qDebug() << qstrTemp; qstrTemp= QString("%1,%2,%3,%4,").arg(struM300RTKDataFrame.stQuaternion.w_q0).arg(struM300RTKDataFrame.stQuaternion.x_q1).arg(struM300RTKDataFrame.stQuaternion.y_q2).arg(struM300RTKDataFrame.stQuaternion.z_q3); qRes = m_pqfData->write(qstrTemp.toLatin1()); qstrTemp = QString("%1,%2,%3,%4,%5,").arg(struGSDataFrame.ulCO2).arg(struGSDataFrame.ulH2O).arg(struGSDataFrame.fTemp).arg(struGSDataFrame.fPP).arg(struGSDataFrame.fPB); qRes = m_pqfData->write(qstrTemp.toLatin1()); qstrTemp = QString("%1,%2,%3,%4").arg(struUASDataFrame.fFixedWindDirection).arg(struUASDataFrame.fFixedWindSpeed).arg(struUASDataFrame.fWindDirection).arg(struUASDataFrame.fWindSpeed); qRes = m_pqfData->write(qstrTemp.toLatin1()); m_pqfData->write("\n"); m_pqfData->flush(); //QString qstrTemp; } int DataFileManager::CloseData() { m_pqfData->flush(); m_pqfData->close(); }