esp-arduino-libs / ESP32_Display_Panel

Arduino library of driving display panel for the ESP SoCs
Apache License 2.0
98 stars 23 forks source link

Bootloop running PanelTest example on M5CORES3: E (275) FT5x06: esp_lcd_touch_new_i2c_ft5x06(161): FT5x06 init failed #54

Closed lboue closed 5 months ago

lboue commented 5 months ago

Bootloop running PanelTest example on M5CORES3

Bootloop running PanelTest example on M5CORES3.

Config ESP_Panel_Board_Supported.h

#define ESP_PANEL_USE_SUPPORTED_BOARD       (1)         // 0/1

#define BOARD_M5STACK_M5CORES3

Bootlog

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x28 (SPI_FAST_FLASH_BOOT)
Saved PC:0x4037ae5e
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x508
load:0x403c9700,len:0x4
load:0x403c9704,len:0xad0
load:0x403cc700,len:0x29e4
entry 0x403c9880
[   510][W][STA.cpp:533] disconnect(): STA already disconnected.
D (59) ESP_PanelHost: Add host SPI[1]
D (60) ESP_PanelHost: Add host I2C[0]
D (60) ESP_PanelHost: Initialize host I2C[0]
D (61) ESP_PanelHost: Initialize host SPI[1]
D (65) ESP_PanelHost: Destroyed
D (79) ESP_PanelBus_SPI: Create panel io @0x3fcb1a4c
D (79) ili9341: new ili9341 panel @0x3fcb1fb8
I (80) ili9341: LCD panel create success, version: 2.0.0
D (105) ESP_PanelLcd: Begin start
D (206) ili9341: send init commands success
D (206) ESP_PanelLcd: Begin end
D (206) ESP_PanelBus_I2C: Panel IO @0x3fcb20c0 created
D (206) ESP_PanelTouch: Disable interruption
E (210) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (217) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (224) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (231) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (238) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (245) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (252) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (259) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (265) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (272) FT5x06: esp_lcd_touch_new_i2c_ft5x06(161): FT5x06 init failed
E (278) FT5x06: Error (0xffffffff)! Touch controller FT5x06 initialization failed!
E (286) FT5x06_CPP: [ESP_FAIL] begin(43): New driver failed
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x400556d5  PS      : 0x00060130  A0      : 0x820ecc4e  A1      : 0x3fcebbe0  
A2      : 0x0000021c  A3      : 0x00000218  A4      : 0x000000ff  A5      : 0x0000ff00  
A6      : 0x00ff0000  A7      : 0xff000000  A8      : 0x00000000  A9      : 0x3fcebba0  
A10     : 0x00000000  A11     : 0x3c110a0a  A12     : 0x00000000  A13     : 0x00000000  
A14     : 0x00000000  A15     : 0xff000000  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x0000021c  LBEG    : 0x400556d5  LEND    : 0x400556e5  LCOUNT  : 0xffffffff  

Backtrace: 0x400556d2:0x3fcebbe0 0x420ecc4b:0x3fcebbf0 0x420f46c2:0x3fcebf10 0x420f46fe:0x3fcebfa0 0x4203af91:0x3fcebfe0 0x4207a670:0x3fcec020 0x42005629:0x3fcec0a0 0x42004aaa:0x3fcec0f0 0x4203c067:0x3fcec120

ELF file SHA256: c1c34d99c0adac5e
Lzw655 commented 5 months ago

Hi @lboue,

Thank you for testing this board! I apologize for not testing it before merging.

The FT6336U touch IC is compatible with the FT5x06. The issue occurs because there is a wrong I2C timeout parameter 0 in the M5CORES3.h. This causes the AXP2101 power management to malfunction, affecting the touch IC as well.

I have fixed it in the new PR. Could you please help me test it again? Thank you very much!

lboue commented 5 months ago

@Lzw655 Thanks. Fixed by #56.