TFT_ILI9163C test A fork of https://github.com/sumotoy/TFT_ILI9163C

Dependencies:   Adafruit-GFX-Library TFT_ILI9163C mbed

Fork of IL9163C_test by _ peu605

Committer:
peu605
Date:
Wed Feb 04 10:59:10 2015 +0000
Revision:
8:4fcf5494f425
Parent:
5:f6052f005aef
Child:
9:99e7307d5a59
format code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
peu605 0:26cf1056924c 1 #include "mbed.h"
peu605 0:26cf1056924c 2
peu605 0:26cf1056924c 3 #include <Adafruit_GFX.h>
peu605 0:26cf1056924c 4 #include <TFT_ILI9163C.h>
peu605 0:26cf1056924c 5
peu605 0:26cf1056924c 6 #define __MOSI D11
peu605 0:26cf1056924c 7 #define __MISO NC
peu605 0:26cf1056924c 8 #define __SCLK D13
peu605 0:26cf1056924c 9 #define __CS D10
peu605 0:26cf1056924c 10 #define __DC D9
peu605 0:26cf1056924c 11 #define __RST D8
peu605 0:26cf1056924c 12
peu605 0:26cf1056924c 13 // Color definitions
peu605 0:26cf1056924c 14 #define BLACK 0x0000
peu605 0:26cf1056924c 15 #define BLUE 0x001F
peu605 0:26cf1056924c 16 #define RED 0xF800
peu605 0:26cf1056924c 17 #define GREEN 0x07E0
peu605 0:26cf1056924c 18 #define CYAN 0x07FF
peu605 0:26cf1056924c 19 #define MAGENTA 0xF81F
peu605 8:4fcf5494f425 20 #define YELLOW 0xFFE0
peu605 0:26cf1056924c 21 #define WHITE 0xFFFF
peu605 0:26cf1056924c 22 #define TRANSPARENT -1
peu605 0:26cf1056924c 23
peu605 8:4fcf5494f425 24 #define SPI_BITRATE 50000000L
peu605 8:4fcf5494f425 25
peu605 0:26cf1056924c 26 TFT_ILI9163C display(__MOSI, __MISO, __SCLK, __CS, __DC, __RST);
peu605 0:26cf1056924c 27 //TFT_ILI9163C display(__MOSI, __MISO, __SCLK, __CS, __DC);
peu605 0:26cf1056924c 28
peu605 0:26cf1056924c 29 Timer t;
peu605 0:26cf1056924c 30
peu605 0:26cf1056924c 31 const float p = 3.1415926;
peu605 0:26cf1056924c 32
peu605 0:26cf1056924c 33 int32_t random(int32_t howbig) {
peu605 8:4fcf5494f425 34 if (howbig == 0) {
peu605 8:4fcf5494f425 35 return 0;
peu605 8:4fcf5494f425 36 }
peu605 8:4fcf5494f425 37 return rand() % howbig;
peu605 0:26cf1056924c 38 }
peu605 0:26cf1056924c 39
peu605 0:26cf1056924c 40 int32_t random(int32_t howsmall, int32_t howbig) {
peu605 8:4fcf5494f425 41 if (howsmall >= howbig) {
peu605 8:4fcf5494f425 42 return howsmall;
peu605 8:4fcf5494f425 43 }
peu605 8:4fcf5494f425 44 int32_t diff = howbig - howsmall +1;
peu605 8:4fcf5494f425 45 return random(diff) + howsmall;
peu605 0:26cf1056924c 46 }
peu605 0:26cf1056924c 47
peu605 0:26cf1056924c 48 void testlines(uint16_t color) {
peu605 8:4fcf5494f425 49 display.clearScreen();
peu605 8:4fcf5494f425 50 for (int16_t x=0; x < display.width()-1; x+=6) {
peu605 8:4fcf5494f425 51 display.drawLine(0, 0, x, display.height()-1, color);
peu605 8:4fcf5494f425 52 }
peu605 8:4fcf5494f425 53 for (int16_t y=0; y < display.height()-1; y+=6) {
peu605 8:4fcf5494f425 54 display.drawLine(0, 0, display.width()-1, y, color);
peu605 8:4fcf5494f425 55 }
peu605 8:4fcf5494f425 56 display.clearScreen();
peu605 8:4fcf5494f425 57 for (int16_t x=0; x < display.width()-1; x+=6) {
peu605 8:4fcf5494f425 58 display.drawLine(display.width()-1, 0, x, display.height()-1, color);
peu605 8:4fcf5494f425 59 }
peu605 8:4fcf5494f425 60 for (int16_t y=0; y < display.height()-1; y+=6) {
peu605 8:4fcf5494f425 61 display.drawLine(display.width()-1, 0, 0, y, color);
peu605 8:4fcf5494f425 62 }
peu605 0:26cf1056924c 63
peu605 8:4fcf5494f425 64 display.clearScreen();
peu605 8:4fcf5494f425 65 for (int16_t x=0; x < display.width()-1; x+=6) {
peu605 8:4fcf5494f425 66 display.drawLine(0, display.height()-1, x, 0, color);
peu605 8:4fcf5494f425 67 }
peu605 8:4fcf5494f425 68 for (int16_t y=0; y < display.height()-1; y+=6) {
peu605 8:4fcf5494f425 69 display.drawLine(0, display.height()-1, display.width()-1, y, color);
peu605 8:4fcf5494f425 70 }
peu605 8:4fcf5494f425 71 display.clearScreen();
peu605 8:4fcf5494f425 72 for (int16_t x=0; x < display.width()-1; x+=6) {
peu605 8:4fcf5494f425 73 display.drawLine(display.width()-1, display.height()-1, x, 0, color);
peu605 8:4fcf5494f425 74 }
peu605 8:4fcf5494f425 75 for (int16_t y=0; y < display.height()-1; y+=6) {
peu605 8:4fcf5494f425 76 display.drawLine(display.width()-1, display.height()-1, 0, y, color);
peu605 8:4fcf5494f425 77 }
peu605 8:4fcf5494f425 78 wait_ms(500);
peu605 0:26cf1056924c 79 }
peu605 0:26cf1056924c 80
peu605 0:26cf1056924c 81
peu605 0:26cf1056924c 82 void testdrawtext(char *text, uint16_t color) {
peu605 8:4fcf5494f425 83 display.setTextSize(1);
peu605 8:4fcf5494f425 84 display.setTextColor(WHITE);
peu605 8:4fcf5494f425 85 display.setCursor(0,0);
peu605 0:26cf1056924c 86
peu605 8:4fcf5494f425 87 for (uint8_t i=0; i < 168; i++) {
peu605 8:4fcf5494f425 88 if (i == '\n') continue;
peu605 8:4fcf5494f425 89 display.writeChar(i);
peu605 8:4fcf5494f425 90 if ((i > 0) && (i % 21 == 0))
peu605 8:4fcf5494f425 91 display.printf("\n");
peu605 8:4fcf5494f425 92 }
peu605 0:26cf1056924c 93 }
peu605 0:26cf1056924c 94
peu605 0:26cf1056924c 95 void testfastlines(uint16_t color1, uint16_t color2) {
peu605 8:4fcf5494f425 96 display.clearScreen();
peu605 8:4fcf5494f425 97 for (int16_t y=0; y < display.height()-1; y+=5) {
peu605 8:4fcf5494f425 98 display.drawFastHLine(0, y, display.width()-1, color1);
peu605 8:4fcf5494f425 99 }
peu605 8:4fcf5494f425 100 for (int16_t x=0; x < display.width()-1; x+=5) {
peu605 8:4fcf5494f425 101 display.drawFastVLine(x, 0, display.height()-1, color2);
peu605 8:4fcf5494f425 102 }
peu605 0:26cf1056924c 103 }
peu605 0:26cf1056924c 104
peu605 0:26cf1056924c 105 void testdrawrects(uint16_t color) {
peu605 8:4fcf5494f425 106 display.clearScreen();
peu605 8:4fcf5494f425 107 for (int16_t x=0; x < display.height()-1; x+=6) {
peu605 8:4fcf5494f425 108 display.drawRect((display.width()-1)/2 -x/2, (display.height()-1)/2 -x/2 , x, x, color);
peu605 8:4fcf5494f425 109 }
peu605 0:26cf1056924c 110 }
peu605 0:26cf1056924c 111
peu605 0:26cf1056924c 112 void testfillrects(uint16_t color1, uint16_t color2) {
peu605 8:4fcf5494f425 113 display.clearScreen();
peu605 8:4fcf5494f425 114 for (int16_t x=display.height()-1; x > 6; x-=6) {
peu605 8:4fcf5494f425 115 display.fillRect((display.width()-1)/2 -x/2, (display.height()-1)/2 -x/2 , x, x, color1);
peu605 8:4fcf5494f425 116 display.drawRect((display.width()-1)/2 -x/2, (display.height()-1)/2 -x/2 , x, x, color2);
peu605 8:4fcf5494f425 117 }
peu605 0:26cf1056924c 118 }
peu605 0:26cf1056924c 119
peu605 0:26cf1056924c 120 void testfillcircles(uint8_t radius, uint16_t color) {
peu605 8:4fcf5494f425 121 for (uint8_t x=radius; x < display.width()-1; x+=radius*2) {
peu605 8:4fcf5494f425 122 for (uint8_t y=radius; y < display.height()-1; y+=radius*2) {
peu605 8:4fcf5494f425 123 display.fillCircle(x, y, radius, color);
peu605 8:4fcf5494f425 124 }
peu605 0:26cf1056924c 125 }
peu605 0:26cf1056924c 126 }
peu605 0:26cf1056924c 127
peu605 0:26cf1056924c 128 void testdrawcircles(uint8_t radius, uint16_t color) {
peu605 8:4fcf5494f425 129 for (int16_t x=0; x < (display.width()-1)+radius; x+=radius*2) {
peu605 8:4fcf5494f425 130 for (int16_t y=0; y < (display.height())-1+radius; y+=radius*2) {
peu605 8:4fcf5494f425 131 display.drawCircle(x, y, radius, color);
peu605 8:4fcf5494f425 132 }
peu605 0:26cf1056924c 133 }
peu605 0:26cf1056924c 134 }
peu605 0:26cf1056924c 135
peu605 0:26cf1056924c 136 void testtriangles() {
peu605 8:4fcf5494f425 137 display.clearScreen();
peu605 8:4fcf5494f425 138 int color = 0xF800;
peu605 8:4fcf5494f425 139 int t;
peu605 8:4fcf5494f425 140 int w = display.width()/2;
peu605 8:4fcf5494f425 141 int x = display.height();
peu605 8:4fcf5494f425 142 int y = 0;
peu605 8:4fcf5494f425 143 int z = display.width();
peu605 8:4fcf5494f425 144 for(t = 0 ; t <= 15; t+=1) {
peu605 8:4fcf5494f425 145 display.drawTriangle(w, y, y, x, z, x, color);
peu605 8:4fcf5494f425 146 x-=4;
peu605 8:4fcf5494f425 147 y+=4;
peu605 8:4fcf5494f425 148 z-=4;
peu605 8:4fcf5494f425 149 color+=100;
peu605 8:4fcf5494f425 150 }
peu605 0:26cf1056924c 151 }
peu605 0:26cf1056924c 152
peu605 0:26cf1056924c 153 void testroundrects() {
peu605 8:4fcf5494f425 154 display.clearScreen();
peu605 8:4fcf5494f425 155 int color = 100;
peu605 8:4fcf5494f425 156 int i;
peu605 8:4fcf5494f425 157 int t;
peu605 8:4fcf5494f425 158 for(t = 0 ; t <= 4; t+=1) {
peu605 8:4fcf5494f425 159 int x = 0;
peu605 8:4fcf5494f425 160 int y = 0;
peu605 8:4fcf5494f425 161 int w = display.width();
peu605 8:4fcf5494f425 162 int h = display.height();
peu605 8:4fcf5494f425 163 for(i = 0 ; i <= 24; i+=1) {
peu605 8:4fcf5494f425 164 display.drawRoundRect(x, y, w, h, 5, color);
peu605 8:4fcf5494f425 165 x+=2;
peu605 8:4fcf5494f425 166 y+=3;
peu605 8:4fcf5494f425 167 w-=4;
peu605 8:4fcf5494f425 168 h-=6;
peu605 8:4fcf5494f425 169 color+=1100;
peu605 8:4fcf5494f425 170 }
peu605 8:4fcf5494f425 171 color+=100;
peu605 0:26cf1056924c 172 }
peu605 0:26cf1056924c 173 }
peu605 0:26cf1056924c 174
peu605 0:26cf1056924c 175 void tftPrintTest() {
peu605 8:4fcf5494f425 176 display.clearScreen();
peu605 8:4fcf5494f425 177 display.setCursor(0, 5);
peu605 8:4fcf5494f425 178 display.setTextColor(RED);
peu605 8:4fcf5494f425 179 display.setTextSize(1);
peu605 8:4fcf5494f425 180 display.printf("Hello World!\n");
peu605 8:4fcf5494f425 181 display.setTextColor(YELLOW, GREEN);
peu605 8:4fcf5494f425 182 display.setTextSize(2);
peu605 8:4fcf5494f425 183 display.printf("Hello Wo");
peu605 8:4fcf5494f425 184 display.setTextColor(BLUE);
peu605 8:4fcf5494f425 185 display.setTextSize(3);
peu605 8:4fcf5494f425 186 display.printf("%.2f", 12.57);
peu605 8:4fcf5494f425 187 wait_ms(1500);
peu605 8:4fcf5494f425 188 display.setCursor(0, 5);
peu605 8:4fcf5494f425 189 display.clearScreen();
peu605 8:4fcf5494f425 190 display.setTextColor(WHITE);
peu605 8:4fcf5494f425 191 display.setTextSize(0);
peu605 8:4fcf5494f425 192 display.printf("Hello World!\n");
peu605 8:4fcf5494f425 193 display.setTextSize(1);
peu605 8:4fcf5494f425 194 display.setTextColor(GREEN);
peu605 8:4fcf5494f425 195 display.printf("%5f", p);
peu605 8:4fcf5494f425 196 display.printf(" Want pi?\n");
peu605 8:4fcf5494f425 197 display.printf("%x", 8675309);
peu605 8:4fcf5494f425 198 display.printf(" Print HEX\n");
peu605 8:4fcf5494f425 199 display.setTextColor(WHITE);
peu605 8:4fcf5494f425 200 display.printf("Sketch has been\n");
peu605 8:4fcf5494f425 201 display.printf("running for: \n");
peu605 8:4fcf5494f425 202 display.setTextColor(MAGENTA);
peu605 8:4fcf5494f425 203 display.printf("%d", t.read_ms() / 1000);
peu605 8:4fcf5494f425 204 display.setTextColor(WHITE);
peu605 8:4fcf5494f425 205 display.printf(" sec.");
peu605 0:26cf1056924c 206 }
peu605 0:26cf1056924c 207
peu605 0:26cf1056924c 208
peu605 8:4fcf5494f425 209 void randomRect(bool fill) {
peu605 8:4fcf5494f425 210 display.clearScreen();
peu605 8:4fcf5494f425 211 uint8_t k,c;
peu605 8:4fcf5494f425 212 for (k = 0; k < 16; k++) {
peu605 8:4fcf5494f425 213 for (c = 0; c < 32; c++) {
peu605 8:4fcf5494f425 214 uint8_t cx, cy, x, y, w, h;
peu605 8:4fcf5494f425 215 // center
peu605 8:4fcf5494f425 216 cx = random(0,display.width());
peu605 8:4fcf5494f425 217 cy = random(0,display.height());
peu605 8:4fcf5494f425 218 // size
peu605 8:4fcf5494f425 219 w = random(0,30 + 6);
peu605 8:4fcf5494f425 220 h = random(0,20 + 4);
peu605 8:4fcf5494f425 221 // upper-left
peu605 8:4fcf5494f425 222 x = cx - w / 2;
peu605 8:4fcf5494f425 223 y = cy - h / 2;
peu605 0:26cf1056924c 224 // if (x < 0) x = 0;
peu605 0:26cf1056924c 225 // if (y < 0) y = 0;
peu605 8:4fcf5494f425 226 // adjust size
peu605 8:4fcf5494f425 227 if (x + w > display.width()) w = display.width() - x;
peu605 8:4fcf5494f425 228 if (y + h > display.height()) h = display.height() - y;
peu605 8:4fcf5494f425 229 if (fill) {
peu605 8:4fcf5494f425 230 display.fillRect(x, y, w, h,random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 231 } else {
peu605 8:4fcf5494f425 232 display.drawRect(x, y, w, h,random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 233 }
peu605 0:26cf1056924c 234
peu605 8:4fcf5494f425 235 }
peu605 8:4fcf5494f425 236 display.clearScreen();
peu605 0:26cf1056924c 237 }
peu605 0:26cf1056924c 238 }
peu605 0:26cf1056924c 239
peu605 8:4fcf5494f425 240 void randomCircles(bool fill) {
peu605 8:4fcf5494f425 241 display.clearScreen();
peu605 8:4fcf5494f425 242 uint8_t k,c;
peu605 8:4fcf5494f425 243 for (k = 0; k < display.height(); k++) {
peu605 8:4fcf5494f425 244 for (c = 0; c < display.height()/2; c++) {
peu605 8:4fcf5494f425 245 // coordinates
peu605 8:4fcf5494f425 246 uint8_t x = random(0,120 + 3), y = random(0,90 + 2), r = random(0,40 + 1);
peu605 8:4fcf5494f425 247 if (x - r < 0) r = x;
peu605 8:4fcf5494f425 248 if (x + r > (display.width()-1)) r = (display.width() - 1) - x;
peu605 8:4fcf5494f425 249 if (y - r < 0) r = y;
peu605 8:4fcf5494f425 250 if (y + r > (display.height()-1)) r = (display.height() - 1) - y;
peu605 8:4fcf5494f425 251 if (fill) {
peu605 8:4fcf5494f425 252 display.fillCircle(x, y, r,random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 253 } else {
peu605 8:4fcf5494f425 254 display.drawCircle(x, y, r,random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 255 }
peu605 8:4fcf5494f425 256 }
peu605 8:4fcf5494f425 257 if (!fill)display.clearScreen();
peu605 0:26cf1056924c 258 }
peu605 0:26cf1056924c 259 }
peu605 0:26cf1056924c 260
peu605 0:26cf1056924c 261
peu605 8:4fcf5494f425 262 void randomLines() {
peu605 8:4fcf5494f425 263 display.clearScreen();
peu605 8:4fcf5494f425 264 uint8_t k,c;
peu605 8:4fcf5494f425 265 for (k = 0; k < display.height(); k++) {
peu605 8:4fcf5494f425 266 for (c = 0; c < display.height()/2; c++) {
peu605 8:4fcf5494f425 267 uint8_t x1 = random(0,display.width()), y1 = random(0,display.height()), x2 = random(0,display.width()), y2 = random(0,display.height());
peu605 8:4fcf5494f425 268 display.drawLine(x1, y1, x2, y2,random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 269 }
peu605 8:4fcf5494f425 270 display.clearScreen();
peu605 0:26cf1056924c 271 }
peu605 0:26cf1056924c 272 }
peu605 0:26cf1056924c 273
peu605 0:26cf1056924c 274
peu605 8:4fcf5494f425 275 void randomPoints() {
peu605 8:4fcf5494f425 276 display.clearScreen();
peu605 8:4fcf5494f425 277 for (uint8_t k = 0; k < 128; k++) {
peu605 8:4fcf5494f425 278 for (uint16_t c = 0; c < 1000; c++) {
peu605 8:4fcf5494f425 279 uint8_t x = random(0,display.width()), y = random(0,display.height());
peu605 8:4fcf5494f425 280 display.drawPixel(x, y, random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 281 }
peu605 8:4fcf5494f425 282 display.clearScreen();
peu605 0:26cf1056924c 283 }
peu605 0:26cf1056924c 284 }
peu605 0:26cf1056924c 285
peu605 0:26cf1056924c 286 void loop() {
peu605 8:4fcf5494f425 287
peu605 8:4fcf5494f425 288 testlines(random(0x0010,0xFFFF));
peu605 8:4fcf5494f425 289 randomLines();
peu605 8:4fcf5494f425 290 //randomCircles(1);
peu605 8:4fcf5494f425 291 randomCircles(0);
peu605 8:4fcf5494f425 292 randomRect(1);
peu605 8:4fcf5494f425 293 randomRect(1);
peu605 8:4fcf5494f425 294 randomRect(1);
peu605 8:4fcf5494f425 295 randomRect(1);
peu605 8:4fcf5494f425 296 randomRect(1);
peu605 8:4fcf5494f425 297 randomRect(0);
peu605 8:4fcf5494f425 298 randomRect(0);
peu605 8:4fcf5494f425 299 randomRect(0);
peu605 8:4fcf5494f425 300 randomRect(0);
peu605 8:4fcf5494f425 301 randomRect(0);
peu605 8:4fcf5494f425 302 randomRect(0);
peu605 8:4fcf5494f425 303 randomPoints();
peu605 0:26cf1056924c 304 }
peu605 0:26cf1056924c 305
peu605 0:26cf1056924c 306 void setup(void) {
peu605 8:4fcf5494f425 307
peu605 8:4fcf5494f425 308 t.start();
peu605 8:4fcf5494f425 309
peu605 8:4fcf5494f425 310 display.begin();
peu605 8:4fcf5494f425 311 display.setBitrate(SPI_BITRATE);
peu605 8:4fcf5494f425 312 display.setRotation(2);
peu605 0:26cf1056924c 313
peu605 0:26cf1056924c 314 // lcdTestPattern();
peu605 0:26cf1056924c 315 // delay(1000);
peu605 0:26cf1056924c 316
peu605 8:4fcf5494f425 317 display.clearScreen();
peu605 8:4fcf5494f425 318 display.setCursor(0,0);
peu605 8:4fcf5494f425 319 display.printf("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa");
peu605 8:4fcf5494f425 320 wait_ms(1000);
peu605 0:26cf1056924c 321
peu605 8:4fcf5494f425 322 tftPrintTest();
peu605 8:4fcf5494f425 323 wait_ms(2000);
peu605 0:26cf1056924c 324
peu605 8:4fcf5494f425 325 //a single pixel
peu605 8:4fcf5494f425 326 display.drawPixel(display.width()/2, display.height()/2, GREEN);
peu605 8:4fcf5494f425 327 wait_ms(500);
peu605 0:26cf1056924c 328
peu605 8:4fcf5494f425 329 // line draw test
peu605 8:4fcf5494f425 330 testlines(YELLOW);
peu605 8:4fcf5494f425 331 wait_ms(500);
peu605 0:26cf1056924c 332
peu605 8:4fcf5494f425 333 // optimized lines
peu605 8:4fcf5494f425 334 testfastlines(RED, BLUE);
peu605 8:4fcf5494f425 335 wait_ms(500);
peu605 0:26cf1056924c 336
peu605 8:4fcf5494f425 337 testdrawrects(GREEN);
peu605 8:4fcf5494f425 338 wait_ms(1000);
peu605 0:26cf1056924c 339
peu605 8:4fcf5494f425 340 testfillrects(BLUE, YELLOW);
peu605 8:4fcf5494f425 341 wait_ms(1000);
peu605 0:26cf1056924c 342
peu605 8:4fcf5494f425 343 randomRect(0);
peu605 8:4fcf5494f425 344 wait_ms(100);
peu605 8:4fcf5494f425 345 randomCircles(0);
peu605 8:4fcf5494f425 346 wait_ms(100);
peu605 8:4fcf5494f425 347 randomLines();
peu605 8:4fcf5494f425 348 wait_ms(100);
peu605 8:4fcf5494f425 349 randomPoints();
peu605 8:4fcf5494f425 350 wait_ms(500);
peu605 0:26cf1056924c 351
peu605 8:4fcf5494f425 352 display.clearScreen();
peu605 8:4fcf5494f425 353 testfillcircles(10, BLUE);
peu605 8:4fcf5494f425 354 testdrawcircles(10, WHITE);
peu605 8:4fcf5494f425 355 wait_ms(1000);
peu605 0:26cf1056924c 356
peu605 8:4fcf5494f425 357 testroundrects();
peu605 8:4fcf5494f425 358 wait_ms(500);
peu605 0:26cf1056924c 359
peu605 8:4fcf5494f425 360 testtriangles();
peu605 8:4fcf5494f425 361 wait_ms(500);
peu605 0:26cf1056924c 362 }
peu605 0:26cf1056924c 363
peu605 0:26cf1056924c 364 int main() {
peu605 0:26cf1056924c 365
peu605 0:26cf1056924c 366 setup();
peu605 8:4fcf5494f425 367
peu605 0:26cf1056924c 368 while (true) {
peu605 0:26cf1056924c 369 loop();
peu605 0:26cf1056924c 370 }
peu605 0:26cf1056924c 371 }