#ifndef TERMINAL_H #define TERMINAL_H #include #include "QDebug" #include "QThread" #include "mavlink.h" #include "QTimer" #include "QTime" #include #include "ThreadTemplet.h" #ifdef QtMavlinkNode #include class MAVLINKNODESHARED_EXPORT terminal : public ThreadTemplet { #else class terminal : public ThreadTemplet { #endif Q_OBJECT public: explicit terminal(QObject *parent = nullptr); ~terminal(); mavlink_serial_control_t m_serial_control; public slots: //读取和写入指令 void Transmit(QString msg); //线程对外接口 void Parse(mavlink_message_t msg); private slots: //线程私有接口 void process(); //状态机 void ReadStateMachine(void); void WriteStateMachine(void); //所有相关函数 void serial_control(void); signals: void readError(); void commandAccepted(bool flag,uint16_t command,uint8_t result); void Recieve(QString msg); private: bool running_flag = false; quint32 running_frq = 200;//200Hz QThread *thread = nullptr; //超时时间(ms) int readTimeout = 5000; int sendTimeout = 5000; QString SerialData; }; #endif // STATUSPROCESS_H