10.2.2.11. _BST(电池状态)
此对象返回当前电池状态。每当电池状态值发生变化时,系统将生成一个 SCI 以通知 OS。
参数:
无
返回值:
一个 Package,包含如下所述的电池状态
返回值信息:
_BST 按如下格式返回一个 Package
Package {
Battery State // Integer (DWORD)
Battery Present Rate // Integer (DWORD)
Battery Remaining Capacity // Integer (DWORD)
Battery Present Voltage // Integer (DWORD)
}
表 10.10 BST 返回 Package 值
| 元素 | 格式 | 描述 |
|---|---|---|
| 电池状态 | Integer (DWORD) | 位值。请注意,充电位和放电位互斥,不能同时置位。即使处于临界状态,硬件也应报告相应的充电/放电状态。位 [0] - 1 表示电池正在放电。位 [1] - 1 表示电池正在充电。位 [2] - 1 表示电池处于临界能量状态(参见低电池电量级别)。这并不表示电池故障。位 [3] – 1 表示电池处于电池充电限制状态(参见第 3.9.6 节)。 |
| 电池当前速率 | Integer (DWORD) | 返回通过电池端子提供或接受的功率或电流(方向取决于电池状态值)。电池当前速率值根据功率单位值以功率 [mWh] 或电流 [mAh] 表示。可充电且处于放电状态的电池必须返回有效的电池当前速率值。0x00000000 - 0x7FFFFFFF,单位为 [mW] 或 [mA] 0xFFFFFFFF - 未知速率 |
| 电池剩余容量 | Integer (DWORD) | 返回估计的剩余电池容量。电池剩余容量值根据功率单位值以功率 [mWh] 或电流 [mAh] 表示。可充电电池必须返回有效的电池剩余容量值。0x00000000 - 0x7FFFFFFF,单位为 [mWh] 或 [mAh] 0xFFFFFFFF - 未知容量 |
| 电池当前电压 | Integer (DWORD) | 返回电池端子两端的电压。可充电电池必须报告电池当前电压。0x000000000 - 0x7FFFFFFF,单位为 [mV] 0xFFFFFFFF - 未知电压 注:只有一次电池可以报告未知电压。 |
请注意,当电池是一次电池(不可充电电池,例如碱性锰电池),并且无法提供用于计算剩余电池寿命的精确信息时,控制方法电池可以直接向 OS 报告百分比。其方式是报告 Last Full Charged Capacity =100 且 BatteryPresentRate=0xFFFFFFFF。这意味着 Battery Remaining Capacity 直接以 0 到 100 范围内的值按如下方式报告电池剩余容量 [%]:

图 10.4 剩余电池百分比公式

图 10.5 剩余电池寿命公式