1D-Pong game based on a LED strip with 150 LPD6803-controlled pixels. Game keeps score for 'best-of-21' game. Written for KL25Z

Dependencies:   MODSERIAL mbed

Committer:
vsluiter
Date:
Wed Aug 21 20:47:16 2013 +0000
Revision:
6:c2040b4cf589
Parent:
5:d2e819018807
Child:
7:e605dbca7330
First interaction!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vsluiter 0:cde34c55fa20 1 #include "mbed.h"
vsluiter 0:cde34c55fa20 2
vsluiter 0:cde34c55fa20 3 #define NUMBER_OF_PIXELS 50
vsluiter 0:cde34c55fa20 4 #define PADDLE_LENGTH 5
vsluiter 2:d2f8772a8db5 5 #define LEFT false
vsluiter 2:d2f8772a8db5 6 #define RIGHT true
vsluiter 5:d2e819018807 7
vsluiter 5:d2e819018807 8 #define MAX_PADDLE_SIZE 10
vsluiter 0:cde34c55fa20 9 void Randomblinks(float seconds, bool colored = false);
vsluiter 0:cde34c55fa20 10 void PaddleDemo(float seconds, uint8_t red, uint8_t green, uint8_t blue);
vsluiter 1:7a2ec350cdf5 11 void WinLoose(float seconds, bool side);
vsluiter 5:d2e819018807 12 void UpdateDemoPaddle(void);
vsluiter 2:d2f8772a8db5 13 void Score(uint8_t left, uint8_t right);
vsluiter 5:d2e819018807 14 void DrawGamePaddle(void);
vsluiter 5:d2e819018807 15
vsluiter 0:cde34c55fa20 16 uint16_t totalstrip[NUMBER_OF_PIXELS];
vsluiter 0:cde34c55fa20 17 volatile int8_t paddlestart= 0;
vsluiter 0:cde34c55fa20 18 SPI ledstrip(PTD2,NC,PTD1);
vsluiter 0:cde34c55fa20 19
vsluiter 5:d2e819018807 20 class Paddle
vsluiter 5:d2e819018807 21 {
vsluiter 5:d2e819018807 22 public:
vsluiter 5:d2e819018807 23 Paddle();//constructor
vsluiter 5:d2e819018807 24 // ~Paddle();//deconstructor
vsluiter 5:d2e819018807 25 int8_t position;
vsluiter 5:d2e819018807 26 uint8_t direction;
vsluiter 5:d2e819018807 27 void setColor(uint8_t red, uint8_t green, uint8_t blue);
vsluiter 5:d2e819018807 28 uint8_t getSize(void);
vsluiter 5:d2e819018807 29 void setSize(uint8_t size);
vsluiter 5:d2e819018807 30 uint8_t getColor(uint8_t pixel, uint8_t color);
vsluiter 5:d2e819018807 31 private:
vsluiter 5:d2e819018807 32 uint8_t m_red ,m_green ,m_blue;
vsluiter 5:d2e819018807 33 uint8_t m_size;
vsluiter 5:d2e819018807 34 uint8_t m_paddle[MAX_PADDLE_SIZE][3];
vsluiter 5:d2e819018807 35 };
vsluiter 5:d2e819018807 36
vsluiter 5:d2e819018807 37 Paddle::Paddle()
vsluiter 5:d2e819018807 38 {
vsluiter 5:d2e819018807 39 setColor(255,255,255);
vsluiter 5:d2e819018807 40 setSize(4);
vsluiter 5:d2e819018807 41 position = -getSize();
vsluiter 5:d2e819018807 42 direction = 1;
vsluiter 5:d2e819018807 43 }
vsluiter 5:d2e819018807 44
vsluiter 5:d2e819018807 45 uint8_t Paddle::getColor(uint8_t pixel, uint8_t color)
vsluiter 5:d2e819018807 46 {
vsluiter 5:d2e819018807 47 if(pixel<MAX_PADDLE_SIZE && color < 3)
vsluiter 5:d2e819018807 48 return m_paddle[pixel][color];
vsluiter 5:d2e819018807 49 else
vsluiter 5:d2e819018807 50 return 0;
vsluiter 5:d2e819018807 51 }
vsluiter 5:d2e819018807 52
vsluiter 5:d2e819018807 53 uint8_t Paddle::getSize(void)
vsluiter 5:d2e819018807 54 {
vsluiter 5:d2e819018807 55 return m_size;
vsluiter 5:d2e819018807 56 }
vsluiter 5:d2e819018807 57
vsluiter 5:d2e819018807 58 void Paddle::setSize(uint8_t size)
vsluiter 5:d2e819018807 59 {
vsluiter 5:d2e819018807 60 if(size > MAX_PADDLE_SIZE)
vsluiter 5:d2e819018807 61 size = MAX_PADDLE_SIZE;
vsluiter 5:d2e819018807 62 m_size = size;
vsluiter 5:d2e819018807 63 setColor(m_red, m_green, m_blue);
vsluiter 5:d2e819018807 64 }
vsluiter 5:d2e819018807 65
vsluiter 5:d2e819018807 66 void Paddle::setColor(uint8_t red, uint8_t green, uint8_t blue)
vsluiter 5:d2e819018807 67 {
vsluiter 5:d2e819018807 68 uint8_t paddlepixel;
vsluiter 5:d2e819018807 69 m_red = red;
vsluiter 5:d2e819018807 70 m_green = green;
vsluiter 5:d2e819018807 71 m_blue = blue;
vsluiter 5:d2e819018807 72 for(paddlepixel = 0 ; paddlepixel < MAX_PADDLE_SIZE ; paddlepixel++)
vsluiter 5:d2e819018807 73 {
vsluiter 5:d2e819018807 74 float factor;
vsluiter 5:d2e819018807 75 factor = 1.0*paddlepixel/(m_size*1.0);
vsluiter 5:d2e819018807 76 if (factor > 1)
vsluiter 5:d2e819018807 77 factor = 1;
vsluiter 5:d2e819018807 78 factor = factor*factor*factor;// make the effect more dramatic
vsluiter 5:d2e819018807 79 m_paddle[paddlepixel][0] = (float)m_red * factor;
vsluiter 5:d2e819018807 80 m_paddle[paddlepixel][1] = (float)m_green * factor;
vsluiter 5:d2e819018807 81 m_paddle[paddlepixel][2] = (float)m_blue * factor;
vsluiter 5:d2e819018807 82 }
vsluiter 5:d2e819018807 83 }
vsluiter 0:cde34c55fa20 84
vsluiter 0:cde34c55fa20 85 void UpdateLEDstrip(void)
vsluiter 0:cde34c55fa20 86 {
vsluiter 0:cde34c55fa20 87 uint8_t pixelcounter;
vsluiter 0:cde34c55fa20 88 /*start by writing 32 zeroes */
vsluiter 0:cde34c55fa20 89 ledstrip.write(0);
vsluiter 0:cde34c55fa20 90 ledstrip.write(0);
vsluiter 0:cde34c55fa20 91 ledstrip.write(0);
vsluiter 0:cde34c55fa20 92 ledstrip.write(0);
vsluiter 0:cde34c55fa20 93 for(pixelcounter = 0 ; pixelcounter < NUMBER_OF_PIXELS; pixelcounter++) {
vsluiter 0:cde34c55fa20 94 ledstrip.write( uint8_t(totalstrip[pixelcounter]>>8));//uint8_t(temp16));//(totalstrip.ledcounter[pixelcounter].red << 2) | (totalstrip.ledcounter[pixelcounter].high << 7) |(totalstrip.ledcounter[pixelcounter].green & 0x << 2) );
vsluiter 0:cde34c55fa20 95 ledstrip.write( uint8_t(totalstrip[pixelcounter]));//(*(uint16_t *)(&totalstrip[pixelcounter]))>>8);
vsluiter 0:cde34c55fa20 96 }
vsluiter 0:cde34c55fa20 97 }
vsluiter 0:cde34c55fa20 98
vsluiter 0:cde34c55fa20 99 void write_led(uint16_t * led, uint8_t red, uint8_t green, uint8_t blue)
vsluiter 0:cde34c55fa20 100 {
vsluiter 0:cde34c55fa20 101 *led = (1<<15) | ((green >> 3)<<10) | ((red >>3)<< 5) | (blue >>3);
vsluiter 0:cde34c55fa20 102 }
vsluiter 5:d2e819018807 103
vsluiter 5:d2e819018807 104 Paddle paddle;
vsluiter 6:c2040b4cf589 105 bool leftpushed = false, rightpushed = false;
vsluiter 6:c2040b4cf589 106 void left_pushed(void)
vsluiter 6:c2040b4cf589 107 {
vsluiter 6:c2040b4cf589 108 if(paddle.direction == 1)
vsluiter 6:c2040b4cf589 109 leftpushed = true;
vsluiter 6:c2040b4cf589 110 }
vsluiter 6:c2040b4cf589 111
vsluiter 6:c2040b4cf589 112 void right_pushed(void)
vsluiter 6:c2040b4cf589 113 {
vsluiter 6:c2040b4cf589 114 if(paddle.direction != 1)
vsluiter 6:c2040b4cf589 115 rightpushed = true;
vsluiter 6:c2040b4cf589 116 }
vsluiter 5:d2e819018807 117
vsluiter 0:cde34c55fa20 118 int main()
vsluiter 0:cde34c55fa20 119 {
vsluiter 0:cde34c55fa20 120 Ticker updater;
vsluiter 5:d2e819018807 121 Ticker demopaddlepos;
vsluiter 6:c2040b4cf589 122 InterruptIn buttonleft(PTD5);
vsluiter 6:c2040b4cf589 123 InterruptIn buttonright(PTD0);
vsluiter 0:cde34c55fa20 124 uint8_t ledcounter;
vsluiter 6:c2040b4cf589 125 buttonleft.mode(PullUp);
vsluiter 6:c2040b4cf589 126 buttonright.mode(PullUp);
vsluiter 6:c2040b4cf589 127 buttonleft.fall(left_pushed);
vsluiter 6:c2040b4cf589 128 buttonright.fall(right_pushed);
vsluiter 4:119537f0ff8e 129 updater.attach(UpdateLEDstrip, .02);
vsluiter 5:d2e819018807 130 demopaddlepos.attach(UpdateDemoPaddle, .03);
vsluiter 0:cde34c55fa20 131 ledstrip.format(8,0); //15 bits, mode '0'
vsluiter 4:119537f0ff8e 132 ledstrip.frequency(1000000);
vsluiter 4:119537f0ff8e 133 for(ledcounter = 0; ledcounter < NUMBER_OF_PIXELS; ledcounter++) {//turn off leds
vsluiter 0:cde34c55fa20 134 write_led(&totalstrip[ledcounter], 0,0,0);
vsluiter 0:cde34c55fa20 135 }
vsluiter 5:d2e819018807 136 paddle.setSize(6);
vsluiter 5:d2e819018807 137 paddle.setColor(255,0,255);
vsluiter 0:cde34c55fa20 138 while(1) {
vsluiter 2:d2f8772a8db5 139 //PaddleDemo(2,255,10,100);
vsluiter 5:d2e819018807 140 DrawGamePaddle();
vsluiter 5:d2e819018807 141 wait(.05);
vsluiter 5:d2e819018807 142 //Score(3,2);
vsluiter 5:d2e819018807 143 //WinLoose(2.5, LEFT);
vsluiter 5:d2e819018807 144 if(paddle.direction == 1)
vsluiter 6:c2040b4cf589 145 {
vsluiter 5:d2e819018807 146 paddle.position++;
vsluiter 6:c2040b4cf589 147 if(leftpushed)
vsluiter 6:c2040b4cf589 148 {
vsluiter 6:c2040b4cf589 149 leftpushed = false;
vsluiter 6:c2040b4cf589 150 paddle.direction = 0;
vsluiter 6:c2040b4cf589 151 }
vsluiter 6:c2040b4cf589 152 }
vsluiter 5:d2e819018807 153 else
vsluiter 6:c2040b4cf589 154 {
vsluiter 5:d2e819018807 155 paddle.position--;
vsluiter 6:c2040b4cf589 156 if(rightpushed)
vsluiter 6:c2040b4cf589 157 {
vsluiter 6:c2040b4cf589 158 rightpushed = false;
vsluiter 6:c2040b4cf589 159 paddle.direction = 1;
vsluiter 6:c2040b4cf589 160 }
vsluiter 6:c2040b4cf589 161 }
vsluiter 5:d2e819018807 162 if(paddle.position == NUMBER_OF_PIXELS)
vsluiter 5:d2e819018807 163 paddle.direction = 0;
vsluiter 5:d2e819018807 164 if(paddle.position == -7)
vsluiter 5:d2e819018807 165 paddle.direction = 1;
vsluiter 5:d2e819018807 166 // paddle.position = -paddle.getSize();
vsluiter 2:d2f8772a8db5 167 //Randomblinks(5, true);
vsluiter 2:d2f8772a8db5 168 //WinLoose(3, false);
vsluiter 0:cde34c55fa20 169 }
vsluiter 0:cde34c55fa20 170 }
vsluiter 0:cde34c55fa20 171
vsluiter 5:d2e819018807 172 void DrawGamePaddle(void)
vsluiter 5:d2e819018807 173 {
vsluiter 5:d2e819018807 174 uint8_t ledcounter;
vsluiter 5:d2e819018807 175 for(ledcounter = 0; ledcounter< NUMBER_OF_PIXELS; ledcounter++)
vsluiter 5:d2e819018807 176 {
vsluiter 5:d2e819018807 177 if(ledcounter >= paddle.position && ledcounter <= paddle.position+paddle.getSize())
vsluiter 5:d2e819018807 178 {
vsluiter 5:d2e819018807 179 uint8_t colorpos;
vsluiter 5:d2e819018807 180 if(paddle.direction ==1)
vsluiter 5:d2e819018807 181 {
vsluiter 5:d2e819018807 182 colorpos = ledcounter-paddle.position;
vsluiter 5:d2e819018807 183 write_led(&totalstrip[ledcounter],paddle.getColor(colorpos,0),paddle.getColor(colorpos,1),paddle.getColor(colorpos,2));
vsluiter 5:d2e819018807 184 }
vsluiter 5:d2e819018807 185 else
vsluiter 5:d2e819018807 186 {
vsluiter 5:d2e819018807 187 colorpos = paddle.getSize()-(ledcounter-paddle.position);
vsluiter 5:d2e819018807 188 write_led(&totalstrip[ledcounter],paddle.getColor(colorpos,0),paddle.getColor(colorpos,1),paddle.getColor(colorpos,2));
vsluiter 5:d2e819018807 189 }
vsluiter 5:d2e819018807 190 }
vsluiter 5:d2e819018807 191 else
vsluiter 5:d2e819018807 192 write_led(&totalstrip[ledcounter], 0,0,0);
vsluiter 5:d2e819018807 193 }
vsluiter 5:d2e819018807 194 }
vsluiter 5:d2e819018807 195
vsluiter 2:d2f8772a8db5 196 void Score(uint8_t left, uint8_t right)
vsluiter 2:d2f8772a8db5 197 {
vsluiter 2:d2f8772a8db5 198 uint8_t maxscore;
vsluiter 2:d2f8772a8db5 199 int8_t ledcounter;
vsluiter 2:d2f8772a8db5 200 uint8_t scorecounter;
vsluiter 3:a2b58da5c03b 201 typedef struct ledcolor
vsluiter 3:a2b58da5c03b 202 {
vsluiter 3:a2b58da5c03b 203 uint8_t red;
vsluiter 3:a2b58da5c03b 204 uint8_t green;
vsluiter 3:a2b58da5c03b 205 uint8_t blue;
vsluiter 3:a2b58da5c03b 206 }ledcolor_t;
vsluiter 3:a2b58da5c03b 207 ledcolor_t rightled={0,0,0}, leftled={0,0,0};
vsluiter 3:a2b58da5c03b 208 if(left >= right)
vsluiter 3:a2b58da5c03b 209 {
vsluiter 3:a2b58da5c03b 210 maxscore = left;
vsluiter 3:a2b58da5c03b 211 leftled.green = 255;
vsluiter 3:a2b58da5c03b 212 rightled.red = 255;
vsluiter 3:a2b58da5c03b 213 }
vsluiter 3:a2b58da5c03b 214 if(right >= left)
vsluiter 3:a2b58da5c03b 215 {
vsluiter 3:a2b58da5c03b 216 maxscore = right;
vsluiter 3:a2b58da5c03b 217 leftled.red = 255;
vsluiter 3:a2b58da5c03b 218 rightled.green = 255;
vsluiter 3:a2b58da5c03b 219 }
vsluiter 2:d2f8772a8db5 220 for(scorecounter = 0 ; scorecounter <= maxscore ; scorecounter++)
vsluiter 2:d2f8772a8db5 221 {
vsluiter 2:d2f8772a8db5 222 uint8_t templeft,tempright;
vsluiter 2:d2f8772a8db5 223 templeft = left>scorecounter?scorecounter:left;
vsluiter 2:d2f8772a8db5 224 tempright = right>scorecounter?scorecounter:right;
vsluiter 2:d2f8772a8db5 225 uint8_t sidecounter;
vsluiter 2:d2f8772a8db5 226 for(ledcounter = 0; ledcounter < NUMBER_OF_PIXELS; ledcounter++)
vsluiter 2:d2f8772a8db5 227 {
vsluiter 2:d2f8772a8db5 228 write_led(&totalstrip[ledcounter], 0, 0 ,0);
vsluiter 2:d2f8772a8db5 229 }
vsluiter 2:d2f8772a8db5 230 for(sidecounter = 0 ; sidecounter < templeft; sidecounter++)
vsluiter 2:d2f8772a8db5 231 {
vsluiter 3:a2b58da5c03b 232 write_led(&totalstrip[sidecounter*2],leftled.red,leftled.green,leftled.blue);
vsluiter 2:d2f8772a8db5 233 }
vsluiter 2:d2f8772a8db5 234 for(sidecounter = 0 ; sidecounter < tempright ; sidecounter++)
vsluiter 2:d2f8772a8db5 235 {
vsluiter 3:a2b58da5c03b 236 write_led(&totalstrip[(NUMBER_OF_PIXELS-1)-(sidecounter*2)],rightled.red,rightled.green,rightled.blue);
vsluiter 2:d2f8772a8db5 237 }
vsluiter 3:a2b58da5c03b 238 wait(0.7);
vsluiter 2:d2f8772a8db5 239 }
vsluiter 3:a2b58da5c03b 240 wait(0.5);
vsluiter 2:d2f8772a8db5 241 }
vsluiter 2:d2f8772a8db5 242
vsluiter 1:7a2ec350cdf5 243 void WinLoose(float seconds, bool side)
vsluiter 1:7a2ec350cdf5 244 {
vsluiter 1:7a2ec350cdf5 245 uint8_t ledcounter;
vsluiter 1:7a2ec350cdf5 246 Timer timer;
vsluiter 1:7a2ec350cdf5 247 timer.start();
vsluiter 1:7a2ec350cdf5 248 while( timer.read() < seconds)
vsluiter 1:7a2ec350cdf5 249 {
vsluiter 1:7a2ec350cdf5 250 uint8_t redvalue = 255-(255.0*(timer.read()/(seconds/2)));
vsluiter 1:7a2ec350cdf5 251 for(ledcounter = 0; ledcounter < NUMBER_OF_PIXELS; ledcounter++)
vsluiter 1:7a2ec350cdf5 252 {
vsluiter 1:7a2ec350cdf5 253 if(ledcounter < NUMBER_OF_PIXELS / 2)
vsluiter 1:7a2ec350cdf5 254 {
vsluiter 1:7a2ec350cdf5 255 if(side)
vsluiter 1:7a2ec350cdf5 256 write_led(&totalstrip[ledcounter], redvalue,0,0);
vsluiter 1:7a2ec350cdf5 257 else
vsluiter 1:7a2ec350cdf5 258 write_led(&totalstrip[ledcounter], 0,255,0);
vsluiter 1:7a2ec350cdf5 259 }
vsluiter 1:7a2ec350cdf5 260 else
vsluiter 1:7a2ec350cdf5 261 {
vsluiter 1:7a2ec350cdf5 262 if(side)
vsluiter 1:7a2ec350cdf5 263 write_led(&totalstrip[ledcounter], 0,255,0);
vsluiter 1:7a2ec350cdf5 264 else
vsluiter 1:7a2ec350cdf5 265 write_led(&totalstrip[ledcounter], redvalue ,0,0);
vsluiter 1:7a2ec350cdf5 266
vsluiter 1:7a2ec350cdf5 267 }
vsluiter 1:7a2ec350cdf5 268 }
vsluiter 1:7a2ec350cdf5 269 }
vsluiter 1:7a2ec350cdf5 270 }
vsluiter 0:cde34c55fa20 271 void PaddleDemo(float seconds, uint8_t red, uint8_t green, uint8_t blue)
vsluiter 0:cde34c55fa20 272 {
vsluiter 0:cde34c55fa20 273 uint8_t ledcounter;
vsluiter 0:cde34c55fa20 274 Timer timer;
vsluiter 0:cde34c55fa20 275 timer.start();
vsluiter 0:cde34c55fa20 276 while( timer.read() < seconds)
vsluiter 0:cde34c55fa20 277 {
vsluiter 0:cde34c55fa20 278 for(ledcounter = 0; ledcounter < NUMBER_OF_PIXELS; ledcounter++)
vsluiter 0:cde34c55fa20 279 {
vsluiter 0:cde34c55fa20 280 if((ledcounter >= paddlestart) && ( ledcounter <= paddlestart+PADDLE_LENGTH))
vsluiter 0:cde34c55fa20 281 write_led(&totalstrip[ledcounter], red,green,blue);
vsluiter 0:cde34c55fa20 282 else
vsluiter 0:cde34c55fa20 283 write_led(&totalstrip[ledcounter], 0,0,0);
vsluiter 0:cde34c55fa20 284 }
vsluiter 0:cde34c55fa20 285 }
vsluiter 0:cde34c55fa20 286 }
vsluiter 0:cde34c55fa20 287
vsluiter 0:cde34c55fa20 288 void Randomblinks(float seconds, bool colored)
vsluiter 0:cde34c55fa20 289 {
vsluiter 0:cde34c55fa20 290 uint8_t ledcounter;
vsluiter 0:cde34c55fa20 291 uint8_t test;
vsluiter 0:cde34c55fa20 292 Timer timer;
vsluiter 0:cde34c55fa20 293 timer.start();
vsluiter 0:cde34c55fa20 294 while( timer.read() < seconds )
vsluiter 0:cde34c55fa20 295 {
vsluiter 0:cde34c55fa20 296 test = 50.0*rand()/(RAND_MAX*1.0);
vsluiter 0:cde34c55fa20 297 for(ledcounter = 0; ledcounter < NUMBER_OF_PIXELS; ledcounter++)
vsluiter 0:cde34c55fa20 298 {
vsluiter 0:cde34c55fa20 299 if(ledcounter == test)
vsluiter 0:cde34c55fa20 300 {
vsluiter 0:cde34c55fa20 301 if(colored)
vsluiter 0:cde34c55fa20 302 write_led(&totalstrip[ledcounter], test*5,(test%10)*25,(test%15)*15);
vsluiter 0:cde34c55fa20 303 else
vsluiter 0:cde34c55fa20 304 write_led(&totalstrip[ledcounter], 255,255,255);
vsluiter 0:cde34c55fa20 305 }
vsluiter 0:cde34c55fa20 306 else
vsluiter 0:cde34c55fa20 307 write_led(&totalstrip[ledcounter], 0,0,0);
vsluiter 0:cde34c55fa20 308 }
vsluiter 0:cde34c55fa20 309 }
vsluiter 0:cde34c55fa20 310 }
vsluiter 0:cde34c55fa20 311
vsluiter 5:d2e819018807 312 void UpdateDemoPaddle(void)
vsluiter 1:7a2ec350cdf5 313 {
vsluiter 1:7a2ec350cdf5 314 static uint8_t direction = 1;
vsluiter 1:7a2ec350cdf5 315 if(direction) {
vsluiter 1:7a2ec350cdf5 316 paddlestart++;
vsluiter 1:7a2ec350cdf5 317 } else {
vsluiter 1:7a2ec350cdf5 318 paddlestart--;
vsluiter 1:7a2ec350cdf5 319 }
vsluiter 1:7a2ec350cdf5 320
vsluiter 1:7a2ec350cdf5 321 if(paddlestart > (NUMBER_OF_PIXELS - PADDLE_LENGTH))
vsluiter 1:7a2ec350cdf5 322 direction = 0;
vsluiter 1:7a2ec350cdf5 323 if(paddlestart < 0)
vsluiter 1:7a2ec350cdf5 324 direction = 1;
vsluiter 1:7a2ec350cdf5 325 }
vsluiter 1:7a2ec350cdf5 326
vsluiter 2:d2f8772a8db5 327
vsluiter 0:cde34c55fa20 328 //DigitalOut myled(LED1);
vsluiter 0:cde34c55fa20 329
vsluiter 0:cde34c55fa20 330 //int main() {
vsluiter 0:cde34c55fa20 331 // while(1) {
vsluiter 0:cde34c55fa20 332 // myled = 1;
vsluiter 0:cde34c55fa20 333 // wait(0.2);
vsluiter 0:cde34c55fa20 334 // myled = 0;
vsluiter 0:cde34c55fa20 335 // wait(0.2);
vsluiter 0:cde34c55fa20 336 // }
vsluiter 0:cde34c55fa20 337 //}