缓存可能有点问题
This commit is contained in:
@@ -104,6 +104,13 @@ void MavLinkNode::start()
|
||||
running_flag = true;
|
||||
Nodethread->start();
|
||||
qDebug() << "MavLinkNode thread start" << running_flag;
|
||||
|
||||
|
||||
//启动子线程
|
||||
Mission->start();
|
||||
Parameter->start();
|
||||
Commander->start();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -202,14 +209,26 @@ void MavLinkNode::setbuff(quint32 src,QByteArray data)
|
||||
QByteArray MavLinkNode::readbuff(quint32 src)
|
||||
{
|
||||
QByteArray datagram;
|
||||
//QByteArray datagram1;
|
||||
|
||||
|
||||
//datagram1.clear();
|
||||
//qDebug() << "datagram1" << datagram1;
|
||||
|
||||
//datagram.clear();
|
||||
|
||||
switch (src) {
|
||||
default:
|
||||
case SourceType::c_sock:
|
||||
if(client_buff.select == 0)
|
||||
{
|
||||
datagram.clear();
|
||||
datagram.append(client_buff.buff[1]);
|
||||
//datagram.setRawData(client_buff.buff[1],client_buff.buff[1].size());
|
||||
//datagram.append(client_buff.buff[1]);
|
||||
|
||||
for (QByteArray::const_iterator i = client_buff.buff[1].cbegin(); i != client_buff.buff[1].cend(); ++i)
|
||||
{
|
||||
datagram.append(*i);
|
||||
}
|
||||
|
||||
//清除这个未选择的buff
|
||||
client_buff.buff[1].clear();
|
||||
@@ -218,8 +237,14 @@ QByteArray MavLinkNode::readbuff(quint32 src)
|
||||
}
|
||||
else if(client_buff.select == 1)
|
||||
{
|
||||
datagram.clear();
|
||||
datagram.append(client_buff.buff[0]);
|
||||
//datagram.setRawData(client_buff.buff[0],client_buff.buff[0].size());
|
||||
//datagram.append(client_buff.buff[0]);
|
||||
|
||||
for (QByteArray::const_iterator i = client_buff.buff[0].cbegin(); i != client_buff.buff[0].cend(); ++i)
|
||||
{
|
||||
datagram.append(*i);
|
||||
}
|
||||
|
||||
//清除这个未选择的buff
|
||||
client_buff.buff[0].clear();
|
||||
|
||||
@@ -230,7 +255,6 @@ QByteArray MavLinkNode::readbuff(quint32 src)
|
||||
case SourceType::s_port:
|
||||
if(serial_buff.select == 0)
|
||||
{
|
||||
datagram.clear();
|
||||
datagram.append(serial_buff.buff[0]);
|
||||
//读取完成,可以往这个内存里面写数了
|
||||
serial_buff.buff[1].clear();
|
||||
@@ -238,7 +262,6 @@ QByteArray MavLinkNode::readbuff(quint32 src)
|
||||
}
|
||||
else if(serial_buff.select == 1)
|
||||
{
|
||||
datagram.clear();
|
||||
datagram.append(serial_buff.buff[0]);
|
||||
//读取完成,可以往这个内存里面写数了
|
||||
serial_buff.buff[0].clear();
|
||||
@@ -261,7 +284,6 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
|
||||
{
|
||||
emit recievemsg(msg); //将信息广播出去
|
||||
MAVLinkRcv_Handler(msg); //接收完一帧数据并处理
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user