mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-04-24 02:10:40 +02:00
add a couple of sanity checks for the battery values
This commit is contained in:
parent
32df1e0cc1
commit
2ed6ed8019
1 changed files with 10 additions and 0 deletions
|
|
@ -576,6 +576,10 @@ update_battery (DevkitPowerSource *source)
|
|||
source->priv->battery_energy_full_design =
|
||||
sysfs_get_double (source->priv->native_path, "energy_full_design") / 1000000.0;
|
||||
|
||||
/* the last full cannot be bigger than the design */
|
||||
if (source->priv->battery_energy_full > source->priv->battery_energy_full_design)
|
||||
source->priv->battery_energy_full = source->priv->battery_energy_full_design;
|
||||
|
||||
/* calculate how broken our battery is */
|
||||
source->priv->battery_capacity = source->priv->battery_energy_full_design /
|
||||
source->priv->battery_energy_full * 100.0f;
|
||||
|
|
@ -596,6 +600,12 @@ update_battery (DevkitPowerSource *source)
|
|||
sysfs_get_double (source->priv->native_path, "energy_now") / 1000000.0;
|
||||
source->priv->battery_energy_rate =
|
||||
fabs (sysfs_get_double (source->priv->native_path, "current_now") / 1000000.0);
|
||||
|
||||
/* sanity check to less than 100W */
|
||||
if (source->priv->battery_energy_rate > 100*1000)
|
||||
source->priv->battery_energy_rate = -1;
|
||||
|
||||
/* discharging has a negative rate */
|
||||
if (is_charging)
|
||||
source->priv->battery_energy_rate *= -1.0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue