CSR867x — 开机是进入可发现可连接还是RSSI配对

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 XX  作       者:ZHS(文化人)

 XX  联系方式:文章末尾Chat快问

 XX  版权声明:原创文章,欢迎评论和转载~转载时能告诉我一声就最好了

 XX  要说的话:作者水平有限,难免有不足之处,恳请指正!

 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

写在前面:sink工程的原生代码里,设备开机进入的工作模式,是根据psr的配置和配对列表中设备个数共同决定的。

获取配对列表设备个数:ConnectionTrustedDeviceListSize(),最多8个,如图

CSR867x — 开机是进入可发现可连接还是RSSI配对

那DisoIfPDLLessThan和PairIfPDLLessThan这两个值分别代表什么意思呢?通过上一篇博文我们知道:

CSR867x — 开机是进入可发现可连接还是RSSI配对

DisoIfPDLLessThan:如果配对设备列表中的设备个数少于这个配置项的值,会直接让sink进入可发现模式(配对)。

CSR867x — 开机是进入可发现可连接还是RSSI配对

PairIfPDLLessThan:当设置为非零值时,当PDL(PairedDeviceList)中的设备数量为小于这个值,Sink进入RSSI查询(接近配对)模式,, pair to nearest AG。

上电时进入stateManagerPowerOn(),然后调用stateManagerEnterConnectableState();

CSR867x — 开机是进入可发现可连接还是RSSI配对

根据下图的log,可以看出在没有配对记录时,设备进入了可发现可连接模式,有配对记录时,进入了可连接模式。

CSR867x — 开机是进入可发现可连接还是RSSI配对

看懂了这些,我们就可以根据需要,让设备在开机时进入不同的模式了。