From f3135aea29d66701c8012f92e83b2846bbc9f9d5 Mon Sep 17 00:00:00 2001 From: Dave Bennett Date: Thu, 7 Oct 2021 08:25:27 -0400 Subject: [PATCH] Changing the rotation file so that text is not flipped. Rotation values from the ILI9486 driver work well with this --- TFT_Drivers/HX8357D_Rotation.h | 71 ++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 25 deletions(-) diff --git a/TFT_Drivers/HX8357D_Rotation.h b/TFT_Drivers/HX8357D_Rotation.h index 9df230b..fc47b8d 100644 --- a/TFT_Drivers/HX8357D_Rotation.h +++ b/TFT_Drivers/HX8357D_Rotation.h @@ -1,26 +1,47 @@ - // This is the command sequence that rotates the ILI9481 driver coordinate frame + // This is the command sequence that rotates the HX8357D driver coordinate frame - writecommand(TFT_MADCTL); - rotation = m % 4; - switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_RGB); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_RGB); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - case 2: // Inverter portrait - writedata(TFT_MAD_RGB); - _width = TFT_WIDTH; - _height = TFT_HEIGHT; - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_RGB); - _width = TFT_HEIGHT; - _height = TFT_WIDTH; - break; - } +writecommand(TFT_MADCTL); +rotation = m % 8; +switch (rotation) +{ +case 0: // Portrait + writedata(TFT_MAD_BGR | TFT_MAD_MX); + _width = _init_width; + _height = _init_height; + break; +case 1: // Landscape (Portrait + 90) + writedata(TFT_MAD_BGR | TFT_MAD_MV); + _width = _init_height; + _height = _init_width; + break; +case 2: // Inverter portrait + writedata(TFT_MAD_BGR | TFT_MAD_MY); + _width = _init_width; + _height = _init_height; + break; +case 3: // Inverted landscape + writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY); + _width = _init_height; + _height = _init_width; + break; +case 4: // Portrait + writedata(TFT_MAD_BGR | TFT_MAD_MX | TFT_MAD_MY); + _width = _init_width; + _height = _init_height; + break; +case 5: // Landscape (Portrait + 90) + writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MX); + _width = _init_height; + _height = _init_width; + break; +case 6: // Inverter portrait + writedata(TFT_MAD_BGR); + _width = _init_width; + _height = _init_height; + break; +case 7: // Inverted landscape + writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MY); + _width = _init_height; + _height = _init_width; + break; +}