diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2010-04-07 06:26:18 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2010-04-07 06:26:18 +0000 |
commit | 4e8704c387d1983cca20070a05d99e70aca9d5b2 (patch) | |
tree | e84e6d3d869580dfb1ccc9abc66bf05ad9cbbe42 | |
parent | f25f17c5b60ade629b8b7b0449a6aafab7e32a7d (diff) | |
download | rockbox-4e8704c387d1983cca20070a05d99e70aca9d5b2.tar.gz rockbox-4e8704c387d1983cca20070a05d99e70aca9d5b2.zip |
Gigabeat S: Extend the upper temperature range for battery charging to 50C: OK and 45C: Resume. Currently extended disk activity can cause it to detect overtemp which doesn't quite seem correct. Add macros for the range so that they may be target-specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25508 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c | 9 | ||||
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h | 10 |
2 files changed, 17 insertions, 2 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c b/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c index c6b3549afb..6986a0605d 100644 --- a/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c | |||
@@ -467,8 +467,13 @@ static bool charging_ok(void) | |||
467 | * come back into safe range. */ | 467 | * come back into safe range. */ |
468 | static const signed char temp_ranges[2][2] = | 468 | static const signed char temp_ranges[2][2] = |
469 | { | 469 | { |
470 | { 0, 45 }, /* Temperature range before beginning charging */ | 470 | /* Temperature range before beginning charging */ |
471 | { 5, 40 }, /* Temperature range after out-of-range detected */ | 471 | { BATTERY_CHARGE_MIN, |
472 | BATTERY_CHARGE_MAX }, | ||
473 | /* Temperature range after out-of-range detected - | ||
474 | charging will self-resume */ | ||
475 | { BATTERY_CHARGE_RESTART_MIN, | ||
476 | BATTERY_CHARGE_RESTART_MAX }, | ||
472 | }; | 477 | }; |
473 | 478 | ||
474 | int temp = battery_adc_temp(); | 479 | int temp = battery_adc_temp(); |
diff --git a/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h b/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h index c157dc2fbf..86278bce73 100644 --- a/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h +++ b/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h | |||
@@ -61,6 +61,16 @@ | |||
61 | read below 2400mV. */ | 61 | read below 2400mV. */ |
62 | #define CHARGER_TOTAL_TIMER 300 /* minutes */ | 62 | #define CHARGER_TOTAL_TIMER 300 /* minutes */ |
63 | 63 | ||
64 | /* Temperature readings - w/hysteresis */ | ||
65 | |||
66 | /* Temperature range before beginning charging */ | ||
67 | #define BATTERY_CHARGE_MIN 0 | ||
68 | #define BATTERY_CHARGE_MAX 50 | ||
69 | /* Temperature range after out-of-range detected - charging will | ||
70 | * self-resume */ | ||
71 | #define BATTERY_CHARGE_RESTART_MIN 5 | ||
72 | #define BATTERY_CHARGE_RESTART_MAX 45 | ||
73 | |||
64 | /* .316 ohms is closest standard value as measured in 1% tolerance - adjust | 74 | /* .316 ohms is closest standard value as measured in 1% tolerance - adjust |
65 | * relative to .100 ohm which is what the PMIC is "tuned" for. */ | 75 | * relative to .100 ohm which is what the PMIC is "tuned" for. */ |
66 | #define ILEVEL_ADJUST_IN(I) (100*(I) / 316) | 76 | #define ILEVEL_ADJUST_IN(I) (100*(I) / 316) |