【软件资料】BP50 套件新框架定位代码实现
BP50 作为我们第一代产品,为了代码的稳定性,一直没有正式适配新代码框架,近期有越来越多的客户想用bp50 进行二次开发,发现bp50 二次开发难度较大,特地将适配的代码贡献给大家,有任何问题,及时联系我们。附件代码适配硬件版本 蓝点无限bp50 V3.02020-11-30 新上Ethernet版本代码:http://51uwb.cn/forum.php?mod=viewthread&tid=300&extra=page%3D1
BP50 NewFrameWork Location Code
本code由 51uwb.cn Release
基于TWR测距,结合上位机三边定位原理可以实现TWR定位。
重要提示
1 模块角色通过软件定义,位置bphero_uwb.h
//rx为基站,tx为标签
#define RX_NODE // 基站
//#define TX_NODE //标签
//基站节点地址0x0001 0x0002 0x0003
//部署完毕基站0x0001 链接串口
//基站地址必须从0x0001开始!!!
#ifdef RX_NODE
#define SHORT_ADDR 0x0001
//#define LCD_ENABLE //没有液晶的时候,把这个宏定义注释掉
#endif
//标签和基站地址不能重叠
//标签节点地址 0x0005 0x0006 0x0007
#ifdef TX_NODE
#define SHORT_ADDR 0x0005
#define LCD_ENABLE //没有液晶的时候,把这个宏定义注释掉
#endif
2 固件支持多基站多标签测距 (定位属于上位机实现范畴,是否支持取决于上位机)
通过修改tx_main.c 控制多标签多基站
多基站控制
/************************!!!重要宏定义!!!******************************/
/****************多基站只需要修改MAX_ANTHOR即可***************************/
/*****************基站的地址必须是从0x0001 开始***************************/
#define MAX_ANTHOR 4
//anthor range
#define SEPC_ADDRESS 0x0000//规0地址,每次规0后,向基站0x0001发送距离信息
#define DEST_BEGIN_ADDR 0x0001//基站起始地址
#define DEST_END_ADDR DEST_BEGIN_ADDR + MAX_ANTHOR - 1 //anthro address 0x001 0x002 0x003 for 2D ,0x0001 0x0002 0x0003 0x0004 for 3D
多标签控制
#define MAX_FREQ_HZ 10 //定位10HZ
#define MAX_TX_Node 2//系统中实际存在最多标签节点
其他使用中问题,请在51uwb.cn与我们联系交流
你好,这个附件里的项目有错。压缩包里也没有这个文件 面包能生吃吗 发表于 2020-11-17 18:28
你好,这个附件里的项目有错。压缩包里也没有这个文件
已修正并更新 你好,今天按照您的帖子修改了下图的两个地方,在测试六基站的过程中出现了以下现象。
1.搭建过程中,前五个基站和标签都能正常通信,但是在给第六个基站上电后,标签立刻掉电。2.根据串口助手显示的结果来看,传输的数据中是有基站六的位置的。
面包能生吃吗 发表于 2020-11-18 20:11
你好,今天按照您的帖子修改了下图的两个地方,在测试六基站的过程中出现了以下现象。
1.搭建过程中,前五 ...
可能原因,你标签地址和基站地址重叠了
//标签和基站地址不能重叠
//标签节点地址 0x0005 0x0006 0x0007
#ifdef TX_NODE
#define SHORT_ADDR 0x0005
#define LCD_ENABLE //没有液晶的时候,把这个宏定义注释掉
#endif
建议你把标签地址改为0x001X,保证基站和标签地址不重叠
蓝点无限 发表于 2020-11-19 08:51
可能原因,你标签地址和基站地址重叠了
请问 标签传给基站0的6D7202051B02 C800640094 01 C8000A0D这串数据,标签自己怎么输出到PC端。如果能直接输出 C80064009401这三个距离信息就更棒了。想把标签装在小车上,然后小车上还有STM32芯片,通过串口相连,让小车的STM32芯片可以显示这三个距离信息,然后通过三边定位的算法就可以得到小车在坐标系的坐标了。
本帖最后由 old丨student 于 2020-11-19 14:52 编辑
old丨student 发表于 2020-11-19 14:37
请问 标签传给基站0的6D7202051B02C800640094 01C8000A0D这串数据, ...
这里应该就是基站0发送给PC端的代码了,怎样让标签也发送呢。。。
old丨student 发表于 2020-11-19 14:48
这里应该就是基站0发送给PC端的代码了,怎样让标签也发送呢。。。
看标签tx_main.c 部分代码,在发送到基站0前打印出来就行了
后面类似问题,建议重新开贴,不要在这个上面盖楼 这代码怎么在老板子上跑不了呀,ledrx和ledtx都不会亮。
最近新买的bp-50就可以,需要改什么配置吗?
file:///C:/Users/AB1997~1/AppData/Local/Temp/WeChat%20Files/75592e7a8b8671de38b31c0f9fc558b.jpg ab19971211 发表于 2020-12-10 10:36
这代码怎么在老板子上跑不了呀,ledrx和ledtx都不会亮。
最近新买的bp-50就可以,需要改什么配置吗?
初始化reset pin修改过了,老板子应该是init fail了
页:
[1]
2