feat(ble): Allow disabling BLE BAS reporting
The battery reporting has been known to cause macOS computers to wakeup repeatedly. In some cases (e.g. display or custom lighting implementation) one might want to collect battery SOC without broadcasting over BLE
This commit is contained in:
parent
7fe9ecd87f
commit
616e2a6b43
3 changed files with 9 additions and 3 deletions
|
@ -314,7 +314,7 @@ config ZMK_BATTERY_REPORTING
|
|||
bool "Battery level detection/reporting"
|
||||
default n
|
||||
select SENSOR
|
||||
select BT_BAS if ZMK_BLE
|
||||
imply BT_BAS if ZMK_BLE
|
||||
|
||||
config ZMK_IDLE_TIMEOUT
|
||||
int "Milliseconds of inactivity before entering idle state (OLED shutoff, etc)"
|
||||
|
|
|
@ -51,7 +51,7 @@ static int zmk_battery_update(const struct device *battery) {
|
|||
|
||||
if (last_state_of_charge != state_of_charge.val1) {
|
||||
last_state_of_charge = state_of_charge.val1;
|
||||
|
||||
#if IS_ENABLED(CONFIG_BT_BAS)
|
||||
LOG_DBG("Setting BAS GATT battery level to %d.", last_state_of_charge);
|
||||
|
||||
rc = bt_bas_set_battery_level(last_state_of_charge);
|
||||
|
@ -60,7 +60,7 @@ static int zmk_battery_update(const struct device *battery) {
|
|||
LOG_WRN("Failed to set BAS GATT battery level (err %d)", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
#endif
|
||||
rc = ZMK_EVENT_RAISE(new_zmk_battery_state_changed(
|
||||
(struct zmk_battery_state_changed){.state_of_charge = last_state_of_charge}));
|
||||
}
|
||||
|
|
|
@ -7,6 +7,12 @@ See the [battery level feature page](../features/battery.md) for more details on
|
|||
|
||||
See [Configuration Overview](index.md) for instructions on how to change these settings.
|
||||
|
||||
:::note
|
||||
|
||||
On MacOS the BLE battery reporting packets can cause the computer to wakeup from sleep, the battery service can be disabled indepently of battery monitoring (allowing the battery level to be displayed on a screen or through a custom lighting implementation) by setting `CONFIG_BT_BAS=n`
|
||||
|
||||
:::
|
||||
|
||||
### Devicetree
|
||||
|
||||
Applies to: [`/chosen` node](https://docs.zephyrproject.org/latest/guides/dts/intro.html#aliases-and-chosen-nodes)
|
||||
|
|
Loading…
Add table
Reference in a new issue