Skip to content

Commit

Permalink
Develop into 2.0.9 (#146)
Browse files Browse the repository at this point in the history
* Prepared new version 2.0.4

* Updated boards

* Updated platformio.ini

* Added extern for touch_calibration_data

* New build system for CI

* Updated PCLK_HZ

* UPdated variables for ST7789

* Update Variables GC9A01

* Updated ILI9341

* LVGL to ^8.3.9

* Typos

* DST7262 variables

* Typos and ST7701 variables

* ST7701_LINE_CONFIG

* ST7796 variables

* SPI_DMA_CHANNEL

* CST816S variables

* GT911 variables

* XPT2046 variables

* Typo

* esp_lcd_panel_io_3wire_spi_config_t

* Updated boards

* Updated boards

* BOARD_HAS_

* Update board

* rename with interfaces

* Added Interface type to boards for LCD/TOUCH

* All boards

* wip ESP32-24232s022

* Updated 2432S022C

* Updated boards
Added warning for st7789_i80

* Added 8048S070R

* Updated boards

* Do not invert colors

* Added IPS Setting

* rename, include strength

* Removed v11 version

* Added logging

* logging

* Removed touch_config flags

* Removed not required backlight set

* Added strength

* GT911, fix for non matching touch resolutions

* UPdated boards

* Updated boards

* GT911 vendorId

* updated boards

* Update board

* Boards to main

* Updated boards

* UPdate boards

* %d->%f

* Added logging for vendor config initialization

* Two decimals

* Updated boards

* Data bits are upper D8-D15

* Updated boards

* Updated boards

* Added PlatformIo badge

* Use LVGL pixel buffer size and malloc flags for json (#124)

* Updated boards

* Added spi_bus_config_t flags, intr flags and max_size

* Small changes esp3228S022

* Update version to 2.0.5

* Minor changes to st7789_i80

* BCKL to GPIO_BCKL

* Typo miso_io_num

* Changed location of tuning off the display when initializing

* Updated boards

* Updated boards

* 21-nothing-shown-on-screen-only-backlight

* Updated boards to current develop

* Do not check for information GT911

* Reenabled reading GTInfo: is required for resolution

* Attempt to read GTInfo else use defaults

* Updated boards

* Updated boards + library version

* Set PWM frtequency to 400Hz

* New xpt2046 driver

* Invert if IPS

* Removed settings for XPT2046

* Fixed typo ptr in logging
Updated boards/platformio.ini

* Work in progress GT911

* Update for gt911

* Corrected rot swap touch

* Move esp_lcd_touch to library

* Updated defines

* Updated boards

* Test for all boards

* Flags not yet!

* Added export/exclude

* Updated glob

* Updated exclude globs

* Moved touch libraries back in esp32-smartdisplay

* Updated touch

* Work in progress gc9a01

* Move addressed I2C to header

* Added logging

* Readded io_expander.c

* Disabled reading info from gt911. Seems to cause problems

* fixes

* Typo refactor

* calloc fix!

* fixed for touch

* Typo

* Fixes

* Fixes

* fixes

* fixes

* st7796

* parameter checking for touch

* Fixes

* Fixes

* fixes

* VendorConfig

* Remove cmd/cmds_size

* Fixed

* Fixes

* Test

* Update boards

* 7701

* Fixes

* fixes

* Fixes rotation

* lcd mirror conditional

* TOUCH_SWAP_XY TOUCH_MIRROR_XY

* All platforms

* Bugfix for more points than configured

* Updated MD/boards/platformio.ini

* Updated boards

* Updated boards

* Updated boards

* Updated MD

* Display rotation not working (#145)

* rotation test

* Corrected rotation

* LCD->DISPLAY

* Updated boards

* GAP_X/GAP_Y

* All boards

* Updated boards

* Update to 2.0.9
  • Loading branch information
rzeldent authored Mar 17, 2024
1 parent b04cc23 commit 6575def
Show file tree
Hide file tree
Showing 20 changed files with 161 additions and 98 deletions.
83 changes: 57 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ More information, data sheets, ordering information etc. can be found at [Sunton

Currently this library supports the following boards:

- ESP32-1732S019N/C
- ESP32-2424S012N/C
- ESP32-2432S024R/C/N
- ESP32-2432S028R
- ESP32-2432S032N/R/C
- ESP32-3248S035R/C
- ESP32-4827S043R/C
- ESP32-4848S040C_I_Y_1/3
- ESP32-8048S050N/C
- ESP32-8048S070N/C
- ESP32-4848S040C
- ESP32-1732S019 N/C
- ESP32-2424S012 N/C
- ESP32-2432S022 N/C
- ESP32-2432S024 R/C/N
- ESP32-2432S028 R ( 3 variants)
- ESP32-2432S032 N/R/C
- ESP32-3248S035 R/C
- ESP32-4827S043 R/C
- ESP32-4848S040C _I_Y_1/3
- ESP32-8048S050 N/C/R
- ESP32-8048S070 N/C/R

This library integrates seamlessly in [PlatformIO](https://platformio.org/) and supports these boards by providing display and touch and provides a jump start!

Expand Down Expand Up @@ -62,7 +62,6 @@ Get started by following the steps below. It is also highly recommended to look
This demo provides:

- User Interface created using the SquareLine Studio GUI generator.
- Sound over I2S and internal DAC
- Read the CdS (light sensor)
- Control of the LEDs
- Works for all known boards
Expand Down Expand Up @@ -200,15 +199,17 @@ Especially the definition of the LV_CONF_PATH is critical, this must point to an
build_flags =
-Ofast
-Wall
-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
#-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
#-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
#-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_INFO
# LVGL settings. Point to your lv_conf.h file
-D LV_CONF_PATH="${PROJECT_DIR}/example/lv_conf.h"
```

The line in the settings logs to the serial console but can be omitted for production builds:

```ini
-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
```

The -Wall flag can also be removed but outputs all the warnings.
Expand Down Expand Up @@ -365,8 +366,11 @@ The data returned can set in to the ```touch_calibration_data```
## Rotation of the display and touch
The library supports rotating for most of the controllers using hardware. Support for the direct 16bits parallel connection is done using software emulation (in LVGL).
Rotating the touch is also done when rotating.
The library supports rotating for most of the controllers using hardware. Support for the direct 16bits parallel connection is done using software emulation (in LVGL). Rotating the touch is done by LVGL when rotating.
From the LVGL documentation:
*The rotation values are relative to how you would rotate the physical display in the clockwise direction.
Thus, LV_DISP_ROT_90 means you rotate the hardware 90 degrees clockwise, and the display rotates 90 degrees counterclockwise to compensate.*
Rotating is done calling the ```lv_disp_set_rotation``` function in the LVGL library with the rotation:
Expand All @@ -376,7 +380,18 @@ Rotating is done calling the ```lv_disp_set_rotation``` function in the LVGL lib
```

Some boards are around that have flipped screens, this is probably due to differences during tha manufacturing or using different TFTs. It is possible to correct these boards overriding the default defines.
However if this is encountered a separate board definition is preferable.

To adjust the display and touch to the default (LV_DISP_ROT_NONE) there are 6 defines in the boards definition:

| Name | Description |
|--- |--- |
| DISPLAY_SWAP_XY | Swaps the X and Y coordinates for the display |
| DISPLAY_MIRROR_X | Mirrors the X coordinate for the display |
| DISPLAY_MIRROR_Y | Mirrors the Y coordinate for the display |
| TOUCH_SWAP_XY | Swaps the X and Y coordinates for the touch |
| TOUCH_MIRROR_X | Mirrors the X coordinate for the touch |
| TOUCH_MIRROR_Y | Mirrors the Y coordinate for the touch |


## Appendix: Template to support ALL the boards

Expand All @@ -391,11 +406,14 @@ The platformio.ini file below supports all the boards. This is useful when runni
#default_envs = esp32-1732S019N
#default_envs = esp32-2424S012C
#default_envs = esp32-2424S012N
#default_envs = esp32-2432S022N
#default_envs = esp32-2432S022C
#default_envs = esp32-2432S024C
#default_envs = esp32-2432S024N
#default_envs = esp32-2432S024R
#default_envs = esp32-2432S028R
#default_envs = esp32-2432S028Rv2
#default_envs = esp32-2432S028Rv3
#default_envs = esp32-2432S032C
#default_envs = esp32-2432S032N
#default_envs = esp32-2432S032R
Expand All @@ -404,8 +422,8 @@ The platformio.ini file below supports all the boards. This is useful when runni
#default_envs = esp32-4827S043C
#default_envs = esp32-4827S043N
#default_envs = esp32-4827S043R
#default_envs = esp32-4848S040C_I_Y_1
#default_envs = esp32-4848S040C_I_Y_2
#default_envs = esp32-4848S040CIY1
#default_envs = esp32-4848S040CIY3
#default_envs = esp32-8048S043C
#default_envs = esp32-8048S043N
#default_envs = esp32-8048S043R
Expand All @@ -414,6 +432,7 @@ The platformio.ini file below supports all the boards. This is useful when runni
#default_envs = esp32-8048S050R
#default_envs = esp32-8048S070C
#default_envs = esp32-8048S070N
#default_envs = esp32-8048S070R

[env]
platform = espressif32
Expand Down Expand Up @@ -449,6 +468,12 @@ board = esp32-2424S012C
[env:esp32-2424S012N]
board = esp32-2424S012N

[env:esp32-2432S022N]
board = esp32-2432S022N

[env:esp32-2432S022C]
board = esp32-2432S022C

[env:esp32-2432S024C]
board = esp32-2432S024C

Expand All @@ -464,6 +489,9 @@ board = esp32-2432S028R
[env:esp32-2432S028Rv2]
board = esp32-2432S028Rv2

[env:esp32-2432S028Rv3]
board = esp32-2432S028Rv3

[env:esp32-2432S032C]
board = esp32-2432S032C

Expand All @@ -482,17 +510,17 @@ board = esp32-3248S035R
[env:esp32-4827S043C]
board = esp32-4827S043C

[env:esp32-4827S043N]
board = esp32-4827S043N

[env:esp32-4827S043R]
board = esp32-4827S043R

[env:esp32-4848S040C_I_Y_1]
board = esp32-8048S043C_I_Y_1
[env:esp32-4827S043N]
board = esp32-4827S043N

[env:esp32-4848S040CIY1]
board = esp32-4848S040CIY1

[env:esp32-4848S040C_I_Y_3]
board = esp32-8048S043C_I_Y_3
[env:esp32-4848S040CIY3]
board = esp32-4848S040CIY3

[env:esp32-8048S043C]
board = esp32-8048S043C
Expand All @@ -517,6 +545,9 @@ board = esp32-8048S070C

[env:esp32-8048S070N]
board = esp32-8048S070N

[env:esp32-8048S070R]
board = esp32-8048S070R
```

## Appendix: External dependencies
Expand Down
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/schema/library.json",
"name": "esp32_smartdisplay",
"version": "2.0.8",
"version": "2.0.9",
"description": "LVGL driver for Sunton ESP32 Cheap Yellow Display display boards",
"keywords": "LVGL Sunton CYD LCD TFT Touch",
"repository": {
Expand Down
42 changes: 37 additions & 5 deletions src/esp32_smartdisplay.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <esp32_smartdisplay.h>
#include <esp_lcd_panel_ops.h>

#ifdef BOARD_HAS_TOUCH
#include <esp_lcd_touch.h>
Expand Down Expand Up @@ -136,17 +137,46 @@ touch_calibration_data_t smartdisplay_compute_touch_calibration(const lv_point_t
};
#endif

// Called when driver parameters are updated (rotation)
// Top of the display is top left when connector is at the bottom
// The rotation values are relative to how you would rotate the physical display in the clockwise direction.
// Thus, LV_DISP_ROT_90 means you rotate the hardware 90 degrees clockwise, and the display rotates 90 degrees counterclockwise to compensate.
void lvgl_update_callback(lv_disp_drv_t *drv)
{
if (drv->sw_rotate == false)
{
const esp_lcd_panel_handle_t panel_handle = disp_drv.user_data;
switch (drv->rotated)
{
case LV_DISP_ROT_NONE:
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, DISPLAY_SWAP_XY));
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y));
break;
case LV_DISP_ROT_90:
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, !DISPLAY_SWAP_XY));
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, DISPLAY_MIRROR_X, !DISPLAY_MIRROR_Y));
break;
case LV_DISP_ROT_180:
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, DISPLAY_SWAP_XY));
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, !DISPLAY_MIRROR_X, !DISPLAY_MIRROR_Y));
break;
case LV_DISP_ROT_270:
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, !DISPLAY_SWAP_XY));
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, !DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y));
break;
}
}
}

void smartdisplay_init()
{
log_d("smartdisplay_init");
#ifdef BOARD_HAS_RGB_LED
// Setup RGB LED. High is off
pinMode(RGB_LED_R, OUTPUT);
digitalWrite(RGB_LED_R, true);
pinMode(RGB_LED_G, OUTPUT);
digitalWrite(RGB_LED_G, true);
pinMode(RGB_LED_B, OUTPUT);
digitalWrite(RGB_LED_B, true);
smartdisplay_led_set_rgb(false, false, false);
#endif

#ifdef BOARD_HAS_CDS
Expand Down Expand Up @@ -177,12 +207,14 @@ void smartdisplay_init()
#endif
// Setup TFT display
lv_disp_drv_init(&disp_drv);
disp_drv.hor_res = LCD_WIDTH;
disp_drv.ver_res = LCD_HEIGHT;
disp_drv.hor_res = DISPLAY_WIDTH;
disp_drv.ver_res = DISPLAY_HEIGHT;
// Create drawBuffer
disp_drv.draw_buf = (lv_disp_draw_buf_t *)malloc(sizeof(lv_disp_draw_buf_t));
void *drawBuffer = heap_caps_malloc(sizeof(lv_color_t) * LVGL_BUFFER_PIXELS, LVGL_BUFFER_MALLOC_FLAGS);
lv_disp_draw_buf_init(disp_drv.draw_buf, drawBuffer, NULL, LVGL_BUFFER_PIXELS);
// Register callback for changes to the driver parameters (rotation!)
disp_drv.drv_update_cb = lvgl_update_callback;
// Initialize specific driver
lvgl_lcd_init(&disp_drv);
__attribute__((unused)) lv_disp_t *display = lv_disp_drv_register(&disp_drv);
Expand Down
2 changes: 1 addition & 1 deletion src/esp_io_expander.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ST7701_PAR
#ifdef DISPLAY_ST7701_PAR

/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
Expand Down
2 changes: 1 addition & 1 deletion src/esp_lcd_panel_io_3wire_spi.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ST7701_PAR
#ifdef DISPLAY_ST7701_PAR

/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
Expand Down
2 changes: 1 addition & 1 deletion src/esp_panel_gc9a01.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_GC9A01_SPI
#ifdef DISPLAY_GC9A01_SPI

#include <esp_panel_gc9a01.h>
#include <esp32-hal-log.h>
Expand Down
2 changes: 1 addition & 1 deletion src/esp_panel_ili9341.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ILI9341_SPI
#ifdef DISPLAY_ILI9341_SPI

#include <esp_panel_ili9341.h>
#include <esp32-hal-log.h>
Expand Down
2 changes: 1 addition & 1 deletion src/esp_panel_st7701.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ST7701_PAR
#ifdef DISPLAY_ST7701_PAR

#include <esp_panel_st7701.h>
#include <esp32-hal-log.h>
Expand Down
2 changes: 1 addition & 1 deletion src/esp_panel_st7796.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ST7796_SPI
#ifdef DISPLAY_ST7796_SPI

#include <esp_panel_st7796.h>
#include <esp32-hal-log.h>
Expand Down
16 changes: 8 additions & 8 deletions src/lvgl_panel_gc9a01_spi.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_GC9A01_SPI
#ifdef DISPLAY_GC9A01_SPI

#include <esp32_smartdisplay.h>
#include <esp_panel_gc9a01.h>
Expand Down Expand Up @@ -84,18 +84,18 @@ void lvgl_lcd_init(lv_disp_drv_t *drv)
ESP_ERROR_CHECK(esp_lcd_new_panel_gc9a01(io_handle, &panel_dev_config, &panel_handle));
ESP_ERROR_CHECK(esp_lcd_panel_reset(panel_handle));
ESP_ERROR_CHECK(esp_lcd_panel_init(panel_handle));
#ifdef LCD_IPS
#ifdef DISPLAY_IPS
// If LCD is IPS invert the colors
ESP_ERROR_CHECK(esp_lcd_panel_invert_color(panel_handle, true));
#endif
#ifdef LCD_SWAP_XY
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, LCD_SWAP_XY));
#ifdef DISPLAY_SWAP_XY
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, DISPLAY_SWAP_XY));
#endif
#if defined(LCD_MIRROR_X) || defined(LCD_MIRROR_Y)
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, LCD_MIRROR_X, LCD_MIRROR_Y));
#if defined(DISPLAY_MIRROR_X) || defined(DISPLAY_MIRROR_Y)
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y));
#endif
#if defined(LCD_GAP_X) || defined(LCD_GAP_Y)
ESP_ERROR_CHECK(esp_lcd_panel_set_gap(panel_handle, LCD_GAP_X, LCD_GAP_Y));
#if defined(DISPLAY_GAP_X) || defined(DISPLAY_GAP_Y)
ESP_ERROR_CHECK(esp_lcd_panel_set_gap(panel_handle, DISPLAY_GAP_X, DISPLAY_GAP_Y));
#endif
// Turn display on
ESP_ERROR_CHECK(esp_lcd_panel_disp_on_off(panel_handle, true));
Expand Down
16 changes: 8 additions & 8 deletions src/lvgl_panel_ili9341_spi.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ILI9341_SPI
#ifdef DISPLAY_ILI9341_SPI

#include <esp32_smartdisplay.h>
#include <esp_panel_ili9341.h>
Expand Down Expand Up @@ -80,18 +80,18 @@ void lvgl_lcd_init(lv_disp_drv_t *drv)
ESP_ERROR_CHECK(esp_lcd_new_panel_ili9341(io_handle, &panel_dev_config, &panel_handle));
ESP_ERROR_CHECK(esp_lcd_panel_reset(panel_handle));
ESP_ERROR_CHECK(esp_lcd_panel_init(panel_handle));
#ifdef LCD_IPS
#ifdef DISPLAY_IPS
// If LCD is IPS invert the colors
ESP_ERROR_CHECK(esp_lcd_panel_invert_color(panel_handle, true));
#endif
#ifdef LCD_SWAP_XY
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, LCD_SWAP_XY));
#ifdef DISPLAY_SWAP_XY
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, DISPLAY_SWAP_XY));
#endif
#if defined(LCD_MIRROR_X) || defined(LCD_MIRROR_Y)
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, LCD_MIRROR_X, LCD_MIRROR_Y));
#if defined(DISPLAY_MIRROR_X) || defined(DISPLAY_MIRROR_Y)
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y));
#endif
#if defined(LCD_GAP_X) || defined(LCD_GAP_Y)
ESP_ERROR_CHECK(esp_lcd_panel_set_gap(panel_handle, LCD_GAP_X, LCD_GAP_Y));
#if defined(DISPLAY_GAP_X) || defined(DISPLAY_GAP_Y)
ESP_ERROR_CHECK(esp_lcd_panel_set_gap(panel_handle, DISPLAY_GAP_X, DISPLAY_GAP_Y));
#endif
// Turn display on
ESP_ERROR_CHECK(esp_lcd_panel_disp_on_off(panel_handle, true));
Expand Down
16 changes: 8 additions & 8 deletions src/lvgl_panel_st7262_par.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef LCD_ST7262_PAR
#ifdef DISPLAY_ST7262_PAR

#include <esp32_smartdisplay.h>
#include <esp_lcd_panel_rgb.h>
Expand Down Expand Up @@ -68,18 +68,18 @@ void lvgl_lcd_init(lv_disp_drv_t *drv)
ESP_ERROR_CHECK(esp_lcd_new_rgb_panel(&rgb_panel_config, &panel_handle));
ESP_ERROR_CHECK(esp_lcd_panel_reset(panel_handle));
ESP_ERROR_CHECK(esp_lcd_panel_init(panel_handle));
#ifdef LCD_IPS
#ifdef DISPLAY_IPS
// If LCD is IPS invert the colors
ESP_ERROR_CHECK(esp_lcd_panel_invert_color(panel_handle, true));
#endif
#ifdef LCD_SWAP_XY
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, LCD_SWAP_XY));
#ifdef DISPLAY_SWAP_XY
ESP_ERROR_CHECK(esp_lcd_panel_swap_xy(panel_handle, DISPLAY_SWAP_XY));
#endif
#if defined(LCD_MIRROR_X) || defined(LCD_MIRROR_Y)
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, LCD_MIRROR_X, LCD_MIRROR_Y));
#if defined(DISPLAY_MIRROR_X) || defined(DISPLAY_MIRROR_Y)
ESP_ERROR_CHECK(esp_lcd_panel_mirror(panel_handle, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y));
#endif
#if defined(LCD_GAP_X) || defined(LCD_GAP_Y)
ESP_ERROR_CHECK(esp_lcd_panel_set_gap(panel_handle, LCD_GAP_X, LCD_GAP_Y));
#if defined(DISPLAY_GAP_X) || defined(DISPLAY_GAP_Y)
ESP_ERROR_CHECK(esp_lcd_panel_set_gap(panel_handle, DISPLAY_GAP_X, DISPLAY_GAP_Y));
#endif

drv->user_data = panel_handle;
Expand Down
Loading

0 comments on commit 6575def

Please sign in to comment.