acid-drop- Hacking the planet from a LilyGo T-Deck using custom firmware |
git clone git://git.acid.vegas/acid-drop.git |
Log | Files | Refs | Archive | README | LICENSE |
ST7735_Rotation.h (4634B)
1 2 // This is the command sequence that rotates the ST7735 driver coordinate frame 3 4 rotation = m % 4; // Limit the range of values to 0-3 5 6 writecommand(TFT_MADCTL); 7 switch (rotation) { 8 case 0: 9 if (tabcolor == INITR_BLACKTAB) { 10 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 11 } else if(tabcolor == INITR_GREENTAB2) { 12 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 13 colstart = 2; 14 rowstart = 1; 15 } else if(tabcolor == INITR_GREENTAB3) { 16 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 17 colstart = 2; 18 rowstart = 3; 19 } else if(tabcolor == INITR_GREENTAB128) { 20 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MH | TFT_MAD_COLOR_ORDER); 21 colstart = 0; 22 rowstart = 32; 23 } else if(tabcolor == INITR_GREENTAB160x80) { 24 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MH | TFT_MAD_COLOR_ORDER); 25 colstart = 26; 26 rowstart = 1; 27 } else if(tabcolor == INITR_REDTAB160x80) { 28 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MH | TFT_MAD_COLOR_ORDER); 29 colstart = 24; 30 rowstart = 0; 31 } else if(tabcolor == INITB) { 32 writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER); 33 } else { 34 writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 35 } 36 _width = _init_width; 37 _height = _init_height; 38 break; 39 case 1: 40 if (tabcolor == INITR_BLACKTAB) { 41 writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 42 } else if(tabcolor == INITR_GREENTAB2) { 43 writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 44 colstart = 1; 45 rowstart = 2; 46 } else if(tabcolor == INITR_GREENTAB3) { 47 writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 48 colstart = 3; 49 rowstart = 2; 50 } else if(tabcolor == INITR_GREENTAB128) { 51 writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 52 colstart = 32; 53 rowstart = 0; 54 } else if(tabcolor == INITR_GREENTAB160x80) { 55 writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 56 colstart = 1; 57 rowstart = 26; 58 } else if(tabcolor == INITR_REDTAB160x80) { 59 writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 60 colstart = 0; 61 rowstart = 24; 62 } else if(tabcolor == INITB) { 63 writedata(TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 64 } else { 65 writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 66 } 67 _width = _init_height; 68 _height = _init_width; 69 break; 70 case 2: 71 if (tabcolor == INITR_BLACKTAB) { 72 writedata(TFT_MAD_COLOR_ORDER); 73 } else if(tabcolor == INITR_GREENTAB2) { 74 writedata(TFT_MAD_COLOR_ORDER); 75 colstart = 2; 76 rowstart = 1; 77 } else if(tabcolor == INITR_GREENTAB3) { 78 writedata(TFT_MAD_COLOR_ORDER); 79 colstart = 2; 80 rowstart = 1; 81 } else if(tabcolor == INITR_GREENTAB128) { 82 writedata(TFT_MAD_COLOR_ORDER); 83 colstart = 0; 84 rowstart = 0; 85 } else if(tabcolor == INITR_GREENTAB160x80) { 86 writedata(TFT_MAD_COLOR_ORDER); 87 colstart = 26; 88 rowstart = 1; 89 } else if(tabcolor == INITR_REDTAB160x80) { 90 writedata(TFT_MAD_COLOR_ORDER); 91 colstart = 24; 92 rowstart = 0; 93 } else if(tabcolor == INITB) { 94 writedata(TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 95 } else { 96 writedata(TFT_MAD_COLOR_ORDER); 97 } 98 _width = _init_width; 99 _height = _init_height; 100 break; 101 case 3: 102 if (tabcolor == INITR_BLACKTAB) { 103 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 104 } else if(tabcolor == INITR_GREENTAB2) { 105 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 106 colstart = 1; 107 rowstart = 2; 108 } else if(tabcolor == INITR_GREENTAB3) { 109 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 110 colstart = 1; 111 rowstart = 2; 112 } else if(tabcolor == INITR_GREENTAB128) { 113 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 114 colstart = 0; 115 rowstart = 0; 116 } else if(tabcolor == INITR_GREENTAB160x80) { 117 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 118 colstart = 1; 119 rowstart = 26; 120 } else if(tabcolor == INITR_REDTAB160x80) { 121 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 122 colstart = 0; 123 rowstart = 24; 124 } else if(tabcolor == INITB) { 125 writedata(TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 126 } else { 127 writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 128 } 129 _width = _init_height; 130 _height = _init_width; 131 break; 132 }