high scan for infinite

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
YaTr_3516311
Level 5
Level 5
25 sign-ins First solution authored 100 replies posted

Hi,

我想把hci_audio_gateway demo里的hci_ag_cfg_settings里的ble_scan_cfg.high_duty_scan_duration=0设置成永远都在high scan,但是测试下来以后,好像scan了一轮后就不scan了。如下是我的的配置。请帮我确认一下

pastedImage_0.png

0 Likes
10 Replies
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

请问你是如何判断扫描停止的?有log吗?

0 Likes
lock attach
Attachments are accessible only for community members.

我又测试了一下,是没有停止。就是扫了一轮以后,感觉后面能scan到的数据好像少了,没有一开始开机的时候scan到的多。外面的advertising的板子没有变过

附件中是我抓的log.从puart的log里,明显感觉到10:14:23:429的时间点后,sanlist的数据出来的有点慢了

pastedImage_0.png

0 Likes

请问在调用wiced_bt_ble_scan的时候,有没有使能wiced_bool_t duplicate_filter_enable,如果使能的话,在后续的scan中,会滤除掉已经扫描到的设备。

0 Likes

有使能的。会滤掉已经扫描到的设备我能够明白。但是我不明白的是,ble_scan_cfg.high_duty_scan_duration=0设置成0和有值两种情况下,我都是有使能的。但是ble_scan_cfg.high_duty_scan_duration有值的情况下,好像就没有过滤掉,而ble_scan_cfg.high_duty_scan_duration=0的情况就过滤了?

我测试下来的情况是(都设置了过滤)

1.ble_scan_cfg.high_duty_scan_duration有值(外面有两个蓝牙设备都在advertising),然后scan stop后又会再重新开始scan,每一轮的重新scan都能搜到两个蓝牙设备

2.ble_scan_cfg.high_duty_scan_duration=0(外面有两个蓝牙设备都在advertising),一开始scan,会搜到两个蓝牙设备,接下来就搜不到了

现象还挺明显的

0 Likes

过滤的逻辑是在每次开始扫描的时候,会扫描所有的设备,之后会将BD_ADDR一致的设备过滤掉。如果扫描时间设置为有值,每次开始扫描都相当于重新开始过滤。

在scan_duration设置为0的时候,相当于是一次scan,所以后续如果地址一致的设备不会再报上来了。可以试一下把过滤禁掉,应该可以一致搜到设备。

0 Likes

pastedImage_0.png

1. 请看一下关于过滤的问题,按照您的解释,在scan state从high->low->stop这一个循环里,同样的蓝牙设备会被过滤掉,但是测试下来,还是会有相同的蓝牙未被过滤。如下是配置

pastedImage_1.png

2. SCAN_MODE_ACTIVE和passive的区别是什么

0 Likes

1. 请问扫描的API是像下面这样的吗: wiced_bt_ble_scan( BTM_BLE_SCAN_TYPE_HIGH_DUTY, WICED_TRUE, hello_client_scan_result_cback );

2. active scan会获取广播设备的扫描回复包,passive scan不会。

0 Likes

1. 是的,接口函数如下,然后发的hci命令19 01 01 02 00 01 01

pastedImage_0.png

0 Likes

请问这个问题有进展吗

0 Likes
Charles_Lai
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 sign-ins

Hi,

本问题因为缺乏足够信息,无法推进。

建议您通过寻求现场协助调试或者公开源代码等其它方式,来解决问题。

这边先为您关闭本问题。后续还有需要帮助的地方,欢迎您再次在社区提问。

Best regards

0 Likes