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

大家好! 

这篇博文给大家讲解的是“基于高通平台  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”指令。

 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值