diff options
| -rw-r--r-- | firmware/drivers/power.c | 5 | ||||
| -rw-r--r-- | firmware/drivers/power.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index 5de53b2..85f1393 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c @@ -45,7 +45,10 @@ int battery_level(void) if(level > BATTERY_LEVEL_FULL) level = BATTERY_LEVEL_FULL; - return ((level-BATTERY_LEVEL_SHUTDOWN) * 100) / BATTERY_RANGE; + if(level < BATTERY_LEVEL_DANGEROUS) + level = BATTERY_LEVEL_DANGEROUS; + + return ((level-BATTERY_LEVEL_DANGEROUS) * 100) / BATTERY_RANGE; } void charger_enable(bool on) diff --git a/firmware/drivers/power.h b/firmware/drivers/power.h index 4b08648..9ad657c 100644 --- a/firmware/drivers/power.h +++ b/firmware/drivers/power.h @@ -23,7 +23,7 @@ #define BATTERY_LEVEL_DANGEROUS (4750000 / BATTERY_SCALE_FACTOR) /* 4.75V */ #define BATTERY_LEVEL_FULL (5300000 / BATTERY_SCALE_FACTOR) /* 5.3V */ -#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_SHUTDOWN) +#define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_DANGEROUS) bool charger_inserted(void); void charger_enable(bool on); |