TFT rotation test program (ST7735) Using 1.8" Adafruit TFT Shield with Joystick and microSD v1.0 Verified by WIZwiki-W7500 platform
Dependencies: Adafruit_GFX Adafruit_ST7735 mbed
main.cpp@1:b6cb79a9373d, 2015-07-30 (annotated)
- Committer:
- justinkim
- Date:
- Thu Jul 30 22:59:09 2015 +0000
- Revision:
- 1:b6cb79a9373d
- Parent:
- 0:7315c6c53c24
bug fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
justinkim | 0:7315c6c53c24 | 1 | #include "mbed.h" |
justinkim | 0:7315c6c53c24 | 2 | #include "Adafruit_ST7735.h" |
justinkim | 0:7315c6c53c24 | 3 | |
justinkim | 1:b6cb79a9373d | 4 | #define BUTTON_NONE 0 |
justinkim | 1:b6cb79a9373d | 5 | #define BUTTON_DOWN 1 |
justinkim | 1:b6cb79a9373d | 6 | #define BUTTON_RIGHT 2 |
justinkim | 1:b6cb79a9373d | 7 | #define BUTTON_SELECT 3 |
justinkim | 1:b6cb79a9373d | 8 | #define BUTTON_UP 4 |
justinkim | 1:b6cb79a9373d | 9 | #define BUTTON_LEFT 5 |
justinkim | 1:b6cb79a9373d | 10 | |
justinkim | 0:7315c6c53c24 | 11 | Adafruit_ST7735 tft(D11, D12, D13, D10, D8, D9); // MOSI, MISO, SCLK, SSEL, TFT_DC, TFT_RST |
justinkim | 1:b6cb79a9373d | 12 | AnalogIn joystick(A3); |
justinkim | 0:7315c6c53c24 | 13 | |
justinkim | 1:b6cb79a9373d | 14 | uint8_t readButton(void); |
justinkim | 0:7315c6c53c24 | 15 | void rotateLine(void); |
justinkim | 0:7315c6c53c24 | 16 | void rotateText(void); |
justinkim | 0:7315c6c53c24 | 17 | void rotatePixel(void); |
justinkim | 0:7315c6c53c24 | 18 | void rotateFastline(void); |
justinkim | 0:7315c6c53c24 | 19 | void rotateDrawrect(void); |
justinkim | 0:7315c6c53c24 | 20 | void rotateFillrect(void); |
justinkim | 0:7315c6c53c24 | 21 | void rotateDrawcircle(void); |
justinkim | 0:7315c6c53c24 | 22 | void rotateFillcircle(void); |
justinkim | 0:7315c6c53c24 | 23 | void rotateTriangle(void); |
justinkim | 0:7315c6c53c24 | 24 | void rotateFillTriangle(void); |
justinkim | 0:7315c6c53c24 | 25 | void rotateRoundRect(void); |
justinkim | 0:7315c6c53c24 | 26 | void rotateFillRoundRect(void); |
justinkim | 0:7315c6c53c24 | 27 | void rotateChar(void); |
justinkim | 0:7315c6c53c24 | 28 | void rotateString(void); |
justinkim | 0:7315c6c53c24 | 29 | |
justinkim | 0:7315c6c53c24 | 30 | int main(void) |
justinkim | 1:b6cb79a9373d | 31 | { |
justinkim | 1:b6cb79a9373d | 32 | printf("Hello! Adafruit ST7735 rotation test\r\n"); |
justinkim | 0:7315c6c53c24 | 33 | |
justinkim | 0:7315c6c53c24 | 34 | // Use this initializer if you're using a 1.8" TFT |
justinkim | 0:7315c6c53c24 | 35 | tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab |
justinkim | 0:7315c6c53c24 | 36 | |
justinkim | 0:7315c6c53c24 | 37 | // Use this initializer (uncomment) if you're using a 1.44" TFT |
justinkim | 0:7315c6c53c24 | 38 | //tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab |
justinkim | 0:7315c6c53c24 | 39 | |
justinkim | 1:b6cb79a9373d | 40 | printf("init\r\n"); |
justinkim | 0:7315c6c53c24 | 41 | |
justinkim | 0:7315c6c53c24 | 42 | tft.setTextWrap(false); // Allow text to run off right edge |
justinkim | 0:7315c6c53c24 | 43 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 44 | |
justinkim | 1:b6cb79a9373d | 45 | printf("This is a test of the rotation capabilities of the TFT library!\r\n"); |
justinkim | 1:b6cb79a9373d | 46 | printf("Press <SEND> (or type a character) to advance\r\n"); |
justinkim | 0:7315c6c53c24 | 47 | |
justinkim | 0:7315c6c53c24 | 48 | while(1) |
justinkim | 1:b6cb79a9373d | 49 | { |
justinkim | 0:7315c6c53c24 | 50 | rotateLine(); |
justinkim | 0:7315c6c53c24 | 51 | rotateText(); |
justinkim | 0:7315c6c53c24 | 52 | rotatePixel(); |
justinkim | 0:7315c6c53c24 | 53 | rotateFastline(); |
justinkim | 0:7315c6c53c24 | 54 | rotateDrawrect(); |
justinkim | 0:7315c6c53c24 | 55 | rotateFillrect(); |
justinkim | 0:7315c6c53c24 | 56 | rotateDrawcircle(); |
justinkim | 0:7315c6c53c24 | 57 | rotateFillcircle(); |
justinkim | 0:7315c6c53c24 | 58 | rotateTriangle(); |
justinkim | 0:7315c6c53c24 | 59 | rotateFillTriangle(); |
justinkim | 0:7315c6c53c24 | 60 | rotateRoundRect(); |
justinkim | 0:7315c6c53c24 | 61 | rotateFillRoundRect(); |
justinkim | 0:7315c6c53c24 | 62 | rotateChar(); |
justinkim | 0:7315c6c53c24 | 63 | rotateString(); |
justinkim | 0:7315c6c53c24 | 64 | } |
justinkim | 0:7315c6c53c24 | 65 | } |
justinkim | 0:7315c6c53c24 | 66 | |
justinkim | 0:7315c6c53c24 | 67 | void rotateLine(void) { |
justinkim | 1:b6cb79a9373d | 68 | |
justinkim | 1:b6cb79a9373d | 69 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 70 | |
justinkim | 1:b6cb79a9373d | 71 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 72 | |
justinkim | 0:7315c6c53c24 | 73 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 74 | a = 1; |
justinkim | 0:7315c6c53c24 | 75 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 76 | |
justinkim | 0:7315c6c53c24 | 77 | tft.drawLine(tft.width()/2, tft.height()/2, 0, 0, ST7735_RED); |
justinkim | 1:b6cb79a9373d | 78 | while (a){ |
justinkim | 1:b6cb79a9373d | 79 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 80 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 81 | a = 0; |
justinkim | 1:b6cb79a9373d | 82 | } |
justinkim | 1:b6cb79a9373d | 83 | |
justinkim | 0:7315c6c53c24 | 84 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 85 | } |
justinkim | 0:7315c6c53c24 | 86 | } |
justinkim | 0:7315c6c53c24 | 87 | |
justinkim | 0:7315c6c53c24 | 88 | void rotateText(void) { |
justinkim | 1:b6cb79a9373d | 89 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 90 | |
justinkim | 1:b6cb79a9373d | 91 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 92 | |
justinkim | 0:7315c6c53c24 | 93 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 94 | a = 1; |
justinkim | 0:7315c6c53c24 | 95 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 96 | |
justinkim | 0:7315c6c53c24 | 97 | tft.setCursor(0, 30); |
justinkim | 0:7315c6c53c24 | 98 | tft.setTextColor(ST7735_RED); |
justinkim | 0:7315c6c53c24 | 99 | tft.setTextSize(1); |
justinkim | 0:7315c6c53c24 | 100 | tft.printf("Hello World!\r\n"); |
justinkim | 0:7315c6c53c24 | 101 | tft.setTextColor(ST7735_YELLOW); |
justinkim | 0:7315c6c53c24 | 102 | tft.setTextSize(2); |
justinkim | 0:7315c6c53c24 | 103 | tft.printf("Hello World!\r\n"); |
justinkim | 0:7315c6c53c24 | 104 | tft.setTextColor(ST7735_GREEN); |
justinkim | 0:7315c6c53c24 | 105 | tft.setTextSize(3); |
justinkim | 0:7315c6c53c24 | 106 | tft.printf("Hello World!\r\n"); |
justinkim | 1:b6cb79a9373d | 107 | while (a){ |
justinkim | 1:b6cb79a9373d | 108 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 109 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 110 | a = 0; |
justinkim | 1:b6cb79a9373d | 111 | } |
justinkim | 0:7315c6c53c24 | 112 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 113 | } |
justinkim | 0:7315c6c53c24 | 114 | } |
justinkim | 0:7315c6c53c24 | 115 | |
justinkim | 0:7315c6c53c24 | 116 | void rotatePixel(void) { |
justinkim | 1:b6cb79a9373d | 117 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 118 | |
justinkim | 1:b6cb79a9373d | 119 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 120 | |
justinkim | 0:7315c6c53c24 | 121 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 122 | a = 1; |
justinkim | 0:7315c6c53c24 | 123 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 124 | |
justinkim | 0:7315c6c53c24 | 125 | tft.drawPixel(10,20, ST7735_WHITE); |
justinkim | 1:b6cb79a9373d | 126 | while (a){ |
justinkim | 1:b6cb79a9373d | 127 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 128 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 129 | a = 0; |
justinkim | 1:b6cb79a9373d | 130 | } |
justinkim | 0:7315c6c53c24 | 131 | |
justinkim | 0:7315c6c53c24 | 132 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 133 | } |
justinkim | 0:7315c6c53c24 | 134 | } |
justinkim | 0:7315c6c53c24 | 135 | |
justinkim | 0:7315c6c53c24 | 136 | void rotateFastline(void) { |
justinkim | 1:b6cb79a9373d | 137 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 138 | |
justinkim | 1:b6cb79a9373d | 139 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 140 | |
justinkim | 0:7315c6c53c24 | 141 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 142 | a = 1; |
justinkim | 0:7315c6c53c24 | 143 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 144 | |
justinkim | 0:7315c6c53c24 | 145 | tft.drawFastHLine(0, 20, tft.width(), ST7735_RED); |
justinkim | 0:7315c6c53c24 | 146 | tft.drawFastVLine(20, 0, tft.height(), ST7735_BLUE); |
justinkim | 0:7315c6c53c24 | 147 | |
justinkim | 1:b6cb79a9373d | 148 | while (a){ |
justinkim | 1:b6cb79a9373d | 149 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 150 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 151 | a = 0; |
justinkim | 1:b6cb79a9373d | 152 | } |
justinkim | 0:7315c6c53c24 | 153 | |
justinkim | 0:7315c6c53c24 | 154 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 155 | } |
justinkim | 0:7315c6c53c24 | 156 | } |
justinkim | 0:7315c6c53c24 | 157 | |
justinkim | 0:7315c6c53c24 | 158 | void rotateDrawrect(void) { |
justinkim | 1:b6cb79a9373d | 159 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 160 | |
justinkim | 1:b6cb79a9373d | 161 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 162 | |
justinkim | 0:7315c6c53c24 | 163 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 164 | a = 1; |
justinkim | 0:7315c6c53c24 | 165 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 166 | |
justinkim | 0:7315c6c53c24 | 167 | tft.drawRect(10, 20, 10, 20, ST7735_GREEN); |
justinkim | 0:7315c6c53c24 | 168 | |
justinkim | 1:b6cb79a9373d | 169 | while (a){ |
justinkim | 1:b6cb79a9373d | 170 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 171 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 172 | a = 0; |
justinkim | 1:b6cb79a9373d | 173 | } |
justinkim | 0:7315c6c53c24 | 174 | |
justinkim | 0:7315c6c53c24 | 175 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 176 | } |
justinkim | 0:7315c6c53c24 | 177 | } |
justinkim | 0:7315c6c53c24 | 178 | |
justinkim | 0:7315c6c53c24 | 179 | void rotateFillrect(void) { |
justinkim | 1:b6cb79a9373d | 180 | uint8_t a = 0,b; |
justinkim | 1:b6cb79a9373d | 181 | |
justinkim | 1:b6cb79a9373d | 182 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 183 | |
justinkim | 0:7315c6c53c24 | 184 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 185 | a = 1; |
justinkim | 0:7315c6c53c24 | 186 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 187 | |
justinkim | 0:7315c6c53c24 | 188 | tft.fillRect(10, 20, 10, 20, ST7735_GREEN); |
justinkim | 0:7315c6c53c24 | 189 | |
justinkim | 1:b6cb79a9373d | 190 | while (a){ |
justinkim | 1:b6cb79a9373d | 191 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 192 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 193 | a = 0; |
justinkim | 1:b6cb79a9373d | 194 | } |
justinkim | 0:7315c6c53c24 | 195 | |
justinkim | 0:7315c6c53c24 | 196 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 197 | } |
justinkim | 0:7315c6c53c24 | 198 | } |
justinkim | 0:7315c6c53c24 | 199 | |
justinkim | 0:7315c6c53c24 | 200 | void rotateDrawcircle(void) { |
justinkim | 1:b6cb79a9373d | 201 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 202 | |
justinkim | 1:b6cb79a9373d | 203 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 204 | |
justinkim | 0:7315c6c53c24 | 205 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 206 | a = 1; |
justinkim | 0:7315c6c53c24 | 207 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 208 | |
justinkim | 0:7315c6c53c24 | 209 | tft.drawCircle(10, 30, 10, ST7735_YELLOW); |
justinkim | 0:7315c6c53c24 | 210 | |
justinkim | 1:b6cb79a9373d | 211 | while (a){ |
justinkim | 1:b6cb79a9373d | 212 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 213 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 214 | a = 0; |
justinkim | 1:b6cb79a9373d | 215 | } |
justinkim | 1:b6cb79a9373d | 216 | |
justinkim | 0:7315c6c53c24 | 217 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 218 | } |
justinkim | 0:7315c6c53c24 | 219 | } |
justinkim | 0:7315c6c53c24 | 220 | |
justinkim | 0:7315c6c53c24 | 221 | void rotateFillcircle(void) { |
justinkim | 1:b6cb79a9373d | 222 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 223 | |
justinkim | 1:b6cb79a9373d | 224 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 225 | |
justinkim | 0:7315c6c53c24 | 226 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 227 | a = 1; |
justinkim | 0:7315c6c53c24 | 228 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 229 | |
justinkim | 0:7315c6c53c24 | 230 | tft.fillCircle(10, 30, 10, ST7735_YELLOW); |
justinkim | 0:7315c6c53c24 | 231 | |
justinkim | 1:b6cb79a9373d | 232 | while (a){ |
justinkim | 1:b6cb79a9373d | 233 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 234 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 235 | a = 0; |
justinkim | 1:b6cb79a9373d | 236 | } |
justinkim | 0:7315c6c53c24 | 237 | |
justinkim | 0:7315c6c53c24 | 238 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 239 | } |
justinkim | 0:7315c6c53c24 | 240 | } |
justinkim | 0:7315c6c53c24 | 241 | |
justinkim | 0:7315c6c53c24 | 242 | void rotateTriangle(void) { |
justinkim | 1:b6cb79a9373d | 243 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 244 | |
justinkim | 1:b6cb79a9373d | 245 | b = readButton(); |
justinkim | 0:7315c6c53c24 | 246 | |
justinkim | 1:b6cb79a9373d | 247 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 248 | a = 1; |
justinkim | 1:b6cb79a9373d | 249 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 250 | tft.drawTriangle(20, 10, 10, 30, 30, 30, ST7735_GREEN); |
justinkim | 1:b6cb79a9373d | 251 | while (a){ |
justinkim | 1:b6cb79a9373d | 252 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 253 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 254 | a = 0; |
justinkim | 1:b6cb79a9373d | 255 | } |
justinkim | 0:7315c6c53c24 | 256 | |
justinkim | 0:7315c6c53c24 | 257 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 258 | } |
justinkim | 0:7315c6c53c24 | 259 | } |
justinkim | 0:7315c6c53c24 | 260 | |
justinkim | 0:7315c6c53c24 | 261 | void rotateFillTriangle(void) { |
justinkim | 1:b6cb79a9373d | 262 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 263 | |
justinkim | 1:b6cb79a9373d | 264 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 265 | |
justinkim | 0:7315c6c53c24 | 266 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 267 | a = 1; |
justinkim | 0:7315c6c53c24 | 268 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 269 | tft.fillTriangle(20, 10, 10, 30, 30, 30, ST7735_RED); |
justinkim | 1:b6cb79a9373d | 270 | while (a){ |
justinkim | 1:b6cb79a9373d | 271 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 272 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 273 | a = 0; |
justinkim | 1:b6cb79a9373d | 274 | } |
justinkim | 0:7315c6c53c24 | 275 | |
justinkim | 0:7315c6c53c24 | 276 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 277 | } |
justinkim | 0:7315c6c53c24 | 278 | } |
justinkim | 0:7315c6c53c24 | 279 | |
justinkim | 0:7315c6c53c24 | 280 | void rotateRoundRect(void) { |
justinkim | 1:b6cb79a9373d | 281 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 282 | |
justinkim | 1:b6cb79a9373d | 283 | b = readButton(); |
justinkim | 0:7315c6c53c24 | 284 | |
justinkim | 1:b6cb79a9373d | 285 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 286 | a = 1; |
justinkim | 1:b6cb79a9373d | 287 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 288 | tft.drawRoundRect(20, 10, 25, 15, 5, ST7735_BLUE); |
justinkim | 1:b6cb79a9373d | 289 | while (a){ |
justinkim | 1:b6cb79a9373d | 290 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 291 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 292 | a = 0; |
justinkim | 1:b6cb79a9373d | 293 | } |
justinkim | 0:7315c6c53c24 | 294 | |
justinkim | 0:7315c6c53c24 | 295 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 296 | } |
justinkim | 0:7315c6c53c24 | 297 | } |
justinkim | 0:7315c6c53c24 | 298 | |
justinkim | 0:7315c6c53c24 | 299 | void rotateFillRoundRect(void) { |
justinkim | 1:b6cb79a9373d | 300 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 301 | |
justinkim | 1:b6cb79a9373d | 302 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 303 | |
justinkim | 0:7315c6c53c24 | 304 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 305 | a = 1; |
justinkim | 0:7315c6c53c24 | 306 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 307 | |
justinkim | 0:7315c6c53c24 | 308 | tft.fillRoundRect(20, 10, 25, 15, 5, ST7735_CYAN); |
justinkim | 1:b6cb79a9373d | 309 | while (a){ |
justinkim | 1:b6cb79a9373d | 310 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 311 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 312 | a = 0; |
justinkim | 1:b6cb79a9373d | 313 | } |
justinkim | 1:b6cb79a9373d | 314 | |
justinkim | 0:7315c6c53c24 | 315 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 316 | } |
justinkim | 0:7315c6c53c24 | 317 | } |
justinkim | 0:7315c6c53c24 | 318 | |
justinkim | 0:7315c6c53c24 | 319 | void rotateChar(void) { |
justinkim | 1:b6cb79a9373d | 320 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 321 | |
justinkim | 1:b6cb79a9373d | 322 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 323 | |
justinkim | 0:7315c6c53c24 | 324 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 325 | a = 1; |
justinkim | 0:7315c6c53c24 | 326 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 327 | |
justinkim | 0:7315c6c53c24 | 328 | tft.drawChar(25, 15, 'A', ST7735_WHITE, ST7735_WHITE, 1); |
justinkim | 1:b6cb79a9373d | 329 | while (a){ |
justinkim | 1:b6cb79a9373d | 330 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 331 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 332 | a = 0; |
justinkim | 1:b6cb79a9373d | 333 | } |
justinkim | 0:7315c6c53c24 | 334 | |
justinkim | 0:7315c6c53c24 | 335 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 336 | } |
justinkim | 0:7315c6c53c24 | 337 | } |
justinkim | 0:7315c6c53c24 | 338 | |
justinkim | 0:7315c6c53c24 | 339 | void rotateString(void) { |
justinkim | 1:b6cb79a9373d | 340 | uint8_t a = 0, b; |
justinkim | 1:b6cb79a9373d | 341 | |
justinkim | 1:b6cb79a9373d | 342 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 343 | |
justinkim | 0:7315c6c53c24 | 344 | for (uint8_t i=0; i<4; i++) { |
justinkim | 1:b6cb79a9373d | 345 | a = 1; |
justinkim | 0:7315c6c53c24 | 346 | tft.fillScreen(ST7735_BLACK); |
justinkim | 0:7315c6c53c24 | 347 | |
justinkim | 0:7315c6c53c24 | 348 | tft.setCursor(8, 25); |
justinkim | 0:7315c6c53c24 | 349 | tft.setTextSize(1); |
justinkim | 0:7315c6c53c24 | 350 | tft.setTextColor(ST7735_WHITE); |
justinkim | 0:7315c6c53c24 | 351 | tft.printf("Adafruit Industries"); |
justinkim | 1:b6cb79a9373d | 352 | while (a){ |
justinkim | 1:b6cb79a9373d | 353 | b = readButton(); |
justinkim | 1:b6cb79a9373d | 354 | if(b==BUTTON_SELECT) |
justinkim | 1:b6cb79a9373d | 355 | a = 0; |
justinkim | 1:b6cb79a9373d | 356 | } |
justinkim | 0:7315c6c53c24 | 357 | |
justinkim | 0:7315c6c53c24 | 358 | tft.setRotation(tft.getRotation()+1); |
justinkim | 0:7315c6c53c24 | 359 | } |
justinkim | 0:7315c6c53c24 | 360 | } |
justinkim | 1:b6cb79a9373d | 361 | |
justinkim | 1:b6cb79a9373d | 362 | uint8_t readButton(void) { |
justinkim | 1:b6cb79a9373d | 363 | float a = joystick.read(); |
justinkim | 1:b6cb79a9373d | 364 | |
justinkim | 1:b6cb79a9373d | 365 | a *= 5.0; |
justinkim | 1:b6cb79a9373d | 366 | |
justinkim | 1:b6cb79a9373d | 367 | printf("Button read analog = %f\r\n",a); |
justinkim | 1:b6cb79a9373d | 368 | if (a < 0.2) return BUTTON_DOWN; |
justinkim | 1:b6cb79a9373d | 369 | if (a < 1.0) return BUTTON_RIGHT; |
justinkim | 1:b6cb79a9373d | 370 | if (a < 1.7) return BUTTON_SELECT; |
justinkim | 1:b6cb79a9373d | 371 | if (a < 2.6) return BUTTON_UP; |
justinkim | 1:b6cb79a9373d | 372 | if (a < 4.6) return BUTTON_LEFT; |
justinkim | 1:b6cb79a9373d | 373 | else return BUTTON_NONE; |
justinkim | 1:b6cb79a9373d | 374 | } |
justinkim | 1:b6cb79a9373d | 375 |