修正buffer里面的数据处理方式,以前那个清除之后指针丢失

This commit is contained in:
hm
2020-08-06 16:44:49 +08:00
parent ecb73699cd
commit 6db2b44969
10 changed files with 153 additions and 52 deletions
+9 -4
View File
@@ -208,7 +208,9 @@ QByteArray MavLinkNode::readbuff(quint32 src)
case SourceType::c_sock:
if(client_buff.select == 0)
{
datagram.setRawData(client_buff.buff[1],(uint)client_buff.buff[1].size());
datagram.clear();
datagram.append(client_buff.buff[1]);
//清除这个未选择的buff
client_buff.buff[1].clear();
//读取完成,可以往这个内存里面写数了
@@ -216,7 +218,8 @@ QByteArray MavLinkNode::readbuff(quint32 src)
}
else if(client_buff.select == 1)
{
datagram.setRawData(client_buff.buff[0],(uint)client_buff.buff[0].size());
datagram.clear();
datagram.append(client_buff.buff[0]);
//清除这个未选择的buff
client_buff.buff[0].clear();
@@ -227,14 +230,16 @@ QByteArray MavLinkNode::readbuff(quint32 src)
case SourceType::s_port:
if(serial_buff.select == 0)
{
datagram.setRawData(serial_buff.buff[1],(uint)serial_buff.buff[1].size());
datagram.clear();
datagram.append(serial_buff.buff[0]);
//读取完成,可以往这个内存里面写数了
serial_buff.buff[1].clear();
serial_buff.select = 1;
}
else if(serial_buff.select == 1)
{
datagram.setRawData(serial_buff.buff[0],(uint)serial_buff.buff[0].size());
datagram.clear();
datagram.append(serial_buff.buff[0]);
//读取完成,可以往这个内存里面写数了
serial_buff.buff[0].clear();
serial_buff.select = 0;