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; +}