From 0bf70e65e8b61fceb4b2833277b36ba3ad14fdbf Mon Sep 17 00:00:00 2001 From: Uwe Freese Date: Mon, 16 Dec 2002 22:58:48 +0000 Subject: battery capacity (1500-2400 in 50mAh steps) saved to disk git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3008 a1c6a512-1295-4272-9138-f99709370657 --- apps/settings.c | 8 +++++++- apps/settings.h | 9 +-------- apps/settings_menu.c | 25 ++++++++----------------- 3 files changed, 16 insertions(+), 26 deletions(-) (limited to 'apps') diff --git a/apps/settings.c b/apps/settings.c index 64a1a8c0a2..9d0a9f62b3 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -126,6 +126,7 @@ modified unless the header & checksum test fails. Rest of config block, only saved to disk: +0xB1 (int) battery capacity 0xB5 scroll step in pixels 0xB6 scroll start and endpoint delay 0xB7 bidir scroll setting (bidi if 0-200% longer than screen width) @@ -368,6 +369,7 @@ int settings_save( void ) config_block[0x29]=(unsigned char)(global_settings.topruntime >> 8); } + memcpy(&config_block[0xb1], &global_settings.battery_capacity, 4); config_block[0xb5]=(unsigned char)global_settings.scroll_step; config_block[0xb6]=(unsigned char)global_settings.scroll_delay; config_block[0xb7]=(unsigned char)global_settings.bidir_limit; @@ -466,6 +468,8 @@ void settings_apply(void) enable_trickle_charge(global_settings.trickle_charge); #endif + set_battery_capacity(global_settings.battery_capacity); + #ifdef HAVE_LCD_BITMAP settings_apply_pm_range(); peak_meter_init_times( @@ -648,6 +652,8 @@ void settings_load(void) global_settings.topruntime = config_block[0x28] | (config_block[0x29] << 8); + memcpy(&global_settings.battery_capacity, &config_block[0xb1], 4); + if (config_block[0xb5] != 0xff) global_settings.scroll_step = config_block[0xb5]; @@ -831,7 +837,7 @@ void settings_reset(void) { global_settings.backlight_timeout = DEFAULT_BACKLIGHT_TIMEOUT_SETTING; global_settings.backlight_on_when_charging = DEFAULT_BACKLIGHT_ON_WHEN_CHARGING_SETTING; - global_settings.battery_capacity = 0; /* 1500 mAh */ + global_settings.battery_capacity = 1500; /* mAh */ global_settings.trickle_charge = true; global_settings.dirfilter = SHOW_MUSIC; global_settings.sort_case = false; diff --git a/apps/settings.h b/apps/settings.h index a2f7692d88..41f9b803c1 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -85,14 +85,7 @@ struct user_settings bool backlight_on_when_charging; bool discharge; /* maintain charge of at least: false = 85%, true = 10% */ bool trickle_charge; /* do trickle charging: 0=off, 1=on */ - int battery_capacity; /* 0 = 1500 mAh - 1 = 1600 mAh - 2 = 1700 mAh - 3 = 1800 mAh - 4 = 1900 mAh - 5 = 2000 mAh - 6 = 2100 mAh - 7 = 2200 mAh */ + int battery_capacity; /* in mAh */ /* resume settings */ diff --git a/apps/settings_menu.c b/apps/settings_menu.c index 9e7320eef6..94f6cc74ea 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c @@ -428,27 +428,16 @@ static bool bidir_limit(void) } #endif +#ifndef SIMULATOR /** * Menu to set the battery capacity */ -static bool battery_capacity(void) { - bool retval = false; - - char* names[] = { "1500 mAh ", "1600 mAh ", - "1700 mAh ", "1800 mAh ", - "1900 mAh ", "2000 mAh ", - "2100 mAh ", "2200 mAh " - }; - - retval = set_option( str(LANG_BATTERY_CAPACITY), - &global_settings.battery_capacity, names, 8, NULL); - -#ifndef SIMULATOR - set_battery_capacity(global_settings.battery_capacity); -#endif /* SIMULATOR */ - - return retval; +static bool battery_capacity(void) +{ + return set_int(str(LANG_BATTERY_CAPACITY), " mAh", &global_settings.battery_capacity, + &set_battery_capacity, 50, 1500, BATTERY_CAPACITY_MAX ); } +#endif #ifdef HAVE_CHARGE_CTRL static bool deep_discharge(void) @@ -742,7 +731,9 @@ static bool system_settings_menu(void) #ifdef HAVE_ATA_POWER_OFF { str(LANG_POWEROFF), poweroff }, #endif +#ifndef SIMULATOR { str(LANG_BATTERY_CAPACITY), battery_capacity }, +#endif #ifdef HAVE_CHARGE_CTRL { str(LANG_DISCHARGE), deep_discharge }, { str(LANG_TRICKLE_CHARGE), trickle_charge }, -- cgit v1.2.3