#pragma once #include #include #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(); };