summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/powermgmt.c12
-rw-r--r--firmware/powermgmt.h4
2 files changed, 14 insertions, 2 deletions
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index 8fdb168e50..026bfe47c0 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -73,9 +73,15 @@ static int poweroff_idle_timeout_value[15] =
static int percent_to_volt_decharge[11] = /* voltages (centivolt) of 0%, 10%, ... 100% when charging disabled */
{
+#ifdef HAVE_LIION
+ /* values guessed, see http://www.seattlerobotics.org/encoder/200210/LiIon2.pdf */
+ /* until someone measures voltages over a decharging cycle */
+ 260, 280, 300, 320, 340, 350, 360, 370, 380, 390, 400
+#else /* NiMH */
/* original values were taken directly after charging, */
/* but it should show 100% after turning off the device for some hours, too */
450, 481, 491, 497, 503, 507, 512, 514, 517, 525, 540 /* orig. values: ...,528,560 */
+#endif
};
void set_battery_capacity(int capacity)
@@ -99,7 +105,13 @@ int charge_state = 0; /* at the beginning, the charger
static int percent_to_volt_charge[11] = /* voltages (centivolt) of 0%, 10%, ... 100% when charging enabled */
{
+#ifdef HAVE_LIION
+ /* values guessed, see http://www.seattlerobotics.org/encoder/200210/LiIon2.pdf */
+ /* until someone measures voltages over a charging cycle */
+ 260, 290, 320, 340, 360, 370, 380, 390, 400, 410, 420
+#else /* NiMH */
476, 544, 551, 556, 561, 564, 566, 576, 582, 584, 585
+#endif
};
void enable_trickle_charge(bool on)
diff --git a/firmware/powermgmt.h b/firmware/powermgmt.h
index 884e9772e5..a3e212b63a 100644
--- a/firmware/powermgmt.h
+++ b/firmware/powermgmt.h
@@ -21,13 +21,13 @@
#ifndef SIMULATOR
-#ifdef HAVE_FMADC /* FM Recorder, LiIon */
+#ifdef HAVE_LIION /* FM Recorder, LiIon */
#define BATTERY_LEVEL_SHUTDOWN 260 /* 2.60V */
#define BATTERY_LEVEL_EMPTY 265 /* 2.65V */
#define BATTERY_LEVEL_DANGEROUS 280 /* 2.80V */
#define BATTERY_LEVEL_FULL 400 /* 4.00V */
-#else /* Recorder, NiCd */
+#else /* Recorder, NiMH */
#define BATTERY_LEVEL_SHUTDOWN 450 /* 4.50V */
#define BATTERY_LEVEL_EMPTY 465 /* 4.65V */
#define BATTERY_LEVEL_DANGEROUS 475 /* 4.75V */