EX-Display
EX-Display
|
Display class for TFT_eSPI based displays. More...
#include <TFT_eSPIDisplay.h>
Public Member Functions | |
TFT_eSPIDisplay (uint8_t rotation, const GFXfont *textFont, uint16_t textColour, uint16_t backgroundColour) | |
Constructor for a TFT_eSPIDisplay instance. | |
TFT_eSPIDisplay (uint8_t rotation, const GFXfont *textFont, uint16_t textColour, uint16_t backgroundColour, int csPin) | |
Alternate constructor for a TFT_eSPIDisplay instance to specify the CS pin to allow for two displays. | |
void | begin () override |
Perform any initial once off setup or configuration here and call only once. | |
void | clearScreen () override |
Clear the entire screen. | |
void | displayScreen (Screen *screen) override |
Display the specified Screen on this display. | |
void | clearRow (uint8_t row) |
Clear the specified row. | |
void | displayStartupInfo (const char *version) override |
Display the startup screen with software version. | |
virtual void | displayFormattedRow (uint8_t row, uint8_t column, RowAttributes attributes, const char *text, bool append) override |
Display a row using formatting modifiers. | |
TFT_eSPI * | getTFT_eSPIInstance () |
Get the TFT_eSPI instance created by this instance - needed for the touch interface. | |
bool | tftInitialised () |
Test if the TFT_eSPI instance has been initialised - needed for the touch interface. | |
~TFT_eSPIDisplay () override | |
Destructor for the TFT_eSPIDisplay. | |
Public Member Functions inherited from DisplayInterface | |
void | setNext (DisplayInterface *display) |
Set the next DisplayInterface derived instance in the list. | |
DisplayInterface * | getNext () |
Get the next DisplayInterface derived instance in the list. | |
void | setLogger (Logger *logger) |
Set the logger instance to use for diagnostic logging. | |
void | setId (uint8_t displayId) |
Set the ID for this display instance. | |
uint8_t | getId () |
Get the ID of this display instance. | |
void | setScreenId (int screenId) |
Set the Screen ID this display is currently displaying. | |
int | getScreenId () |
Get the Screen ID this display is currently displaing. | |
int | getCSPin () |
Get the defined CS pin for this display to see if it needs manual SPI switching. | |
void | setNeedsRedraw (bool redraw) |
Set the flag for whether this display needs redrawing or not - individual row updates are not affected. | |
bool | needsRedraw () |
Test if this display needs an entire redraw. | |
void | formatRow (int row, const char *text) |
Static method to enable calling back to a derived class with a formatted row. | |
virtual | ~DisplayInterface ()=default |
Destructor for a DisplayInterface. | |
Static Public Member Functions | |
static TFT_eSPIDisplay * | create (uint8_t rotation, const GFXfont *textFont, uint16_t textColour, uint16_t backgroundColour) |
Static method to enable the compiler to generate create commands from myDevices.h entries. | |
static TFT_eSPIDisplay * | create (uint8_t rotation, const GFXfont *textFont, uint16_t textColour, uint16_t backgroundColour, int csPin) |
Alternate static method to enable the compiler to generate create commands from myDevices.h entries. | |
Private Member Functions | |
void | _getRowPosition (uint8_t row, uint8_t column, int32_t &x, int32_t &y) |
Get the X/Y coordinates to draw the specified row, starting at the specified column. | |
Private Attributes | |
const GFXfont * | _gfxFont |
Static Private Attributes | |
static TFT_eSPI * | _tft = nullptr |
static bool | _tftInitialised = false |
Additional Inherited Members | |
Protected Member Functions inherited from DisplayInterface | |
RowAttributes | _sanitiseAttributes (RowAttributes attributes) |
Sanitise the provided struct of RowAttributes. | |
bool | _isModifier (char check) |
Validates the provided char is a valid modifier. | |
RowAttributes | _setAttribute (RowAttributes attributes, char modifier, uint16_t colour=0xFFFF) |
Update the provided RowAttributes struct according to the provided modifier. | |
bool | _isRGB (const char *colour) |
Check if the provided string constant translates to a valid RGB colour code. | |
uint16_t | _convertRGBtoRGB565 (const char *colour) |
Convert the provided RGB colour code string constant to a uint16_t RGB565 colour. | |
Protected Attributes inherited from DisplayInterface | |
DisplayInterface * | _next = nullptr |
Pointer to the next DisplayInterface derived instance in the list. | |
uint16_t | _textColour |
Default text colour for the display. | |
uint16_t | _backgroundColour |
Default background colour for the display. | |
Logger * | _logger = nullptr |
Pointer to the Logger instance for the DisplayInterface derived classes. | |
uint8_t | _displayId = 0 |
ID for this display instance. | |
int | _screenId = -1 |
ID of the screen this display is currently displaying, defaults to -1 to flag it is not a valid ID. | |
uint8_t | _rotation = 0 |
Orientation of this display, most displays require this setting otherwise ignore it. | |
uint8_t | _textSize = 1 |
Multiplier for text size, most displays require this setting otherwise ignore it. | |
uint8_t | _maxRow = 0 |
Maximum row number (not count) that will fit on this display (based on font height, not pixels) | |
uint8_t | _maxColumn = 0 |
Maximum column number (not count) that will fit on this display (based on font width, not pixels) | |
uint8_t | _fontHeight = 0 |
Calculated font height to determine row positioning. | |
uint8_t | _fontWidth = 0 |
Calculated font width to determine column positioning. | |
int | _csPin = -1 |
If there are more than one SPI displays that libraries don't officially support, the CS pin can be provided to switch between them (default -1 disables this) | |
bool | _needsRedraw = true |
Flag that this display needs redrawing - needed for switching between screens. | |
Display class for TFT_eSPI based displays.
TFT_eSPIDisplay::TFT_eSPIDisplay | ( | uint8_t | rotation, |
const GFXfont * | textFont, | ||
uint16_t | textColour, | ||
uint16_t | backgroundColour | ||
) |
Constructor for a TFT_eSPIDisplay instance.
rotation | Rotation of the display, 0 - 3, refer to TFT_eSPI documentation for details |
textFont | The identiy of the font for this display. |
textColour | Default 16bit text colour, refer to TFT_eSPI documentation for details |
backgroundColour | Default 16bit background colour, refer to TFT_eSPI documentation for details |
TFT_eSPIDisplay::TFT_eSPIDisplay | ( | uint8_t | rotation, |
const GFXfont * | textFont, | ||
uint16_t | textColour, | ||
uint16_t | backgroundColour, | ||
int | csPin | ||
) |
Alternate constructor for a TFT_eSPIDisplay instance to specify the CS pin to allow for two displays.
rotation | Rotation of the display, 0 - 3, refer to TFT_eSPI documentation for details |
textFont | The identiy of the font for this display. |
textColour | Default 16bit text colour, refer to TFT_eSPI documentation for details |
backgroundColour | Default 16bit background colour, refer to TFT_eSPI documentation for details |
csPin | Pin this display's chip select (CS) pin is connected to to enable manual display switching |
|
override |
Destructor for the TFT_eSPIDisplay.
|
private |
Get the X/Y coordinates to draw the specified row, starting at the specified column.
row | Row number |
column | Column to start drawing at |
x | Variable to update with the x position |
y | Variable to update with the y position |
|
overridevirtual |
Perform any initial once off setup or configuration here and call only once.
Implements DisplayInterface.
void TFT_eSPIDisplay::clearRow | ( | uint8_t | row | ) |
Clear the specified row.
row | Row number as specified in the SCREEN() command (not pixels) |
|
overridevirtual |
|
static |
Static method to enable the compiler to generate create commands from myDevices.h entries.
rotation | rotation Rotation of the display, 0 - 3, refer to TFT_eSPI documentation for details |
textFont | The identiy of the font for this display. |
textColour | Default 16bit text colour, refer to TFT_eSPI documentation for details |
backgroundColour | Default 16bit background colour, refer to TFT_eSPI documentation for details |
|
static |
Alternate static method to enable the compiler to generate create commands from myDevices.h entries.
rotation | rotation Rotation of the display, 0 - 3, refer to TFT_eSPI documentation for details |
textFont | The identiy of the font for this display. |
textColour | Default 16bit text colour, refer to TFT_eSPI documentation for details |
backgroundColour | Default 16bit background colour, refer to TFT_eSPI documentation for details |
csPin | Pin this display's chip select (CS) pin is connected to to enable manual display switching |
|
overridevirtual |
Display a row using formatting modifiers.
row | Row ID to display |
column | Column at which to display text (not pixels) |
attributes | RowAttributes structure containing modifier details |
text | Text to display |
append | Flag if this is appending to an existing row and should not clear the row first |
Implements DisplayInterface.
|
overridevirtual |
Display the specified Screen on this display.
screen | Pointer to the Screen to display |
Implements DisplayInterface.
|
overridevirtual |
Display the startup screen with software version.
version | EX-Display version |
Implements DisplayInterface.
TFT_eSPI * TFT_eSPIDisplay::getTFT_eSPIInstance | ( | ) |
Get the TFT_eSPI instance created by this instance - needed for the touch interface.
bool TFT_eSPIDisplay::tftInitialised | ( | ) |
Test if the TFT_eSPI instance has been initialised - needed for the touch interface.
|
private |
|
staticprivate |
|
staticprivate |