恒玄科技BES250解决方案之双耳链接调试总结和源码分析
一 前言
bes2500芯片在tws耳机应用十分广泛,该芯片有着资源强大,音质好,大厂背书等特色。吸引了不少粉丝跟随。
最近在调试该芯片的tws配对流程,花费了一些时间,踩了一些坑,这里做一个总结和备忘吧。
二 源码分析
TWS耳机,往往是双耳先进入配对,然后才会进入和手机的配对流程,这里拿我这边的sdk代码做实例分析。
首先,要让双耳都进入配对模式,也就是在让双耳都进入可配对状态,代码如下所示。
#ifdef IBRT_SEARCH_UI
if(false==is_charging_poweron)
app_ibrt_enter_limited_mode();
#endif
app_bt_accessmode_set(BTIF_BT_DEFAULT_ACCESS_MODE_PAIR);
其次,让任意一个耳机进入搜索tws配对状态,原厂的是通过双击powerkey进入这种状态的。需要确认是否会进入这种状态。
TRACE(0,"double kill nv_role:%d ",p_ibrt_ctrl->nv_role);
if(IBRT_UNKNOW==p_ibrt_ctrl->nv_role)
{
app_ibrt_if_init_open_box_state_for_evb();
app_start_tws_serching_direactly();
}
else
{
bt_key_handle_func_doubleclick();
}
这就会进入了两个耳机的互联状态。假如搜索到,就会有下面的搜索到的日志信息:
aa aa aa aa bb bb
8134/I/NONE /R-M/ 8 | inqmode = 2
07 09 59 69 6e 5f 42 54 11 03 01 00 0e 11 0f 11 0c 11 0b 11
8136/I/NONE /R-M/ 8 | ##RSSI:-71
8136/I/NONE /R-M/ 8 | local aa aa aa aa bb bb 8137/I/NONE /R-M/ 8 | <1>
8137/I/NONE /R-M/ 8 | <2>
8137/I/NONE /R-M/ 8 | <3> search name len 6 Yin_BT 8 | ibrt_core_v2:link_type=0, e<88>! <80>¨^F local name Yin_BT 8138/I/NONE /R-M/ 8 | <4>
8138/I/NONE /R-M/ 8 | ibrt_scan_mgr:set_access_mode=0, LR=0xc06a1db
8139/I/NONE /R-M/ 8 | ibrt_scan_mgr:btif_me_set_accessible_mode status:02
配对成功之后,会上报日志:
custom_ui tws pairing_state changed = 2 with reason 0x0,role=0
对应的代码如下所示:
TRACE(2,"custom_ui tws pairing_state changed = %d with reason 0x%x,role=%d",state,reason_code, ui_role);
switch(state)
{
case IBRT_CONN_PAIRING_IDLE:
break;
case IBRT_CONN_PAIRING_IN_PROGRESS:
break;
case IBRT_CONN_PAIRING_COMPLETE:
#ifdef MEDIA_PLAYER_SUPPORT
// if (app_ibrt_if_is_ui_slave() && (btif_besaud_is_connected()))
// {
// app_voice_report(APP_STATUS_INDICATION_PAIRSUCCEED, 0);
// }
app_voice_report(APP_STATUS_INDICATION_PAIRSUCCEED, 0);
#endif
当听到双耳同时pariing success 之后,说明两个耳机连接成功,可以链接手机了。这个时候,手机才可以搜索到。
三 总结:
原始sdk只提供了源码。具体的想要怎么进入配对,可自行修改即可。
笔者用的bin文件链接如下,如有需求请自取:
链接: https://pan.baidu.com/s/1ZRHOIkxpgLlCZWJi83A6vw 密码: n2h3
--来自百度网盘超级会员V3的分享
串口波特率:1152000
恒玄科技BES250解决方案之双耳链接调试总结和源码分析的更多相关文章
- Spring源码分析之循环依赖及解决方案
Spring源码分析之循环依赖及解决方案 往期文章: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostPro ...
- 恒创科技 基于openStack云主机
https://www.henghost.com/cloud-vps.shtml?s=gg&gclid=CKaXuOyr79UCFY-TvQodMJ8BCw
- vs2008 c#项目调试dll源码,问题:“若要调试此模块,请将其项目生成配置更改为“调试”模式” 的解决方案
情况: 1:有程序 Trans.exe 的vs2008 c#源码:Trans.exe项目里引用了 Water.dll: 2:有Water.dll的项目源码: 3:想在Trans.exe里调试Water ...
- HDFS源码分析之编辑日志编辑相关双缓冲区EditsDoubleBuffer
EditsDoubleBuffer是为edits准备的双缓冲区.新的编辑被写入第一个缓冲区,同时第二个缓冲区可以被flush.为edits准备的双缓冲区.新的编辑被写入第一个缓冲区,同时第二个缓冲区可 ...
- Xshell缺失mfc110u.dll文件解决方案(有下载链接)
解决方案 把下面两个文件都下载安装就可以了. 1.vcredist_x86.exe链接: https://pan.baidu.com/s/1njbNHdjqH6x34GQvj4BTBg提取码: pwq ...
- SpringCloudAlibaba分布式事务解决方案Seata实战与源码分析-上
概述 定义 Spring Cloud Alibaba Seata 官网地址 https://seata.io/zh-cn/ 最新版本1.5.2 Spring Cloud Alibaba Seata 文 ...
- SpringCloudAlibaba分布式事务解决方案Seata实战与源码分析-中
事务模式 概述 在当前的技术发展阶段,不存一个分布式事务处理机制可以完美满足所有场景的需求.一致性.可靠性.易用性.性能等诸多方面的系统设计约束,需要用不同的事务处理机制去满足. 目前使用的流行度情况 ...
- WinForm 天猫2013双11自动抢红包【源码下载】
1. 正确获取红包流程 2. 软件介绍 2.1 效果图: 2.2 功能介绍 2.2.1 账号登录 页面开始时,会载入这个网站:https://login.taobao.com/member/login ...
- 【问题解决方案】Dev C++ 无法调试的问题与解决
听翁恺老师课的时候用到一个叫DevC++的编辑器. 学到调试部分的时候,老师的没问题我的报错.我?? 试一试网上查到的方法: 工具 --> 编译选项 --> 代码生成/优化 --> ...
- 在mac上用parallels创建双windows虚拟机调试windows驱动
先创建两个windows 7 虚拟机,一个装windbg作为调试机,一个被调试 1 调试机 1 先装windbg https://developer.microsoft.com/en-us/windo ...
随机推荐
- 顶配涨至近2万 该买还是买!iPhone15正面曝光 与历代苹果手机对比边框爆窄
从曝光的iPhone 15正面渲染图来看,其颜值确实要比上代又提高不少. 外媒放出了一组iPhone 15 Pro的正面渲染图照,从图片看边框非常的窄,与历代iPhone 边框对比,这个特点更是被放大 ...
- playwright 一些方法解决cloudflare防护页的问题
在尝试从一个使用Cloudflare Web应用程序防火墙(WAF)保护的网站获取数据时,我遇到了一些挑战.该网站的安全措施非常严格,以至于在正常浏览几个页面后,Cloudflare的检查页面就会出现 ...
- Program文件的作用
Program.cs文件分析 Program.cs文件是至关重要的一个文件,它包含应用程序启动的代码,还可以配置所需要的服务和应用管道的中间件. 需要掌握: 6.0版本前后生成的Program.cs文 ...
- 如何计算DG环境下Redo传输所需的带宽?
MOS有篇文章: How To Calculate The Required Network Bandwidth Transfer Of Redo In Data Guard Environments ...
- 4.2使用IDA Pro分析实战--《恶意代码分析实战》
使用 IDA Pro 分析 Lab05-01.dll 1.DllMain的地址是什么? 2.使用Imports窗口并浏览到的gethostbyname,导入函数定位到什么地址? 3.有多少函数调用了g ...
- 压缩软件7-Zip的简单使用
简介及下载地址 7-Zip是一款开源免费的压缩软件,支持windows系统及Linux系统,压缩后文件扩展名默认为.7z后缀. 网址: https://www.7-zip.org/ 截图如下: 也 ...
- NC18389 收益
题目链接 题目 题目描述 小N是一家金融公司的项目经理.他准备投资一个项目,这个项目要融资L元,融资成功后会得到M元的利润.现在有n个客户.对于第i个客户,他有mi元钱.小N承诺假如最后筹够钱,会给这 ...
- Jsp+Servlet实现文件上传下载(一)--文件上传
文件上传和下载功能是Java Web必备技能,很实用. 本文使用的是Apache下的著名的文件上传组件 org.apache.commons.fileupload 实现 下面结合最近看到的一些资料以及 ...
- 【libGDX】ApplicationAdapter生命周期
1 前言 libGDX 中,用户自定义的渲染窗口需要继承 ApplicationAdapter 类,ApplicationAdapter 实现了 ApplicationListener 接口,但实 ...
- 如何快速使用LayUI MINI框架
是什么 LayUI MINI是基于LayUI框架开发的一套最简洁.易用的后台框架模板,它已经是一个非常完整的脚手架,有现成的页面模板可以参考甚至是直接使用. 通常来说,如果我们准备开发一套管理系统的W ...