summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-08-26 13:55:14 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-08-26 18:18:02 +0000
commita52eb1d8cc05e22d31d7a667a73341556b6347bb (patch)
tree7383856410e1c232ba38f47cf0bb4a6e40f5fc5b /firmware
parentf4bf27c26e49f7e476b4cde5d52c5b9c791638fe (diff)
downloadrockbox-a52eb1d8cc05e22d31d7a667a73341556b6347bb.tar.gz
rockbox-a52eb1d8cc05e22d31d7a667a73341556b6347bb.tar.bz2
rockbox-a52eb1d8cc05e22d31d7a667a73341556b6347bb.zip
xduoox3: Include curves for both battery types
There is no way to detect this at runtime so it is a user setting Change-Id: Ibc5b87312238c59e3678d512af27e3a3bcb9a58a
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/config/xduoox3.h2
-rw-r--r--firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c20
2 files changed, 16 insertions, 6 deletions
diff --git a/firmware/export/config/xduoox3.h b/firmware/export/config/xduoox3.h
index 30f0330edd..18d396a515 100644
--- a/firmware/export/config/xduoox3.h
+++ b/firmware/export/config/xduoox3.h
@@ -114,7 +114,7 @@
#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
#define BATTERY_CAPACITY_MAX 2000 /* max. capacity selectable */
#define BATTERY_CAPACITY_INC 100 /* capacity increment */
-#define BATTERY_TYPES_COUNT 1 /* only one type */
+#define BATTERY_TYPES_COUNT 2 /* Two types (2000mAh and 1500mAh) */
#define CURRENT_NORMAL 167 // 2.78mA * 60s
#define CURRENT_BACKLIGHT 180 // 15mA * 60s
diff --git a/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c b/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
index e1e578ae67..ffc6f25a38 100644
--- a/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
+++ b/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
@@ -148,29 +148,39 @@ void KEY_INT_IRQ(void)
{
}
+/* Notes on batteries
+
+ xDuoo shipped two types of batteries:
+
+ First is the 2000mAh battery shipped in newer units
+ Second is the 1500mAh battery shipped in older units
+
+*/
+
const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] =
{
/* 5% */
- 3414
+ 3414, 3634
};
const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] =
{
/* 0% */
- 3307
+ 3307, 3307
};
-
/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */
const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] =
{
- { 3307, 3459, 3530, 3575, 3608, 3648, 3723, 3819, 3918, 4022, 4162 }
+ { 3307, 3459, 3530, 3575, 3608, 3648, 3723, 3819, 3918, 4022, 4162 },
+ { 3300, 3652, 3704, 3730, 3753, 3786, 3836, 3906, 3973, 4061, 4160 }
};
#if CONFIG_CHARGING
/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */
const unsigned short percent_to_volt_charge[11] =
- { 3307, 3459, 3530, 3575, 3608, 3648, 3723, 3819, 3918, 4022, 4162 };
+// { 3300, 3652, 3704, 3730, 3753, 3786, 3836, 3906, 3973, 4061, 4160 };
+ { 3444, 3827, 3893, 3909, 3931, 4001, 4067, 4150, 4206, 4207, 4208 };
#endif /* CONFIG_CHARGING */
/* VBAT = (BDATA/1024) * 2.5V */