From 0dd1f8ec11f28fe34c93ba97af95eb2be2fef44f Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Tue, 6 Jun 2006 22:23:52 +0000 Subject: Work-in-progress rework of charging status reading & display: * Changed several charging related HAVE_* macros into one multi-value CONFIG_CHARGING. * Always use proper macros for charging states. * Battery symbol charging animation now starts from current level on all targets with charging. Two-colour animation kept for non-b&w targets. Round down fill level while charging as before, but round to nearest pixel value for discharging on all targets. * Charging anim fixed on player. * Some code cleanup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10080 a1c6a512-1295-4272-9138-f99709370657 --- apps/debug_menu.c | 18 ++-- apps/gui/gwps-common.c | 6 +- apps/gui/statusbar.c | 228 ++++++++++++++++++++----------------------- apps/gui/statusbar.h | 26 ++--- apps/main.c | 6 +- apps/main_menu.c | 8 +- apps/misc.c | 6 +- apps/plugin.c | 6 +- apps/plugin.h | 4 +- apps/plugins/battery_bench.c | 26 ++--- apps/screens.c | 16 +-- apps/settings.c | 10 +- apps/settings_menu.c | 14 ++- apps/status.c | 6 -- apps/status.h | 6 -- apps/tree.c | 4 +- 16 files changed, 182 insertions(+), 208 deletions(-) (limited to 'apps') diff --git a/apps/debug_menu.c b/apps/debug_menu.c index fac570d39a..d426356d11 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -1334,8 +1334,8 @@ bool view_battery(void) snprintf(buf, 30, "External: %d.%02d V", y / 100, y % 100); lcd_puts(0, 2, buf); #endif -#ifdef HAVE_CHARGING -#ifdef HAVE_CHARGE_CTRL +#ifdef CONFIG_CHARGING +#if CONFIG_CHARGING == CHARGING_CONTROL snprintf(buf, 30, "Chgr: %s %s", charger_inserted() ? "present" : "absent", charger_enabled ? "on" : "off"); @@ -1345,8 +1345,8 @@ bool view_battery(void) snprintf(buf, 30, "long delta: %d", long_delta); lcd_puts(0, 6, buf); lcd_puts(0, 7, power_message); -#else /* !HAVE_CHARGE_CTRL */ -#if defined IPOD_NANO || defined IPOD_VIDEO +#else /* CONFIG_CHARGING != CHARGING_CONTROL */ +#if defined IPOD_NANO || defined IPOD_VIDEO int usb_pwr = (GPIOL_INPUT_VAL & 0x10)?true:false; int ext_pwr = (GPIOL_INPUT_VAL & 0x08)?false:true; int dock = (GPIOA_INPUT_VAL & 0x10)?true:false; @@ -1373,8 +1373,8 @@ bool view_battery(void) charger_inserted() ? "present" : "absent"); lcd_puts(0, 3, buf); #endif -#endif /* !HAVE_CHARGE_CTRL */ -#endif /* HAVE_CHARGING */ +#endif /* CONFIG_CHARGING != CHARGING_CONTROL */ +#endif /* CONFIG_CHARGING */ break; case 2: /* voltage deltas: */ @@ -1393,7 +1393,7 @@ bool view_battery(void) case 3: /* remaining time estimation: */ lcd_clear_display(); -#ifdef HAVE_CHARGE_CTRL +#if CONFIG_CHARGING == CHARGING_CONTROL snprintf(buf, 30, "charge_state: %d", charge_state); lcd_puts(0, 0, buf); @@ -1408,7 +1408,7 @@ bool view_battery(void) snprintf(buf, 30, "Trickle sec: %d/60", trickle_sec); lcd_puts(0, 4, buf); -#endif /* HAVE_CHARGE_CTRL */ +#endif /* CONFIG_CHARGING == CHARGING_CONTROL */ snprintf(buf, 30, "Last PwrHist: %d.%02d V", power_history[0] / 100, @@ -1465,7 +1465,7 @@ static bool view_runtime(void) #endif if (state & 1) { -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING if (charger_inserted() #ifdef HAVE_USB_POWER || usb_powered() diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index 5ab6ce8c82..171784c0ad 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -823,7 +823,7 @@ static char* get_tag(struct wps_data* wps_data, } } -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING case 'p': /* External power plugged in? */ { if(charger_input_state==CHARGER) @@ -832,9 +832,7 @@ static char* get_tag(struct wps_data* wps_data, return NULL; } #endif -#if defined(HAVE_CHARGE_CTRL) || \ - defined (HAVE_CHARGE_STATE) || \ - CONFIG_BATTERY == BATT_LIION2200 +#if CONFIG_CHARGING >= CHARGING_MONITOR case 'c': /* Charging */ { if (charge_state == CHARGING || charge_state == TOPOFF) { diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c index c9b27aea7c..b5d8b7c9ed 100644 --- a/apps/gui/statusbar.c +++ b/apps/gui/statusbar.c @@ -107,37 +107,73 @@ struct gui_syncstatusbar statusbars; void gui_statusbar_init(struct gui_statusbar * bar) { - bar->last_volume = -1000; /* -1000 means "first update ever" */ - bar->battery_icon_switch_tick = 0; - bar->animated_level = 0; + bar->redraw_volume = true; + bar->volume_icon_switch_tick = bar->battery_icon_switch_tick = current_tick; } void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) { struct screen * display = bar->display; -#ifdef CONFIG_RTC - struct tm* tm; /* For Time */ -#endif /* CONFIG_RTC */ #ifdef HAVE_LCD_CHARCELLS - int vol; + int val; (void)force_redraw; /* players always "redraw" */ #endif /* HAVE_LCD_CHARCELLS */ - bar->info.volume = sound_val2phys(SOUND_VOLUME, global_settings.volume); -#ifdef HAVE_CHARGING + bar->info.battlevel = battery_level(); +#ifdef HAVE_USB_POWER + bar->info.usb_power = usb_powered(); +#endif +#ifdef CONFIG_CHARGING bar->info.inserted = (charger_input_state == CHARGER); + if (bar->info.inserted) + { + bar->info.battery_state = true; + +#if CONFIG_CHARGING >= CHARGING_MONITOR + + /* zero battery run time if charging */ + if (charge_state > DISCHARGING) + lasttime = current_tick; + + /* animate battery if charging */ + if ((charge_state == DISCHARGING) || (charge_state == TRICKLE)) + { + bar->info.batt_charge_step = -1; + } + else + { +#else + lasttime = current_tick; + { #endif - bar->info.battlevel = battery_level(); - bar->info.battery_safe = battery_level_safe(); + /* animate in (max.) 4 steps, starting near the current charge level */ + if (TIME_AFTER(current_tick, bar->battery_icon_switch_tick)) + { + if (++bar->info.batt_charge_step > 3) + bar->info.batt_charge_step = bar->info.battlevel / 34; + bar->battery_icon_switch_tick = current_tick + HZ; + } + } + } + else +#endif + { + bar->info.batt_charge_step = -1; + if (battery_level_safe()) + bar->info.battery_state = true; + else + /* blink battery if level is low */ + if (TIME_AFTER(current_tick, bar->battery_icon_switch_tick) && + (bar->info.battlevel > -1)) + { + bar->info.battery_state = !bar->info.battery_state; + bar->battery_icon_switch_tick = current_tick + HZ; + } + } + bar->info.volume = sound_val2phys(SOUND_VOLUME, global_settings.volume); #ifdef HAVE_LCD_BITMAP -#ifdef CONFIG_RTC - tm = get_time(); - bar->info.hour = tm->tm_hour; - bar->info.minute = tm->tm_min; -#endif /* CONFIG_RTC */ - bar->info.shuffle = global_settings.playlist_shuffle; #ifdef HAS_BUTTON_HOLD bar->info.keylock = button_hold(); @@ -149,24 +185,25 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) #endif bar->info.repeat = global_settings.repeat_mode; bar->info.playmode = current_playmode(); + #if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) if(!display->has_disk_led) bar->info.led = led_read(HZ/2); /* delay should match polling interval */ #endif - -#ifdef HAVE_USB_POWER - bar->info.usb_power = usb_powered(); -#endif /* HAVE_USB_POWER */ +#ifdef CONFIG_RTC + { + struct tm* tm = get_time(); + bar->info.hour = tm->tm_hour; + bar->info.minute = tm->tm_min; + } +#endif /* CONFIG_RTC */ /* only redraw if forced to, or info has changed */ - if (force_redraw || - bar->info.inserted || - !bar->info.battery_safe || - bar->info.redraw_volume || + if (force_redraw || bar->redraw_volume || memcmp(&(bar->info), &(bar->lastinfo), sizeof(struct status_info))) { display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); - display->fillrect(0,0,display->width,8); + display->fillrect(0, 0, display->width, STATUSBAR_HEIGHT); display->set_drawmode(DRMODE_SOLID); #else @@ -175,65 +212,10 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) { #endif /* HAVE_LCD_BITMAP */ -#ifdef HAVE_CHARGING - if (bar->info.inserted) { - battery_state = true; -#if defined(HAVE_CHARGE_CTRL) || \ - defined(HAVE_CHARGE_STATE) || \ - CONFIG_BATTERY == BATT_LIION2200 - /* zero battery run time if charging */ - if (charge_state > DISCHARGING) { - lasttime = current_tick; - } - - /* animate battery if charging */ - if ((charge_state == CHARGING) -#ifdef HAVE_CHARGE_CTRL - || (charge_state == TOPOFF) -#endif - ) { -#else - lasttime = current_tick; - { -#endif - /* animate in three steps (34% per step for a better look) */ -#ifndef HAVE_CHARGE_STATE - bar->info.battlevel = 0; -#endif - if(TIME_AFTER(current_tick, bar->battery_icon_switch_tick)) { - if (bar->animated_level == 100) - { - bar->animated_level = bar->info.battlevel; - } - else - { - bar->animated_level += 34; - if (bar->animated_level > 100) - bar->animated_level = 100; - } - bar->battery_icon_switch_tick = current_tick + HZ; - } - } - } - else -#endif /* HAVE_CHARGING */ - { - bar->animated_level = 0; - if (bar->info.battery_safe) - battery_state = true; - else { - /* blink battery if level is low */ - if(TIME_AFTER(current_tick, bar->battery_icon_switch_tick) && - (bar->info.battlevel > -1)) { - bar->battery_icon_switch_tick = current_tick+HZ; - battery_state = !battery_state; - } - } - } #ifdef HAVE_LCD_BITMAP - if (battery_state) + if (bar->info.battery_state) gui_statusbar_icon_battery(display, bar->info.battlevel, - bar->animated_level); + bar->info.batt_charge_step); #ifdef HAVE_USB_POWER if (bar->info.usb_power) display->mono_bitmap(bitmap_icons_7x8[Icon_USBPlug], @@ -243,14 +225,15 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) else #endif /* HAVE_USB_POWER */ /* draw power plug if charging */ +#ifdef CONFIG_CHARGING if (bar->info.inserted) display->mono_bitmap(bitmap_icons_7x8[Icon_Plug], STATUSBAR_PLUG_X_POS, STATUSBAR_Y_POS, STATUSBAR_PLUG_WIDTH, STATUSBAR_HEIGHT); +#endif - bar->info.redraw_volume = gui_statusbar_icon_volume(bar, - bar->info.volume); + bar->redraw_volume = gui_statusbar_icon_volume(bar, bar->info.volume); gui_statusbar_icon_play_state(display, current_playmode() + Icon_Play); @@ -292,20 +275,24 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) #ifdef HAVE_LCD_CHARCELLS - if (bar->info.battlevel > -1) - display->icon(ICON_BATTERY, battery_state); - display->icon(ICON_BATTERY_1, bar->info.battlevel > 25); - display->icon(ICON_BATTERY_2, bar->info.battlevel > 50); - display->icon(ICON_BATTERY_3, bar->info.battlevel > 75); - - vol = 100 * (bar->info.volume - sound_min(SOUND_VOLUME)) + display->icon(ICON_BATTERY, bar->info.battery_state); + + if (bar->info.batt_charge_step > -1) + val = bar->info.batt_charge_step; + else + val = (bar->info.battlevel * 3 + 50) / 100; + display->icon(ICON_BATTERY_1, val >= 1); + display->icon(ICON_BATTERY_2, val >= 2); + display->icon(ICON_BATTERY_3, val >= 3); + + val = 10 * (bar->info.volume - sound_min(SOUND_VOLUME)) / (sound_max(SOUND_VOLUME) - sound_min(SOUND_VOLUME)); display->icon(ICON_VOLUME, true); - display->icon(ICON_VOLUME_1, vol > 10); - display->icon(ICON_VOLUME_2, vol > 30); - display->icon(ICON_VOLUME_3, vol > 50); - display->icon(ICON_VOLUME_4, vol > 70); - display->icon(ICON_VOLUME_5, vol > 90); + display->icon(ICON_VOLUME_1, val >= 1); + display->icon(ICON_VOLUME_2, val >= 3); + display->icon(ICON_VOLUME_3, val >= 5); + display->icon(ICON_VOLUME_4, val >= 7); + display->icon(ICON_VOLUME_5, val >= 9); display->icon(ICON_PLAY, current_playmode() == STATUS_PLAY); display->icon(ICON_PAUSE, current_playmode() == STATUS_PAUSE); @@ -326,40 +313,41 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw) * Print battery icon to status bar */ void gui_statusbar_icon_battery(struct screen * display, int percent, - int animated_percent) + int batt_charge_step) { int fill, endfill; char buffer[5]; unsigned int width, height; #if LCD_DEPTH > 1 - unsigned int prevfg = LCD_DEFAULT_FG; + unsigned int prevfg = 0; #endif - /* fill battery */ - fill = percent; - if (fill < 0) - fill = 0; - if (fill > 100) - fill = 100; - - endfill = animated_percent; - if (endfill < 0) - endfill = 0; - if (endfill > 100) - endfill = 100; - -#if (defined(HAVE_CHARGE_CTRL) || defined(HAVE_CHARGE_STATE)) && \ - !defined(SIMULATOR) /* Certain charge controlled targets */ +#ifdef CONFIG_CHARGING + if (batt_charge_step >= 0) + { + fill = percent * (STATUSBAR_BATTERY_WIDTH-3) / 100; + endfill = 34 * batt_charge_step * (STATUSBAR_BATTERY_WIDTH-3) / 100; + } + else +#else + (void)batt_charge_step; +#endif + { + fill = endfill = (percent * (STATUSBAR_BATTERY_WIDTH-3) + 50) / 100; + } + +#if CONFIG_CHARGING == CHARGING_MONITOR && !defined(SIMULATOR) + /* Certain charge controlled targets */ /* show graphical animation when charging instead of numbers */ if ((global_settings.battery_display) && - (charge_state != 1) && + (charge_state != CHARGING) && (percent > -1)) { #else /* all others */ if (global_settings.battery_display && (percent > -1)) { #endif /* Numeric display */ display->setfont(FONT_SYSFIXED); - snprintf(buffer, sizeof(buffer), "%3d", fill); + snprintf(buffer, sizeof(buffer), "%3d", percent); display->getstringsize(buffer, &width, &height); if (height <= STATUSBAR_HEIGHT) display->putsxy(STATUSBAR_BATTERY_X_POS @@ -374,7 +362,6 @@ void gui_statusbar_icon_battery(struct screen * display, int percent, display->vline(STATUSBAR_BATTERY_X_POS + 17, STATUSBAR_Y_POS + 2, STATUSBAR_Y_POS + 4); - fill = fill * 15 / 100; display->fillrect(STATUSBAR_BATTERY_X_POS + 1, STATUSBAR_Y_POS + 1, fill, 5); #if LCD_DEPTH > 1 @@ -384,9 +371,8 @@ void gui_statusbar_icon_battery(struct screen * display, int percent, display->set_foreground(LCD_DARKGRAY); } #endif - endfill = endfill * 15 / 100 - fill; - display->fillrect(STATUSBAR_BATTERY_X_POS + 1 + fill, - STATUSBAR_Y_POS + 1, endfill, 5); + display->fillrect(STATUSBAR_BATTERY_X_POS + 1 + fill, + STATUSBAR_Y_POS + 1, endfill - fill, 5); #if LCD_DEPTH > 1 if (display->depth > 1) display->set_foreground(prevfg); @@ -507,6 +493,7 @@ void gui_statusbar_icon_lock(struct screen * display) STATUSBAR_LOCKM_WIDTH, STATUSBAR_HEIGHT); } +#ifdef HAS_REMOTE_BUTTON_HOLD /* * Print remote lock when remote hold is enabled */ @@ -516,6 +503,7 @@ void gui_statusbar_icon_lock_remote(struct screen * display) STATUSBAR_LOCKR_X_POS, STATUSBAR_Y_POS, STATUSBAR_LOCKR_WIDTH, STATUSBAR_HEIGHT); } +#endif #if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) /* diff --git a/apps/gui/statusbar.h b/apps/gui/statusbar.h index 03add6a6d9..a03c294523 100644 --- a/apps/gui/statusbar.h +++ b/apps/gui/statusbar.h @@ -31,38 +31,40 @@ struct status_info { int battlevel; + int batt_charge_step; int volume; + int playmode; + int repeat; #ifdef CONFIG_RTC int hour; int minute; #endif - int playmode; - int repeat; + +#ifdef CONFIG_CHARGING bool inserted; +#endif +#ifdef HAVE_USB_POWER + bool usb_power; +#endif + bool battery_state; bool shuffle; bool keylock; #ifdef HAS_REMOTE_BUTTON_HOLD bool keylockremote; #endif - bool battery_safe; - bool redraw_volume; /* true if the volume gauge needs updating */ #if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) bool led; /* disk LED simulation in the status bar */ #endif -#ifdef HAVE_USB_POWER - bool usb_power; -#endif }; struct gui_statusbar { - /* Volume icon stuffs */ + long battery_icon_switch_tick; + long volume_icon_switch_tick; int last_volume; - - long battery_icon_switch_tick; - int animated_level; + bool redraw_volume; /* true if the volume gauge needs updating */ struct status_info info; struct status_info lastinfo; @@ -95,7 +97,7 @@ extern void gui_statusbar_init(struct gui_statusbar * bar); */ extern void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw); -void gui_statusbar_icon_battery(struct screen * display, int percent, int animated_percent); +void gui_statusbar_icon_battery(struct screen * display, int percent, int batt_charge_step); bool gui_statusbar_icon_volume(struct gui_statusbar * bar, int volume); void gui_statusbar_icon_play_state(struct screen * display, int state); void gui_statusbar_icon_play_mode(struct screen * display, int mode); diff --git a/apps/main.c b/apps/main.c index 0771b287f8..5867f79d2f 100644 --- a/apps/main.c +++ b/apps/main.c @@ -228,7 +228,7 @@ void init(void) { int rc; bool mounted = false; -#if defined(HAVE_CHARGING) && (CONFIG_CPU == SH7034) +#if defined(CONFIG_CHARGING) && (CONFIG_CPU == SH7034) /* if nobody initialized ATA before, I consider this a cold start */ bool coldstart = (PACR2 & 0x4000) != 0; /* starting from Flash */ #endif @@ -295,7 +295,7 @@ void init(void) screen_access_init(); gui_syncstatusbar_init(&statusbars); -#if defined(HAVE_CHARGING) && (CONFIG_CPU == SH7034) +#if defined(CONFIG_CHARGING) && (CONFIG_CPU == SH7034) if (coldstart && charger_inserted() && !global_settings.car_adapter_mode #ifdef ATA_POWER_PLAYERSTYLE @@ -433,7 +433,7 @@ void init(void) } #endif /* #ifdef AUTOROCK */ -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING car_adapter_mode_init(); #endif } diff --git a/apps/main_menu.c b/apps/main_menu.c index e6c2bb76c2..eb94498c7e 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c @@ -169,12 +169,12 @@ bool show_info(void) #endif lcd_puts_scroll(0, y++, (unsigned char *)s); -#ifdef HAVE_CHARGE_CTRL - if (charge_state == 1) +#if CONFIG_CHARGING == CHARGING_CONTROL + if (charge_state == CHARGING) snprintf(s, sizeof(s), (char *)str(LANG_BATTERY_CHARGE)); - else if (charge_state == 2) + else if (charge_state == TOPOFF) snprintf(s, sizeof(s), (char *)str(LANG_BATTERY_TOPOFF_CHARGE)); - else if (charge_state == 3) + else if (charge_state == TRICKLE) snprintf(s, sizeof(s), (char *)str(LANG_BATTERY_TRICKLE_CHARGE)); else #endif diff --git a/apps/misc.c b/apps/misc.c index 96f913a7f9..0ab826c796 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -491,7 +491,7 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) return false; } -#if defined(HAVE_CHARGING) && !defined(HAVE_POWEROFF_WHILE_CHARGING) +#if defined(CONFIG_CHARGING) && !defined(HAVE_POWEROFF_WHILE_CHARGING) if(!charger_inserted()) #endif { @@ -509,7 +509,7 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) return false; } -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING static bool waiting_to_resume_play = false; static long play_resume_tick; @@ -584,7 +584,7 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame if (!clean_shutdown(callback, parameter)) return SYS_POWEROFF; break; -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING case SYS_CHARGER_CONNECTED: car_adapter_mode_processing(true); return SYS_CHARGER_CONNECTED; diff --git a/apps/plugin.c b/apps/plugin.c index 1b1c406af4..1bc4817ecd 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -58,7 +58,7 @@ #include "dsp.h" #endif -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING #include "power.h" #endif @@ -359,9 +359,9 @@ static const struct plugin_api rockbox_api = { #ifndef SIMULATOR battery_voltage, #endif -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING charger_inserted, -# ifdef HAVE_CHARGE_STATE +# if CONFIG_CHARGING == CHARGING_MONITOR charging_state, # endif #endif diff --git a/apps/plugin.h b/apps/plugin.h index de8f267ec8..b4990b8fb6 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -421,9 +421,9 @@ struct plugin_api { #ifndef SIMULATOR unsigned int (*battery_voltage)(void); #endif -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING bool (*charger_inserted)(void); -# ifdef HAVE_CHARGE_STATE +# if CONFIG_CHARGING == CHARGING_MONITOR bool (*charging_state)(void); # endif #endif diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index 552be8a1ac..210ecbd9dd 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -128,14 +128,14 @@ void exit_tsr(void) /* use long for aligning */ unsigned long thread_stack[THREAD_STACK_SIZE/sizeof(long)]; -#if defined(HAVE_CHARGING) || defined(HAVE_USB_POWER) +#if defined(CONFIG_CHARGING) || defined(HAVE_USB_POWER) unsigned int charge_state(void) { unsigned int ret = 0; -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING if(rb->charger_inserted()) ret = BIT_CHARGER; -#ifdef HAVE_CHARGE_STATE +#if CONFIG_CHARGING == CHARGING_MONITOR if(rb->charging_state()) ret |= BIT_CHARGING; #endif @@ -154,7 +154,7 @@ void thread(void) int fd, buffelements, tick = 1, i = 0, skipped = 0, exit = 0; int fst = 0, lst = 0; /* first and last skipped tick */ unsigned int last_voltage = 0; -#if defined(HAVE_CHARGING) || defined(HAVE_USB_POWER) +#if defined(CONFIG_CHARGING) || defined(HAVE_USB_POWER) unsigned int last_state = 0; #endif long sleep_time; @@ -202,9 +202,9 @@ void thread(void) rb->fdprintf(fd, "%02d:%02d:%02d, %05d, %03d%%, " "%02d:%02d, %04d, %04d" -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING ", %c" -#ifdef HAVE_CHARGE_STATE +#if CONFIG_CHARGING == CHARGING_MONITOR ", %c" #endif #endif @@ -215,7 +215,7 @@ void thread(void) HMS(secs), secs, bat[j].level, bat[j].eta / 60, bat[j].eta % 60, -#if defined(HAVE_CHARGING) || defined(HAVE_USB_POWER) +#if defined(CONFIG_CHARGING) || defined(HAVE_USB_POWER) (bat[j].voltage & (~(BIT_CHARGER|BIT_CHARGING|BIT_USB_POWER))) *10, @@ -223,9 +223,9 @@ void thread(void) bat[j].voltage * 10, #endif temp + 1 + (j-i) -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING ,(bat[j].voltage & BIT_CHARGER)?'A':'-' -#ifdef HAVE_CHARGE_STATE +#if CONFIG_CHARGING == CHARGING_MONITOR ,(bat[j].voltage & BIT_CHARGING)?'C':'-' #endif #endif @@ -260,7 +260,7 @@ void thread(void) timeflag = true; if(last_voltage != (current_voltage=rb->battery_voltage()) -#if defined(HAVE_CHARGING) || defined(HAVE_USB_POWER) +#if defined(CONFIG_CHARGING) || defined(HAVE_USB_POWER) || last_state != charge_state() #endif ) @@ -280,7 +280,7 @@ void thread(void) bat[i].level = rb->battery_level(); bat[i].eta = rb->battery_time(); last_voltage = bat[i].voltage = current_voltage; -#if defined(HAVE_CHARGING) || defined(HAVE_USB_POWER) +#if defined(CONFIG_CHARGING) || defined(HAVE_USB_POWER) bat[i].voltage |= last_state = charge_state(); #endif i++; @@ -421,10 +421,10 @@ int main(void) "Battery type: %d mAh Buffer Entries: %d\n" " Time:, Seconds:, Level:, Time Left:, Voltage[mV]:," " M/DA:" -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING ", C:" #endif -#ifdef HAVE_CHARGE_STATE +#if CONFIG_CHARGING == CHARGING_MONITOR ", S:" #endif #ifdef HAVE_USB_POWER diff --git a/apps/screens.c b/apps/screens.c index 20a0b58749..51201525d4 100644 --- a/apps/screens.c +++ b/apps/screens.c @@ -149,7 +149,7 @@ unsigned short adc_read(int channel) } #endif -#if defined(HAVE_CHARGING) && !defined(HAVE_POWEROFF_WHILE_CHARGING) +#if defined(CONFIG_CHARGING) && !defined(HAVE_POWEROFF_WHILE_CHARGING) #ifdef HAVE_LCD_BITMAP void charging_display_info(bool animate) @@ -178,16 +178,16 @@ void charging_display_info(bool animate) lcd_puts(0, 7, buf); } -#ifdef HAVE_CHARGE_CTRL +#if CONFIG_CHARGING == CHARGING_CONTROL snprintf(buf, 32, "Charge mode:"); lcd_puts(0, 2, buf); - if (charge_state == 1) + if (charge_state == CHARGING) snprintf(buf, 32, str(LANG_BATTERY_CHARGE)); - else if (charge_state == 2) + else if (charge_state == TOPOFF) snprintf(buf, 32, str(LANG_BATTERY_TOPOFF_CHARGE)); - else if (charge_state == 3) + else if (charge_state == TRICKLE) snprintf(buf, 32, str(LANG_BATTERY_TRICKLE_CHARGE)); else snprintf(buf, 32, "not charging"); @@ -195,7 +195,7 @@ void charging_display_info(bool animate) lcd_puts(0, 3, buf); if (!charger_enabled) animate = false; -#endif /* HAVE_CHARGE_CTRL */ +#endif /* CONFIG_CHARGING == CHARGING_CONTROL */ /* middle part */ @@ -351,7 +351,7 @@ int charging_screen(void) #endif return rc; } -#endif /* HAVE_CHARGING && !HAVE_POWEROFF_WHILE_CHARGING */ +#endif /* CONFIG_CHARGING && !HAVE_POWEROFF_WHILE_CHARGING */ #if (CONFIG_KEYPAD != PLAYER_PAD) /* returns: @@ -660,7 +660,7 @@ bool quick_screen_f3(int button_enter) #endif /* BUTTON_F3 */ #endif /* CONFIG_KEYPAD in (RECORDER_PAD |IRIVER_H100_PAD | IRIVER_H300_PAD) */ -#if defined(HAVE_CHARGING) || defined(SIMULATOR) +#if defined(CONFIG_CHARGING) || defined(SIMULATOR) void charging_splash(void) { gui_syncsplash(2*HZ, true, (unsigned char *)str(LANG_BATTERY_CHARGE)); diff --git a/apps/settings.c b/apps/settings.c index 0d6ee1d376..6d7f250436 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -243,7 +243,7 @@ static const struct bit_entry rtc_bits[] = {6, S_O(contrast), 40, "contrast", NULL }, #ifdef CONFIG_BACKLIGHT {5, S_O(backlight_timeout), 5, "backlight timeout", backlight_times_conf }, -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING {5, S_O(backlight_timeout_plugged), 11, "backlight timeout plugged", backlight_times_conf }, #endif @@ -276,7 +276,7 @@ static const struct bit_entry rtc_bits[] = {12, S_O(battery_capacity), BATTERY_CAPACITY_DEFAULT, "battery capacity", NULL }, /* 1500...3200 for NiMH, 2200...3200 for LiIon, 500...1500 for Alkaline */ -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING {1, S_O(car_adapter_mode), false, "car adapter mode", off_on }, #endif /* tuner */ @@ -296,7 +296,7 @@ static const struct bit_entry rtc_bits[] = {1, S_O(remote_flip_display), false, "remote flip display", off_on }, {5, S_O(remote_backlight_timeout), 5, "remote backlight timeout", backlight_times_conf }, -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING {5, S_O(remote_backlight_timeout_plugged), 11, "remote backlight timeout plugged", backlight_times_conf }, #endif @@ -1018,13 +1018,13 @@ void settings_apply(void) lcd_remote_emireduce(global_settings.remote_reduce_ticking); #endif remote_backlight_set_timeout(global_settings.remote_backlight_timeout); -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING remote_backlight_set_timeout_plugged(global_settings.remote_backlight_timeout_plugged); #endif #endif #ifdef CONFIG_BACKLIGHT backlight_set_timeout(global_settings.backlight_timeout); -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING backlight_set_timeout_plugged(global_settings.backlight_timeout_plugged); #endif #if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) diff --git a/apps/settings_menu.c b/apps/settings_menu.c index bcf5a784c0..821ad53dec 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c @@ -81,7 +81,7 @@ void dac_line_in(bool enable); #include "backdrop.h" #endif -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING static bool car_adapter_mode(void) { return set_bool( str(LANG_CAR_ADAPTER_MODE), @@ -177,7 +177,7 @@ static bool caption_backlight(void) &global_settings.caption_backlight); } -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING static bool backlight_timer_plugged(void) { return set_option((char *)str(LANG_BACKLIGHT_ON_WHEN_CHARGING), @@ -248,7 +248,7 @@ static bool remote_backlight_timer(void) remote_backlight_set_timeout ); } -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING static bool remote_backlight_timer_plugged(void) { return set_option((char *)str(LANG_BACKLIGHT_ON_WHEN_CHARGING), @@ -1715,7 +1715,7 @@ static bool lcd_settings_menu(void) static const struct menu_item items[] = { #ifdef CONFIG_BACKLIGHT { ID2P(LANG_BACKLIGHT), backlight_timer }, -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING { ID2P(LANG_BACKLIGHT_ON_WHEN_CHARGING), backlight_timer_plugged }, #endif { ID2P(LANG_CAPTION_BACKLIGHT), caption_backlight }, @@ -1763,7 +1763,7 @@ static bool lcd_remote_settings_menu(void) static const struct menu_item items[] = { { ID2P(LANG_BACKLIGHT), remote_backlight_timer }, -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING { ID2P(LANG_BACKLIGHT_ON_WHEN_CHARGING), remote_backlight_timer_plugged }, #endif @@ -1860,9 +1860,7 @@ static bool battery_settings_menu(void) { ID2P(LANG_BATTERY_TYPE), battery_type }, #endif #else -#ifndef HAVE_CHARGE_CTRL { "Dummy", NULL }, /* to have an entry at all, in the simulator */ -#endif #endif }; @@ -1975,7 +1973,7 @@ static bool system_settings_menu(void) #if CONFIG_CODEC == MAS3507D { ID2P(LANG_LINE_IN), line_in }, #endif -#ifdef HAVE_CHARGING +#ifdef CONFIG_CHARGING { ID2P(LANG_CAR_ADAPTER_MODE), car_adapter_mode }, #endif }; diff --git a/apps/status.c b/apps/status.c index 5c5fb3eaa6..ca8a4d63ef 100644 --- a/apps/status.c +++ b/apps/status.c @@ -49,12 +49,6 @@ enum playmode ff_mode; -long switch_tick; -bool battery_state = true; -#ifdef HAVE_CHARGING -int battery_charge_step = 0; -#endif - void status_init(void) { ff_mode = 0; diff --git a/apps/status.h b/apps/status.h index 68319257b8..f42352be8e 100644 --- a/apps/status.h +++ b/apps/status.h @@ -21,12 +21,6 @@ extern enum playmode ff_mode; -extern long switch_tick; -extern bool battery_state; -#ifdef HAVE_CHARGING -extern int battery_charge_step; -#endif - #if defined(HAVE_LCD_CHARCELLS) extern bool record; extern bool audio; diff --git a/apps/tree.c b/apps/tree.c index 35cefb163d..72e7bc4504 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -644,7 +644,7 @@ static bool dirbrowse(void) if (!global_settings.party_mode) audio_stop(); } -#if defined(HAVE_CHARGING) && \ +#if defined(CONFIG_CHARGING) && \ (CONFIG_KEYPAD == RECORDER_PAD) && !defined(HAVE_SW_POWEROFF) else { if (!charger_inserted()) { @@ -658,7 +658,7 @@ static bool dirbrowse(void) #endif } break; -#if defined(HAVE_CHARGING) && !defined(HAVE_POWEROFF_WHILE_CHARGING) +#if defined(CONFIG_CHARGING) && !defined(HAVE_POWEROFF_WHILE_CHARGING) case TREE_OFF | BUTTON_REPEAT: if (charger_inserted()) { charging_splash(); -- cgit v1.2.3