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 5de53b296f..85f1393719 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c | |||
@@ -45,7 +45,10 @@ int battery_level(void) | |||
45 | if(level > BATTERY_LEVEL_FULL) | 45 | if(level > BATTERY_LEVEL_FULL) |
46 | level = BATTERY_LEVEL_FULL; | 46 | level = BATTERY_LEVEL_FULL; |
47 | 47 | ||
48 | return ((level-BATTERY_LEVEL_SHUTDOWN) * 100) / BATTERY_RANGE; | 48 | if(level < BATTERY_LEVEL_DANGEROUS) |
49 | level = BATTERY_LEVEL_DANGEROUS; | ||
50 | |||
51 | return ((level-BATTERY_LEVEL_DANGEROUS) * 100) / BATTERY_RANGE; | ||
49 | } | 52 | } |
50 | 53 | ||
51 | void charger_enable(bool on) | 54 | void charger_enable(bool on) |
diff --git a/firmware/drivers/power.h b/firmware/drivers/power.h index 4b08648112..9ad657c536 100644 --- a/firmware/drivers/power.h +++ b/firmware/drivers/power.h | |||
@@ -23,7 +23,7 @@ | |||
23 | #define BATTERY_LEVEL_DANGEROUS (4750000 / BATTERY_SCALE_FACTOR) /* 4.75V */ | 23 | #define BATTERY_LEVEL_DANGEROUS (4750000 / BATTERY_SCALE_FACTOR) /* 4.75V */ |
24 | #define BATTERY_LEVEL_FULL (5300000 / BATTERY_SCALE_FACTOR) /* 5.3V */ | 24 | #define BATTERY_LEVEL_FULL (5300000 / BATTERY_SCALE_FACTOR) /* 5.3V */ |
25 | 25 | ||
26 | #define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_SHUTDOWN) | 26 | #define BATTERY_RANGE (BATTERY_LEVEL_FULL - BATTERY_LEVEL_DANGEROUS) |
27 | 27 | ||
28 | bool charger_inserted(void); | 28 | bool charger_inserted(void); |
29 | void charger_enable(bool on); | 29 | void charger_enable(bool on); |