51uwb.cn

 找回密码
 立即注册
查看: 7970|回复: 18
打印 上一主题 下一主题

【软件资料】BP50 套件新框架定位代码实现

[复制链接]

35

主题

974

帖子

4098

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4098
跳转到指定楼层
楼主
发表于 2020-11-17 08:58:56 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
BP50 作为我们第一代产品,为了代码的稳定性,一直没有正式适配新代码框架,近期有越来越多的客户想用bp50 进行二次开发,发现bp50 二次开发难度较大,特地将适配的代码贡献给大家,有任何问题,及时联系我们。附件代码适配硬件版本 蓝点无限bp50 V3.0

2020-11-30 新上Ethernet版本代码:http://51uwb.cn/forum.php?mod=vi ... &extra=page%3D1
  1. BP50 NewFrameWork Location Code
  2. 本code由 51uwb.cn Release

  3. 基于TWR测距,结合上位机三边定位原理可以实现TWR定位。

  4. 重要提示
  5. 1 模块角色通过软件定义,位置bphero_uwb.h

  6. //rx为基站,tx为标签
  7. #define RX_NODE   // 基站
  8. //#define TX_NODE //标签

  9. //基站节点地址0x0001 0x0002 0x0003
  10. //部署完毕基站0x0001 链接串口
  11. //基站地址必须从0x0001开始!!!
  12. #ifdef RX_NODE
  13.         #define SHORT_ADDR 0x0001
  14. //#define LCD_ENABLE //没有液晶的时候,把这个宏定义注释掉
  15. #endif

  16. //标签和基站地址不能重叠
  17. //标签节点地址 0x0005 0x0006 0x0007
  18. #ifdef TX_NODE
  19.         #define SHORT_ADDR 0x0005
  20.         #define LCD_ENABLE //没有液晶的时候,把这个宏定义注释掉
  21. #endif

  22. 2 固件支持多基站多标签测距 (定位属于上位机实现范畴,是否支持取决于上位机)
  23.   通过修改tx_main.c 控制多标签多基站
  24.   
  25.   多基站控制
  26.   /************************!!!重要宏定义!!!******************************/
  27. /****************多基站只需要修改MAX_ANTHOR即可***************************/
  28. /*****************基站的地址必须是从0x0001 开始***************************/
  29. #define MAX_ANTHOR 4
  30. //anthor range
  31. #define SEPC_ADDRESS 0x0000  //规0地址,每次规0后,向基站0x0001发送距离信息
  32. #define DEST_BEGIN_ADDR 0x0001  //基站起始地址
  33. #define DEST_END_ADDR   DEST_BEGIN_ADDR + MAX_ANTHOR - 1 //anthro address 0x001 0x002 0x003 for 2D ,0x0001 0x0002 0x0003 0x0004 for 3D

  34.    多标签控制
  35. #define MAX_FREQ_HZ 10 //定位10HZ
  36. #define MAX_TX_Node 2  //系统中实际存在最多标签节点
  37.    
  38. 其他使用中问题,请在51uwb.cn与我们联系交流
  39.   
复制代码
UWB_FrameWork_TWR_Location_BP50_V1.0.rar (537.2 KB, 下载次数: 422)



回复

使用道具 举报

0

主题

19

帖子

23

积分

新手上路

Rank: 1

积分
23
19#
发表于 2021-4-29 17:17:41 | 只看该作者
非常不错,以后多来论坛学习
回复

使用道具 举报

0

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
18#
发表于 2021-1-9 16:33:15 | 只看该作者
感谢楼主,挣金币ing
回复

使用道具 举报

0

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
17#
发表于 2021-1-9 16:32:58 | 只看该作者
感谢楼主,挣金币ing
回复

使用道具 举报

0

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
16#
发表于 2021-1-9 16:32:37 | 只看该作者
感谢楼主,挣金币ing
回复

使用道具 举报

0

主题

5

帖子

28

积分

新手上路

Rank: 1

积分
28
15#
发表于 2020-12-25 16:10:23 | 只看该作者
reset pin  改了也没啥影响,新板子两个代码都能跑呀
现在是测距通信传的数据都是不变的,不知哪出了问题

V5~}TL}YR`4~{E0ASRERM@N.png (93.39 KB, 下载次数: 529)

V5~}TL}YR`4~{E0ASRERM@N.png
回复

使用道具 举报

35

主题

974

帖子

4098

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4098
14#
 楼主| 发表于 2020-12-24 21:55:18 | 只看该作者
ab19971211 发表于 2020-12-24 17:05
老模块当标签,能与新模块通信但OLED不显示距离,
是Final_Distance数组里的数据问题吗?

串口是hex字符,这样打印肯定是乱码
新老模块主要区别是uwb reset pin,和内部数组没关系
回复

使用道具 举报

0

主题

5

帖子

28

积分

新手上路

Rank: 1

积分
28
13#
发表于 2020-12-24 17:05:32 | 只看该作者
老模块当标签,能与新模块通信但OLED不显示距离,
是Final_Distance数组里的数据问题吗?

图是基站0串口显示的数据(上半部分为老板子做标签的数据,下半部分新板子做标签的数据)

D{G9C}GGF[U%LF34FY[YYCN.png (138.21 KB, 下载次数: 579)

D{G9C}GGF[U%LF34FY[YYCN.png
回复

使用道具 举报

35

主题

974

帖子

4098

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4098
12#
 楼主| 发表于 2020-12-11 10:13:18 | 只看该作者
ab19971211 发表于 2020-12-10 21:38
我太菜了,看不出哪个pin改了,感觉两个port.c的内容都一样。那为啥新版的两个代码都能跑,求解答:handshak ...

port.h,pin 定义不同。
建议使用compare 工具比较两个版本代码
回复

使用道具 举报

0

主题

5

帖子

28

积分

新手上路

Rank: 1

积分
28
11#
发表于 2020-12-10 21:38:08 | 只看该作者
我太菜了,看不出哪个pin改了,感觉两个port.c的内容都一样。那为啥新版的两个代码都能跑,求解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-5-7 23:43 , Processed in 0.025897 second(s), 7 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表