|
|
@@ -116,7 +116,7 @@ static const unsigned char fontdata_16x32[] = {
|
|
|
#define UPDATE_TEXT_WIDTH 400
|
|
|
#define UPDATE_TEXT_HEIGHT 36
|
|
|
#define PROGRESS_WIDTH 400
|
|
|
-#define PROGRESS_HEIGHT 48
|
|
|
+#define PROGRESS_HEIGHT 52
|
|
|
|
|
|
#define UPDATE_LOGO_WIDTH PROGRESS_WIDTH
|
|
|
#define UPDATE_LOGO_HEIGHT (UPDATE_TEXT_HEIGHT + PROGRESS_HEIGHT)
|
|
|
@@ -260,9 +260,17 @@ void update_progress_set(int percent)
|
|
|
(unsigned int)memstart + PROGRESS_WIDTH *PROGRESS_HEIGHT * LCD_BPP / 8);
|
|
|
|
|
|
#if LCD_ROTATE_ANGLE != LCD_ROTATE_ANGLE_0
|
|
|
+ uint32_t out_width, out_height;
|
|
|
+#if LCD_ROTATE_ANGLE == LCD_ROTATE_ANGLE_180
|
|
|
+ out_width = UPDATE_LOGO_WIDTH;
|
|
|
+ out_height = UPDATE_LOGO_HEIGHT;
|
|
|
+#else
|
|
|
+ out_width = UPDATE_LOGO_HEIGHT;
|
|
|
+ out_height = UPDATE_LOGO_WIDTH;
|
|
|
+#endif
|
|
|
pxp_scaler_rotate(logo_display_addr, 0, 0,
|
|
|
- PXP_S0_FORMAT_RGB565, UPDATE_LOGO_WIDTH, UPDATE_LOGO_HEIGHT,
|
|
|
- pxp_display_addr, 0, PXP_OUT_FORMAT_RGB565, UPDATE_LOGO_HEIGHT, UPDATE_LOGO_WIDTH, LCD_ROTATE_ANGLE);
|
|
|
+ PXP_S0_FORMAT_RGB888, UPDATE_LOGO_WIDTH, UPDATE_LOGO_HEIGHT,
|
|
|
+ pxp_display_addr, 0, PXP_OUT_FORMAT_ARGB888, out_width, out_height, LCD_ROTATE_ANGLE);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@@ -300,7 +308,7 @@ static int update_logo_init(void)
|
|
|
uint32_t out_width;
|
|
|
uint32_t out_height;
|
|
|
|
|
|
- pxp_display_addr = (uint32_t)pvPortMalloc(width * height * 2);
|
|
|
+ pxp_display_addr = (uint32_t)pvPortMalloc(width *height * LCD_BPP / 8);
|
|
|
if (pxp_display_addr == 0) {
|
|
|
printf("%s malloc fail.\n", __func__);
|
|
|
return -1;
|
|
|
@@ -320,6 +328,7 @@ static int update_logo_init(void)
|
|
|
out_width = height;
|
|
|
out_height = width;
|
|
|
#endif
|
|
|
+ ark_lcd_set_osd_format(LCD_OSD1, LCD_OSD_FORAMT_ARGB888);
|
|
|
ark_lcd_set_osd_size(LCD_OSD1, out_width, out_height);
|
|
|
pxp_scaler_rotate(logo_display_addr, 0, 0, PXP_S0_FORMAT_RGB565, width, height,
|
|
|
pxp_display_addr, 0, PXP_OUT_FORMAT_RGB565, out_width, out_height, LCD_ROTATE_ANGLE);
|
|
|
@@ -327,8 +336,9 @@ static int update_logo_init(void)
|
|
|
y = (LCD_HEIGHT - out_height) / 2;
|
|
|
x = (LCD_WIDTH - out_width) / 2;
|
|
|
#else
|
|
|
- ark_lcd_set_osd_yaddr(LCD_OSD1, logo_display_addr);
|
|
|
+ ark_lcd_set_osd_format(LCD_OSD1, LCD_OSD_FORAMT_ARGB888);
|
|
|
ark_lcd_set_osd_size(LCD_OSD1, width, height);
|
|
|
+ ark_lcd_set_osd_yaddr(LCD_OSD1, logo_display_addr);
|
|
|
x = (LCD_WIDTH - width) / 2;
|
|
|
y = (LCD_HEIGHT - height) / 2;
|
|
|
#endif
|