From 7d8c02d1059f74eb88d175509fd95b34d0c9b0dd Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Fri, 21 May 2010 12:48:15 +0000 Subject: Clip+: add charging curve Charge using 150mA current like the OF to charge faster Edit clipv2 charging curve with 150mA git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26227 a1c6a512-1295-4272-9138-f99709370657 --- firmware/SOURCES | 2 +- firmware/target/arm/as3525/powermgmt-target.h | 10 ++--- .../arm/as3525/sansa-clipplus/powermgmt-clipplus.c | 49 ++++++++++++++++++++++ .../arm/as3525/sansa-clipv2/powermgmt-clipv2.c | 4 +- 4 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 firmware/target/arm/as3525/sansa-clipplus/powermgmt-clipplus.c diff --git a/firmware/SOURCES b/firmware/SOURCES index 61e335c77f..6a66efcdb6 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -1249,7 +1249,7 @@ target/arm/as3525/sansa-clipplus/button-clip.c target/arm/as3525/sansa-clipplus/backlight-clip.c #ifndef BOOTLOADER target/arm/powermgmt-ascodec.c -target/arm/as3525/sansa-clip/powermgmt-clip.c +target/arm/as3525/sansa-clipplus/powermgmt-clipplus.c target/arm/as3525/sansa-clipplus/lcd-as-clip-plus.S #endif /* !BOOTLOADER */ #endif /* !SIMULATOR */ diff --git a/firmware/target/arm/as3525/powermgmt-target.h b/firmware/target/arm/as3525/powermgmt-target.h index 2fe311db30..42efe1d2dc 100644 --- a/firmware/target/arm/as3525/powermgmt-target.h +++ b/firmware/target/arm/as3525/powermgmt-target.h @@ -36,11 +36,11 @@ #elif defined(SANSA_CLIPPLUS) /* Check if topped-off and monitor voltage while plugged. */ -#define BATT_FULL_VOLTAGE 4200 +#define BATT_FULL_VOLTAGE 4160 #define BATT_VAUTO_RECHARGE 4100 #define BATT_CHG_V CHG_V_4_20V -#define BATT_CHG_I CHG_I_100MA -#define CHARGER_TOTAL_TIMER (6*3600*2) /* about 1.5 * capacity / current */ +#define BATT_CHG_I CHG_I_150MA +#define CHARGER_TOTAL_TIMER (4*3600*2) /* about 1.5 * capacity / current */ #elif defined(SANSA_CLIPV2) @@ -48,8 +48,8 @@ #define BATT_FULL_VOLTAGE 4200 #define BATT_VAUTO_RECHARGE 4100 #define BATT_CHG_V CHG_V_4_20V -#define BATT_CHG_I CHG_I_100MA -#define CHARGER_TOTAL_TIMER (6*3600*2) /* about 1.5 * capacity / current */ +#define BATT_CHG_I CHG_I_150MA +#define CHARGER_TOTAL_TIMER (4*3600*2) /* about 1.5 * capacity / current */ #elif defined(SANSA_E200V2) diff --git a/firmware/target/arm/as3525/sansa-clipplus/powermgmt-clipplus.c b/firmware/target/arm/as3525/sansa-clipplus/powermgmt-clipplus.c new file mode 100644 index 0000000000..c209535406 --- /dev/null +++ b/firmware/target/arm/as3525/sansa-clipplus/powermgmt-clipplus.c @@ -0,0 +1,49 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright © 2008 Rafaël Carré + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" + +/* The battery manufacturer's website shows discharge curves down to 3.0V, + so 'dangerous' and 'shutoff' levels of 3.4V and 3.3V should be safe. + */ +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + 3400 +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + 3300 +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3300, 3653, 3701, 3735, 3768, 3790, 3833, 3900, 3966, 4056, 4140 } +}; + +#if CONFIG_CHARGING +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = +{ + 3333, 3757, 3815, 3845, 3867, 3900, 3950, 4008, 4078, 4166, 4167 +}; +#endif /* CONFIG_CHARGING */ diff --git a/firmware/target/arm/as3525/sansa-clipv2/powermgmt-clipv2.c b/firmware/target/arm/as3525/sansa-clipv2/powermgmt-clipv2.c index 3e8aaacad8..7ba5dd7b5c 100644 --- a/firmware/target/arm/as3525/sansa-clipv2/powermgmt-clipv2.c +++ b/firmware/target/arm/as3525/sansa-clipv2/powermgmt-clipv2.c @@ -44,8 +44,6 @@ const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = /* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ const unsigned short percent_to_volt_charge[11] = { - 3379, 3766, 3828, 3855, 3875, 3911, 3975, 4035, 4117, 4217, 4219 - + 3417, 3802, 3856, 3888, 3905, 3931, 3973, 4025, 4084, 4161, 4219 }; #endif /* CONFIG_CHARGING */ - -- cgit v1.2.3