74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
#pragma once
|
|
#include <iostream>
|
|
#include <fstream>
|
|
#include <atomic>
|
|
#include "dji_typedef.h"
|
|
#include "dji_core.h"
|
|
|
|
#include "pch.h"
|
|
|
|
#include "VehicleController.h"
|
|
#include "IrisSensor_WDA_P0.h"
|
|
#include "IrisSensor_Gas_P0.h"
|
|
#include "DataFileManager.h"
|
|
#include "MainConfigParser.h"
|
|
|
|
using namespace ZZ_DATA_DEF::M300RTK;
|
|
using namespace ZZ_DATA_DEF::CO2_GAS_SENSOR;
|
|
using namespace ZZ_DATA_DEF::UA_SENSOR;
|
|
using namespace ZZ_DATA_DEF::MainConfig;
|
|
|
|
class CMainAcqThread :public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
CMainAcqThread(QObject* parent = nullptr);
|
|
~CMainAcqThread();
|
|
|
|
private:
|
|
QTime lastTime;
|
|
QTimer m_clsCapTimer;
|
|
|
|
int iFlagIsPathGenerated;
|
|
|
|
MiscControls m_struMiscCtrls;
|
|
M300RTKSettings m_struM300RTKSs;
|
|
SensorPort m_struSensorPort;
|
|
|
|
M300RTKDataFrame m_struM300RTKDataFrame;
|
|
GSDataFrame m_struGSDataFrame;
|
|
UASDataFrame m_struUASDataFrame;
|
|
|
|
double m_dRotationMatrix[9];
|
|
float m_fTempWindVecX, m_fTempWindVecY, m_fTempWindVecZ;
|
|
float m_fTempFixedWindVecX, m_fTempFixedWindVecY, m_fTempFixedWindVecZ;
|
|
public:
|
|
atomic<int> m_iFlagCaptureStatus;
|
|
private:
|
|
MainConfigParser m_ctrlConfigParser;
|
|
|
|
VehicleController m_ctrlVehicle;
|
|
|
|
DataFileManager m_ctrlData;
|
|
|
|
IrisSensor_Gas_P0 m_ctrlGasSensor;
|
|
IrisSensor_WDA_P0 m_ctrlWindSensor;
|
|
public:
|
|
int SetupContext();
|
|
int StartUp();
|
|
private:
|
|
int SetupMessagePipe();
|
|
int GetData();
|
|
int WindSensorCorrection();
|
|
int QuaternionToRotationMatrix();
|
|
int ConvertWindData();
|
|
int RotateWindVec();
|
|
int FormFixedWindData();
|
|
signals:
|
|
void Signal_UpdateVehicleMessage(QString qstrMessage);
|
|
public slots:
|
|
void OnTestTimer();
|
|
int OnTimerCapture();
|
|
int Slot_StartCapture();
|
|
int Slot_StopCapture();
|
|
}; |