Files
airborne_CO2/Source/M300/PSDK_Qt/Main/VehicleController.h
DESKTOP-4HD0KC3\ZhangZhuo a079a393bd 张卓写的代码
2024-10-30 16:20:14 +08:00

94 lines
2.3 KiB
C++

#pragma once
#include <iostream>
#include <fstream>
#include "dji_typedef.h"
#include "dji_core.h"
#include "dji_waypoint_v2.h"
#include "pch.h"
#include "ConfigParser_M300RTK.h"
#include "Widget_M300RTK.h"
#include "ZZ_Types.h"
using namespace std;
using namespace ZZ_DATA_DEF::M300RTK;
using namespace ZZ_DATA_DEF::MainConfig;
class VehicleController :public QObject
{
Q_OBJECT
public:
VehicleController(QObject* parent = nullptr);
virtual ~VehicleController();
public:
static int m_siFlagIsPumpWorking;
static int m_siFlagIsStartCaptureSignalEmitted;
static VehicleController* spCaller;
static char m_scCaptureMode;
private:
///////////Config need modify
ZZ_ConfigParser_M300RTK m_clsConfigParser;
ZZ_Widget_M300RTK m_clsWidget;
M300RTKSettings m_struM300RTKSs;
AppRegInfo m_struAppRegInfo;
HardwareInfo m_struHardwareInfo;
UIConfig m_struUIConfig;
int m_iFlagIsVehicleTakeoff;
int m_iFlagIsVehicleCapturing;
int m_iFlagIsCaptureModeInited;
float m_fHeightOfHomePoint_BM;
public:
/// test func Do Not Call
static T_DjiReturnCode DjiTest_FcSubscriptionReceiveFlightStatusCallback(const uint8_t* ccData, uint16_t sDataSize,const T_DjiDataTimestamp* tDjiTimestamp);
static T_DjiReturnCode DjiTest_FcSubscriptionReceiveHeightCallback(const uint8_t* data, uint16_t dataSize,const T_DjiDataTimestamp* timestamp);
/// callback func to monitor flight status
static T_DjiReturnCode ZZ_DjiWaypointV2EventCallback(T_DjiWaypointV2MissionEventPush eventData);
public:
/// call First
int Initialize();
int SetupEnvironment_M300RTK();
/// call Seconde
int StartupPSDK_M300RTK();
///call to save Settings
int UpdateUIConfig();
/// data call
int GetOneDataFrame(M300RTKDataFrame &M300RTKDataFrame);
private:
///
int SetupMessagePipe();
///
int SetupWidget();
///
public:///for test
int InitSystemParams();
int SetupSubscriptions();
///
public:///for test
int SetupWaypointStatusCallback();
///
///
int LoadUserAppInfo(T_DjiUserInfo* struDjiUserInfo);
static T_DjiReturnCode DjiUser_PrintMessage(const uint8_t* data, uint16_t dataLen);
signals:
int Signal_StartCapture();
int Signal_StopCapture();
void Signal_UpdateVehicleMessage(QString qstrMessage);
public slots:
int Slot_OnChangeCaptureMode(char cMode);
///for test
int Slot_TestStartCapture();
int Slot_TestStopCapture();
};