#ifndef MISSIONPROCESS_H #define MISSIONPROCESS_H #include #include "mavlinknode.h" #include "QDebug" #include "QThread" #include "mavlink.h" #include "QTimer" #ifdef QtMavlinkNode #include class MAVLINKNODESHARED_EXPORT MissionProcess : public QObject { #else class MissionProcess : public QObject { #endif Q_OBJECT public: explicit MissionProcess(QObject *parent = nullptr); public slots: //线程对外接口 void setRunFrq(uint32_t frq); void start(); void stop(); void MissionParse(mavlink_message_t msg); private slots: //线程私有接口 void process(); //航线读取传输 void ReadMissionRequest(); void request_list(void); void count(uint16_t count); void request_int(uint16_t seq); void request(uint16_t seq); void item_int(float param1,float param2,float param3,float param4, float x,float y,float z, uint16_t seq,uint16_t command, uint8_t frame,uint8_t current, uint8_t autocontinue,uint8_t mission_type); void item(float param1,float param2,float param3,float param4, float x,float y,float z, uint16_t seq,uint16_t command, uint8_t frame,uint8_t current, uint8_t autocontinue,uint8_t mission_type); void ack(void); void current(void); void setcurrent(void); void clear_all(void); signals: private: uint8_t sysid; uint8_t compid; mavlink_mission_count_t mission_count; mavlink_mission_item_t mission_item; mavlink_mission_item_int_t mission_item_int; mavlink_mission_request_t mission_request; mavlink_mission_request_int_t mission_request_int; mavlink_mission_ack_t mission_ack; bool running_flag = false; quint32 running_frq = 200;//200Hz QThread *Missionthread = nullptr; bool isRecieveCount = false; bool isReadMission = false; QTimer *mTimer = nullptr; }; void SendMessageTo(uint8_t ch, QByteArray data,uint16_t len); #endif // MISSIONPROCESS_H