diff --git a/TFT_Drivers/ST7789_Rotation.h b/TFT_Drivers/ST7789_Rotation.h index 8c526ad..74a5b9f 100644 --- a/TFT_Drivers/ST7789_Rotation.h +++ b/TFT_Drivers/ST7789_Rotation.h @@ -3,40 +3,50 @@ writecommand(TFT_MADCTL); rotation = m % 4; switch (rotation) { - case 0: // Portrait - writedata(TFT_MAD_RGB); - _width = _init_width; - _height = _init_height; -#ifdef CGRAM_OFFSET - colstart = 0; - rowstart = 0; -#endif - break; - case 1: // Landscape (Portrait + 90) - writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_RGB); - _width = _init_height; - _height = _init_width; + case 0: // Portrait #ifdef CGRAM_OFFSET + writedata(TFT_MAD_BGR); colstart = 0; rowstart = 0; +#else + writedata(TFT_MAD_RGB); #endif - break; - case 2: // Inverter portrait - writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_RGB); _width = _init_width; _height = _init_height; + break; + + case 1: // Landscape (Portrait + 90) #ifdef CGRAM_OFFSET + writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); colstart = 0; - rowstart = 80; + rowstart = 0; +#else + writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_RGB); #endif - break; - case 3: // Inverted landscape - writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_RGB); _width = _init_height; _height = _init_width; + break; + + case 2: // Inverter portrait #ifdef CGRAM_OFFSET + writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); + colstart = 0; + rowstart = 80; +#else + writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_RGB); +#endif + _width = _init_width; + _height = _init_height; + break; + case 3: // Inverted landscape +#ifdef CGRAM_OFFSET + writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); colstart = 80; rowstart = 0; +#else + writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_RGB); #endif - break; + _width = _init_height; + _height = _init_width; + break; }