Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+40 -23
+40 -23
apps/plugins/test_scanrate.c
··· 55 55 56 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 58 /* Default refresh rates in 1/10 Hz */ 69 59 #if CONFIG_LCD == LCD_SSD1815 70 60 #define DEFAULT_SCAN_RATE 670 ··· 74 64 #define DEFAULT_SCAN_RATE 800 75 65 #elif CONFIG_LCD == LCD_IPODMINI 76 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 71 #else 78 72 #define DEFAULT_SCAN_RATE 700 79 73 #warning Generic default scanrate 80 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 100 #if defined(CPU_PP) && defined(HAVE_ADJUSTABLE_CPU_FREQ) 83 101 #define NEED_BOOST 84 102 #endif ··· 91 109 92 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 113 curbuf = (curbuf + 1) & 1; 96 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 117 need_refresh = false; 100 118 } 101 119 } ··· 109 127 110 128 rb->lcd_setfont(FONT_SYSFIXED); 111 129 112 - rb->lcd_putsxy(TEXT_X, 12, "Adjust Frequ."); 113 - rb->lcd_putsxy(TEXT_X, 20, "so the block"); 114 - rb->lcd_putsxy(TEXT_X, 28, "stops moving."); 115 - #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == ONDIO_PAD) \ 116 - || (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) 117 - rb->lcd_putsxy(TEXT_X, 40, "U/D: Coarse"); 118 - #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 119 - || (CONFIG_KEYPAD == IPOD_1G2G_PAD) 120 - rb->lcd_putsxy(TEXT_X, 40, "Scroll: Coarse"); 130 + rb->lcd_putsxy(TEXT_X, TEXT_Y+12, "Adjust Frequ."); 131 + rb->lcd_putsxy(TEXT_X, TEXT_Y+20, "so the block"); 132 + rb->lcd_putsxy(TEXT_X, TEXT_Y+28, "stops moving."); 133 + #if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 134 + || (CONFIG_KEYPAD == IPOD_1G2G_PAD) 135 + rb->lcd_putsxy(TEXT_X, TEXT_Y+40, "Scroll: Coarse"); 136 + #else 137 + rb->lcd_putsxy(TEXT_X, TEXT_Y+40, "U/D: Coarse"); 121 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 140 rb->lcd_update(); 124 141 125 142 rb->memset(bitbuffer[0], 0, sizeof(bitbuffer[0])); ··· 138 155 rb->timer_set_period(TIMER_FREQ * 5 / scan_rate); 139 156 rb->snprintf(buf, sizeof(buf), "f: %d.%d Hz", scan_rate / 10, 140 157 scan_rate % 10); 141 - rb->lcd_putsxy(TEXT_X, 0, buf); 158 + rb->lcd_putsxy(TEXT_X, TEXT_Y, buf); 142 159 need_refresh = true; 143 160 change = false; 144 161 }