diff --git a/firmware/target/arm/rk27xx/lcd-hifiman.c b/firmware/target/arm/rk27xx/lcd-hifiman.c index d98ed5a..2b41030 100644 --- a/firmware/target/arm/rk27xx/lcd-hifiman.c +++ b/firmware/target/arm/rk27xx/lcd-hifiman.c @@ -112,6 +112,7 @@ void lcd_init_device(void) { lcdif_init(LCDIF_16BIT); lcd_display_init(); + memset(&LCD_BUFF, 0x00, 2048*4); } void lcd_enable (bool on) @@ -153,22 +154,72 @@ bool lcd_active() return display_on; } - +int k = 0; void lcd_update_rect(int x, int y, int width, int height) { - int px = x, py = y; + int px = x, py = y,offs=0; int pxmax = x + width, pymax = y + height; - - lcd_write_reg(0x03, y); - lcd_write_reg(0x05, pymax-1); - lcd_write_reg(0x07, x); - lcd_write_reg(0x09, pxmax-1); + lcdctrl_bypass(1); + lcd_write_reg(0x02, 0x00); + lcd_write_reg(0x03, 0x00); + lcd_write_reg(0x04, 0x00); + lcd_write_reg(0x05, LCD_HEIGHT - 1); + lcd_write_reg(0x06, 0x00); + lcd_write_reg(0x07, 0x00); + lcd_write_reg(0x08, 0x00); + lcd_write_reg(0x09, LCD_WIDTH - 1); lcd_cmd(0x22); - for (px=x; px