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

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?

UserRevisionLine numberNew 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