Просмотр исходного кода

fix:lcd硬件驱动图片显示异常

Dozingfiretruck 2 лет назад
Родитель
Сommit
80437b27b1
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      components/lcd/luat_lib_lcd.c

+ 6 - 4
components/lcd/luat_lib_lcd.c

@@ -1316,11 +1316,13 @@ static int lcd_out_func (JDEC* jd, void* bitmap, JRECT* rect){
 
     // rgb高低位swap
     uint16_t count = (rect->right - rect->left + 1) * (rect->bottom - rect->top + 1);
-    for (size_t i = 0; i < count; i++)
-    {
-      dev->buff[i] = ((tmp[i] >> 8) & 0xFF)+ ((tmp[i] << 8) & 0xFF00);
+    for (size_t i = 0; i < count; i++){
+      if (default_conf->port == LUAT_LCD_HW_ID_0)
+        dev->buff[i] = tmp[i];
+      else
+        dev->buff[i] = ((tmp[i] >> 8) & 0xFF)+ ((tmp[i] << 8) & 0xFF00);
     }
-
+    
     // LLOGD("jpeg seg %dx%d %dx%d", rect->left, rect->top, rect->right, rect->bottom);
     // LLOGD("jpeg seg size %d %d %d", rect->right - rect->left + 1, rect->bottom - rect->top + 1, (rect->right - rect->left + 1) * (rect->bottom - rect->top + 1));
     luat_lcd_draw(default_conf, dev->x + rect->left, dev->y + rect->top,