Thread (30 messages) 30 messages, 7 authors, 2017-10-19

Re: libbattery was Re: [RFC PATCH 5/5] power: generic-adc-battery: Add capacity handling

From: Tony Lindgren <tony@atomide.com>
Date: 2017-10-19 16:24:25
Also in: linux-arm-kernel, linux-omap, lkml

* H. Nikolaus Schaller [off-list ref] [171018 08:49]:
quoted
Am 18.10.2017 um 15:22 schrieb Tony Lindgren [off-list ref]:

* H. Nikolaus Schaller [off-list ref] [171018 05:49]:
quoted
quoted
Am 18.10.2017 um 14:28 schrieb Pavel Machek [off-list ref]:

So I started something, it is at.

https://github.com/pavelmachek/libbattery

My battery on n900 is currently uncalibrated (and charging), still it
gets some kind of estimation:

Battery -1 %
Seconds -1
State 1
Voltage 3.88 V
Battery 63 %

Of course, there's a lot more work to be done.
Nice start but not a solution to our problem.

Our problem is that people simply expect that for example https://packages.debian.org/wheezy/xfce/xfce4-battery-plugin
displays the battery percentage.
I think we could make things compatible with various battery apps by
having libbattery write back the capacity percentage and time remaining
to the kernel driver via sysfs or a dev entry. Then the kernel interface
can just display the data to whatever apps.
Hm. That would be quite difficult to understand and maintain code.
How so? The libbattery can do it all, then the kernel drivers needing
that will just display the most recent values to maintain compability
with battery apps.
Why not have the kernel driver do the simple calculations (they do
not need float) and provide the standard /sys/class/power attribute?
Because the current remaining capacity and battery empty state depend
on maintaining a database of previous history for battery wear. This
data needs to be preserved across reboots, so most likely on a file
on a disk is the way to go.

There's a nice summary what all is involved here:

http://www.mpoweruk.com/soc.htm

Regards,

Tony
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help