Re: [RFC PATCH v3 6/9] power: supply: Add batinfo functions for OCV to SOC with 0.1% accuracy
From: Linus Walleij <hidden>
Date: 2021-11-19 01:49:30
Also in:
linux-pm, lkml
From: Linus Walleij <hidden>
Date: 2021-11-19 01:49:30
Also in:
linux-pm, lkml
On Tue, Nov 16, 2021 at 1:27 PM Matti Vaittinen [off-list ref] wrote:
The battery info functions computing the state-of-charge (SOC) based on open-circuit-voltage (OCV) are returning SOC using units of 1%. Some capacity estimation computations require higher accuracy. Add functions that return SOC using units of 0.1% to reduce rounding error. Signed-off-by: Matti Vaittinen <redacted>
That sounds useful.
+int power_supply_ocv2dcap_simple(struct power_supply_battery_ocv_table *table,
+ int table_len, int ocv)
+{
+ int i, cap, tmp;Why a whole new function? Just rename the original power_supply_ocv2cap_simple() to power_supply_ocv2dcap_simple and patch it to return the finegrained value, then add a wrapper that use that function but drops it down by one order of magnitude.
+int power_supply_batinfo_ocv2dcap(struct power_supply_battery_info *info, + int ocv, int temp)
Same with this, saves a lot of code! (Also will use my new interpolation routines since you refactor on top of that.) Yours, Linus Walleij