rt1052PXPを使って横向き表示を縦向き表示に回転させているのですが、ページを更新すると全体の表示が下方向にずれてしまいます。なぜこのようなことが起こるのでしょうか?
static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
ヤージュ
lv_area_t dest_area =
ヤージュ
.x1= 0、
.x2= 480 - 1、
.y1= 0、
.y2= 800 - 1、
};
lv_gpu_nxp_pxp_blit(((lv_color_t *)s_inactiveFrameBuffer), area, 800, color_p, area,480, LV_OPA_COVER, LV_DISP_ROT_270);
DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE);
ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)s_inactiveFrameBuffer);
s_framePending = true;if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE)
ヤージュ
/* 重要!!!
* グラフィックライブラリに、フラッシュの準備ができたことを通知します */
lv_disp_flush_ready(disp_drv);
}
それ以外
ヤージュ
PRINTF("ディスプレイのフラッシュに失敗しました\r\n");
assert(0);
}
}
こんにちは、 @dsd さん。
このLV_USE_GPU_NXP_PXP_AUTO_INITにより、LVGLはPXPユーザーを内部ウィジェットレンダリングに活用できますが、アプリケーションがこのPXPを並列で全画面回転に使う場合、問題を引き起こす可能性があります。しかし、それが問題の原因である可能性は低い。
初期のコードを見ると、dest_areaを使っていないか、PXPブリットのソースと宛先の両方にエリアを使っているように見えます。つまり、部分的な汚れた領域だけが意図された絶対位置ではなく、異なる絶対位置に配置されている可能性があります。