From 235f89e75568dcf2253eba9bbc451394c6883bf6 Mon Sep 17 00:00:00 2001 From: Bodmer Date: Sat, 21 Apr 2018 22:49:17 +0100 Subject: [PATCH] Allow ESP32 pin numbers greater than 31 for CS and DC --- TFT_eSPI.h | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/TFT_eSPI.h b/TFT_eSPI.h index e29655e..f66e810 100644 --- a/TFT_eSPI.h +++ b/TFT_eSPI.h @@ -99,13 +99,18 @@ #define DC_D digitalWrite(TFT_DC, HIGH) #elif defined (ESP32) #if defined (ESP32_PARALLEL) - #define DC_C GPIO.out_w1tc = (1 << TFT_DC) // Too fast for ST7735 + #define DC_C GPIO.out_w1tc = (1 << TFT_DC) #define DC_D GPIO.out_w1ts = (1 << TFT_DC) //#define DC_C digitalWrite(TFT_DC, LOW) //#define DC_D digitalWrite(TFT_DC, HIGH) #else - #define DC_C GPIO.out_w1ts = (1 << TFT_DC); GPIO.out_w1tc = (1 << TFT_DC) - #define DC_D GPIO.out_w1tc = (1 << TFT_DC); GPIO.out_w1ts = (1 << TFT_DC) + #if TFT_DC >= 32 || TFT_DC <= -1 + #define DC_C digitalWrite(TFT_DC, LOW) + #define DC_D digitalWrite(TFT_DC, HIGH) + #else + #define DC_C GPIO.out_w1ts = (1 << TFT_DC); GPIO.out_w1tc = (1 << TFT_DC) + #define DC_D GPIO.out_w1tc = (1 << TFT_DC); GPIO.out_w1ts = (1 << TFT_DC) + #endif #endif #else #define DC_C GPOC=dcpinmask @@ -129,8 +134,13 @@ #define CS_L // The TFT CS is set permanently low during init() #define CS_H #else - #define CS_L GPIO.out_w1ts = (1 << TFT_CS);GPIO.out_w1tc = (1 << TFT_CS) - #define CS_H GPIO.out_w1tc = (1 << TFT_CS);GPIO.out_w1ts = (1 << TFT_CS) + #if TFT_CS >= 32 || TFT_CS <= -1 + #define CS_L digitalWrite(TFT_DC, LOW) + #define CS_H digitalWrite(TFT_DC, HIGH) + #else + #define CS_L GPIO.out_w1ts = (1 << TFT_CS);GPIO.out_w1tc = (1 << TFT_CS) + #define CS_H GPIO.out_w1tc = (1 << TFT_CS);GPIO.out_w1ts = (1 << TFT_CS) + #endif #endif #else #define CS_L GPOC=cspinmask