diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-11-28 22:46:19 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-11-28 22:46:19 +0000 |
| commit | 2b77b4fdd50f8ff150181f973767afa9dd4b7b22 (patch) | |
| tree | ab79fd272adfcf6d3be85270bd40c946d3cb1a1a /apps | |
| parent | 494d261de33a6058af6bb5ae6f2965381a127b68 (diff) | |
| download | rockbox-2b77b4fdd50f8ff150181f973767afa9dd4b7b22.zip rockbox-2b77b4fdd50f8ff150181f973767afa9dd4b7b22.tar.gz rockbox-2b77b4fdd50f8ff150181f973767afa9dd4b7b22.tar.bz2 rockbox-2b77b4fdd50f8ff150181f973767afa9dd4b7b22.tar.xz | |
Added option to enable/disable disk poweroff (for diagnostic purposes)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2888 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/lang/english.lang | 4 | ||||
| -rw-r--r-- | apps/settings.c | 7 | ||||
| -rw-r--r-- | apps/settings.h | 1 | ||||
| -rw-r--r-- | apps/settings_menu.c | 8 |
4 files changed, 19 insertions, 1 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index b71dca0..0469cdc 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -1152,3 +1152,7 @@ desc: disk size info eng: "Free: %d.%dGB" new: +id: LANG_POWEROFF +desc: disk poweroff flag +eng: "Disk Poweroff" +new: diff --git a/apps/settings.c b/apps/settings.c index 328061d..f61db32 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -104,7 +104,7 @@ offset abs 0x22 0x36 <rec. quality (bit 0-2), source (bit 3-4), frequency (bit 5-7)> 0x23 0x37 <rec. left gain (bit 0-3)> 0x24 0x38 <rec. right gain (bit 0-3)> - +0x25 0x39 <disk_spindown flag> <all unused space filled with 0xff> @@ -341,6 +341,7 @@ int settings_save( void ) ((global_settings.rec_frequency & 7) << 5)); config_block[0x23] = (unsigned char)global_settings.rec_left_gain; config_block[0x24] = (unsigned char)global_settings.rec_right_gain; + config_block[0x25] = (unsigned char)global_settings.disk_poweroff & 1; strncpy(&config_block[0xb8], global_settings.wps_file, MAX_FILENAME); strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME); @@ -593,6 +594,9 @@ void settings_load(void) if (config_block[0x24] != 0xFF) global_settings.rec_right_gain = config_block[0x24] & 0x0f; + if (config_block[0x25] != 0xFF) + global_settings.disk_poweroff = config_block[0x25] & 1; + memcpy(&global_settings.resume_first_index, &config_block[0xF4], 4); memcpy(&global_settings.resume_seed, &config_block[0xF8], 4); @@ -783,6 +787,7 @@ void settings_reset(void) { global_settings.resume_index = -1; global_settings.resume_offset = -1; global_settings.disk_spindown = 5; + global_settings.disk_poweroff = false; global_settings.browse_current = false; global_settings.play_selected = true; global_settings.peak_meter_release = 8; diff --git a/apps/settings.h b/apps/settings.h index 2622d31..69f56ec 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -111,6 +111,7 @@ struct user_settings int ff_rewind_min_step; /* FF/Rewind minimum step size */ int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */ int disk_spindown; /* time until disk spindown, in seconds (0=off) */ + bool disk_poweroff; /* whether to cut disk power after spindown or not */ int peak_meter_release; /* units per read out */ int peak_meter_hold; /* hold time for peak meter in 1/100 s */ diff --git a/apps/settings_menu.c b/apps/settings_menu.c index ed2f97e..7db91c3 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c @@ -486,6 +486,13 @@ static bool spindown(void) ata_spindown, 1, 3, 254 ); } +static bool poweroff(void) +{ + bool rc = set_bool(str(LANG_POWEROFF), &global_settings.disk_poweroff); + ata_poweroff(global_settings.disk_poweroff); + return rc; +} + static bool ff_rewind_min_step(void) { char* names[] = { "1s", "2s", "3s", "4s", @@ -642,6 +649,7 @@ static bool system_settings_menu(void) struct menu_items items[] = { { str(LANG_SPINDOWN), spindown }, + { str(LANG_POWEROFF), poweroff }, #ifdef HAVE_CHARGE_CTRL { str(LANG_DISCHARGE), deep_discharge }, #endif |