如何修改目标BT地址(以DA1458x DSPS主机为例)

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
黔东南州金
离线
最后看到:2年5个月前
加入:2018-01-10 07:15
如何修改目标BT地址(以DA1458x DSPS主机为例)


我试图使BLE dongle与DA14583使用DA1458x_DSPS_v_5.150.2

我的狗的一个规格是“可以在操作过程中改变目标BT设备(从设备)”

我可以通过修改分配目标BT地址
Void user_on_adv_report_ind(struct gapm_adv_report_ind const * param) in user_sps_host.c
我改变了这个函数接受特定的BT地址(新做的全局变量)
我也可以通过uart改变这个全局变量(我确认了全局变量改变)

但我一直无法断开之前的BT连接,并使用新的BT地址重新连接

我试过用这些功能断开当前的连接
app_disconnect_op ();app_gapm_reset_op ();app_easy_gap_disconnect (1);
他们中的一些人实际上断开了连接,以便我可以发现被释放的设备
但狗没有重新连接到新设备,甚至它似乎停止了

我也试过
platform_reset (RESET_AND_LOAD_FW)
重启设备,但没有工作(=当前连接断开,没有进一步响应)

请给出一个指南,以改变的BT地址重新启动连接

关键词:
设备:
PM_Dialog
离线
最后看到:5小时43秒前
工作人员
加入:2018-02-08 11:03
嗨,黔东南州金,

嗨,黔东南州金,

您可以尝试发出GAPM_RESET_CMD命令并重新配置设备。你只需要发出一个GAPM_RESET_CMD,有一个现成的函数来做这个,这个函数就是app_gapm_reset_msg_create()。完成此操作后,设备将获得一个GAPM_CMP_EVT (gapm_cmp_evt_handler()函数),操作参数设置为GAPM_RESET。所以,一旦你重置了你的设备,你应该用新的BD地址重新配置它。但是,您能再详细说明一下您的应用程序的规格吗?您想先断开连接,然后更改BD地址,然后再用新的BD地址发布广告?我理解对了吗?您可以配置bd地址,应用程序从NVDS结构中获取bd地址,并且bd地址可以从CFG_NVDS_TAG_BD_ADDRESS中的da1458x_config_advanced.h文件中配置,如果您更改了这个,那么您的设备的bd地址也应该更改。SDK首先检查OTP头设备id字段是否被烧毁,包含一个不同于0的值。如果Header的值不等于0,这就是设备将使用的地址。

谢谢,PM_Dialog