调整所有的线程,使用线程模板管理

This commit is contained in:
hm
2021-07-08 18:35:03 +08:00
parent dd0902f9e1
commit 25932984b7
22 changed files with 325 additions and 1688 deletions
+4 -72
View File
@@ -10,83 +10,29 @@
#include "QTime"
#include <QtEndian>
#include "ThreadTemplet.h"
#ifdef QtMavlinkNode
#include <mavlinknodeglobal.h>
class MAVLINKNODESHARED_EXPORT terminal : public QObject {
class MAVLINKNODESHARED_EXPORT terminal : public ThreadTemplet {
#else
class terminal : public QObject
class terminal : public ThreadTemplet
{
#endif
Q_OBJECT
enum _modetype {
Nop_Mode = 0,
RecieveMode,
TransmitMode
};
typedef struct {
//bool isWaitingforCount;
bool isWaitingforValue;
}_recieve;
typedef struct {
bool isWaitingforACK;
uint8_t type;
}_transmit;
typedef struct
{
_recieve recieve;
_transmit transmit;
_modetype m_Mode;
}_status_;
public:
explicit terminal(QObject *parent = nullptr);
_status_ status;
void setGCSID(int m_sysid, int m_compid)
{
Current_sysID = m_sysid;
Current_CompID = m_compid;
}
~terminal();
mavlink_serial_control_t m_serial_control;
public slots:
void setID(int m_sysid, int m_compid);
//读取和写入指令
void Transmit(QString msg);
//线程对外接口
void setRunFrq(uint32_t frq);
void start();
void stop();
bool isActive(void)
{
return running_flag;
}
void Parse(mavlink_message_t msg);
private slots:
//线程私有接口
void Send(mavlink_message_t msg);
void process();
@@ -102,29 +48,15 @@ private slots:
signals:
void readError();
void SendMessageTo(quint8 ch, quint8 *data,quint16 len);
void commandAccepted(bool flag,uint16_t command,uint8_t result);
void showMessage(const QString &message,int TimeOut = 0);
void Recieve(QString msg);
private:
bool running_flag = false;
quint32 running_frq = 200;//200Hz
QThread *thread = nullptr;
//目标id
int sysid;
int compid;
//本机的id
int Current_sysID = 0xF1;
int Current_CompID = 0xF1;
//超时时间(ms
int readTimeout = 5000;