From eabf71e120575d031cf7988c118c79e031f30cbd Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Thu, 30 Jun 2022 12:01:54 -0400 Subject: [PATCH] device: compute approximate charge level for adc measurement feature --- lib/logitech_receiver/hidpp20.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/logitech_receiver/hidpp20.py b/lib/logitech_receiver/hidpp20.py index 3799bb59..a60471fe 100644 --- a/lib/logitech_receiver/hidpp20.py +++ b/lib/logitech_receiver/hidpp20.py @@ -1322,9 +1322,13 @@ def get_adc_measurement(device): def decipher_adc_measurement(report): # partial implementation - needs mapping to levels adc, flags = _unpack('!HB', report[:3]) + for level in battery_voltage_remaining: + if level[0] < adc: + charge_level = level[1] + break if flags & 0x01: status = BATTERY_STATUS.recharging if flags & 0x02 else BATTERY_STATUS.discharging - return FEATURE.ADC_MEASUREMENT, None, None, status, adc + return FEATURE.ADC_MEASUREMENT, charge_level, None, status, adc battery_functions = {