Files
airborne_CO2/Source/M300/PSDK_Qt/Main/VehicleController.h

99 lines
2.5 KiB
C
Raw Normal View History

2024-10-30 16:20:14 +08:00
#pragma once
#include <iostream>
#include <fstream>
#include "dji_typedef.h"
#include "dji_core.h"
#include "dji_waypoint_v2.h"
2025-12-24 09:09:03 +08:00
//#include "ConfigParser_DJI.h"
2024-10-30 16:20:14 +08:00
#include "pch.h"
#include "ConfigParser_M300RTK.h"
#include "Widget_M300RTK.h"
#include "ZZ_Types.h"
using namespace std;
2025-12-24 09:09:03 +08:00
using namespace ZZ_DATA_DEF::DJI;
//using namespace ZZ_DATA_DEF::MainConfig;
2024-10-30 16:20:14 +08:00
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;
2025-12-24 09:09:03 +08:00
SensorPort m_struSensorPort;
2024-10-30 16:20:14 +08:00
private:
///////////Config need modify
2025-12-24 09:09:03 +08:00
ZZ_ConfigParser_M350RTK m_clsConfigParser;
2024-10-30 16:20:14 +08:00
AppRegInfo m_struAppRegInfo;
HardwareInfo m_struHardwareInfo;
2025-12-24 09:09:03 +08:00
//ZZ_ConfigParser_M300RTK m_clsConfigParser;
ZZ_Widget_M300RTK m_clsWidget;
//M300RTKSettings m_struM300RTKSs;
//AppRegInfo m_struAppRegInfo;
//HardwareInfo m_struHardwareInfo;
//UIConfig m_struUIConfig;
2024-10-30 16:20:14 +08:00
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();
2025-12-24 09:09:03 +08:00
int SetupEnvironment();
2024-10-30 16:20:14 +08:00
/// call Seconde
2025-12-24 09:09:03 +08:00
int StartupPSDK_M350RTK();
2024-10-30 16:20:14 +08:00
///call to save Settings
int UpdateUIConfig();
/// data call
2025-12-24 09:09:03 +08:00
int GetOneDataFrame(M350RTKDataFrame &M350RTKDataFrame);
2024-10-30 16:20:14 +08:00
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();
};