From 4989a961dc3cf759631f9a83103da7d701fe852f Mon Sep 17 00:00:00 2001 From: JensDiemer Date: Tue, 24 Feb 2026 20:19:30 +0100 Subject: [PATCH] waveshare_esp32_s3_touch_lcd_2: Fix soft reset fix soft reset, if machine.SPI.Bus() can't be initialized: do a hrd reset --- .../board/waveshare_esp32_s3_touch_lcd_2.py | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/internal_filesystem/lib/mpos/board/waveshare_esp32_s3_touch_lcd_2.py b/internal_filesystem/lib/mpos/board/waveshare_esp32_s3_touch_lcd_2.py index 15a10229..5422523b 100644 --- a/internal_filesystem/lib/mpos/board/waveshare_esp32_s3_touch_lcd_2.py +++ b/internal_filesystem/lib/mpos/board/waveshare_esp32_s3_touch_lcd_2.py @@ -1,17 +1,15 @@ - print("waveshare_esp32_s3_touch_lcd_2.py initialization") # Hardware initialization for ESP32-S3-Touch-LCD-2 # Manufacturer's website at https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-2 -import lcd_bus -import machine -import i2c -import lvgl as lv -import task_handler +import time import drivers.display.st7789 as st7789 import drivers.indev.cst816s as cst816s - +import i2c +import lcd_bus +import lvgl as lv +import machine import mpos.ui # Pin configuration @@ -34,12 +32,17 @@ TFT_HOR_RES=320 TFT_VER_RES=240 -spi_bus = machine.SPI.Bus( - host=SPI_BUS, - mosi=LCD_MOSI, - miso=LCD_MISO, - sck=LCD_SCLK -) + +print("waveshare_esp32_s3_touch_lcd_2.py machine.SPI.Bus() initialization") +try: + spi_bus = machine.SPI.Bus(host=SPI_BUS, mosi=LCD_MOSI, miso=LCD_MISO, sck=LCD_SCLK) +except Exception as e: + print(f"Error initializing SPI bus: {e}") + print("Attempting hard reset in 3sec...") + time.sleep(3) + machine.reset() + + display_bus = lcd_bus.SPIBus( spi_bus=spi_bus, freq=SPI_FREQ,