BES2600 SDK中的TWS配对方式

本文介绍了BES2600TWS耳机的三种配对方式:搜索配对,调试测试配对和写入记录配对。搜索配对适用于早期低成本设计,通过按键启动搜索;调试测试配对是为开发测试设计的,通过预设地址快速连接;写入记录配对利用底座通信,实现更便捷的自动配对。
摘要由CSDN通过智能技术生成

最近在做BES2600 TWS耳机的项目, 需要进行TWS配对连接. 在BES2600 SDK中, 常用的TWS配对方式有搜索配对的方式、调试写入的方式、底座写入的方式或多种方式共存的TWS配对方式. 本篇文章介绍并演示了BES2600 SDK中几种常见的TWS配对方式

搜索配对的方式

TWS搜索配对的方式就是TWS SEARCH PAIR的方式, 常用于早期耳机与底座没有通信, 只能通过耳机上的按键让副耳进行蓝牙广播, 主耳用蓝牙搜索的方式连接配对TWS. 这种方式多用于比较低成本, 耳机与底座之间没有通信的设计中
使用SEARCH UI的配对方式, 需要打开SEARCH UI相关的宏定义使能SEARCH UI相关的功能, 这里在target.mk中使能
SEARCH UI相关宏开关
使能了SEARCH UI功能之后, SDK默认的流程开机调用app_ibrt_enter_limited_mode()进入TWS配对模式, 左右两边都进入TWS配对模式
search ui开机流程
app_ibrt_enter_limited_mode()接口用于进入TWS配对的模式, 进入TWS配对模式后, 在log中可以看到accessmode为19, 即为BTIF_BAM_LIMITED_ACCESSIBLE(0x13)
TWS配对接口
然后加入UI按键来使主耳搜索副耳进行TWS配对, 调用app_start_tws_searching_direactly()接口来搜索副耳
搜索TWS
搜索到设备就会收到BTEVENT_INQUIRY_RESULT的事件, 进入到app_bt_inquiry_call_back() 回调函数中. 这里要注意的是, 默认的SDK逻辑要TWS配对成功还需要满足以下条件
第一是搜索到的蓝牙地址和本机地址的前3个字节需要相同
蓝牙地址条件
第二是TWS蓝牙名要相同, 满足了这两个条件才会TWS配对成功, 主耳停止搜索配对
蓝牙名条件
配对成功后之后的开机主耳会默认设置成右耳, 播放时候输出右声道; 副耳会被设置成左耳, 播放输出左声道, 具体可在app_ibrt_search_ui_load_config()中修改相应的配置
search ui load config

调试测试的配对方式

SDK中默认有带调试的方式进行TWS配对, 也就是开发人员为了图方便, 调试测试用的TWS配对方式, 在开机app_ibrt_init()初始化的时候, 会进入app_ibrt_raw_ui_test_config_load()加载一些TWS配置选项, 进入app_ibrt_raw_ui_test_load_from_bt_pair_list() 加载测试的TWS配对信息, 如下图这里可以填入测试TWS的配对信息, 分别填入的是主耳的地址, 右边是副耳的地址. 烧录的时候烧录任意一组地址即可完成调试测试使用的TWS配对(这里地址与烧录时候地址顺序倒序)
调试配对方式
地址按上面的烧录之后, 重新开机, 发送开盖命令, 即可进入TWS连接, 根据宏开关来决定主耳为左耳还是右耳, 播放的时候走左声道还是右声道
加载TWS信息

写入记录的配对方式

还有一种TWS配对的方式, 也是目前最常用的TWS配对方式. 目前的TWS耳机设计基本上都有机盒通信的功能, 在TWS没有配对连接的时候, 耳机可以将本机的蓝牙地址告诉给底座, 底座将蓝牙地址告诉给另一只耳机, 来完成两只耳机之间蓝牙地址的交换保存并进行TWS配对. 使用底座来给耳机左右交换地址配对的方式就是用的这种直接写入记录的配对方式.
首先 左右两边烧录的蓝牙地址需要是不一样的, 代码运行过程中可以通过SDK中的factory_section_get_bt_address() 接口来获取烧录在工厂区中的本机地址
获取本机地址
获取到本机蓝牙地址之后通过机盒通信, 底座将蓝牙地址发送给另一只耳机(此命令应该左右耳都需要进行), 另一只耳机接收到对耳的蓝牙地址后, 直接调用nv_record_update_ibrt_info()接口来更新写入记录nv_record FLASH里面记录的ibrt mode和ibrt addr, 保存配对的对耳地址即可完成FLASH记录信息的更新
update ibrt info
如果用了直接写入的方式, 这里可以在target.mk文件中使能FREE_TWS_PAIRING_ENABLE的宏, 来去掉SDK默认调试TWS配对方式
使能宏定义FREE TWS PAIRING
这里需要注意的是ibrt主耳副耳的配置和左右声道的配置方式, 这里SDK config_load的接口中默认使用地址最低字节来判断左右耳, 这里还可以修改为用蓝牙名或使用IO口来判断左右耳
config load

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小的代码里面挖呀挖呀挖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值