Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
TFT_eSPI
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
TFT_eSPI
Commits
f3190fde
Commit
f3190fde
authored
Jan 27, 2018
by
Bodmer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow init() to be called in sketch to reset and re-initialise TFT
Solution to Issue #85
parent
139fe8dc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
17 deletions
+27
-17
TFT_eSPI.cpp
TFT_eSPI.cpp
+24
-15
TFT_eSPI.h
TFT_eSPI.h
+1
-0
library.json
library.json
+1
-1
library.properties
library.properties
+1
-1
No files found.
TFT_eSPI.cpp
View file @
f3190fde
...
...
@@ -123,6 +123,8 @@ TFT_eSPI::TFT_eSPI(int16_t w, int16_t h)
locked
=
true
;
// ESP32 transaction mutex lock flags
inTransaction
=
false
;
_booted
=
true
;
addr_row
=
0xFFFF
;
addr_col
=
0xFFFF
;
...
...
@@ -169,6 +171,8 @@ void TFT_eSPI::begin(void)
***************************************************************************************/
void
TFT_eSPI
::
init
(
void
)
{
if
(
_booted
)
{
#if !defined (ESP32)
#ifdef TFT_CS
cspinmask
=
(
uint32_t
)
digitalPinToBitMask
(
TFT_CS
);
...
...
@@ -189,7 +193,7 @@ void TFT_eSPI::init(void)
SPI
.
pins
(
6
,
7
,
8
,
0
);
#endif
SPI
.
begin
();
// This will set HMISO to input
SPI
.
begin
();
// This will set HMISO to input
#else
#if defined (TFT_MOSI) && !defined (TFT_SPI_OVERLAP)
SPI
.
begin
(
TFT_SCLK
,
TFT_MISO
,
TFT_MOSI
,
-
1
);
...
...
@@ -199,31 +203,35 @@ void TFT_eSPI::init(void)
#endif
inTransaction
=
false
;
locked
=
true
;
inTransaction
=
false
;
locked
=
true
;
// SUPPORT_TRANSACTIONS is manadatory for ESP32 so the hal mutex is toggled
// so the code here is for ESP8266 only
#if !defined (SUPPORT_TRANSACTIONS) && defined (ESP8266)
SPI
.
setBitOrder
(
MSBFIRST
);
SPI
.
setDataMode
(
SPI_MODE0
);
SPI
.
setFrequency
(
SPI_FREQUENCY
);
SPI
.
setBitOrder
(
MSBFIRST
);
SPI
.
setDataMode
(
SPI_MODE0
);
SPI
.
setFrequency
(
SPI_FREQUENCY
);
#endif
// Set to output once again in case D6 (MISO) is used for CS
#ifdef TFT_CS
digitalWrite
(
TFT_CS
,
HIGH
);
// Chip select high (inactive)
pinMode
(
TFT_CS
,
OUTPUT
);
digitalWrite
(
TFT_CS
,
HIGH
);
// Chip select high (inactive)
pinMode
(
TFT_CS
,
OUTPUT
);
#else
SPI
.
setHwCs
(
1
);
// Use hardware SS toggling
SPI
.
setHwCs
(
1
);
// Use hardware SS toggling
#endif
// Set to output once again in case D6 (MISO) is used for DC
#ifdef TFT_DC
digitalWrite
(
TFT_DC
,
HIGH
);
// Data/Command high = data mode
pinMode
(
TFT_DC
,
OUTPUT
);
digitalWrite
(
TFT_DC
,
HIGH
);
// Data/Command high = data mode
pinMode
(
TFT_DC
,
OUTPUT
);
#endif
_booted
=
false
;
}
// end of: if just _booted
// Toggle RST low to reset
#ifdef TFT_RST
if
(
TFT_RST
>=
0
)
{
...
...
@@ -234,13 +242,13 @@ void TFT_eSPI::init(void)
digitalWrite
(
TFT_RST
,
HIGH
);
delay
(
150
);
}
#e
ndif
#e
lse
// Or use the software reset
spi_begin
();
writecommand
(
TFT_SWRST
);
// Software reset
spi_end
();
delay
(
5
);
// Wait for software reset to complete
delay
(
120
);
// Wait for software reset to complete
#endif
spi_begin
();
...
...
@@ -264,6 +272,7 @@ void TFT_eSPI::init(void)
spi_end
();
setRotation
(
rotation
);
}
...
...
TFT_eSPI.h
View file @
f3190fde
...
...
@@ -516,6 +516,7 @@ class TFT_eSPI : public Print {
bool
textwrap
;
// If set, 'wrap' text at right edge of display
bool
_swapBytes
;
// Swap the byte order for TFT pushImage()
bool
locked
,
inTransaction
;
// Transaction and mutex lock flags for ESP32
bool
_booted
;
int32_t
_lastColor
;
...
...
library.json
View file @
f3190fde
{
"name"
:
"TFT_eSPI"
,
"version"
:
"0.18.1
2
"
,
"version"
:
"0.18.1
3
"
,
"keywords"
:
"TFT, ESP8266, NodeMCU, ESP32, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486"
,
"description"
:
"A TFT SPI graphics library for ESP8266"
,
"repository"
:
...
...
library.properties
View file @
f3190fde
name
=
TFT_eSPI
version
=
0.18.1
2
version
=
0.18.1
3
author
=
Bodmer
maintainer
=
Bodmer
sentence
=
A fast TFT library for ESP8266 processors and the Arduino IDE
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment