#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(M350RTKDataFrame struM350RTKDataFrame, NikiraDataFrame struGasDataFrame, UASDataFrame struUASDataFrame) { QFile qfData(m_qstrFullFileName); bool bRes = qfData.open(QFile::WriteOnly | QFile::Text | QIODevice::Append); if (!bRes) { qDebug() << "WriteData open Failed."; return 0; } ////////////////////////////////////////////////////////////////////////////add datetime 20230408 QString qStrDate = QDate::currentDate().toString("yyyy/MM/dd,"); QString qStrTime = QTime::currentTime().toString("hh:mm:ss,"); qint64 qRes = m_pqfData->write(qStrDate.toLatin1()); qRes = m_pqfData->write(qStrTime.toLatin1()); //////////////////////////////////////////////////////////////////////////// QString qstrTemp; qstrTemp = QString("%1,%2,%3,%4,").arg(struM350RTKDataFrame.stGPSPosition.x).arg(struM350RTKDataFrame.stGPSPosition.y).arg(struM350RTKDataFrame.stGPSPosition.z).arg(struM350RTKDataFrame.fAltitudeFused); qRes = m_pqfData->write(qstrTemp.toLatin1()); //qDebug() << qstrTemp; //qDebug() << qRes; qstrTemp= QString("%1,%2,%3,").arg(struM350RTKDataFrame.stVelocity.x).arg(struM350RTKDataFrame.stVelocity.y).arg(struM350RTKDataFrame.stVelocity.z); qRes = m_pqfData->write(qstrTemp.toLatin1()); //qDebug() << qRes; //qDebug() << qstrTemp; qstrTemp= QString("%1,%2,%3,%4,").arg(struM350RTKDataFrame.stQuaternion.w_q0).arg(struM350RTKDataFrame.stQuaternion.x_q1).arg(struM350RTKDataFrame.stQuaternion.y_q2).arg(struM350RTKDataFrame.stQuaternion.z_q3); qRes = m_pqfData->write(qstrTemp.toLatin1()); ////////////////////////////////////////////////////////////////////////////20230428 add EulerAngle qstrTemp = QString("%1,%2,%3,").arg(struM350RTKDataFrame.stEulerAngle.pitch).arg(struM350RTKDataFrame.stEulerAngle.roll).arg(struM350RTKDataFrame.stEulerAngle.yaw); qRes = m_pqfData->write(qstrTemp.toLatin1()); //////////////////////////////////////////////////////////////////////////// qstrTemp = QString("%1,%2,").arg(struGasDataFrame.dCH4).arg(struGasDataFrame.dH2O); qRes = m_pqfData->write(qstrTemp.toLatin1()); qstrTemp = QString("%1,%2,%3,%4,%5").arg(struUASDataFrame.fFixedWindDirection).arg(struUASDataFrame.fFixedWindSpeed).arg(struUASDataFrame.fWindDirection).arg(struUASDataFrame.fWindSpeed).arg(struUASDataFrame.fWindTemperature); qRes = m_pqfData->write(qstrTemp.toLatin1()); m_pqfData->write("\n"); m_pqfData->flush(); ////QString qstrTemp; } int DataFileManager::CloseData() { m_pqfData->flush(); m_pqfData->close(); }