summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/power.c5
-rw-r--r--firmware/drivers/power.h2
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
51void charger_enable(bool on) 54void 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
28bool charger_inserted(void); 28bool charger_inserted(void);
29void charger_enable(bool on); 29void charger_enable(bool on);