Commit 11ef56d4 authored by Bodmer's avatar Bodmer

Test slower DC and CS lines for a user

parent 0460ab64
...@@ -345,6 +345,7 @@ void TFT_eSPI::init(uint8_t tc) ...@@ -345,6 +345,7 @@ void TFT_eSPI::init(uint8_t tc)
#endif #endif
spi_end(); spi_end();
delay(150); // Wait for reset to complete delay(150); // Wait for reset to complete
spi_begin(); spi_begin();
...@@ -506,13 +507,15 @@ void TFT_eSPI::spiwrite(uint8_t c) ...@@ -506,13 +507,15 @@ void TFT_eSPI::spiwrite(uint8_t c)
***************************************************************************************/ ***************************************************************************************/
void TFT_eSPI::writecommand(uint8_t c) void TFT_eSPI::writecommand(uint8_t c)
{ {
DC_C; //DC_C;
CS_L; //CS_L;
digitalWrite(TFT_DC, LOW);
digitalWrite(TFT_CS, LOW);
tft_Write_8(c); tft_Write_8(c);
digitalWrite(TFT_CS, HIGH);
CS_H; digitalWrite(TFT_DC, HIGH);
DC_D; //CS_H;
//DC_D;
} }
...@@ -522,11 +525,11 @@ void TFT_eSPI::writecommand(uint8_t c) ...@@ -522,11 +525,11 @@ void TFT_eSPI::writecommand(uint8_t c)
***************************************************************************************/ ***************************************************************************************/
void TFT_eSPI::writedata(uint8_t d) void TFT_eSPI::writedata(uint8_t d)
{ {
CS_L; //CS_L;
digitalWrite(TFT_CS, LOW);
tft_Write_8(d); tft_Write_8(d);
digitalWrite(TFT_CS, HIGH);
CS_H; //CS_H;
} }
...@@ -5084,6 +5087,7 @@ void writeBlock(uint16_t color, uint32_t repeat) ...@@ -5084,6 +5087,7 @@ void writeBlock(uint16_t color, uint32_t repeat)
***************************************************************************************/ ***************************************************************************************/
void TFT_eSPI::getSetup(setup_t &tft_settings) void TFT_eSPI::getSetup(setup_t &tft_settings)
{ {
// tft_settings.version is set in header file
#if defined (ESP8266) #if defined (ESP8266)
tft_settings.esp = 8266; tft_settings.esp = 8266;
...@@ -5105,6 +5109,9 @@ void TFT_eSPI::getSetup(setup_t &tft_settings) ...@@ -5105,6 +5109,9 @@ void TFT_eSPI::getSetup(setup_t &tft_settings)
#else #else
tft_settings.serial = true; tft_settings.serial = true;
tft_settings.tft_spi_freq = SPI_FREQUENCY/100000; tft_settings.tft_spi_freq = SPI_FREQUENCY/100000;
#ifdef SPI_READ_FREQUENCY
tft_settings.tft_rd_freq = SPI_READ_FREQUENCY/100000;
#endif
#endif #endif
#if defined(TFT_SPI_OVERLAP) #if defined(TFT_SPI_OVERLAP)
......
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#ifndef _TFT_eSPIH_ #ifndef _TFT_eSPIH_
#define _TFT_eSPIH_ #define _TFT_eSPIH_
#define TFT_ESPI_VERSION "1.4.0"
//#define ESP32 //Just used to test ESP32 options //#define ESP32 //Just used to test ESP32 options
// Include header file that defines the fonts loaded, the TFT drivers // Include header file that defines the fonts loaded, the TFT drivers
...@@ -142,8 +144,8 @@ ...@@ -142,8 +144,8 @@
#define DC_D GPIO.out1_w1tc.val = (1 << (TFT_DC - 32)); \ #define DC_D GPIO.out1_w1tc.val = (1 << (TFT_DC - 32)); \
GPIO.out1_w1ts.val = (1 << (TFT_DC - 32)) GPIO.out1_w1ts.val = (1 << (TFT_DC - 32))
#else #else
#define DC_C GPIO.out1_w1tc.val = (1 << (TFT_DC - 32)) #define DC_C GPIO.out1_w1tc.val = (1 << (TFT_DC - 32));GPIO.out1_w1tc.val = (1 << (TFT_DC - 32))
#define DC_D GPIO.out1_w1ts.val = (1 << (TFT_DC - 32)) #define DC_D GPIO.out1_w1ts.val = (1 << (TFT_DC - 32));GPIO.out1_w1ts.val = (1 << (TFT_DC - 32))
#endif #endif
#else #else
#if TFT_DC >= 0 #if TFT_DC >= 0
...@@ -153,8 +155,8 @@ ...@@ -153,8 +155,8 @@
#define DC_D GPIO.out_w1tc = (1 << TFT_DC); \ #define DC_D GPIO.out_w1tc = (1 << TFT_DC); \
GPIO.out_w1ts = (1 << TFT_DC) GPIO.out_w1ts = (1 << TFT_DC)
#else #else
#define DC_C GPIO.out_w1tc = (1 << TFT_DC) #define DC_C GPIO.out_w1tc = (1 << TFT_DC);GPIO.out_w1tc = (1 << TFT_DC)
#define DC_D GPIO.out_w1ts = (1 << TFT_DC) #define DC_D GPIO.out_w1ts = (1 << TFT_DC);GPIO.out_w1ts = (1 << TFT_DC)
#endif #endif
#else #else
#define DC_C #define DC_C
...@@ -191,8 +193,8 @@ ...@@ -191,8 +193,8 @@
#define CS_H GPIO.out1_w1tc.val = (1 << (TFT_CS - 32)); \ #define CS_H GPIO.out1_w1tc.val = (1 << (TFT_CS - 32)); \
GPIO.out1_w1ts.val = (1 << (TFT_CS - 32)) GPIO.out1_w1ts.val = (1 << (TFT_CS - 32))
#else #else
#define CS_L GPIO.out1_w1tc.val = (1 << (TFT_CS - 32)) #define CS_L GPIO.out1_w1tc.val = (1 << (TFT_CS - 32));GPIO.out1_w1tc.val = (1 << (TFT_CS - 32))
#define CS_H GPIO.out1_w1ts.val = (1 << (TFT_CS - 32)) #define CS_H GPIO.out1_w1ts.val = (1 << (TFT_CS - 32));GPIO.out1_w1ts.val = (1 << (TFT_CS - 32))
#endif #endif
#else #else
#if TFT_CS >= 0 #if TFT_CS >= 0
...@@ -200,8 +202,8 @@ ...@@ -200,8 +202,8 @@
#define CS_L GPIO.out_w1ts = (1 << TFT_CS); GPIO.out_w1tc = (1 << TFT_CS) #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) #define CS_H GPIO.out_w1tc = (1 << TFT_CS); GPIO.out_w1ts = (1 << TFT_CS)
#else #else
#define CS_L GPIO.out_w1tc = (1 << TFT_CS) #define CS_L GPIO.out_w1tc = (1 << TFT_CS);GPIO.out_w1tc = (1 << TFT_CS)
#define CS_H GPIO.out_w1ts = (1 << TFT_CS) #define CS_H GPIO.out_w1ts = (1 << TFT_CS);GPIO.out_w1ts = (1 << TFT_CS)
#endif #endif
#else #else
#define CS_L #define CS_L
...@@ -223,7 +225,7 @@ ...@@ -223,7 +225,7 @@
#define CS_L_DC_C GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC)); \ #define CS_L_DC_C GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC)); \
GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC)) GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC))
#else #else
#define CS_L_DC_C GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC)) #define CS_L_DC_C GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC)); GPIO.out_w1tc = ((1 << TFT_CS) | (1 << TFT_DC))
#endif #endif
#else #else
#define CS_L_DC_C CS_L; DC_C #define CS_L_DC_C CS_L; DC_C
...@@ -525,11 +527,20 @@ swap_coord(T& a, T& b) { T t = a; a = b; b = t; } ...@@ -525,11 +527,20 @@ swap_coord(T& a, T& b) { T t = a; a = b; b = t; }
// by calling getSetup(), zero impact on code size unless used, mainly for diagnostics // by calling getSetup(), zero impact on code size unless used, mainly for diagnostics
typedef struct typedef struct
{ {
String version = TFT_ESPI_VERSION;
int16_t esp; int16_t esp;
uint8_t trans; uint8_t trans;
uint8_t serial; uint8_t serial;
uint8_t overlap; uint8_t overlap;
#if defined (ESP32)
#if defined (USE_HSPI_PORT)
uint8_t port = HSPI;
#else
uint8_t port = VSPI;
#endif
#endif
uint16_t tft_driver; // Hexadecimal code uint16_t tft_driver; // Hexadecimal code
uint16_t tft_width; // Rotation 0 width and height uint16_t tft_width; // Rotation 0 width and height
uint16_t tft_height; uint16_t tft_height;
...@@ -565,6 +576,7 @@ int8_t pin_tft_d7; ...@@ -565,6 +576,7 @@ int8_t pin_tft_d7;
int8_t pin_tch_cs; int8_t pin_tch_cs;
int16_t tft_spi_freq; int16_t tft_spi_freq;
int16_t tft_rd_freq;
int16_t tch_spi_freq; int16_t tch_spi_freq;
} setup_t; } setup_t;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment