62 virtual void setAddrWindow(uint16_t, uint16_t, uint16_t, uint16_t)
override;
64 void TFTSetupGPIO(int8_t, int8_t, int8_t, int8_t, int8_t);
68 void TFTInitOffsets(uint16_t XLstart = 0, uint16_t YLstart = 0, uint16_t XPstart= 0, uint16_t YPstart = 0);
82 void TFTsetScrollArea(uint16_t topFixed, uint16_t scrollArea, uint16_t bottomFixed);
128 static constexpr uint8_t
MY = 0x80;
129 static constexpr uint8_t
MX = 0x40;
130 static constexpr uint8_t
MV = 0x20;
131 static constexpr uint8_t
ML = 0x10;
132 static constexpr uint8_t
RGB = 0x00;
133 static constexpr uint8_t
BGR = 0x08;
134 static constexpr uint8_t
MH = 0x04;
Class to control GC9D01 TFT basic functionality.
Definition GC9D01_TFT_LCD_RDL.hpp:20
int _spiDev
Definition GC9D01_TFT_LCD_RDL.hpp:116
void DualGatecmdInitSequence120x160(void)
GC9D01 init command sequence for dual Gate 120x160 variant.
Definition GC9D01_TFT_LCD_RDL.cpp:767
static constexpr uint8_t GC9D01_IFACE
Definition GC9D01_TFT_LCD_RDL.hpp:191
static constexpr uint8_t GC9D01_MADCTL
Definition GC9D01_TFT_LCD_RDL.hpp:160
GC9D01_TFT()
Constructor for class GC9D01_TFT.
Definition GC9D01_TFT_LCD_RDL.cpp:12
rdlib::Return_Codes_e TFTDataCommandPin(void)
: Method for Data or Command pin setup
Definition GC9D01_TFT_LCD_RDL.cpp:136
static constexpr uint8_t GC9D01_SPI2DATA
Definition GC9D01_TFT_LCD_RDL.hpp:189
void TFTchangeInvertMode(bool m)
Toggle the invert mode.
Definition GC9D01_TFT_LCD_RDL.cpp:341
static constexpr uint8_t GC9D01_VREG1B_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:177
static constexpr uint8_t GC9D01_GETLINE
Definition GC9D01_TFT_LCD_RDL.hpp:165
bool _resetPinOn
Definition GC9D01_TFT_LCD_RDL.hpp:120
static constexpr uint8_t GC9D01_CONTINUE
Definition GC9D01_TFT_LCD_RDL.hpp:163
static constexpr uint8_t GC9D01_SETBRIGHT
Definition GC9D01_TFT_LCD_RDL.hpp:166
static constexpr uint8_t GC9D01_INREGEN2
Definition GC9D01_TFT_LCD_RDL.hpp:193
void TFTsetScrollArea(uint16_t topFixed, uint16_t scrollArea, uint16_t bottomFixed)
This method defines the Vertical Scrolling Area of the display where:
Definition GC9D01_TFT_LCD_RDL.cpp:313
static constexpr uint8_t GC9D01_TEARSET
Definition GC9D01_TFT_LCD_RDL.hpp:164
static constexpr uint8_t GC9D01_RASET
Definition GC9D01_TFT_LCD_RDL.hpp:154
PowerState_e
GC9D01 power states based on the power control flow chart. These states combine the modes: Normal/Par...
Definition GC9D01_TFT_LCD_RDL.hpp:35
static constexpr uint8_t GC9D01_TEON
Definition GC9D01_TFT_LCD_RDL.hpp:159
static constexpr uint8_t GC9D01_RDID3
Definition GC9D01_TFT_LCD_RDL.hpp:182
uint16_t _GC9D01_Y_Landscape
Definition GC9D01_TFT_LCD_RDL.hpp:112
void TFTsetBrightness(uint8_t level)
Set display brightness (0–255).
Definition GC9D01_TFT_LCD_RDL.cpp:623
static constexpr uint8_t GC9D01_NORON
Definition GC9D01_TFT_LCD_RDL.hpp:145
void TFTSetupResetPin(int8_t rst)
sets up TFT GPIO reset pin
Definition GC9D01_TFT_LCD_RDL.cpp:607
void TFTsetRotation(display_rotate_e r)
: change rotation of display.
Definition GC9D01_TFT_LCD_RDL.cpp:441
int _spiFlags
Definition GC9D01_TFT_LCD_RDL.hpp:119
static constexpr uint8_t GC9D01_TEOFF
Definition GC9D01_TFT_LCD_RDL.hpp:158
uint16_t HighFreqDelayGet(void)
Freq delay used in SW SPI getter, uS delay used in SW SPI method.
Definition GC9D01_TFT_LCD_RDL.cpp:552
void TFTInitOffsets(uint16_t XLstart=0, uint16_t YLstart=0, uint16_t XPstart=0, uint16_t YPstart=0)
initialise the offsets that define the behaviour of the screen
Definition GC9D01_TFT_LCD_RDL.cpp:499
rdlib::Return_Codes_e TFTClock_Data_ChipSelect_Pins(void)
: Method for Clock, data and chip select pin setup routine for software SPI.
Definition GC9D01_TFT_LCD_RDL.cpp:156
int _spiChan
Definition GC9D01_TFT_LCD_RDL.hpp:117
void TFTsetPowerMode(PowerState_e m)
Set the power mode of the display.
Definition GC9D01_TFT_LCD_RDL.cpp:372
uint16_t _widthStartTFT
Definition GC9D01_TFT_LCD_RDL.hpp:106
rdlib::Return_Codes_e TFTInitSPI(uint16_t CommDelay, int gpioDev)
intialise PCBtype and SPI, Software SPI
Definition GC9D01_TFT_LCD_RDL.cpp:541
static constexpr uint8_t GC9D01_RAMWR
Definition GC9D01_TFT_LCD_RDL.hpp:155
static constexpr uint8_t GC9D01_INVERSION
Definition GC9D01_TFT_LCD_RDL.hpp:190
static constexpr uint8_t GC9D01_SETCTRL
Definition GC9D01_TFT_LCD_RDL.hpp:167
void DualGatecmdInitSequence(void)
GC9D01 init command sequence for Dual Gate variant Dual Gate variants include 160x160 resolutions.
Definition GC9D01_TFT_LCD_RDL.cpp:637
uint16_t _GC9D01_X_Landscape
Definition GC9D01_TFT_LCD_RDL.hpp:111
static constexpr uint8_t GC9D01_DISPON
Definition GC9D01_TFT_LCD_RDL.hpp:147
static constexpr uint8_t GC9D01_SLPIN
Definition GC9D01_TFT_LCD_RDL.hpp:142
void SingleGatecmdInitSequence60x160(void)
GC9D01 init command sequence for Single Gate variant Single Gate variants include 60X160 display reso...
Definition GC9D01_TFT_LCD_RDL.cpp:1047
static constexpr uint8_t GC9D01_INVOFF
Definition GC9D01_TFT_LCD_RDL.hpp:151
PowerState_e _currentPowerState
Definition GC9D01_TFT_LCD_RDL.hpp:101
uint16_t _GC9D01_X_Portrait
Definition GC9D01_TFT_LCD_RDL.hpp:109
static constexpr uint8_t GC9D01_DUAL_SINGLE
Definition GC9D01_TFT_LCD_RDL.hpp:173
static constexpr uint8_t GC9D01_PTLAR
Definition GC9D01_TFT_LCD_RDL.hpp:156
int _spiBaud
Definition GC9D01_TFT_LCD_RDL.hpp:118
virtual void setAddrWindow(uint16_t, uint16_t, uint16_t, uint16_t) override
SPI displays set an address window rectangle for blitting pixels.
Definition GC9D01_TFT_LCD_RDL.cpp:568
uint16_t _GC9D01_Y_Portrait
Definition GC9D01_TFT_LCD_RDL.hpp:110
void TFTinitByResolution(void)
helper function for TFTGC9D01Initialize calls command sequnce
Definition GC9D01_TFT_LCD_RDL.cpp:266
rdlib::Return_Codes_e TFTGC9D01Initialize(void)
init routine for GC9D01 controller
Definition GC9D01_TFT_LCD_RDL.cpp:230
static constexpr uint8_t GC9D01_GAMMA3
Definition GC9D01_TFT_LCD_RDL.hpp:186
Resolution_e
GC9D01 panel resolution and gate configuration.
Definition GC9D01_TFT_LCD_RDL.hpp:49
static constexpr uint8_t GC9D01_DISPOFF
Definition GC9D01_TFT_LCD_RDL.hpp:146
static constexpr uint8_t GC9D01_BLANK_PORCH_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:171
static constexpr uint8_t GC9D01_VSCRDEF
Definition GC9D01_TFT_LCD_RDL.hpp:157
static constexpr uint8_t GC9D01_VREG2A_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:178
static constexpr uint8_t GC9D01_TEWC
Definition GC9D01_TFT_LCD_RDL.hpp:170
static constexpr uint8_t GC9D01_GAMMA4
Definition GC9D01_TFT_LCD_RDL.hpp:187
uint16_t _GC9D01_X_Offset
Definition GC9D01_TFT_LCD_RDL.hpp:113
void SingleGatecmdInitSequence40x160(void)
GC9D01 init command sequence for Single Gate variant Single Gate variant 40x160 resolutions.
Definition GC9D01_TFT_LCD_RDL.cpp:780
rdlib::Return_Codes_e TFTResetPin(void)
Method for Hardware Reset pin control.
Definition GC9D01_TFT_LCD_RDL.cpp:110
rdlib::Return_Codes_e TFTPowerDown(void)
Call when powering down TFT.
Definition GC9D01_TFT_LCD_RDL.cpp:24
static constexpr uint8_t GC9D01_RDDID
Definition GC9D01_TFT_LCD_RDL.hpp:139
static constexpr uint8_t GC9D01_PTLON
Definition GC9D01_TFT_LCD_RDL.hpp:144
static constexpr uint8_t GC9D01_RDID2
Definition GC9D01_TFT_LCD_RDL.hpp:181
void TFTsetScrollStart(uint16_t vsp)
This method is used together with the setScrollDefinition.
Definition GC9D01_TFT_LCD_RDL.cpp:328
static constexpr uint8_t GC9D01_IDLEON
Definition GC9D01_TFT_LCD_RDL.hpp:149
static constexpr uint8_t GC9D01_INREGEN1
Definition GC9D01_TFT_LCD_RDL.hpp:192
static constexpr uint8_t GC9D01_RGB_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:169
display_rotate_e displayRotate
Definition GC9D01_TFT_LCD_RDL.hpp:58
static constexpr uint8_t GC9D01_POWER_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:175
uint16_t _GC9D01_Y_Offset
Definition GC9D01_TFT_LCD_RDL.hpp:114
void TFTScrollModeLeave(void)
Scroll Mode can be left ,by the Normal Display Mode ON cmd.
Definition GC9D01_TFT_LCD_RDL.cpp:335
void SingleGatecmdInitSequence50x160(void)
GC9D01 init command sequence for Single Gate variant Single Gate variants include 50X160 display reso...
Definition GC9D01_TFT_LCD_RDL.cpp:920
static constexpr uint8_t GC9D01_GAMMA1
Definition GC9D01_TFT_LCD_RDL.hpp:184
void TFTInitScreenSize(uint16_t w=160, uint16_t h=160, Resolution_e r=Resolution_e::RGB160x160_DualGate)
initialise the variables that define the size of the screen
Definition GC9D01_TFT_LCD_RDL.cpp:483
Resolution_e _currentResolution
Definition GC9D01_TFT_LCD_RDL.hpp:102
static constexpr uint8_t GC9D01_RDID1
Definition GC9D01_TFT_LCD_RDL.hpp:180
static constexpr uint8_t GC9D01_COLMOD
Definition GC9D01_TFT_LCD_RDL.hpp:162
void HighFreqDelaySet(uint16_t)
Freq delay used in SW SPI setter, uS delay used in SW SPI method.
Definition GC9D01_TFT_LCD_RDL.cpp:558
static constexpr uint8_t GC9D01_VSCRSADD
Definition GC9D01_TFT_LCD_RDL.hpp:161
static constexpr uint8_t GC9D01_FUNCTION_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:172
void TFTSetupGPIO(int8_t, int8_t, int8_t, int8_t, int8_t)
sets up TFT GPIO for software SPI
Definition GC9D01_TFT_LCD_RDL.cpp:212
static constexpr uint8_t GC9D01_IDLEOFF
Definition GC9D01_TFT_LCD_RDL.hpp:148
void TFTenableDisplay(bool m)
enable /disable display mode
Definition GC9D01_TFT_LCD_RDL.cpp:355
static constexpr uint8_t GC9D01_VREG1A_CTRL
Definition GC9D01_TFT_LCD_RDL.hpp:176
void SingleGatecmdInitSequence80x160(void)
GC9D01 init command sequence for single Gate 80x160 variant.
Definition GC9D01_TFT_LCD_RDL.cpp:1171
static constexpr uint8_t GC9D01_SWRESET
Definition GC9D01_TFT_LCD_RDL.hpp:138
static constexpr uint8_t GC9D01_INVON
Definition GC9D01_TFT_LCD_RDL.hpp:152
uint16_t _heightStartTFT
Definition GC9D01_TFT_LCD_RDL.hpp:107
bool _displayOn
Definition GC9D01_TFT_LCD_RDL.hpp:103
static constexpr uint8_t GC9D01_SLPOUT
Definition GC9D01_TFT_LCD_RDL.hpp:143
static constexpr uint8_t GC9D01_GAMMA2
Definition GC9D01_TFT_LCD_RDL.hpp:185
static constexpr uint8_t GC9D01_RDDST
Definition GC9D01_TFT_LCD_RDL.hpp:140
const uint16_t _sleepDelay
Definition GC9D01_TFT_LCD_RDL.hpp:104
static constexpr uint8_t GC9D01_CASET
Definition GC9D01_TFT_LCD_RDL.hpp:153
Class to handle fonts and graphics of color 16 bit display.
Definition color16_graphics_RDL.hpp:23
display_rotate_e
Definition color16_graphics_RDL.hpp:73
@ Degrees_0
Definition color16_graphics_RDL.hpp:74
Library header file for 16 bit (565) color graphics library. This file handles the graphic methods.
Return_Codes_e
Definition common_data_RDL.hpp:22
MADCTL bit flags for register GC9D01_MADCTL (0x36).
Definition GC9D01_TFT_LCD_RDL.hpp:127
static constexpr uint8_t MY
Definition GC9D01_TFT_LCD_RDL.hpp:128
static constexpr uint8_t MH
Definition GC9D01_TFT_LCD_RDL.hpp:134
static constexpr uint8_t MV
Definition GC9D01_TFT_LCD_RDL.hpp:130
static constexpr uint8_t RGB
Definition GC9D01_TFT_LCD_RDL.hpp:132
static constexpr uint8_t MX
Definition GC9D01_TFT_LCD_RDL.hpp:129
static constexpr uint8_t BGR
Definition GC9D01_TFT_LCD_RDL.hpp:133
static constexpr uint8_t ML
Definition GC9D01_TFT_LCD_RDL.hpp:131