-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Closed as not planned
Labels
Resolution: WontfixArduino ESP32 team will not fix the issueArduino ESP32 team will not fix the issueType: QuestionOnly questionOnly question
Description
Board
ESP32S3 Dev Module
Device Description
ESP32-4848S040
Driver: ST7701
Hardware Configuration
4 inch display with capacitive touch
Version
latest development Release Candidate (RC-X)
IDE Name
Arduino IDE 2.3.2
Operating System
Win10
Flash frequency
80Hz
PSRAM enabled
yes
Upload speed
921600
Description
I am trying to run ESP32-4848S040 display with the latest 3.0.0-rc3, but I keep getting the same error.
I am using Arduino_GFX_Library.
If I use the latest release (2.0.16), the issue is gone, but I don't like changing between versions all the time.
Sketch
#include <Arduino_GFX_Library.h>
#include "lv_test.h"
#define GFX_BL 38
Arduino_DataBus *bus = new Arduino_SWSPI(
GFX_NOT_DEFINED /* DC */, 39 /* CS */, 48 /* SCK */, 47 /* MOSI */, GFX_NOT_DEFINED /* MISO */);
// Uncomment for 4" rect display
Arduino_ESP32RGBPanel *rgbpanel = new Arduino_ESP32RGBPanel(
18 /* DE */, 17 /* VSYNC */, 16 /* HSYNC */, 21 /* PCLK */,
/*R*/ 11 /* R0 */, 12 /* R1 */, 13 /* R2 */, 14 /* R3 */, 0 /* R4 */,
/*G*/ 8 /* G0 */, 20 /* G1 */, 3 /* G2 */, 46 /* G3 */, 9 /* G4 */, 10 /* G5 */,
/*B*/ 4 /* B0 */, 5 /* B1 */, 6 /* B2 */, 7 /* B3 */, 15 /* B4 */,
1 /* hsync_polarity */, 10 /* hsync_front_porch */, 8 /* hsync_pulse_width */, 50 /* hsync_back_porch */,
1 /* vsync_polarity */, 10 /* vsync_front_porch */, 8 /* vsync_pulse_width */, 20 /* vsync_back_porch */);
Arduino_RGB_Display *gfx = new Arduino_RGB_Display(
480 /* width */, 480 /* height */, rgbpanel, 0 /* rotation */, true /* auto_flush */,
bus, GFX_NOT_DEFINED /* RST */, st7701_type8_init_operations, sizeof(st7701_type8_init_operations));
/*******************************************************************************
* Please config the touch panel in touch.h
******************************************************************************/
#include "touch.h"
/* Change to your screen resolution */
static uint32_t screenWidth;
static uint32_t screenHeight;
static lv_disp_draw_buf_t draw_buf;
static lv_color_t *disp_draw_buf;
static lv_disp_drv_t disp_drv;
/* Display flushing */
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p) {
uint32_t w = (area->x2 - area->x1 + 1);
uint32_t h = (area->y2 - area->y1 + 1);
#if (LV_COLOR_16_SWAP != 0)
gfx->draw16bitBeRGBBitmap(area->x1, area->y1, (uint16_t *)&color_p->full, w, h);
#else
gfx->draw16bitRGBBitmap(area->x1, area->y1, (uint16_t *)&color_p->full, w, h);
#endif
lv_disp_flush_ready(disp);
}
void my_touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data) {
if (touch_has_signal()) {
if (touch_touched()) {
data->state = LV_INDEV_STATE_PR;
/*Set the coordinates*/
data->point.x = touch_last_x;
data->point.y = touch_last_y;
} else if (touch_released()) {
data->state = LV_INDEV_STATE_REL;
}
} else {
data->state = LV_INDEV_STATE_REL;
}
}
void setup() {
Serial.begin(115200);
// while (!Serial);
Serial.println("LVGL Widgets Demo");
delay(1000);
// Init touch device
touch_init();
// Init Display
//gfx->begin();
gfx->begin(16000000); /* specify data bus speed */
gfx->fillScreen(BLACK);
#ifdef GFX_BL
pinMode(GFX_BL, OUTPUT);
digitalWrite(GFX_BL, HIGH);
#endif
lv_init();
screenWidth = gfx->width();
screenHeight = gfx->height();
#ifdef ESP32
// Allocate buffer with some diagnostics
size_t buf_size = sizeof(lv_color_t) * screenWidth * 200;
disp_draw_buf = (lv_color_t *)heap_caps_malloc(buf_size, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
#else
disp_draw_buf = (lv_color_t *)malloc(sizeof(lv_color_t) * screenWidth * 200);
#endif
if (!disp_draw_buf) {
Serial.println("LVGL disp_draw_buf allocate failed!");
} else {
lv_disp_draw_buf_init(&draw_buf, disp_draw_buf, NULL, screenWidth * 200);
/* Initialize the display */
lv_disp_drv_init(&disp_drv);
/* Change the following line to your display resolution */
disp_drv.hor_res = screenWidth;
disp_drv.ver_res = screenHeight;
disp_drv.flush_cb = my_disp_flush;
disp_drv.draw_buf = &draw_buf;
lv_disp_drv_register(&disp_drv);
/* Initialize the (dummy) input device driver */
static lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv);
indev_drv.type = LV_INDEV_TYPE_POINTER;
indev_drv.read_cb = my_touchpad_read;
lv_indev_drv_register(&indev_drv);
lv_test();
Serial.println("Setup done");
}
}
void loop() {
lv_timer_handler(); /* let the GUI do its work */
delay(5);
}Debug Message
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino:10:1: error: 'Arduino_ESP32RGBPanel' does not name a type; did you mean 'Arduino_ESP32S2PAR8Q'?
10 | Arduino_ESP32RGBPanel *rgbpanel = new Arduino_ESP32RGBPanel(
| ^~~~~~~~~~~~~~~~~~~~~
| Arduino_ESP32S2PAR8Q
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino:18:1: error: 'Arduino_RGB_Display' does not name a type
18 | Arduino_RGB_Display *gfx = new Arduino_RGB_Display(
| ^~~~~~~~~~~~~~~~~~~
In file included from J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino:26:
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\touch.h: In function 'bool touch_touched()':
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\touch.h:164:71: error: 'gfx' was not declared in this scope
164 | touch_last_x = map(ts.points[0].x, TOUCH_MAP_X1, TOUCH_MAP_X2, 0, gfx->width() - 1);
| ^~~
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino: In function 'void my_disp_flush(lv_disp_drv_t*, const lv_area_t*, lv_color_t*)':
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino:52:3: error: 'gfx' was not declared in this scope
52 | gfx->draw16bitRGBBitmap(area->x1, area->y1, (uint16_t *)&color_p->full, w, h);
| ^~~
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino: In function 'void setup()':
J:\RAMEK\ESP\4.0inch_ESP32-4848S040\AndrazTest\AndrazTest.ino:87:3: error: 'gfx' was not declared in this scope
87 | gfx->begin(16000000); /* specify data bus speed */
| ^~~
exit status 1
Compilation error: 'Arduino_ESP32RGBPanel' does not name a type; did you mean 'Arduino_ESP32S2PAR8Q'?
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.
Metadata
Metadata
Assignees
Labels
Resolution: WontfixArduino ESP32 team will not fix the issueArduino ESP32 team will not fix the issueType: QuestionOnly questionOnly question