[android M]搜索参数的设置

  相比于Android L使用的蓝牙协议栈blueangel,Android M使用的是bluedroid蓝牙协议栈。bluedroid搜索蓝牙设备的默认时间是12.8s,而blueangel默认的搜索时间是60s。这就造成有些时候,bluedroid搜索的蓝牙设备过少或者搜索不到某些设备的情况。
       针对bluedroid的默认搜索参数可以修改如下几种方法:
方法一、增大搜索的总时间长度
 
      在system/bt/btif/src/Btif_dm.c下:
    #define BTIF_DM_DEFAULT_INQ_MAX_DURATION  10 //默认
     根据蓝牙规格,inquriy Time = N*1.28 sec,
                   N Range:1 ~ 48  , time range: 1.28s~61.44s
    
方法二、修改单次搜索的window 和interval
   
    在 system/bt/stack/btm/Btm_devctl.c 文件下的reset_complete()会对搜索的这两个参数赋值;
   这两个参数的定义在:system/bt/stack/include/Hcidefs.h下:
   #define  HCI_DEF_INQUIRYSCAN_INTERVAL   0X1000 /*2.56 sec*/
   #define  HCI_DEF_INQUIRYSCAN_WINDOW   0X12 /*11.25 ms*/
 
    其中,HCI_DEF_INQUIRYSCAN_INTERVAL 是两个搜索的间隔,也即BR/EDR controller started上一次的inquiry scan到准备进行下一次inquiry scan的间隔; 范围:0x0012-0x1000,N*0.625ms
  HCI_DEF_INQUIRYSCAN_WINDOW 一次搜索的时间,范围:0x0011-0x1000; N*0.625ms
  inquiryscan_interval值要比inquiryscan_window值大2倍才可以;
 
建议:把inquiryscan interval设置为1.28s;inquiryscan_window设置为22.5ms;这样慢慢微调一下,找到贵司希望的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值