diff options
| author | Brandon Low <lostlogic@rockbox.org> | 2006-01-19 07:47:34 +0000 |
|---|---|---|
| committer | Brandon Low <lostlogic@rockbox.org> | 2006-01-19 07:47:34 +0000 |
| commit | cdacab3d89cdbbd8fd7c20b3b340e27352e6737e (patch) | |
| tree | ad1746cf51bdb56a1cdcabf0c38eb6a53244c431 /apps/gui | |
| parent | 13414ae77a77d96ef2cb210d644880b847c9ca6f (diff) | |
| download | rockbox-cdacab3d89cdbbd8fd7c20b3b340e27352e6737e.zip rockbox-cdacab3d89cdbbd8fd7c20b3b340e27352e6737e.tar.gz rockbox-cdacab3d89cdbbd8fd7c20b3b340e27352e6737e.tar.bz2 rockbox-cdacab3d89cdbbd8fd7c20b3b340e27352e6737e.tar.xz | |
Charging state reporting on H3x0
Don't read the GPIO every refresh of statusbar or gwps for plugged state, use a
variable exported from powermgmt instead.
Allow Custom WPS to access %bc for battery charge state on targets that support
this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8383 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
| -rw-r--r-- | apps/gui/gwps-common.c | 18 | ||||
| -rw-r--r-- | apps/gui/statusbar.c | 18 |
2 files changed, 29 insertions, 7 deletions
diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index 3af52b5..37f4fea 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -655,11 +655,27 @@ static char* get_tag(struct wps_data* wps_data, case 'p': /* External power plugged in? */ { - if(charger_inserted()) + if(charger_input_state==CHARGER) return "p"; else return NULL; } +#if defined(HAVE_CHARGE_CTRL) || \ + defined (HAVE_CHARGE_STATE) || \ + CONFIG_BATTERY == BATT_LIION2200 + case 'c': /* Charging */ + { + if (charge_state == CHARGING +#ifdef HAVE_CHARGE_CTRL + || charge_state == TOPOFF +#endif + ) { + return "c"; + } else { + return NULL; + } + } +#endif } break; diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c index 80de707..b407039 100644 --- a/apps/gui/statusbar.c +++ b/apps/gui/statusbar.c @@ -127,7 +127,7 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) #endif /* HAVE_LCD_CHARCELLS */ bar->info.volume = sound_val2phys(SOUND_VOLUME, global_settings.volume); - bar->info.inserted = charger_inserted(); + bar->info.inserted = (charger_input_state == CHARGER); bar->info.battlevel = battery_level(); bar->info.battery_safe = battery_level_safe(); @@ -178,16 +178,21 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) #ifdef HAVE_CHARGING if (bar->info.inserted) { battery_state = true; -#if defined(HAVE_CHARGE_CTRL) || CONFIG_BATTERY == BATT_LIION2200 +#if defined(HAVE_CHARGE_CTRL) || \ + defined(HAVE_CHARGE_STATE) || \ + CONFIG_BATTERY == BATT_LIION2200 /* zero battery run time if charging */ - if (charge_state > 0) { + if (charge_state > DISCHARGING) { global_settings.runtime = 0; lasttime = current_tick; } /* animate battery if charging */ - if ((charge_state == 1) || - (charge_state == 2)) { + if ((charge_state == CHARGING) +#ifdef HAVE_CHARGE_CTRL + || (charge_state == TOPOFF) +#endif + ) { #else global_settings.runtime = 0; lasttime = current_tick; @@ -323,7 +328,8 @@ void gui_statusbar_icon_battery(struct screen * display, int percent) if (fill > 100) fill = 100; -#if defined(HAVE_CHARGE_CTRL) && !defined(SIMULATOR) /* Rec v1 target only */ +#if (defined(HAVE_CHARGE_CTRL) || defined(HAVE_CHARGE_STATE)) && \ + !defined(SIMULATOR) /* Certain charge controlled targets */ /* show graphical animation when charging instead of numbers */ if ((global_settings.battery_display) && (charge_state != 1) && |