上位机软件通信协议更改说明
UWB 基站将测得的距离信息通过串口发送给上位机,上位机根据这些测距信息解算位置坐标, 需要统一规定信息的格式。之前论坛里已经放过格式定义,请参见 链接
这里简单介绍下如果修改上位机的通信格式
用qt打开源码,找到RTLSClient.cpp 文件void RTLSClient::newData() ,下面的字符m 和 r 是通信的头标识 case 0:
if(tmp=='m')
usart_state=1;
break;
case 1:
if(tmp=='r')
{
usart_state=2;
data_pos =0;
}
break;
在 void RTLSClient::ProcessData(void) 中可以找到将测得距离重新整合在一起
else if(frame_type == 2)
{
range=frame|frame<<8;
range=frame|frame<<8;
range=frame|frame<<8;
range=frame|frame<<8;
ra = range*10;
ra = range*10;
ra = range*10;
ra = range*10;
processTagRangeReport(0, TAG_ID, range*10, lnum, seq);
processTagRangeReport(1, TAG_ID, range*10, lnum, seq);
processTagRangeReport(2, TAG_ID, range*10, lnum, seq);
processTagRangeReport(3, TAG_ID, range*10, lnum, seq);
trilaterateTag(TAG_ID, seq);
}trilaterateTag(TAG_ID, seq); 就是三边定位函数具体实现
好资料,学习了,谢谢楼主,赞赞
页:
[1]