大家好!

这篇博文给大家讲解的是“基于高通平台  SINK工程该如何实现支持百分之一精度的电池电量显示功能”,希望大家喜欢,并多多指教!!!

在sink工程上,之前大家在电池电量的显示功能上基本都是采用柱状型的显示,柱状的显示都是走的标准化AT COMMAND中的HFP命令AT+IPHONEACCEV指令。

HFP命令AT+XAPL

  • 描述:允许通过耳机自定义AT命令
  • 发起者:耳机
  • 格式:AT+XAPL=[vendorID]-[productID]-[version],[features]
  • 参数:
    • vendorID: 标识生产商的vendor ID的十六进制表示,但是没有0x前缀
    • productID: 标识生产生的product ID的十六进制表示,但是没有0x前缀
    • version: 软件的版本
    • features: 用10进制标识的位标识:
      • 1 = 耳机支持电池电量报告
      • 2 = 耳机暂停或者正在充电
      • 其他值保留
    • 例子: AT+XAPL=ABCD-1234-0100,3
    • 响应: +XAPL=iPhone,[features]

HFP命令AT+IPHONEACCEV

  • 描述:报告耳机的状态变更
  • 发起者:耳机
  • 格式:AT+IPHONEACCEV=[Number of key/value pairs ],[key1 ],[val1 ],[key2 ],[val2 ],...
  • 参数:
    • Number of key/value pairs : 接下来参数的数量
    • key: 被报告状态变化的类型
      • 1 = 电量等级
      • 2 = 暂停状态
    • val: 更改的值
      • Battery events:0-9之间数字的字符串 A string value between '0' and '9'.
      • Dock state: 0 = undocked, 1 = docked.
    • Example: AT+IPHONEACCEV=1,1,3

从上描述可以看出,柱状显示支持最大的精度就是10%,而在高通平台上往往我们都用的是6段。

自从前两年开始,iphone手机支持了精度1%的电量显示图标,这两年很多安卓的手机也跟随响应了这个需求,从而在用户的手中,更喜欢精度高的显示。

其1%的这个电量通知用的 AT 指令是 AT+BIEV:

描述:

HF Indicator

如果HF支持HF indicator,其会查看AG是否支持HF indicator。

如果HF和AG支持HF indicator特性,HF将发送AT+BIND=< HF supported HF indicators >通知HF侧支持的indicator,AG以OK应答。

当AG接收到HF告知的HF indicator特性,HF将发送AT+BIND=?请求AG侧支持的HF indicator。AG将会以+BIND和以OK结尾的应答。

当HF接收到AG支持的HF indicator,HF将会发送AT+BIND?命令确定HF目前使能的HF indicator。AG将会一次或多次以+BIND应答和以OK结尾的应答。

至此HF可能发送AT+BIEV命令告知AG其使能的HF indicator发生变化。

AG可以使用+BIND使能或者禁止任何HF indicator。

其柱状电量显示的实现方式,大家应该用的都是比较熟悉了,简单的描述就是动态的发送“AT+IPHONEACCEV 和 AT+XAPL”指令。

Qualcomm 蓝牙耳机FAQ(2 )--SINK工程支持百分之一精度的电池电量显示功能实现相关推荐

  1. CSR867x开发基础教学 - 新建CSR8675默认的sink工程

    如何新建一个csr8675默认的sink工程呢?csr8765比较繁琐,耐心跟着教程做. 基于我蓝牙网的开发板进行测试调试,新版的开发板体验很好,使用的是ADK4.2版本. 我所做的功能简介:差分模拟 ...

  2. InstallShield 2012 Spring新功能试用(12): Suite/Advanced UI 和 Advanced UI 工程支持InstallScript安装程序(Part 1)...

    InstallShield现在支持在Suite/Advanced UI 和 Advanced UI 安装工程中导入InstallScript工程类型的安装程序(见下图). 当Suite/Advance ...

  3. InstallShield 2012 Spring新功能试用(6): InstallScript工程支持64位组件(Components)...

    InstallScript工程现在支持不改动InstallScript代码,就可以将安装文件安装到64位目标机上的WINSYSDIR64(一个InstallScript变量,映射到64位系统的Syst ...

  4. CSR867x — sink工程的编译与下载(run)

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  作       者:文化人 XX  联系方式: XX  版权声明:原创文章, ...

  5. [MySQL FAQ]系列 -- mysql是否支持跨库事务

    作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 是可以支持的,例如这么用: start transaction; ...

  6. Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS

    本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...

  7. QCC30xx CSR867x sink工程配置后级耳放在通话中的问题

    CSR8675 的方法与 QCC300x 一样,请参考下方的转载连接 https://blog.csdn.net/mzcry/article/details/88694386

  8. 蓝牙小电池图标_如何让蓝牙耳机电池电量在手机上显示?

    随着取消3.5mm耳机接口成为手机行业的共识,蓝牙耳机正在成为不少听歌党的新宠儿,那么问题来了,蓝牙耳机的电量在手机上却不显示,这让人头疼了,听歌听得正兴头上,却传出蓝牙耳机电量不足的提示,是多么的扫 ...

  9. 扩展RocketMQ 使其支持任意时间精度的消息延迟

    前言 本想使用rocketmq的延迟消息特性,但延迟的范围有限,仅支持 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 这18个等 ...

最新文章

  1. C++ char 与uchar区别
  2. yolov3为什么对大目标检测不好_基于改进Yolov3的目标检测的研究
  3. 算法系列8《Base64》
  4. QRadioButton Toggled() 使用方法
  5. 键值数据库LevelDB的优缺点及性能分析
  6. 数据科学和人工智能技术笔记 十六、朴素贝叶斯
  7. Linux基础命令---ziinfo
  8. html请求接口_Python 如何使用 HttpRunner 做接口自动化测试
  9. 计算机通过注册表修改摄像机设备的名称
  10. 知乎,挣钱?果然具有长尾效应
  11. coffeescript java 执行_coffeescript 运行原理
  12. 斑马打印机linux驱动安装教程,linux-Zebra软件包的基本安装与配置
  13. nginx修改主目录、主页
  14. java实验报告之模拟银行存取款业务
  15. 毕业论文字体字号格式要求
  16. \t\t门萨智商测试 有些面试的公司喜欢玩这个
  17. 信息系统项目管理师2019年下半年上午试题解析(三)
  18. 安卓开发实战讲解!Android开发了解这些自然无惧面试,终局之战
  19. K8S部署系统异常-FailedCreatePodSandBox:network: failed to set bridge addr: “cni0“ already has an IP addres
  20. 计算机网络资料整理《谢希仁版》

热门文章

  1. java lists.aslist_asList 可能真的不是你想的 as List
  2. 【java】数组转list用arrays.aslist报错
  3. STM32CUBEMX生成KEIL工程后添加DSP
  4. SD-WAN组网:一文读懂万千站点自由互联的奥秘
  5. 未能启动java jar_java – 无法启动.jar文件(使用LWJGL)
  6. 中国人工智能大会CCAI 2016圆满落幕
  7. linux怎么运行bin脚本,linux怎么运行bin脚本ae遮罩随机破碎
  8. 利用AirTest实现自动安装APK-跳过vivo手机安装验证
  9. Matlab联合wps的API生成文档,让API自动生成文档
  10. Java 动态代理详解 ( 附示例源码,建议收藏)