diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2004-10-15 20:30:29 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2004-10-15 20:30:29 +0000 |
| commit | 566eae2e119f3c57b1df0782ddcc29fccedbf816 (patch) | |
| tree | fc8cced8cd199734b2185a20efdfd2ebbcce41bb /firmware/drivers/lcd-recorder.c | |
| parent | 672305f0a1fe8e423904f95d5cb22aea68ff4c62 (diff) | |
| download | rockbox-566eae2e119f3c57b1df0782ddcc29fccedbf816.zip rockbox-566eae2e119f3c57b1df0782ddcc29fccedbf816.tar.gz rockbox-566eae2e119f3c57b1df0782ddcc29fccedbf816.tar.bz2 rockbox-566eae2e119f3c57b1df0782ddcc29fccedbf816.tar.xz | |
Logarithmic scroll speed setting: speed doubles every 3 steps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5288 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/lcd-recorder.c')
| -rw-r--r-- | firmware/drivers/lcd-recorder.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c index a711a8f..8f8e9f9 100644 --- a/firmware/drivers/lcd-recorder.c +++ b/firmware/drivers/lcd-recorder.c @@ -94,7 +94,7 @@ static volatile int scrolling_lines=0; /* Bitpattern of which lines are scrollin static void scroll_thread(void); static char scroll_stack[DEFAULT_STACK_SIZE]; static const char scroll_name[] = "scroll"; -static char scroll_speed = 8; /* updates per second */ +static char scroll_ticks = 12; /* # of ticks between updates*/ static int scroll_delay = HZ/2; /* ticks delay before start */ static char scroll_step = 6; /* pixels per scroll step */ static int bidir_limit = 50; /* percent */ @@ -856,9 +856,15 @@ void lcd_stop_scroll(void) scrolling_lines=0; } +static const char scroll_tick_table[16] = { + /* Hz values: + 1, 1.25, 1.55, 2, 2.5, 3.12, 4, 5, 6.25, 8.33, 10, 12.5, 16.7, 20, 25, 33 */ + 100, 80, 64, 50, 40, 32, 25, 20, 16, 12, 10, 8, 6, 5, 4, 3 +}; + void lcd_scroll_speed(int speed) { - scroll_speed = speed; + scroll_ticks = scroll_tick_table[speed]; } void lcd_scroll_step(int step) @@ -933,7 +939,7 @@ static void scroll_thread(void) lcd_update_rect(xpos, ypos, LCD_WIDTH - xpos, pf->height); } - sleep(HZ/scroll_speed); + sleep(scroll_ticks); } } |