Smanar / CYD-Domoticz-Remote

WIP project to control your home-automation using Domoticz and a CYD (Cheap touchscreen).
9 stars 2 forks source link

Support for ESP32-4848S040 #4

Closed franki29 closed 4 months ago

franki29 commented 5 months ago

Hi, I just bought a ESP32-4848S040

https://github.com/Mboukhal/4.0inch_ESP32-4848S040

https://github.com/arendst/Tasmota/discussions/20527

Do you think you can make it work for your Software?

Br. Frank

Smanar commented 5 months ago

Why not. So it seem there is more than 1 version of this device, with less or more relay.

CPU : ESP32-S3-WROOM-1-MCN16R8 Flash : 16M Psram : 8 M Resolution 480*480 Display interface : Direct 16 bits + 3 wire SPI Controller : ST7701 Touchpad : GT911

On github :

On your link we can see the dev have tried with LovyanGFX and have give up to finaly try with ArduinoGFX. So without the device, better to make with working code.

I m rewriting the code to use the ArduinoGFX library. but this lib is not the faster one. If you can found a project with your device but using an other library will be usefull.

For the moment I have a c++ problem about the synthax to keep the code multi support. I m asking some help to his github

franki29 commented 5 months ago

Hi found a other project that seems to work with that device

https://github.com/HASwitchPlate/openHASP

Smanar commented 5 months ago

Yep, have found this one too, and they are using too ArduinoGFX. I m waiting an anwser from their dev, but I think the support is possible at least with this lib, I can make a complete class just for it, there is only 5/6 fonctions used.

Smanar commented 5 months ago

I have started something if you can make a try. On the branch "test". On the platoform.ini file, edit the code for your device

default_envs = esp32-2432S028R
;default_envs = esp32-2432S024C
;default_envs = esp32-E32S3RGB43
;default_envs = esp32-4848S040

The touchpad is not enabled yet. But with some luck you will see the calibration screen.

franki29 commented 5 months ago

Hi, i tested it but: Starting application Config version: 0 Clearing Global Config Screen init done Guru Meditation Error: Core 1 panic'ed (Double exception).

Core 1 register dump: PC : 0x403743c0 PS : 0x00060d36 A0 : 0x89fe5244 A1 : 0x600fffc4
A2 : 0x00060d36 A3 : 0x00040026 A4 : 0x00000000 A5 : 0x00000000 A6 : 0x00000001 A7 : 0x0000ffff A8 : 0x00000000 A9 : 0x00000000
A10 : 0xfa000000 A11 : 0x00000189 A12 : 0x00000000 A13 : 0x00000000 A14 : 0x01000000 A15 : 0x00ffffff SAR : 0x0000000a EXCCAUSE: 0x00000002 EXCVADDR: 0x00000000 LBEG : 0x4201d614 LEND : 0x4201d636 LCOUNT : 0x00000000

Backtrace: 0x403743bd:0x600fffc4 0x49fe5241:0x60100084 |<-CORRUPTED Core 0 register dump: PC : 0x420acbc6 PS : 0x00060034 A0 : 0x820406e1 A1 : 0x3fcf40d0
A2 : 0x00000000 A3 : 0x80000001 A4 : 0x8037ca88 A5 : 0x3fcf5b00
A6 : 0x00060023 A7 : 0x00000003 A8 : 0x82040256 A9 : 0x3fcf40a0 A10 : 0x00000000 A11 : 0x3fcadaa4 A12 : 0x80377adb A13 : 0x3fcf5ad0 A14 : 0x00000001 A15 : 0x3fcf3e80 SAR : 0x0000001f EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000

Backtrace: 0x420acbc3:0x3fcf40d0 0x420406de:0x3fcf40f0 0x420af518:0x3fcf4110

Smanar commented 5 months ago

Ha ? you have a crash after the screen setup. So after the calibration screen, without the touchpad all was done in less than 1s, so not possible to see if it work.

I have pushed a new version.

Same than before the code is for the esp32-2432S028R, so need to comment/uncomment

;default_envs = esp32-2432S028R
;default_envs = esp32-2432S024C
;default_envs = esp32-E32S3RGB43
default_envs = esp32-4848S040
franki29 commented 5 months ago

Hi, of course I change the defaul_envs. With the new code it is rebooting continious and I get:

ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1

Smanar commented 5 months ago

Ok, so it's worse .... So the list of changed stuff on the previous version and this one, all is in the platformio.ini file.

Before : (from OpenHASP project) platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32.zip After (fom the Mboukhal project) platform = espressif32

Before : board_build.mcu = esp32s3 After: Removed

Can comment the line -DTOUCH_911 With a ";" to disable the touchpad code

All the rest is just cosmetic .... I don't see why it crash immediatly now,

Smanar commented 5 months ago

Hello, not enought time ? or need more explanation ?

franki29 commented 5 months ago

Sorry not enough time, will test tomorrow

franki29 commented 5 months ago

Hi I tried with disabeling the ;-DTOUCH_911, but than I get compiling errors: src/core/screen_driver.cpp: In function 'void touchscreen_calibrate(bool)': src/core/screen_driver.cpp:244:5: error: 'TS_Point' was not declared in this scope TS_Point p; ^~~~ src/core/screen_driver.cpp:244:5: note: suggested alternative: 'Print' TS_Point p; ^~~~ Print src/core/screen_driver.cpp:247:12: error: 'touchscreen' was not declared in this scope while (touchscreen.touched()) ^~~ src/core/screen_driver.cpp:247:12: note: suggested alternative: 'touchRead' while (touchscreen.touched()) ^~~ touchRead src/core/screen_driver.cpp:251:13: error: 'touchscreen' was not declared in this scope while (!touchscreen.touched()) ^~~ src/core/screen_driver.cpp:251:13: note: suggested alternative: 'touchRead' while (!touchscreen.touched()) ^~~ touchRead src/core/screen_driver.cpp:254:5: error: 'p' was not declared in this scope p = touchscreen.getPoint(); ^ src/core/screen_driver.cpp:254:9: error: 'touchscreen' was not declared in this scope p = touchscreen.getPoint(); ^~~ src/core/screen_driver.cpp:254:9: note: suggested alternative: 'touchRead' p = touchscreen.getPoint(); ^~~ touchRead src/core/screen_driver.cpp: In function 'void screen_lv_touchRead(lv_indev_drv_t, lv_indev_data_t)': src/core/screen_driver.cpp:405:5: error: 'TS_Point' was not declared in this scope TS_Point p; ^~~~ src/core/screen_driver.cpp:405:5: note: suggested alternative: 'Print' TS_Point p; ^~~~ Print src/core/screen_driver.cpp:407:9: error: 'touchscreen' was not declared in this scope if (touchscreen.tirqTouched() && touchscreen.touched()) ^~~ src/core/screen_driver.cpp:407:9: note: suggested alternative: 'touchRead' if (touchscreen.tirqTouched() && touchscreen.touched()) ^~~ touchRead src/core/screen_driver.cpp:420:9: error: 'p' was not declared in this scope p = touchscreen.getPoint(); ^ *** [.pio\build\esp32-4848S040\src\core\screen_driver.cpp.o] Error 1

Smanar commented 5 months ago

Ha yes you are right, have pushed a new version with touch disabled for your device

    ;-DTOUCH_911
    -DTOUCH_DISABLED

You can re-enalbe it later with switching the comment.

franki29 commented 5 months ago

I tried it, but now there is not even a serial output

Smanar commented 5 months ago

Even with a restart ? Or you have direclty the crash message ?

Because on first version you have at least the first debug message

Starting application
Config version: 0
Clearing Global Config
Screen init done

Have yout tried to rollback the code like described here https://github.com/Smanar/CYD-Domoticz-Remote/issues/4#issuecomment-1992110622 You need to have at least the same result than before ?

franki29 commented 5 months ago

Here is what I am using, still no serial out

[env:esp32-4848S040] board = esp32-s3-devkitc-1 framework = arduino ;extends = esp32 platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32.zip ;platform = espressif32

lib_deps = ${env.lib_deps} moononournation/GFX Library for Arduino@1.4.0 ;https://github.com/PaulStoffregen/XPT2046_Touchscreen.git Wire git+https://github.com/netwizeBE/arduino-goodix.git

board_build.arduino.memory_type = qio_opi board_build.f_flash = 80000000L board_build.flash_mode = qio board_build.mcu = esp32s3

board_build.f_cpu = 240000000L ; Set main frequency to 240MHz board_build.partitions = min_spiffs.csv ; Use partitions that allocate 512KB for SPIRAM

board_build.psram = enable ; Enable PSRAM board_build.psramconfig = ${platform}${board} 8MB ; Set PSRAM size to 8MB

board_upload.flash_size = 16MB

build_flags = ${env.build_flags}

-DTFT_ESPI=1

#-DLOVYANGFX=1
-DARDUINO_GFX
;-DTOUCH_911
-DTOUCH_DISABLED
-DESP32_4848S040
-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue  ; Enable PSRAM in code
-DTOUCH_SDA=19
-DTOUCH_SCL=45
-DTOUCH_RST=-1
-DTOUCH_IRQ=-1
-DI2C_TOUCH_FREQUENCY=400000
-DI2C_TOUCH_ADDRESS=0x5D ; or 0x14
-DTFT_WIDTH=480
-DTFT_HEIGHT=480
-DTOTAL_ICONX=3 # How many icon widht
-DTOTAL_ICONY=3 # How many icon Heigh
-DDEVICE_SIZE=1 # Device display size
Smanar commented 5 months ago

Strange this is the code that have started working https://github.com/Smanar/CYD-Domoticz-Remote/commit/f8ac9d1af0e4a5eae9f507da33abf1ea015bb107

[env:esp32-4848S040]
board = esp32-s3-devkitc-1
framework = arduino
;extends = esp32
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32.zip

lib_deps =
    ${env.lib_deps}
    moononournation/GFX Library for Arduino@1.4.0
    ;;https://github.com/PaulStoffregen/XPT2046_Touchscreen.git
    Wire
    git+https://github.com/netwizeBE/arduino-goodix.git

board_build.arduino.memory_type = qio_opi
board_build.f_flash = 80000000L
board_build.flash_mode = qio
board_upload.flash_size = 16MB
board_build.mcu = esp32s3

board_build.f_cpu = 240000000L  ; Set main frequency to 240MHz
board_build.partitions = min_spiffs.csv  ; Use partitions that allocate 512KB for SPIRAM

board_build.psram = enable  ; Enable PSRAM
board_build.psram_config = ${platform}_${board} 8MB  ; Set PSRAM size to 8MB

build_flags =
    ${env.build_flags}
    #-DTFT_ESPI=1
    #-DLOVYANGFX=1
    -DARDUINO_GFX
    -DTOUCH_911
    -DESP32_4848S040
    -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue  ; Enable PSRAM in code
    -DTFT_WIDTH=480
    -DTFT_HEIGHT=480
    -DTOTAL_ICONX=3 # How many icon widht
    -DTOTAL_ICONY=3 # How many icon Heigh
    -DDEVICE_SIZE=1 # Device display size

It's the same, you are using platformio application ? If yes try to clean the project, the garbage icon, close all task, recompile and after try to use the serial monitor.

Here https://github.com/Smanar/CYD-Domoticz-Remote/tree/f8ac9d1af0e4a5eae9f507da33abf1ea015bb107

You have the complete code at this step, but for me it can't be from the code. There is some change on the code, but nothing that can prevent the code totaly starting.

franki29 commented 5 months ago

Hi, i even change from Windows to Linux, same problem.

Using your older Version, it is stopping at the screen settings and reboots: mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 Starting application Config version: 0 Clearing Global Config Screen init done

Smanar commented 5 months ago

Using your older Version, it is stopping at the screen settings and reboots

Ok, so as it's better with this version, we will start by this one, step by step.

I have a created a new branch, just for your device called "franki". It's based on the same branch, for the moment I have just added some more debug line https://github.com/Smanar/CYD-Domoticz-Remote/commit/c5c9b70f4a23564f45dc9b49afa9c33809d1a0a5

So this can't prevent the device starting, I hope some more debug line after

Starting application
Config version: 0
Clearing Global Config
Screen init done

I will check on the OpenHASP project if they are using same setting.

Edit: So it's the code used by OpenHASP, but I have some doubt it's a working one, they are using a Arduino_ESP32RGBPanel and your device use a ST7701. If the problem is from display I think I will make a new try with this one https://github.com/Mboukhal/4.0inch_ESP32-4848S040_qrCode_view/blob/main/src/main.cpp

franki29 commented 5 months ago

Guru Meditation Error: Core 1 panic'ed (Double exception).

Core 1 register dump: PC : 0x403743c0 PS : 0x00060d36 A0 : 0x8a4e51f4 A1 : 0x600ffff4
A2 : 0x00060d36 A3 : 0x00040026 A4 : 0x00000000 A5 : 0x00000000
A6 : 0x00000001 A7 : 0x0000ffff A8 : 0x00000000 A9 : 0x00000000
A10 : 0xfa000000 A11 : 0x00000194 A12 : 0x00000000 A13 : 0x00000000
A14 : 0x01000000 A15 : 0x00ffffff SAR : 0x0000000a EXCCAUSE: 0x00000002
EXCVADDR: 0x00000000 LBEG : 0x4201d664 LEND : 0x4201d686 LCOUNT : 0x00000000

Backtrace: 0x403743bd:0x600ffff4 0x4a4e51f1:0x601000b4 |<-CORRUPTED

Core 0 register dump: PC : 0x420acc16 PS : 0x00060034 A0 : 0x82040731 A1 : 0x3fcf40d0
A2 : 0x00000000 A3 : 0x420a1778 A4 : 0x00060120 A5 : 0x80000000
A6 : 0x00ffffff A7 : 0x3fcadaa4 A8 : 0x820402a6 A9 : 0x3fcf40a0
A10 : 0x00000000 A11 : 0x80000001 A12 : 0x8037ca88 A13 : 0x3fcf3fd0
A14 : 0x00060023 A15 : 0x00000003 SAR : 0x0000001f EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000

Backtrace: 0x420acc13:0x3fcf40d0 0x4204072e:0x3fcf40f0 0x420af568:0x3fcf4110

ELF file SHA256: 0000000000000000

Rebooting... ���ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0xc (RTC_SW_CPU_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) Saved PC:0x42040d9f SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 Starting application Config version: 0 Clearing Global Config Screen init done Debug 1

Smanar commented 5 months ago
Starting application
Config version: 0
Clearing Global Config
Screen init done
Debug 1

So it crash at wifi initialisation ? Your device have wifi, what is the problem here ....

Can you remake a try with same branch ? Have added one more debug line https://github.com/Smanar/CYD-Domoticz-Remote/commit/8db40eccea1976d673cd1946d8022caaf40c233e

franki29 commented 5 months ago

load:0x403cc700,len:0x28cc entry 0x403c98b8 Starting application Config version: 0 Clearing Global Config Screen init done Debug 1

Debug 7

Smanar commented 5 months ago

Oups, sorry have missed your answer. I have pushed last change on branch "test", sorry but too hard for me to work on 2 branch in same time with the same editor.

So on the last version:

On your last tests the code have crashed on fonction wifi_init_inner() But this fonction try to set the wifi and it's the first use of lvlg, so the problem can come from both.

franki29 commented 5 months ago

Hi, i tested the new test branch. Now there is no reset anymore, but screen keeps dark with backlight on. Here is the serial output:

rst:0x1 (POWERON),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8 Starting application Config version: 0 Clearing Global Config

Smanar commented 5 months ago

No reset, but not sure it's better, now the code is freezed ealier....

Ok so rollback on branch "franki" again, sorry, but I m not able to find a code on github certified working, some are using old versions, some other are "working" but according other post the code is not working.

So I have made a minimal code https://github.com/Smanar/CYD-Domoticz-Remote/blob/franki/src/main.cpp

You have only 1 file, it don't use lvlg yet, it's just the base. If this one nor working no need the rest.

Something you can try if it still not working, replace st7701_type1_init_operations used by defaut by the lib by st7701_4848S040_init_operations modified version from OpenHASP.

You can try to replacing

Arduino_ESP32SPI *bus = new Arduino_ESP32SPI(
    GFX_NOT_DEFINED /* DC */, TFT_CS /* CS */, TFT_SCLK /* SCK */, TFT_MOSI /* MOSI */, GFX_NOT_DEFINED /* MISO */);

by

Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO);

As this code is minimal, I will be able to ask help on the lib github.

franki29 commented 5 months ago

Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO); is working and Hello Worlds are shown on the display

Smanar commented 5 months ago

Nice, have updated the "franki" branch, now the code will display a text again but using lvlg now. (Hello Arduino! + some number version)

If it work next step will be adding the wifi.

BTW are you using st7701_type1_init_operations or st7701_4848S040_init_operations ? From comment it just correct a color issue, but not possible to be sure ....

franki29 commented 5 months ago

st7701_4848S040_init_operations

but the lvlg demo is not running. Even I change st7701_4848S040_init_operations or Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO);

franki29 commented 5 months ago

Nothing on the serial output

Smanar commented 5 months ago

So the problem is definitively with lvlg. Have send a new version, but it's not logic you haven't serial output at all .... At least the debug line before the lvlg stuff.

franki29 commented 5 months ago

The new one is working wih Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO);

Smanar commented 5 months ago

Seriously ? It work ? You have a message "Hello arduino" and a version number ?

Because I m out of idea, the last code is based on the one gived with your device https://fr.aliexpress.com/item/1005006348529558.html?gatewayAdapt=glo2fra

http://pan.jczn1688.com/directlink/1/ESP32%20module/4.0inch_ESP32-4848S040.zip

franki29 commented 5 months ago

grafik

Smanar commented 5 months ago

Have pushed a new version. Now it will print a text with color, "red" in red, "blue" in blue and ect, to test color. Have remove unused code Have re-used the old lv_conf.h file, its the one I m using for the main project. No other change on code or platoformio.ini file.

franki29 commented 5 months ago

The new version only works when I change // 9-bit mode SPI Arduino_DataBus* bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, TFT_MISO);

Also no colors a shown. Same background color like in my picture and white text with the color definitions

Smanar commented 5 months ago

Oups, I forget this change. And it's still working, so for the moment we can say it's good.

Have pushed again a new version with a command to force red color for text.

The previous code haven't worked, because I have forget this request lv_label_set_recolor(label, true); to enable recoloring mode.

franki29 commented 5 months ago

Hi, Blue is yellow, green is purple RED something in direction white, but it is so small that I can not really see. Background is still Orange.

Smanar commented 5 months ago

Ok so all is "normal", you have the same issue than here https://github.com/HASwitchPlate/openHASP/issues/603#issuecomment-1874422572

So can try with replacing st7701_type1_init_operations used by defaut by the lib byst7701_4848S040_init_operations modified version from OpenHASP.

So have pushed another version, inside.

franki29 commented 5 months ago

Yes, now it is OK. White background and text in the color they should be

Smanar commented 5 months ago

Nice, so next try will be the last. I have just cleaned the code.

line 217/218

const size_t VDBsize = LV_VDB_SIZE / sizeof(lv_color_t);
//const size_t VDBsize = 480*480;

If it don't work, can you try with the second line (switch comment) and with the same value by / 8 (so const size_t VDBsize = 480*480 / 8;)

After that 2 choice, adapt the official code or test the touchpad on the "franki" branch (faster to compile)

franki29 commented 5 months ago

Still OK and running without changing the second line.

I think we can try with the official code

Smanar commented 5 months ago

Done. You can try again the "test" branch. Have enabled the untested touchpad code, so you can be blocked at calibration screen, but you will see something at screen, and I hope no more crash.

franki29 commented 5 months ago

Not sure what I am doing wrong, but now I get compiling errors:

In file included from .pio/libdeps/esp32-4848S040/WebSockets/src/WebSocketsClient.h:28, from src/core/ip_engine.cpp:2: .pio/libdeps/esp32-4848S040/WebSockets/src/WebSockets.h:206:10: fatal error: WiFiClientSecure.h: No such file or directory


Smanar commented 5 months ago

Ha ? Something new .... Have you tried after deleting the folder ".pio" (created automatically in the project folder) ?

franki29 commented 5 months ago

So I had to change platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.03/platform-espressif32.zip ;platform = espressif32

for compiling, but than it did not run. After disabling the touch, I seem to work as calibration screen was shown.

So the g911 touch driver is not working yet

Smanar commented 5 months ago

Ha yes, right, it was like that on branch "franki", but strange it compile on my side ! Perhaps something happen if the device is plugged ?

I m looking the touch code, the only blocking part for me is on line 183 > 238, so have added some debug lines on new version (5mn ago), can you tell me if you have some debug output with it ?

franki29 commented 5 months ago

No debug, just rebooting all the tine: ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x10 (RTCWDT_RTC_RST),boot:0x18 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x128 load:0x403c9700,len:0xb90 load:0x403cc700,len:0x28cc entry 0x403c98b8

Smanar commented 5 months ago

And without log again ? WTF I realy hate your device ...

So have adeed in code

#if DEBUG1
#if DEBUG2
#if DEBUG3

Those line disable all this code part, you can enable part one by one with adding a "!" like #if !DEBUG3, re-enable them in the good order, by defaut > DEBUG1 > DEBUG2 > DEBUG3.

By defaut the code have all the code disabled, I have just let lines

#include <Wire.h>
#include "Goodix.h"

static Goodix touch = Goodix();

But seriously if just an import can crash your device, it's realy a problem for devs.

I have found another lib for your touchpad but not used so much https://github.com/TAMCTec/gt911-arduino

franki29 commented 5 months ago

When I make !DEBUG1 than it does not crash but also it does not print "Init 911 driver" nor 4444444444.

It directly print Starting calibration

franki29 commented 5 months ago

!DEBUG2 is crashing

Smanar commented 5 months ago

Haa ..... I remember some issue on eps32, this can happen is the serial is not ready, have added a 500ms delay after the serial initialisation, your device is probably to fast.

So new version online, with same DEBUGX to disable. Have just added some delay, because all the code is fine for me, I can understand it don't work, but not it can crash ....

If you still have crash, I will use another lib, it's like we are the first one with a crash on it ....