acidportal- 😈 Worlds smallest Evil Portal on a LilyGo T-QT |
git clone git://git.acid.vegas/acidportal.git |
Log | Files | Refs | Archive | README | LICENSE |
ST7789_Rotation.h (2722B)
1 // This is the command sequence that rotates the ST7789 driver coordinate frame 2 3 writecommand(TFT_MADCTL); 4 rotation = m % 4; 5 switch (rotation) { 6 case 0: // Portrait 7 #ifdef CGRAM_OFFSET 8 if (_init_width == 135) 9 { 10 colstart = 52; 11 rowstart = 40; 12 } 13 else if(_init_height == 280) 14 { 15 colstart = 0; 16 rowstart = 20; 17 } 18 else if(_init_width == 172) 19 { 20 colstart = 34; 21 rowstart = 0; 22 } 23 else if(_init_width == 170) 24 { 25 colstart = 35; 26 rowstart = 0; 27 } 28 else 29 { 30 colstart = 0; 31 rowstart = 0; 32 } 33 #endif 34 writedata(TFT_MAD_COLOR_ORDER); 35 36 _width = _init_width; 37 _height = _init_height; 38 break; 39 40 case 1: // Landscape (Portrait + 90) 41 #ifdef CGRAM_OFFSET 42 if (_init_width == 135) 43 { 44 colstart = 40; 45 rowstart = 53; 46 } 47 else if(_init_height == 280) 48 { 49 colstart = 20; 50 rowstart = 0; 51 } 52 else if(_init_width == 172) 53 { 54 colstart = 0; 55 rowstart = 34; 56 } 57 else if(_init_width == 170) 58 { 59 colstart = 0; 60 rowstart = 35; 61 } 62 else 63 { 64 colstart = 0; 65 rowstart = 0; 66 } 67 #endif 68 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 69 70 _width = _init_height; 71 _height = _init_width; 72 break; 73 74 case 2: // Inverter portrait 75 #ifdef CGRAM_OFFSET 76 if (_init_width == 135) 77 { 78 colstart = 53; 79 rowstart = 40; 80 } 81 else if(_init_height == 280) 82 { 83 colstart = 0; 84 rowstart = 20; 85 } 86 else if(_init_width == 172) 87 { 88 colstart = 34; 89 rowstart = 0; 90 } 91 else if(_init_width == 170) 92 { 93 colstart = 35; 94 rowstart = 0; 95 } 96 else 97 { 98 colstart = 0; 99 rowstart = 80; 100 } 101 #endif 102 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 103 104 _width = _init_width; 105 _height = _init_height; 106 break; 107 case 3: // Inverted landscape 108 #ifdef CGRAM_OFFSET 109 if (_init_width == 135) 110 { 111 colstart = 40; 112 rowstart = 52; 113 } 114 else if(_init_height == 280) 115 { 116 colstart = 20; 117 rowstart = 0; 118 } 119 else if(_init_width == 172) 120 { 121 colstart = 0; 122 rowstart = 34; 123 } 124 else if(_init_width == 170) 125 { 126 colstart = 0; 127 rowstart = 35; 128 } 129 else 130 { 131 colstart = 80; 132 rowstart = 0; 133 } 134 #endif 135 writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 136 137 _width = _init_height; 138 _height = _init_width; 139 break; 140 }