11B工程如何修改刷屏为整屏方式刷新
0赞[DESCRIPTION]
11B工程如何修改刷屏为整屏方式刷新
[SOLUTION]
Chip:MT6250 and MT6260
1.hal\display\wfd\src\wfd_lcd_common.c 請找到這隻檔案.
裏面有個函式__wfd_lcd_Blt
請找到如下code
LCD_SET_ROI_OFFSET((pPortCfg->roiDestRectangle[RECT_OFFSETX] + WFD_LCD_ROI_ORIGIN_X),
(pPortCfg->roiDestRectangle[RECT_OFFSETY] + WFD_LCD_ROI_ORIGIN_Y));
LCD_SET_ROI_SIZE((pPortCfg->roiDestRectangle[RECT_WIDTH]),
(pPortCfg->roiDestRectangle[RECT_HEIGHT]));
請改為
LCD_SET_ROI_OFFSET(WFD_LCD_ROI_ORIGIN_X,
WFD_LCD_ROI_ORIGIN_Y);
LCD_SET_ROI_SIZE(LCD_WIDTH,
LCD_HEIGHT);
請在同個函式裏找到下面這段Code.半导体
port->portFuncTable->BlockWrite(
pPortCfg->partialRefreshRectangle[RECT_OFFSETX],
pPortCfg->partialRefreshRectangle[RECT_OFFSETY],
pPortCfg->partialRefreshRectangle[RECT_OFFSETX] + pPortCfg-
>partialRefreshRectangle[RECT_WIDTH] - 1,
pPortCfg->partialRefreshRectangle[RECT_OFFSETY] + pPortCfg-
>partialRefreshRectangle[RECT_HEIGHT] - 1);
請改為
port->portFuncTable->BlockWrite(
0,
0,
LCD_WIDTH - 1,
LCD_HEIGHT - 1);
Please m r drv_display
注意事項:改成全屏刷屏,當然會對系統造成影響,
The Other chip(其他Chip):
在__wfd_lcd_Blt()中修改:
if(port->screenNumber == 1/* SUB LCD*/)
{
LCD_SET_ROI_OFFSET((pPortCfg->roiDestRectangle[RECT_OFFSETX] + WFD_LCD_ROI_ORIGIN_X-pPortCfg-
>partialRefreshRectangle[RECT_OFFSETX]),
(pPortCfg->roiDestRectangle[RECT_OFFSETY] + WFD_LCD_ROI_ORIGIN_Y-pPortCfg-
>partialRefreshRectangle[RECT_OFFSETY]));
LCD_SET_ROI_SIZE((SUBLCD_WIDTH),
(SUBLCD_HEIGHT));
}else{
LCD_SET_ROI_OFFSET((pPortCfg->roiDestRectangle[RECT_OFFSETX] + WFD_LCD_ROI_ORIGIN_X),
(pPortCfg->roiDestRectangle[RECT_OFFSETY] + WFD_LCD_ROI_ORIGIN_Y));
LCD_SET_ROI_SIZE((pPortCfg->roiDestRectangle[RECT_WIDTH]),
(pPortCfg->roiDestRectangle[RECT_HEIGHT]));
}
