feat(docs): Add battery sensor documentation
This commit is contained in:
parent
f91472fbe5
commit
b7b026f20c
2 changed files with 39 additions and 0 deletions
38
docs/docs/features/battery.md
Normal file
38
docs/docs/features/battery.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
title: Battery Level
|
||||||
|
sidebar_label: Battery Level
|
||||||
|
---
|
||||||
|
|
||||||
|
If your keyboard has a battery sensor, ZMK will report its battery level to the connected bluetooth host and show it on the keyboard's display, if it has one.
|
||||||
|
|
||||||
|
For split keyboards, only the battery level of the central (usually left) side is reported over bluetooth.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
|
||||||
|
Windows may not properly ask the keyboard to notify it of changes in battery level, so the level shown may be out of date.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Adding a Battery Sensor to a Board
|
||||||
|
|
||||||
|
To enable a battery sensor on a new board, add the driver for the sensor to your board's `.dts` file. ZMK provides two drivers for estimating the battery level using its voltage:
|
||||||
|
|
||||||
|
- `zmk,battery-voltage-divider`: Reads the voltage on an analog input pin.
|
||||||
|
- `zmk,battery-nrf-vddh`: Reads the power supply voltage on a Nordic nRF52's VDDH pin.
|
||||||
|
|
||||||
|
Zephyr also provides some drivers for fuel gauge ICs such as the TI bq274xx series and Maxim MAX17xxx series. If you use a battery sensor that does not have an existing driver, you will need to write a new driver that supports the `SENSOR_CHAN_GAUGE_STATE_OF_CHARGE` sensor channel and contribute it to Zephyr or ZMK.
|
||||||
|
|
||||||
|
Once you have the sensor driver defined, add a `zmk,battery` property to the `chosen` node and set it to reference the sensor node. For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
/ {
|
||||||
|
chosen {
|
||||||
|
zmk,battery = &vbatt;
|
||||||
|
};
|
||||||
|
|
||||||
|
vbatt: vbatt {
|
||||||
|
compatible = "zmk,battery-nrf-vddh";
|
||||||
|
label = "VBATT";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
|
@ -17,6 +17,7 @@ module.exports = {
|
||||||
"features/encoders",
|
"features/encoders",
|
||||||
"features/underglow",
|
"features/underglow",
|
||||||
"features/backlight",
|
"features/backlight",
|
||||||
|
"features/battery",
|
||||||
"features/beta-testing",
|
"features/beta-testing",
|
||||||
],
|
],
|
||||||
Behaviors: [
|
Behaviors: [
|
||||||
|
|
Loading…
Reference in a new issue