Fix TFT_eSprite crash and improve menu

This commit is contained in:
dracir 2022-04-14 12:51:11 +02:00
parent 1ab684e40d
commit c016ea65f0
4 changed files with 57 additions and 33 deletions

View File

@ -2,5 +2,3 @@
idf_component_register(SRCS "TFT_eSPI.cpp"
INCLUDE_DIRS "."
PRIV_REQUIRES arduino)
add_definitions(-DTFT_eSPI_COMPONENT)

25
Kconfig
View File

@ -1,5 +1,13 @@
menu "TFT_eSPI"
menu "Hidden menu"
visible if false
config TFT_eSPI_ESPIDF
bool "Enable Configuration"
default y
endmenu
choice TFT_DRIVER
prompt "Select TFT driver"
default TFT_ILI9341_DRIVER
@ -149,7 +157,7 @@ menu "TFT_eSPI"
Use 8-bit parallel bus to send data to the LCD. If not set SPI will be used.
menu "Display Data pins"
visible if TFT_PARALLEL_8_BIT
depends on TFT_PARALLEL_8_BIT
config TFT_D0
int "Data 0 pin"
default -1
@ -202,7 +210,7 @@ menu "TFT_eSPI"
endmenu
menu "Display SPI config"
visible if !TFT_PARALLEL_8_BIT
depends on !TFT_PARALLEL_8_BIT
config TFT_MISO
int "TFT MISO pin"
default -1
@ -272,15 +280,18 @@ menu "TFT_eSPI"
default -1
range -1 33
config ENABLE_BL
bool "Enable backlight control"
default y
if ENABLE_BL
config TFT_BL
int "TFT Backlight pin"
default -1
range -1 33
help
Pin for the backlight control signal
Set to -1 to disable
if TFT_BL >= 0
choice TFT_BACKLIGHT_ON
bool "Pin state to activate backlight"
default TFT_BACKLIGHT_ON_HIGH
@ -336,6 +347,11 @@ menu "TFT_eSPI"
endmenu
menu "Touch screen configuration"
config ENABLE_TOUCH
bool "Enable Touch"
default n
if ENABLE_TOUCH
config TOUCH_CS
int "Touch chip select pin"
default -1
@ -345,6 +361,7 @@ menu "TFT_eSPI"
int "SPI frequency for XPT2046 chip (Hz)"
default 2500000
range 1 80000000
endif
endmenu
endmenu

View File

@ -1,9 +1,9 @@
/**
* @file utility.h
* @file TFT_config.h
* @author Ricard Bitriá Ribes (https://github.com/dracir9)
* Created Date: 22-01-2022
* -----
* Last Modified: 11-04-2022
* Last Modified: 14-04-2022
* Modified By: Ricard Bitriá Ribes
* -----
* @copyright (c) 2022 Ricard Bitriá Ribes
@ -134,8 +134,13 @@
#endif
// Backlight config
#if CONFIG_TFT_BL != -1
#ifdef CONFIG_ENABLE_BL
#if CONFIG_TFT_BL == -1
#error "Invalid backlight control pin. Check TFT_eSPI configuration"
#else
#define TFT_BL CONFIG_TFT_BL
#endif
#define TFT_BACKLIGHT_ON CONFIG_TFT_BACKLIGHT_ON
#endif
@ -209,7 +214,6 @@
// SPI BUS
#else
#if CONFIG_TFT_MISO == -1
#error "Invalid MISO pin. Check TFT_eSPI configuration"
#else
@ -280,8 +284,14 @@
** Section 5: Touchscreen configuration
***************************************************************************************/
#ifdef CONFIG_ENABLE_TOUCH
#if CONFIG_TOUCH_CS == -1
#error "Invalid Touch Chip Select pin. Check TFT_eSPI configuration"
#else
#define TOUCH_CS CONFIG_TOUCH_CS
#endif
#define SPI_TOUCH_FREQUENCY CONFIG_SPI_TOUCH_FREQUENCY
#endif
#endif // TFT_CONFIG_H

View File

@ -27,10 +27,6 @@
***************************************************************************************/
//Standard support
#ifdef TFT_eSPI_COMPONENT
#include "TFT_config.h"
#endif
#include <Arduino.h>
#include <Print.h>
#include <SPI.h>
@ -40,6 +36,9 @@
***************************************************************************************/
// Include header file that defines the fonts loaded, the TFT drivers
// available and the pins to be used, etc, etc
#ifdef CONFIG_TFT_eSPI_ESPIDF
#include "TFT_config.h"
#endif
#include <User_Setup_Select.h>
// Handle FLASH based storage e.g. PROGMEM