关于Bond_db_store函数的问题?

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
CGHA.
离线
最后一次露面:3个月3周前
加入:2016-03-23 13:05
关于Bond_db_store函数的问题?

idx_found在比较irk或mac_addr匹配时不是-1,但是当idx_emtpy_slot_found == -1时更新idx_found,所以在这里为什么不只是替换exsisted绑定信息如果idx_found!= -1?

if(-1!= idx_emtpy_slot_found){idx_found = idx_emtpy_slot_found;}否则{如果(idx_found!= -1){//我应该在这里添加这条行吗?//找不到空插槽 - 删除最旧的键数据插槽idx_found = bdb.next_slot ++;bdb.next_slot = bdb.next_slot%app_bond_db_max_bonded_peers;}}

设备:
PM_DIALOG.
离线
最后一次露面:29分59秒前
职员
加入:2018-02-08 11:03
嗨cgha,

嗨cgha,

我假设您正在研究SDK5.0.4的BLE_APP_SLEEPMODE示例。我的理解是否正确?如果是,根据邦德_DB_Store API的实现,如果没有足够的插槽级别以添加新的主站的绑定信息,则将删除最旧的绑定数据。从函数过程中,如果有一个空插槽(由idx_emtpy_slot_found表示),无论有一个地址匹配的情况,邦界info将始终放在新插槽中。

谢谢,PM_DIALOG.

CGHA.
离线
最后一次露面:3个月3周前
加入:2016-03-23 13:05
你的意思是比较吗?

你的意思是与irk和mac_addr的比较是冗余吗?由于IDX_FOUND将始终重新分配,而不管IRK或MAC_ADDR匹配。

PM_DIALOG.
离线
最后一次露面:29分59秒前
职员
加入:2018-02-08 11:03
嗨cgha,

嗨cgha,

如果没有足够的插槽级别以添加新的主站的绑定信息,则将删除最旧的绑定数据。在idx_emtpy_slot_found的情况下,无论有地址匹配的情况,邦界概要将纳入新插槽。

谢谢,PM_DIALOG.