From 49fd94b2d9028df38d7e1501569eb1293872a0a0 Mon Sep 17 00:00:00 2001 From: Martin ROGER Date: Tue, 16 Sep 2025 20:24:39 +0200 Subject: [PATCH 1/2] fix(board): fixing error on inverted colors (may still need bitshifting in LVGL) @martinroger (#238) Closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/pull/238 --- CHANGELOG.md | 3 ++- .../waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f233c3f..64474f15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # ChangeLog -## v1.0.4 - 2025-07-13 +## v1.0.4 - 2025-09-19 ### Enhancements: @@ -10,6 +10,7 @@ ### Bugfixes: * fix(repo): update dependent esp-lib-utils version for Arduino +* fix(board): fixing error on inverted colors (may still need bitshifting in LVGL) @martinroger (#238) ## v1.0.3 - 2025-07-07 diff --git a/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h b/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h index 06c2e24f..f48700b2 100644 --- a/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h +++ b/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h @@ -100,7 +100,7 @@ #define ESP_PANEL_BOARD_LCD_COLOR_BITS (ESP_PANEL_LCD_COLOR_BITS_RGB565) // ESP_PANEL_LCD_COLOR_BITS_RGB565/RGB666/RGB888 #define ESP_PANEL_BOARD_LCD_COLOR_BGR_ORDER (0) // 0: RGB, 1: BGR -#define ESP_PANEL_BOARD_LCD_COLOR_INEVRT_BIT (0) // 0/1 +#define ESP_PANEL_BOARD_LCD_COLOR_INEVRT_BIT (1) // 0/1 /** * @brief LCD transformation configuration From c6b894654362759c6f1e4ed97dfc7fbd4405e4e8 Mon Sep 17 00:00:00 2001 From: gancheng <1648371663@qq.com> Date: Mon, 22 Sep 2025 17:36:09 +0800 Subject: [PATCH 2/2] fix(board): fix screen initialization code for BOARD_ESP32_S3_TOUCH_LCD_1_85 @ggc121238 (#239) Closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/pull/239 --- CHANGELOG.md | 1 + .../BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h | 188 ++++++++++++++++++ 2 files changed, 189 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64474f15..fa11504d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * fix(repo): update dependent esp-lib-utils version for Arduino * fix(board): fixing error on inverted colors (may still need bitshifting in LVGL) @martinroger (#238) +* fix(board): fix screen initialization code for BOARD_ESP32_S3_TOUCH_LCD_1_85 @ggc121238 (#239) ## v1.0.3 - 2025-07-07 diff --git a/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h b/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h index f48700b2..431fe9ed 100644 --- a/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h +++ b/src/board/supported/waveshare/BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85.h @@ -94,6 +94,194 @@ #endif // ESP_PANEL_BOARD_LCD_BUS_TYPE +#define ESP_PANEL_BOARD_LCD_VENDOR_INIT_CMD() \ + { \ + {0xF0, (uint8_t []){0x28}, 1, 0},\ + {0xF2, (uint8_t []){0x28}, 1, 0},\ + {0x73, (uint8_t []){0xF0}, 1, 0},\ + {0x7C, (uint8_t []){0xD1}, 1, 0},\ + {0x83, (uint8_t []){0xE0}, 1, 0},\ + {0x84, (uint8_t []){0x61}, 1, 0},\ + {0xF2, (uint8_t []){0x82}, 1, 0},\ + {0xF0, (uint8_t []){0x00}, 1, 0},\ + {0xF0, (uint8_t []){0x01}, 1, 0},\ + {0xF1, (uint8_t []){0x01}, 1, 0},\ + {0xB0, (uint8_t []){0x56}, 1, 0},\ + {0xB1, (uint8_t []){0x4D}, 1, 0},\ + {0xB2, (uint8_t []){0x24}, 1, 0},\ + {0xB4, (uint8_t []){0x87}, 1, 0},\ + {0xB5, (uint8_t []){0x44}, 1, 0},\ + {0xB6, (uint8_t []){0x8B}, 1, 0},\ + {0xB7, (uint8_t []){0x40}, 1, 0},\ + {0xB8, (uint8_t []){0x86}, 1, 0},\ + {0xBA, (uint8_t []){0x00}, 1, 0},\ + {0xBB, (uint8_t []){0x08}, 1, 0},\ + {0xBC, (uint8_t []){0x08}, 1, 0},\ + {0xBD, (uint8_t []){0x00}, 1, 0},\ + {0xC0, (uint8_t []){0x80}, 1, 0},\ + {0xC1, (uint8_t []){0x10}, 1, 0},\ + {0xC2, (uint8_t []){0x37}, 1, 0},\ + {0xC3, (uint8_t []){0x80}, 1, 0},\ + {0xC4, (uint8_t []){0x10}, 1, 0},\ + {0xC5, (uint8_t []){0x37}, 1, 0},\ + {0xC6, (uint8_t []){0xA9}, 1, 0},\ + {0xC7, (uint8_t []){0x41}, 1, 0},\ + {0xC8, (uint8_t []){0x01}, 1, 0},\ + {0xC9, (uint8_t []){0xA9}, 1, 0},\ + {0xCA, (uint8_t []){0x41}, 1, 0},\ + {0xCB, (uint8_t []){0x01}, 1, 0},\ + {0xD0, (uint8_t []){0x91}, 1, 0},\ + {0xD1, (uint8_t []){0x68}, 1, 0},\ + {0xD2, (uint8_t []){0x68}, 1, 0},\ + {0xF5, (uint8_t []){0x00, 0xA5}, 2, 0},\ + {0xDD, (uint8_t []){0x4F}, 1, 0},\ + {0xDE, (uint8_t []){0x4F}, 1, 0},\ + {0xF1, (uint8_t []){0x10}, 1, 0},\ + {0xF0, (uint8_t []){0x00}, 1, 0},\ + {0xF0, (uint8_t []){0x02}, 1, 0},\ + {0xE0, (uint8_t []){0xF0, 0x0A, 0x10, 0x09, 0x09, 0x36, 0x35, 0x33, 0x4A, 0x29, 0x15, 0x15, 0x2E, 0x34}, 14, 0},\ + {0xE1, (uint8_t []){0xF0, 0x0A, 0x0F, 0x08, 0x08, 0x05, 0x34, 0x33, 0x4A, 0x39, 0x15, 0x15, 0x2D, 0x33}, 14, 0},\ + {0xF0, (uint8_t []){0x10}, 1, 0},\ + {0xF3, (uint8_t []){0x10}, 1, 0},\ + {0xE0, (uint8_t []){0x07}, 1, 0},\ + {0xE1, (uint8_t []){0x00}, 1, 0},\ + {0xE2, (uint8_t []){0x00}, 1, 0},\ + {0xE3, (uint8_t []){0x00}, 1, 0},\ + {0xE4, (uint8_t []){0xE0}, 1, 0},\ + {0xE5, (uint8_t []){0x06}, 1, 0},\ + {0xE6, (uint8_t []){0x21}, 1, 0},\ + {0xE7, (uint8_t []){0x01}, 1, 0},\ + {0xE8, (uint8_t []){0x05}, 1, 0},\ + {0xE9, (uint8_t []){0x02}, 1, 0},\ + {0xEA, (uint8_t []){0xDA}, 1, 0},\ + {0xEB, (uint8_t []){0x00}, 1, 0},\ + {0xEC, (uint8_t []){0x00}, 1, 0},\ + {0xED, (uint8_t []){0x0F}, 1, 0},\ + {0xEE, (uint8_t []){0x00}, 1, 0},\ + {0xEF, (uint8_t []){0x00}, 1, 0},\ + {0xF8, (uint8_t []){0x00}, 1, 0},\ + {0xF9, (uint8_t []){0x00}, 1, 0},\ + {0xFA, (uint8_t []){0x00}, 1, 0},\ + {0xFB, (uint8_t []){0x00}, 1, 0},\ + {0xFC, (uint8_t []){0x00}, 1, 0},\ + {0xFD, (uint8_t []){0x00}, 1, 0},\ + {0xFE, (uint8_t []){0x00}, 1, 0},\ + {0xFF, (uint8_t []){0x00}, 1, 0},\ + {0x60, (uint8_t []){0x40}, 1, 0},\ + {0x61, (uint8_t []){0x04}, 1, 0},\ + {0x62, (uint8_t []){0x00}, 1, 0},\ + {0x63, (uint8_t []){0x42}, 1, 0},\ + {0x64, (uint8_t []){0xD9}, 1, 0},\ + {0x65, (uint8_t []){0x00}, 1, 0},\ + {0x66, (uint8_t []){0x00}, 1, 0},\ + {0x67, (uint8_t []){0x00}, 1, 0},\ + {0x68, (uint8_t []){0x00}, 1, 0},\ + {0x69, (uint8_t []){0x00}, 1, 0},\ + {0x6A, (uint8_t []){0x00}, 1, 0},\ + {0x6B, (uint8_t []){0x00}, 1, 0},\ + {0x70, (uint8_t []){0x40}, 1, 0},\ + {0x71, (uint8_t []){0x03}, 1, 0},\ + {0x72, (uint8_t []){0x00}, 1, 0},\ + {0x73, (uint8_t []){0x42}, 1, 0},\ + {0x74, (uint8_t []){0xD8}, 1, 0},\ + {0x75, (uint8_t []){0x00}, 1, 0},\ + {0x76, (uint8_t []){0x00}, 1, 0},\ + {0x77, (uint8_t []){0x00}, 1, 0},\ + {0x78, (uint8_t []){0x00}, 1, 0},\ + {0x79, (uint8_t []){0x00}, 1, 0},\ + {0x7A, (uint8_t []){0x00}, 1, 0},\ + {0x7B, (uint8_t []){0x00}, 1, 0},\ + {0x80, (uint8_t []){0x48}, 1, 0},\ + {0x81, (uint8_t []){0x00}, 1, 0},\ + {0x82, (uint8_t []){0x06}, 1, 0},\ + {0x83, (uint8_t []){0x02}, 1, 0},\ + {0x84, (uint8_t []){0xD6}, 1, 0},\ + {0x85, (uint8_t []){0x04}, 1, 0},\ + {0x86, (uint8_t []){0x00}, 1, 0},\ + {0x87, (uint8_t []){0x00}, 1, 0},\ + {0x88, (uint8_t []){0x48}, 1, 0},\ + {0x89, (uint8_t []){0x00}, 1, 0},\ + {0x8A, (uint8_t []){0x08}, 1, 0},\ + {0x8B, (uint8_t []){0x02}, 1, 0},\ + {0x8C, (uint8_t []){0xD8}, 1, 0},\ + {0x8D, (uint8_t []){0x04}, 1, 0},\ + {0x8E, (uint8_t []){0x00}, 1, 0},\ + {0x8F, (uint8_t []){0x00}, 1, 0},\ + {0x90, (uint8_t []){0x48}, 1, 0},\ + {0x91, (uint8_t []){0x00}, 1, 0},\ + {0x92, (uint8_t []){0x0A}, 1, 0},\ + {0x93, (uint8_t []){0x02}, 1, 0},\ + {0x94, (uint8_t []){0xDA}, 1, 0},\ + {0x95, (uint8_t []){0x04}, 1, 0},\ + {0x96, (uint8_t []){0x00}, 1, 0},\ + {0x97, (uint8_t []){0x00}, 1, 0},\ + {0x98, (uint8_t []){0x48}, 1, 0},\ + {0x99, (uint8_t []){0x00}, 1, 0},\ + {0x9A, (uint8_t []){0x0C}, 1, 0},\ + {0x9B, (uint8_t []){0x02}, 1, 0},\ + {0x9C, (uint8_t []){0xDC}, 1, 0},\ + {0x9D, (uint8_t []){0x04}, 1, 0},\ + {0x9E, (uint8_t []){0x00}, 1, 0},\ + {0x9F, (uint8_t []){0x00}, 1, 0},\ + {0xA0, (uint8_t []){0x48}, 1, 0},\ + {0xA1, (uint8_t []){0x00}, 1, 0},\ + {0xA2, (uint8_t []){0x05}, 1, 0},\ + {0xA3, (uint8_t []){0x02}, 1, 0},\ + {0xA4, (uint8_t []){0xD5}, 1, 0},\ + {0xA5, (uint8_t []){0x04}, 1, 0},\ + {0xA6, (uint8_t []){0x00}, 1, 0},\ + {0xA7, (uint8_t []){0x00}, 1, 0},\ + {0xA8, (uint8_t []){0x48}, 1, 0},\ + {0xA9, (uint8_t []){0x00}, 1, 0},\ + {0xAA, (uint8_t []){0x07}, 1, 0},\ + {0xAB, (uint8_t []){0x02}, 1, 0},\ + {0xAC, (uint8_t []){0xD7}, 1, 0},\ + {0xAD, (uint8_t []){0x04}, 1, 0},\ + {0xAE, (uint8_t []){0x00}, 1, 0},\ + {0xAF, (uint8_t []){0x00}, 1, 0},\ + {0xB0, (uint8_t []){0x48}, 1, 0},\ + {0xB1, (uint8_t []){0x00}, 1, 0},\ + {0xB2, (uint8_t []){0x09}, 1, 0},\ + {0xB3, (uint8_t []){0x02}, 1, 0},\ + {0xB4, (uint8_t []){0xD9}, 1, 0},\ + {0xB5, (uint8_t []){0x04}, 1, 0},\ + {0xB6, (uint8_t []){0x00}, 1, 0},\ + {0xB7, (uint8_t []){0x00}, 1, 0},\ + {0xB8, (uint8_t []){0x48}, 1, 0},\ + {0xB9, (uint8_t []){0x00}, 1, 0},\ + {0xBA, (uint8_t []){0x0B}, 1, 0},\ + {0xBB, (uint8_t []){0x02}, 1, 0},\ + {0xBC, (uint8_t []){0xDB}, 1, 0},\ + {0xBD, (uint8_t []){0x04}, 1, 0},\ + {0xBE, (uint8_t []){0x00}, 1, 0},\ + {0xBF, (uint8_t []){0x00}, 1, 0},\ + {0xC0, (uint8_t []){0x10}, 1, 0},\ + {0xC1, (uint8_t []){0x47}, 1, 0},\ + {0xC2, (uint8_t []){0x56}, 1, 0},\ + {0xC3, (uint8_t []){0x65}, 1, 0},\ + {0xC4, (uint8_t []){0x74}, 1, 0},\ + {0xC5, (uint8_t []){0x88}, 1, 0},\ + {0xC6, (uint8_t []){0x99}, 1, 0},\ + {0xC7, (uint8_t []){0x01}, 1, 0},\ + {0xC8, (uint8_t []){0xBB}, 1, 0},\ + {0xC9, (uint8_t []){0xAA}, 1, 0},\ + {0xD0, (uint8_t []){0x10}, 1, 0},\ + {0xD1, (uint8_t []){0x47}, 1, 0},\ + {0xD2, (uint8_t []){0x56}, 1, 0},\ + {0xD3, (uint8_t []){0x65}, 1, 0},\ + {0xD4, (uint8_t []){0x74}, 1, 0},\ + {0xD5, (uint8_t []){0x88}, 1, 0},\ + {0xD6, (uint8_t []){0x99}, 1, 0},\ + {0xD7, (uint8_t []){0x01}, 1, 0},\ + {0xD8, (uint8_t []){0xBB}, 1, 0},\ + {0xD9, (uint8_t []){0xAA}, 1, 0},\ + {0xF3, (uint8_t []){0x01}, 1, 0},\ + {0xF0, (uint8_t []){0x00}, 1, 0},\ + {0x21, (uint8_t []){0x00}, 1, 0},\ + {0x11, (uint8_t []){0x00}, 1, 120},\ + {0x29, (uint8_t []){0x00}, 1, 0},\ + } + /** * @brief LCD color configuration */