修正buffer里面的数据处理方式,以前那个清除之后指针丢失
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user