From c1bd9b0361ba92c29ceef68d74093e70a1a3e481 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Tue, 3 Jan 2012 23:44:38 +0000 Subject: Rework powermgmt to enable code re-use on appliation and sims. * Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application) to break powermgmt.c's assumption about the ability to read battery voltage. There's now additionally percentage (android) and remaining time measure (maemo). No measure at all also works (sdl app). If voltage can't be measured, then battery_level() is king and it'll be used for power_history and runtime estimation. * Implement target's API in the simulator, i.e. _battery_voltage(), so it doesn't need to implement it's own powermgmt.c and other stubs. Now the sim behaves much more like a native target, although it still changes the simulated battery voltage quickly, * Other changes include include renaming battery_adc_voltage() to _battery_voltage(), for consistency with the new target functions and making some of the apps code aware that voltage and runtime estimation is not always available. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/config.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'firmware/export/config.h') diff --git a/firmware/export/config.h b/firmware/export/config.h index f5bc7788d7..85c83015bd 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -184,6 +184,15 @@ * charging or specific programming is required to * use the charging hardware. */ +/* CONFIG_BATTERY_MEASURE bits */ +#define VOLTAGE_MEASURE 1 /* Target can report battery voltage + * Usually native ports */ +#define PERCENTAGE_MEASURE 2 /* Target can report remaining capacity in % + * Usually application/hosted ports */ +#define TIME_MEASURE 4 /* Target can report remaining time estimation + Usually application ports, and only + if the estimation is better that ours + (which it probably is) */ /* CONFIG_LCD */ #define LCD_SSD1815 1 /* as used by Archos Recorders and Ondios */ #define LCD_SSD1801 2 /* as used by Archos Player/Studio */ @@ -603,6 +612,11 @@ Lyre prototype 1 */ #define CONFIG_CHARGING 0 #endif +#ifndef CONFIG_BATTERY_MEASURE +#define CONFIG_BATTERY_MEASURE 0 +#define NO_LOW_BATTERY_SHUTDOWN +#endif + #ifndef CONFIG_RTC #define CONFIG_RTC 0 #endif @@ -611,6 +625,10 @@ Lyre prototype 1 */ #define BATTERY_TYPES_COUNT 0 #endif +#ifndef BATTERY_CAPACITY_DEFAULT +#define BATTERY_CAPACITY_DEFAULT 0 +#endif + #ifndef BATTERY_CAPACITY_INC #define BATTERY_CAPACITY_INC 0 #endif -- cgit v1.2.3