Not Complete

Dependencies:   mbed

Fork of Nucleo_rtos by ST

Committer:
codeman
Date:
Thu Jun 23 22:57:30 2016 +0000
Revision:
77:cd59ac40b3be
Parent:
73:d3b295249699
Not Complete;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
codeman 77:cd59ac40b3be 1
bcostm 73:d3b295249699 2 #include "mbed.h"
codeman 77:cd59ac40b3be 3 #include "ezLCD405.h"
bcostm 73:d3b295249699 4
codeman 77:cd59ac40b3be 5 //DigitalOut led(LED1);
bcostm 73:d3b295249699 6
bcostm 73:d3b295249699 7 InterruptIn button(USER_BUTTON);
codeman 77:cd59ac40b3be 8 Serial pc(SERIAL_TX, SERIAL_RX);
codeman 77:cd59ac40b3be 9 uint8_t counter;
bcostm 73:d3b295249699 10 uint32_t button_pressed;
codeman 77:cd59ac40b3be 11 volatile uint32_t tick;
codeman 77:cd59ac40b3be 12 //Thread *thread2;
codeman 77:cd59ac40b3be 13 uint8_t buttonPressed;
codeman 77:cd59ac40b3be 14 uint8_t buttState[10];
codeman 77:cd59ac40b3be 15
codeman 77:cd59ac40b3be 16 //ezLCD4 lcd(PB_6,PA_10); //tx,rx
codeman 77:cd59ac40b3be 17
codeman 77:cd59ac40b3be 18 ezLCD4 lcd(PG_14,PG_9); //tx,rx
bcostm 73:d3b295249699 19
codeman 77:cd59ac40b3be 20 //ezLCD4 lcd2(PA_11, PA_12);
codeman 77:cd59ac40b3be 21 const char *textBoxData[3][13];
codeman 77:cd59ac40b3be 22
codeman 77:cd59ac40b3be 23
codeman 77:cd59ac40b3be 24 char temp[10];
codeman 77:cd59ac40b3be 25 uint16_t count, ocount;
codeman 77:cd59ac40b3be 26 uint16_t ox, oy;
codeman 77:cd59ac40b3be 27 uint32_t countdown;
codeman 77:cd59ac40b3be 28 void drawScreen( void );
bcostm 73:d3b295249699 29 void button_press(void)
bcostm 73:d3b295249699 30 {
codeman 77:cd59ac40b3be 31 pc.printf("Button Press\n");
codeman 77:cd59ac40b3be 32 lcd.showSettings();
codeman 77:cd59ac40b3be 33 // lcd.printString(12,14,3, 0x0001, "mbed RTOS ezLCD405 Demo");
codeman 77:cd59ac40b3be 34 // lcd.printString(10,12,3,WHITE,"mbed RTOS ezLCD405 Demo");
codeman 77:cd59ac40b3be 35
codeman 77:cd59ac40b3be 36 //lcd.boxHFill(319,234);
codeman 77:cd59ac40b3be 37 // thread2->signal_set(0x1);
bcostm 73:d3b295249699 38 }
bcostm 73:d3b295249699 39
bcostm 73:d3b295249699 40 void led_thread(void const *argument)
bcostm 73:d3b295249699 41 {
bcostm 73:d3b295249699 42 while (true) {
codeman 77:cd59ac40b3be 43 // led = !led;
codeman 77:cd59ac40b3be 44 // Thread::wait(100);
bcostm 73:d3b295249699 45 }
bcostm 73:d3b295249699 46 }
bcostm 73:d3b295249699 47
bcostm 73:d3b295249699 48 void button_thread(void const *argument)
bcostm 73:d3b295249699 49 {
bcostm 73:d3b295249699 50 while (true) {
codeman 77:cd59ac40b3be 51 // Thread::signal_wait(100);
bcostm 73:d3b295249699 52 button_pressed++;
bcostm 73:d3b295249699 53 }
bcostm 73:d3b295249699 54 }
bcostm 73:d3b295249699 55
codeman 77:cd59ac40b3be 56
codeman 77:cd59ac40b3be 57 void drawFrame(uint16_t sx , uint16_t sy, uint16_t ex , uint16_t ey , uint16_t topColor, uint16_t bottomColor, uint8_t radius)
codeman 77:cd59ac40b3be 58 {
codeman 77:cd59ac40b3be 59 lcd.setXY(sx, sy);
codeman 77:cd59ac40b3be 60 lcd.setColor(topColor);
codeman 77:cd59ac40b3be 61 lcd.setXY(sx+radius, sy+radius);
codeman 77:cd59ac40b3be 62 lcd.arc(radius,270,0);
codeman 77:cd59ac40b3be 63 lcd.setXY(sx+radius, sy);
codeman 77:cd59ac40b3be 64 lcd.lineTo(ex-radius,sy); //top
codeman 77:cd59ac40b3be 65 lcd.setXY(sx, sy+radius);
codeman 77:cd59ac40b3be 66 lcd.lineTo(sx,ey-radius); //left
codeman 77:cd59ac40b3be 67 lcd.setXY(sx+radius, ey-radius);
codeman 77:cd59ac40b3be 68 lcd.arc(radius,180,270);
codeman 77:cd59ac40b3be 69
codeman 77:cd59ac40b3be 70 lcd.setXY(sx+radius, ey);
codeman 77:cd59ac40b3be 71 lcd.setColor(bottomColor);
codeman 77:cd59ac40b3be 72 lcd.lineTo(ex-radius,ey); //bottom
codeman 77:cd59ac40b3be 73 lcd.setXY(ex-radius, ey-radius);
codeman 77:cd59ac40b3be 74 lcd.arc(radius,90,180);
codeman 77:cd59ac40b3be 75 lcd.setXY(ex, ey-radius);
codeman 77:cd59ac40b3be 76 lcd.lineTo(ex,sy+radius); //right
codeman 77:cd59ac40b3be 77 lcd.setXY(ex-radius, sy+radius);
codeman 77:cd59ac40b3be 78 lcd.arc(radius,0,90);
codeman 77:cd59ac40b3be 79 }
codeman 77:cd59ac40b3be 80 void drawScreen( void )
codeman 77:cd59ac40b3be 81 {
codeman 77:cd59ac40b3be 82
codeman 77:cd59ac40b3be 83 lcd.setLayer(1);
codeman 77:cd59ac40b3be 84 lcd.setTouchProtocol( TOUCH_EZ_BUTTON );
codeman 77:cd59ac40b3be 85
codeman 77:cd59ac40b3be 86 lcd.createTextBox( 250 , 75, 500, 350, BLACK, GRAY, WHITE, 1, 6, " TextBox Test");
codeman 77:cd59ac40b3be 87 lcd.setFont(4);
codeman 77:cd59ac40b3be 88 lcd.printString(75,5,2, YELLOW, "mbed ezLCD-405", FONT_NORTH, OUTLINE, WHITE );
codeman 77:cd59ac40b3be 89
codeman 77:cd59ac40b3be 90
codeman 77:cd59ac40b3be 91 count =0 ;
codeman 77:cd59ac40b3be 92 ocount=0;
codeman 77:cd59ac40b3be 93 lcd.status=0;
codeman 77:cd59ac40b3be 94
codeman 77:cd59ac40b3be 95 lcd.createButton( 0, 1, 0 , 1, 1, 10, 60, 200, 50, 0);
codeman 77:cd59ac40b3be 96 lcd.createButton( 1, 1, 2 , 3, 1, 10, 120, 200, 50, 0);
codeman 77:cd59ac40b3be 97 lcd.createButton( 2, 1, 4 , 5, 1, 10, 180, 200, 50, 0);
codeman 77:cd59ac40b3be 98 lcd.createButton( 3, 1, 6 , 7, 1, 10, 240, 200, 50, 0);
codeman 77:cd59ac40b3be 99
codeman 77:cd59ac40b3be 100
codeman 77:cd59ac40b3be 101 // lcd.createButton( 4, 1, 9 , 10, 1, 10, 300, 200, 50, 0);
codeman 77:cd59ac40b3be 102 }
codeman 77:cd59ac40b3be 103
codeman 77:cd59ac40b3be 104 void specScreen( void )
codeman 77:cd59ac40b3be 105 {
codeman 77:cd59ac40b3be 106 lcd.buttonsDeleteAll();
codeman 77:cd59ac40b3be 107 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 108
codeman 77:cd59ac40b3be 109 lcd.createButton( 10, 1, 10 , 11, 10, 10, 420, 200, 50, 0);
codeman 77:cd59ac40b3be 110 lcd.printString(0,40,6,WHITE,"STM32F429 Cortex-4 Processor", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 111 lcd.printString(0,70,6,WHITE,"5.6\" 640x480 16-bit Color TFT Display", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 112 lcd.printString(0,100,6,WHITE,"Resistive or Capacitive Touch", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 113 lcd.printString(0,130,6,WHITE,"SD Card Socket QuadBit SDIO", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 114 lcd.printString(0,160,6,WHITE,"Battery Backed RTC", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 115 lcd.printString(0,190,6,WHITE,"Expansion Header With I2C/SPI/UART", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 116
codeman 77:cd59ac40b3be 117 wait(.5);
codeman 77:cd59ac40b3be 118
codeman 77:cd59ac40b3be 119 while(lcd.pollTouch(1, 0x00)!=0x8a);
codeman 77:cd59ac40b3be 120 lcd.buttonsDeleteAll();
codeman 77:cd59ac40b3be 121 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 122 buttState[2]=1;
codeman 77:cd59ac40b3be 123 drawScreen();
codeman 77:cd59ac40b3be 124 }
codeman 77:cd59ac40b3be 125 void fontDemo( void )
codeman 77:cd59ac40b3be 126 {
codeman 77:cd59ac40b3be 127 lcd.buttonsDeleteAll();
codeman 77:cd59ac40b3be 128 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 129
codeman 77:cd59ac40b3be 130 lcd.createButton( 10, 1, 10 , 11, 10, 10, 420, 200, 50, 0);
codeman 77:cd59ac40b3be 131
codeman 77:cd59ac40b3be 132
codeman 77:cd59ac40b3be 133 lcd.printString(10,12,6,RED,"ezLCD-405 Font Demo", FONT_NORTH, OUTLINE, WHITE );
codeman 77:cd59ac40b3be 134
codeman 77:cd59ac40b3be 135 lcd.printString(10,60,1,BLUE,"ezLCD-405 ", FONT_NORTH, SHADOW, WHITE );
codeman 77:cd59ac40b3be 136 lcd.printString(10,100,2,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 137 lcd.printString(10,150,3,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 138 lcd.printString(10,200,4,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 139 lcd.printString(10,250,5,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 140 lcd.printString(10,300,6,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 141 lcd.printString(10,350,7,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 142 lcd.printString(10,400,8,BLUE,"ezLCD-405 ", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 143
codeman 77:cd59ac40b3be 144 // Thread::wait(5000);
codeman 77:cd59ac40b3be 145 wait(1);
codeman 77:cd59ac40b3be 146 while(lcd.pollTouch(1, 0x00)!=0x8a);
codeman 77:cd59ac40b3be 147 lcd.buttonsDeleteAll();
codeman 77:cd59ac40b3be 148 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 149 buttState[1]=1;
codeman 77:cd59ac40b3be 150 drawScreen();
codeman 77:cd59ac40b3be 151 }
codeman 77:cd59ac40b3be 152 void imageDemo( void )
codeman 77:cd59ac40b3be 153 {
codeman 77:cd59ac40b3be 154 lcd.buttonsDeleteAll();
codeman 77:cd59ac40b3be 155 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 156
codeman 77:cd59ac40b3be 157 lcd.printString(13,15,2, 0x0001, "ezLCD-405 Image Demo", FONT_NORTH, false, 0 );
codeman 77:cd59ac40b3be 158 lcd.printString(10,12,2,WHITE,"ezLCD-405 Image Demo", FONT_NORTH, false, 0);
codeman 77:cd59ac40b3be 159 lcd.setXY(10,240);
codeman 77:cd59ac40b3be 160 lcd.putSfIcon(5);
codeman 77:cd59ac40b3be 161 // Thread::wait(2000);
codeman 77:cd59ac40b3be 162 // lcd.cls(BLACK);
codeman 77:cd59ac40b3be 163 lcd.setXY(10,240);
codeman 77:cd59ac40b3be 164 lcd.putSfIcon(6);
codeman 77:cd59ac40b3be 165 // Thread::wait(2000);
codeman 77:cd59ac40b3be 166 // lcd.cls(BLACK);
codeman 77:cd59ac40b3be 167 lcd.setXY(10,240);
codeman 77:cd59ac40b3be 168 lcd.putSfIcon(7);
codeman 77:cd59ac40b3be 169 // Thread::wait(2000);
codeman 77:cd59ac40b3be 170 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 171
codeman 77:cd59ac40b3be 172 drawScreen();
codeman 77:cd59ac40b3be 173 }
codeman 77:cd59ac40b3be 174
bcostm 73:d3b295249699 175 int main()
bcostm 73:d3b295249699 176 {
codeman 77:cd59ac40b3be 177 textBoxData[0][0] = "The ezLCD-405" ;
codeman 77:cd59ac40b3be 178 textBoxData[1][0] = " " ;
codeman 77:cd59ac40b3be 179 textBoxData[2][0] = "0123456789012" ;
codeman 77:cd59ac40b3be 180
codeman 77:cd59ac40b3be 181 button.mode(PullUp);
codeman 77:cd59ac40b3be 182 button.fall(&button_press);
codeman 77:cd59ac40b3be 183 pc.baud(115200);
codeman 77:cd59ac40b3be 184 lcd.ezLCD405Init(SPI_IF);
codeman 77:cd59ac40b3be 185 pc.printf("Start of Main\n");
codeman 77:cd59ac40b3be 186 pc.printf("CPU SystemCoreClock is %d Hz\r\n", SystemCoreClock);
codeman 77:cd59ac40b3be 187 lcd.setLayerVisible(0,1);
codeman 77:cd59ac40b3be 188 lcd.setLayerVisible(1,1);
codeman 77:cd59ac40b3be 189 lcd.setLayer(1);
codeman 77:cd59ac40b3be 190 lcd.setColorKey(0x0000);
codeman 77:cd59ac40b3be 191 while(lcd.ping(100) !=1);
codeman 77:cd59ac40b3be 192 lcd.lightOFF();
codeman 77:cd59ac40b3be 193
codeman 77:cd59ac40b3be 194 lcd.exmode();
codeman 77:cd59ac40b3be 195 lcd.cls(BLACK);
codeman 77:cd59ac40b3be 196 lcd.setLayer(0);
codeman 77:cd59ac40b3be 197 lcd.setXY(0,0);
codeman 77:cd59ac40b3be 198 lcd.SDPutIcon("ezlcd405.bmp");
codeman 77:cd59ac40b3be 199 lcd.textDirection( FONT_NORTH );
codeman 77:cd59ac40b3be 200 lcd.lightON();
codeman 77:cd59ac40b3be 201 // thread2 = new Thread(button_thread);
codeman 77:cd59ac40b3be 202 buttState[0]=1;
codeman 77:cd59ac40b3be 203 buttState[1]=1;
codeman 77:cd59ac40b3be 204 buttState[2]=1;
codeman 77:cd59ac40b3be 205 buttState[3]=1;
codeman 77:cd59ac40b3be 206 buttState[4]=1;
codeman 77:cd59ac40b3be 207 buttState[5]=1;
codeman 77:cd59ac40b3be 208
codeman 77:cd59ac40b3be 209 drawScreen();
codeman 77:cd59ac40b3be 210
codeman 77:cd59ac40b3be 211 while(1) {
codeman 77:cd59ac40b3be 212 //wait(.05);
codeman 77:cd59ac40b3be 213 buttonPressed = lcd.pollTouch(1, 0x00);
codeman 77:cd59ac40b3be 214
codeman 77:cd59ac40b3be 215 if((buttonPressed & 0x40) == 0x40) {
codeman 77:cd59ac40b3be 216 if(buttState[buttonPressed & 0x0f] == 1) {
codeman 77:cd59ac40b3be 217 lcd.buttonState(buttonPressed & 0x0f, 2);
codeman 77:cd59ac40b3be 218 buttState[buttonPressed & 0x0f] = 2;
codeman 77:cd59ac40b3be 219 }
codeman 77:cd59ac40b3be 220 }
codeman 77:cd59ac40b3be 221
bcostm 73:d3b295249699 222
codeman 77:cd59ac40b3be 223 if((buttonPressed & 0x80) == 0x80) {
codeman 77:cd59ac40b3be 224 if(buttState[buttonPressed & 0x0f] == 2) {
codeman 77:cd59ac40b3be 225 lcd.buttonState(buttonPressed & 0x0f, 1);
codeman 77:cd59ac40b3be 226 buttState[buttonPressed & 0x0f] = 1;
codeman 77:cd59ac40b3be 227 }
codeman 77:cd59ac40b3be 228 }
codeman 77:cd59ac40b3be 229 if(buttState[2]==2) {
codeman 77:cd59ac40b3be 230 specScreen();
codeman 77:cd59ac40b3be 231 }
codeman 77:cd59ac40b3be 232 if(buttState[1]==2) {
codeman 77:cd59ac40b3be 233 fontDemo();
codeman 77:cd59ac40b3be 234 }
codeman 77:cd59ac40b3be 235 if(buttState[3]==2) {
codeman 77:cd59ac40b3be 236 lcd.showSettings();
codeman 77:cd59ac40b3be 237 wait(5);
codeman 77:cd59ac40b3be 238 drawScreen();
codeman 77:cd59ac40b3be 239 }
codeman 77:cd59ac40b3be 240 lcd.setFont(3);
codeman 77:cd59ac40b3be 241 lcd.setXY(20,300);
codeman 77:cd59ac40b3be 242 count++;
codeman 77:cd59ac40b3be 243 lcd.setColor(WHITE);
codeman 77:cd59ac40b3be 244 sprintf(temp, "%d", count);
codeman 77:cd59ac40b3be 245 lcd.printString(temp);
codeman 77:cd59ac40b3be 246 //wait(.05);
codeman 77:cd59ac40b3be 247 lcd.setXY(20,300);
codeman 77:cd59ac40b3be 248 lcd.setColor(BLACK);
codeman 77:cd59ac40b3be 249 lcd.boxFill(200,400);
codeman 77:cd59ac40b3be 250 wait(.02);
codeman 77:cd59ac40b3be 251
codeman 77:cd59ac40b3be 252 // lcd.printString(temp);
codeman 77:cd59ac40b3be 253 }
codeman 77:cd59ac40b3be 254
codeman 77:cd59ac40b3be 255 drawFrame(100 , 300, 300 , 400 , WHITE, GRAY, 5);
codeman 77:cd59ac40b3be 256 drawFrame(100 +5 , 300+5 , 300-5 , 400-5 , GRAY, WHITE, 5);
codeman 77:cd59ac40b3be 257
codeman 77:cd59ac40b3be 258 ocount=0;
codeman 77:cd59ac40b3be 259 count=0;
codeman 77:cd59ac40b3be 260 //lcd.setBgColorH(BLUE);
codeman 77:cd59ac40b3be 261 while(1) {
codeman 77:cd59ac40b3be 262 if(lcd.status == 1)
codeman 77:cd59ac40b3be 263 drawScreen();
codeman 77:cd59ac40b3be 264 //pc.printf("%d %d \n",lcd.x, lcd.y);
codeman 77:cd59ac40b3be 265 sprintf(temp,"%d",count);
codeman 77:cd59ac40b3be 266 if(lcd.button==0 && lcd.bState==1) {
codeman 77:cd59ac40b3be 267 fontDemo();
codeman 77:cd59ac40b3be 268 }
codeman 77:cd59ac40b3be 269
codeman 77:cd59ac40b3be 270 if(lcd.button==1 && lcd.bState==1) {
codeman 77:cd59ac40b3be 271 imageDemo();
codeman 77:cd59ac40b3be 272 }
codeman 77:cd59ac40b3be 273 if(lcd.button==2 && lcd.bState==1) {
codeman 77:cd59ac40b3be 274 // lcd.buttonState(lcd.button, 2);
codeman 77:cd59ac40b3be 275 // lcd.buttonsDeleteAll();
codeman 77:cd59ac40b3be 276 // lcd.showSettings();
codeman 77:cd59ac40b3be 277 // Thread::wait(5000);
codeman 77:cd59ac40b3be 278 // drawScreen();
codeman 77:cd59ac40b3be 279 }
codeman 77:cd59ac40b3be 280 if(lcd.button==3 && lcd.bState==1) {
codeman 77:cd59ac40b3be 281 // lcd.buttonState(lcd.button, 2);
codeman 77:cd59ac40b3be 282 //specScreen();
codeman 77:cd59ac40b3be 283 }
codeman 77:cd59ac40b3be 284 if(count != ocount) {
codeman 77:cd59ac40b3be 285 lcd.setXY(0,0);
codeman 77:cd59ac40b3be 286 lcd.SDPutIcon("100_Single_Area.ezp");
codeman 77:cd59ac40b3be 287 //lcd.printString(400, 100, 1, RED, temp);
codeman 77:cd59ac40b3be 288 // lcd.printString(400, 200, 1, RED, temp);
codeman 77:cd59ac40b3be 289 // lcd.printString(400, 300, 1, GREEN, temp);
codeman 77:cd59ac40b3be 290 // lcd.printString(400, 400, 1, GREEN, temp);
codeman 77:cd59ac40b3be 291 ocount=count;
codeman 77:cd59ac40b3be 292 }
codeman 77:cd59ac40b3be 293 countdown--;
codeman 77:cd59ac40b3be 294 if(countdown == 0) {
codeman 77:cd59ac40b3be 295 lcd.setXY(0,0);
codeman 77:cd59ac40b3be 296 lcd.SDPutIcon("100_Single_Area_return.ezp");
codeman 77:cd59ac40b3be 297 // lcd.printString(400, 100, 1, BLACK, temp);
codeman 77:cd59ac40b3be 298 // lcd.printString(400, 200, 1, BLACK, temp);
codeman 77:cd59ac40b3be 299 // lcd.printString(400, 300, 1, BLACK, temp);
codeman 77:cd59ac40b3be 300 // lcd.printString(400, 400, 1, BLACK, temp);
codeman 77:cd59ac40b3be 301
codeman 77:cd59ac40b3be 302
codeman 77:cd59ac40b3be 303
codeman 77:cd59ac40b3be 304
codeman 77:cd59ac40b3be 305 count++;
codeman 77:cd59ac40b3be 306 }
codeman 77:cd59ac40b3be 307
codeman 77:cd59ac40b3be 308 }
bcostm 73:d3b295249699 309 button_pressed = 0;
bcostm 73:d3b295249699 310 button.fall(&button_press);
codeman 77:cd59ac40b3be 311
codeman 77:cd59ac40b3be 312
bcostm 73:d3b295249699 313 while (true) {
codeman 77:cd59ac40b3be 314 // Thread::wait(6000);
codeman 77:cd59ac40b3be 315 //lcd.printString("hello");
codeman 77:cd59ac40b3be 316 lcd.direct(PRINT_STRING);
codeman 77:cd59ac40b3be 317 printf("During the last 6 seconds, the Button was pressed %d times\n", button_pressed);
codeman 77:cd59ac40b3be 318 lcd.direct(0x00);
bcostm 73:d3b295249699 319 fflush(stdout);
bcostm 73:d3b295249699 320 button_pressed = 0;
bcostm 73:d3b295249699 321 }
bcostm 73:d3b295249699 322 }