diff options
author | Jens Arnold <amiconn@rockbox.org> | 2008-03-24 01:03:02 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2008-03-24 01:03:02 +0000 |
commit | 395b785a79c77f65fa1ddaa76bf0bb13267195da (patch) | |
tree | d19ea0e224b5e3523cd017cbb8591f604e88e880 /apps/plugins | |
parent | b88c7d076db8b61ba57ecbe4e2db26e870538536 (diff) | |
download | rockbox-395b785a79c77f65fa1ddaa76bf0bb13267195da.tar.gz rockbox-395b785a79c77f65fa1ddaa76bf0bb13267195da.zip |
The iAudio remote LCD internal scan direction is horizontal. Make test_scanrate usable on the M3 by adjusting to that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16778 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/test_scanrate.c | 63 |
1 files changed, 40 insertions, 23 deletions
diff --git a/apps/plugins/test_scanrate.c b/apps/plugins/test_scanrate.c index e6ed1aa084..63ab97d89d 100644 --- a/apps/plugins/test_scanrate.c +++ b/apps/plugins/test_scanrate.c | |||
@@ -55,16 +55,6 @@ PLUGIN_HEADER | |||
55 | 55 | ||
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | #if LCD_PIXELFORMAT == HORIZONTAL_PACKING | ||
59 | #define BUF_WIDTH ((LCD_WIDTH+7)/8/4) | ||
60 | #define BUF_HEIGHT LCD_HEIGHT | ||
61 | #define TEXT_X (BUF_WIDTH*8) | ||
62 | #else | ||
63 | #define BUF_WIDTH (LCD_WIDTH/4) | ||
64 | #define BUF_HEIGHT (LCD_HEIGHT/8) | ||
65 | #define TEXT_X BUF_WIDTH | ||
66 | #endif | ||
67 | |||
68 | /* Default refresh rates in 1/10 Hz */ | 58 | /* Default refresh rates in 1/10 Hz */ |
69 | #if CONFIG_LCD == LCD_SSD1815 | 59 | #if CONFIG_LCD == LCD_SSD1815 |
70 | #define DEFAULT_SCAN_RATE 670 | 60 | #define DEFAULT_SCAN_RATE 670 |
@@ -74,11 +64,39 @@ PLUGIN_HEADER | |||
74 | #define DEFAULT_SCAN_RATE 800 | 64 | #define DEFAULT_SCAN_RATE 800 |
75 | #elif CONFIG_LCD == LCD_IPODMINI | 65 | #elif CONFIG_LCD == LCD_IPODMINI |
76 | #define DEFAULT_SCAN_RATE 880 | 66 | #define DEFAULT_SCAN_RATE 880 |
67 | #elif CONFIG_LCD == LCD_TL0350A | ||
68 | #define DEFAULT_SCAN_RATE 1480 | ||
69 | #define HORIZ_SCAN /* LCD controller updates the panel sideways */ | ||
70 | #define NEED_BOOST | ||
77 | #else | 71 | #else |
78 | #define DEFAULT_SCAN_RATE 700 | 72 | #define DEFAULT_SCAN_RATE 700 |
79 | #warning Generic default scanrate | 73 | #warning Generic default scanrate |
80 | #endif | 74 | #endif |
81 | 75 | ||
76 | #ifdef HORIZ_SCAN | ||
77 | #define TEXT_X 0 | ||
78 | #if LCD_PIXELFORMAT == HORIZONTAL_PACKING | ||
79 | #define BUF_WIDTH ((LCD_WIDTH+7)/8) | ||
80 | #define BUF_HEIGHT (LCD_HEIGHT/4) | ||
81 | #define TEXT_Y BUF_HEIGHT | ||
82 | #else | ||
83 | #define BUF_WIDTH (LCD_WIDTH) | ||
84 | #define BUF_HEIGHT (LCD_HEIGHT/8/4) | ||
85 | #define TEXT_Y (BUF_HEIGHT*8) | ||
86 | #endif | ||
87 | #else /* !HORIZ_SCAN */ | ||
88 | #define TEXT_Y 0 | ||
89 | #if LCD_PIXELFORMAT == HORIZONTAL_PACKING | ||
90 | #define BUF_WIDTH ((LCD_WIDTH+7)/8/4) | ||
91 | #define BUF_HEIGHT LCD_HEIGHT | ||
92 | #define TEXT_X (BUF_WIDTH*8) | ||
93 | #else | ||
94 | #define BUF_WIDTH (LCD_WIDTH/4) | ||
95 | #define BUF_HEIGHT (LCD_HEIGHT/8) | ||
96 | #define TEXT_X BUF_WIDTH | ||
97 | #endif | ||
98 | #endif /* !HORIZ_SCAN */ | ||
99 | |||
82 | #if defined(CPU_PP) && defined(HAVE_ADJUSTABLE_CPU_FREQ) | 100 | #if defined(CPU_PP) && defined(HAVE_ADJUSTABLE_CPU_FREQ) |
83 | #define NEED_BOOST | 101 | #define NEED_BOOST |
84 | #endif | 102 | #endif |
@@ -91,11 +109,11 @@ static bool need_refresh = false; | |||
91 | 109 | ||
92 | static void timer_isr(void) | 110 | static void timer_isr(void) |
93 | { | 111 | { |
94 | rb->lcd_blit(bitbuffer[curbuf][0], 0, 0, BUF_WIDTH, BUF_HEIGHT, BUF_WIDTH); | 112 | rb->lcd_blit_mono(bitbuffer[curbuf][0], 0, 0, BUF_WIDTH, BUF_HEIGHT, BUF_WIDTH); |
95 | curbuf = (curbuf + 1) & 1; | 113 | curbuf = (curbuf + 1) & 1; |
96 | if (need_refresh) | 114 | if (need_refresh) |
97 | { | 115 | { |
98 | rb->lcd_update_rect(TEXT_X, 0, LCD_WIDTH-TEXT_X, 8); | 116 | rb->lcd_update_rect(TEXT_X, TEXT_Y, LCD_WIDTH-TEXT_X, 8); |
99 | need_refresh = false; | 117 | need_refresh = false; |
100 | } | 118 | } |
101 | } | 119 | } |
@@ -109,17 +127,16 @@ int plugin_main(void) | |||
109 | 127 | ||
110 | rb->lcd_setfont(FONT_SYSFIXED); | 128 | rb->lcd_setfont(FONT_SYSFIXED); |
111 | 129 | ||
112 | rb->lcd_putsxy(TEXT_X, 12, "Adjust Frequ."); | 130 | rb->lcd_putsxy(TEXT_X, TEXT_Y+12, "Adjust Frequ."); |
113 | rb->lcd_putsxy(TEXT_X, 20, "so the block"); | 131 | rb->lcd_putsxy(TEXT_X, TEXT_Y+20, "so the block"); |
114 | rb->lcd_putsxy(TEXT_X, 28, "stops moving."); | 132 | rb->lcd_putsxy(TEXT_X, TEXT_Y+28, "stops moving."); |
115 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == ONDIO_PAD) \ | 133 | #if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ |
116 | || (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) | 134 | || (CONFIG_KEYPAD == IPOD_1G2G_PAD) |
117 | rb->lcd_putsxy(TEXT_X, 40, "U/D: Coarse"); | 135 | rb->lcd_putsxy(TEXT_X, TEXT_Y+40, "Scroll: Coarse"); |
118 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ | 136 | #else |
119 | || (CONFIG_KEYPAD == IPOD_1G2G_PAD) | 137 | rb->lcd_putsxy(TEXT_X, TEXT_Y+40, "U/D: Coarse"); |
120 | rb->lcd_putsxy(TEXT_X, 40, "Scroll: Coarse"); | ||
121 | #endif | 138 | #endif |
122 | rb->lcd_putsxy(TEXT_X, 48, "L/R: Fine"); | 139 | rb->lcd_putsxy(TEXT_X, TEXT_Y+48, "L/R: Fine"); |
123 | rb->lcd_update(); | 140 | rb->lcd_update(); |
124 | 141 | ||
125 | rb->memset(bitbuffer[0], 0, sizeof(bitbuffer[0])); | 142 | rb->memset(bitbuffer[0], 0, sizeof(bitbuffer[0])); |
@@ -138,7 +155,7 @@ int plugin_main(void) | |||
138 | rb->timer_set_period(TIMER_FREQ * 5 / scan_rate); | 155 | rb->timer_set_period(TIMER_FREQ * 5 / scan_rate); |
139 | rb->snprintf(buf, sizeof(buf), "f: %d.%d Hz", scan_rate / 10, | 156 | rb->snprintf(buf, sizeof(buf), "f: %d.%d Hz", scan_rate / 10, |
140 | scan_rate % 10); | 157 | scan_rate % 10); |
141 | rb->lcd_putsxy(TEXT_X, 0, buf); | 158 | rb->lcd_putsxy(TEXT_X, TEXT_Y, buf); |
142 | need_refresh = true; | 159 | need_refresh = true; |
143 | change = false; | 160 | change = false; |
144 | } | 161 | } |