添加终端

This commit is contained in:
hm
2020-12-16 16:49:51 +08:00
parent 5018a2ab56
commit b249343f54
14 changed files with 780 additions and 205 deletions
+39
View File
@@ -99,6 +99,18 @@ MavLinkNode::MavLinkNode(QObject *parent) : QObject(parent)
this,SIGNAL(showMessage(QString,int)),Qt::DirectConnection);
Terminal = new terminal();
Terminal->setGCSID(Current_sysID,Current_CompID);
connect(Terminal,SIGNAL(SendMessageTo(quint8,quint8*,quint16)),
this,SIGNAL(SendMessageTo(quint8,quint8*,quint16)),Qt::DirectConnection);
connect(this,SIGNAL(setCurrentID(int,int)),
Terminal,SLOT(setID(int,int)),Qt::DirectConnection);
connect(Terminal,SIGNAL(showMessage(QString,int)),
this,SIGNAL(showMessage(QString,int)),Qt::DirectConnection);
isCommunicationLost = false;
@@ -189,6 +201,17 @@ MavLinkNode::~MavLinkNode()
}
}
if(Terminal)
{
if(Terminal->isActive())
{
Terminal->stop();//可能还没停止线程,后面不能紧跟着删除
QThread::msleep(10);
delete Terminal;
Terminal = nullptr;
}
}
if(timer)
{
timer->stop();
@@ -236,6 +259,11 @@ void MavLinkNode::setGCSID(int id)
{
Status->setGCSID(gcsid,MAV_COMP_ID_MISSIONPLANNER);
}
if(Terminal)
{
Terminal->setGCSID(gcsid,MAV_COMP_ID_MISSIONPLANNER);
}
}
@@ -317,6 +345,11 @@ void MavLinkNode::start()
{
Parameter->start();
}
if(Terminal)
{
Terminal->start();
}
}
else
{
@@ -768,6 +801,12 @@ void MavLinkNode::MAVLinkRcv_Handler(mavlink_message_t msg)
Commander->Parse(msg);
break;
//终端
case MAVLINK_MSG_ID_SERIAL_CONTROL:
Terminal->Parse(msg);
break;
//状态
default:
StatusParse(msg);