First Draft, serial print change based on distance

Committer:
liam94
Date:
Fri Jan 28 17:12:01 2022 +0000
Revision:
9:ada61082bbaa
Parent:
8:7e48229d678c
Child:
10:be53044119d1
added in array for first object that actual readings will be compared to, need to update the actual object comparison

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam94 0:506531d0531c 1 #include "mbed.h"
liam94 0:506531d0531c 2 #include "ultrasonic.h"
liam94 0:506531d0531c 3 #include "N5110.h"
liam94 5:98845ccaaacd 4 #include "Joystick.h"
liam94 5:98845ccaaacd 5 #include "main.h"
liam94 4:77500a7f951d 6
liam94 8:7e48229d678c 7 /***************************************************************************//**
liam94 8:7e48229d678c 8 *
liam94 8:7e48229d678c 9 * the main code below sets all the interrupts to pull down and also for the start
liam94 8:7e48229d678c 10 * and back buttons it is sent to the specific start and back functions which sets
liam94 8:7e48229d678c 11 * the flags which are then used in other functions.
liam94 8:7e48229d678c 12 *
liam94 8:7e48229d678c 13 * the mu.startUpdates() is where the ultrasonic sensor is told to start measuring
liam94 8:7e48229d678c 14 * the distances.
liam94 8:7e48229d678c 15 * the joystick and lcd are then initialised and the man menu function is then
liam94 8:7e48229d678c 16 * called.
liam94 8:7e48229d678c 17 *
liam94 8:7e48229d678c 18 *******************************************************************************/
liam94 2:3ace5b4ae9a7 19
liam94 2:3ace5b4ae9a7 20 int main()
liam94 1:a1795335ef8c 21 {
liam94 5:98845ccaaacd 22
liam94 3:0b0fbddb6f51 23 R.mode(PullDown);
liam94 3:0b0fbddb6f51 24 L.mode(PullDown);
liam94 5:98845ccaaacd 25 Start.mode(PullDown);
liam94 5:98845ccaaacd 26 Start.rise(Start_isr);
liam94 5:98845ccaaacd 27 Back.mode(PullDown);
liam94 5:98845ccaaacd 28 Back.rise(Back_isr);
liam94 8:7e48229d678c 29 // printf("set buttons");
liam94 8:7e48229d678c 30
liam94 8:7e48229d678c 31 mu.startUpdates();
liam94 8:7e48229d678c 32 // printf ("Ultrasonic Updates started");
liam94 5:98845ccaaacd 33
liam94 5:98845ccaaacd 34 joystick.init();
liam94 8:7e48229d678c 35 // printf("initialise joystick")
liam94 5:98845ccaaacd 36 init_display();
liam94 8:7e48229d678c 37
liam94 5:98845ccaaacd 38 main_menu();
liam94 5:98845ccaaacd 39
liam94 5:98845ccaaacd 40 }
liam94 5:98845ccaaacd 41
liam94 8:7e48229d678c 42 /***************************************************************************//**
liam94 8:7e48229d678c 43 *
liam94 8:7e48229d678c 44 * added function which initalise the display and sets the contrast, this is
liam94 8:7e48229d678c 45 * called from the int main and so the LCD boots up on startup.
liam94 8:7e48229d678c 46 *
liam94 8:7e48229d678c 47 *******************************************************************************/
liam94 8:7e48229d678c 48
liam94 5:98845ccaaacd 49 void init_display(){
liam94 8:7e48229d678c 50
liam94 8:7e48229d678c 51 // printf("initialise display");
liam94 4:77500a7f951d 52 lcd.init();
liam94 4:77500a7f951d 53 lcd.setContrast(0.4);
liam94 8:7e48229d678c 54 lcd.clear();
liam94 5:98845ccaaacd 55
liam94 5:98845ccaaacd 56 }
liam94 8:7e48229d678c 57
liam94 8:7e48229d678c 58 /***************************************************************************//**
liam94 8:7e48229d678c 59 *
liam94 8:7e48229d678c 60 * this function is the main menu for the program, it is called at the start and
liam94 8:7e48229d678c 61 * depending on what string is selected, clicking the start uton will send the
liam94 8:7e48229d678c 62 * user to the specified function.
liam94 8:7e48229d678c 63 *
liam94 8:7e48229d678c 64 *******************************************************************************/
liam94 5:98845ccaaacd 65
liam94 5:98845ccaaacd 66 void main_menu(){
liam94 5:98845ccaaacd 67
liam94 8:7e48229d678c 68 // printf("main menu");
liam94 8:7e48229d678c 69
liam94 5:98845ccaaacd 70 lcd.clear();
liam94 5:98845ccaaacd 71 Start_flag = 0;
liam94 5:98845ccaaacd 72 int select = 0;
liam94 8:7e48229d678c 73 output = 63; // 63 on the bus output sets all LEDs to off
liam94 5:98845ccaaacd 74
liam94 5:98845ccaaacd 75 while (1) {
liam94 5:98845ccaaacd 76
liam94 5:98845ccaaacd 77 Direction d = joystick.get_direction();
liam94 8:7e48229d678c 78 // printf("Direction = %i\n",d);
liam94 5:98845ccaaacd 79
liam94 5:98845ccaaacd 80 switch(select) {
liam94 5:98845ccaaacd 81 case 0:
liam94 5:98845ccaaacd 82 switch(d) {
liam94 8:7e48229d678c 83 case N:
liam94 5:98845ccaaacd 84 select = 1;
liam94 8:7e48229d678c 85 // printf("UP");
liam94 5:98845ccaaacd 86 break;
liam94 8:7e48229d678c 87 case S:
liam94 5:98845ccaaacd 88 select = 1;
liam94 8:7e48229d678c 89 // printf("Down");
liam94 5:98845ccaaacd 90 break;
liam94 5:98845ccaaacd 91 }
liam94 5:98845ccaaacd 92 break;
liam94 5:98845ccaaacd 93 case 1:
liam94 5:98845ccaaacd 94 switch(d) {
liam94 8:7e48229d678c 95 case N:
liam94 5:98845ccaaacd 96 select = 0;
liam94 8:7e48229d678c 97 // printf("UP");
liam94 5:98845ccaaacd 98 break;
liam94 8:7e48229d678c 99 case S:
liam94 5:98845ccaaacd 100 select = 0;
liam94 8:7e48229d678c 101 // printf("Down");
liam94 5:98845ccaaacd 102 break;
liam94 5:98845ccaaacd 103 }
liam94 5:98845ccaaacd 104 break;
liam94 5:98845ccaaacd 105
liam94 5:98845ccaaacd 106 }
liam94 5:98845ccaaacd 107 wait(0.1);
liam94 5:98845ccaaacd 108 if (select == 0) {
liam94 8:7e48229d678c 109 // printf("main menu - sense object");
liam94 5:98845ccaaacd 110 lcd.clear();
liam94 5:98845ccaaacd 111 lcd.printString("Detect",27,0);
liam94 5:98845ccaaacd 112 lcd.printString("Sense Object",7,2);
liam94 5:98845ccaaacd 113 lcd.printString("Calibration",7,3);
liam94 5:98845ccaaacd 114 lcd.drawCircle(3,19,2,FILL_TRANSPARENT);
liam94 5:98845ccaaacd 115 lcd.refresh();
liam94 5:98845ccaaacd 116 wait(0.15);
liam94 5:98845ccaaacd 117 if (Start_flag == 1) {
liam94 5:98845ccaaacd 118 Start_flag = 0;
liam94 5:98845ccaaacd 119 sense_object();
liam94 5:98845ccaaacd 120 }
liam94 5:98845ccaaacd 121 } else if (select == 1) {
liam94 8:7e48229d678c 122 // printf("main menu - calibration");
liam94 5:98845ccaaacd 123 lcd.clear();
liam94 5:98845ccaaacd 124 lcd.printString("Detect",27,0);
liam94 5:98845ccaaacd 125 lcd.printString("Sense Object", 7,2);
liam94 5:98845ccaaacd 126 lcd.printString("Calibration",7,3);
liam94 5:98845ccaaacd 127 lcd.drawCircle(3,27,2,FILL_TRANSPARENT);
liam94 5:98845ccaaacd 128 lcd.refresh();
liam94 5:98845ccaaacd 129 wait(0.15);
liam94 5:98845ccaaacd 130 if (Start_flag == 1) {
liam94 5:98845ccaaacd 131 Start_flag = 0;
liam94 6:18a4dd77057e 132 calibrate_object();
liam94 5:98845ccaaacd 133 }
liam94 5:98845ccaaacd 134 }
liam94 5:98845ccaaacd 135 }
liam94 5:98845ccaaacd 136 }
liam94 5:98845ccaaacd 137
liam94 8:7e48229d678c 138 /***************************************************************************//**
liam94 8:7e48229d678c 139 *
liam94 8:7e48229d678c 140 * this function is for sensing the object
liam94 8:7e48229d678c 141 *
liam94 8:7e48229d678c 142 *******************************************************************************/
liam94 8:7e48229d678c 143
liam94 5:98845ccaaacd 144 void sense_object(){
liam94 8:7e48229d678c 145
liam94 8:7e48229d678c 146 // printf("sense object");
liam94 5:98845ccaaacd 147
liam94 5:98845ccaaacd 148 // set inital state
liam94 5:98845ccaaacd 149 int state = 0;
liam94 5:98845ccaaacd 150
liam94 2:3ace5b4ae9a7 151 while(1)
liam94 2:3ace5b4ae9a7 152 {
liam94 4:77500a7f951d 153 output = fsm[state]; // output current state
liam94 8:7e48229d678c 154 // printf("state = %d\r\n",state);
liam94 8:7e48229d678c 155
liam94 8:7e48229d678c 156 // check which state we are in and see which the next state should be
liam94 4:77500a7f951d 157 switch(state) {
liam94 9:ada61082bbaa 158 case 0:{
liam94 9:ada61082bbaa 159 int sense = 1;
liam94 4:77500a7f951d 160 lcd.clear();
liam94 4:77500a7f951d 161 lcd.printString(" object at 0'",0,0);
liam94 4:77500a7f951d 162 lcd.printString(" R + 60'",0,2);
liam94 4:77500a7f951d 163 lcd.printString(" L - 60'",0,4);
liam94 4:77500a7f951d 164 lcd.refresh();
liam94 3:0b0fbddb6f51 165 if (R == 1){
liam94 3:0b0fbddb6f51 166 state = 1;}
liam94 3:0b0fbddb6f51 167 else state = 0;
liam94 9:ada61082bbaa 168
liam94 9:ada61082bbaa 169 if (Start_flag == 1) {
liam94 9:ada61082bbaa 170 Start_flag = 0;
liam94 9:ada61082bbaa 171 object_sense1();
liam94 9:ada61082bbaa 172 }
liam94 9:ada61082bbaa 173
liam94 9:ada61082bbaa 174 break;}
liam94 9:ada61082bbaa 175 case 1:{
liam94 4:77500a7f951d 176 lcd.clear();
liam94 4:77500a7f951d 177 lcd.printString(" object at 60'",0,0);
liam94 4:77500a7f951d 178 lcd.printString(" R + 60'",0,2);
liam94 4:77500a7f951d 179 lcd.printString(" L - 60'",0,4);
liam94 4:77500a7f951d 180 lcd.refresh();
liam94 3:0b0fbddb6f51 181 if (R == 1){
liam94 3:0b0fbddb6f51 182 state = 2;}
liam94 3:0b0fbddb6f51 183 else state = 1;
liam94 9:ada61082bbaa 184 break;}
liam94 9:ada61082bbaa 185
liam94 9:ada61082bbaa 186 if (Start_flag == 1) {
liam94 9:ada61082bbaa 187 Start_flag = 0;
liam94 9:ada61082bbaa 188 object_sense2();
liam94 9:ada61082bbaa 189 }
liam94 9:ada61082bbaa 190 case 2:{
liam94 4:77500a7f951d 191 lcd.clear();
liam94 4:77500a7f951d 192 lcd.printString(" object at 120'",0,0);
liam94 4:77500a7f951d 193 lcd.printString(" R + 60'",0,2);
liam94 4:77500a7f951d 194 lcd.printString(" L - 60'",0,4);
liam94 4:77500a7f951d 195 lcd.refresh();
liam94 3:0b0fbddb6f51 196 if (R == 1){
liam94 3:0b0fbddb6f51 197 state = 3;}
liam94 3:0b0fbddb6f51 198 else state = 2;
liam94 9:ada61082bbaa 199 break;}
liam94 9:ada61082bbaa 200
liam94 9:ada61082bbaa 201 if (Start_flag == 1) {
liam94 9:ada61082bbaa 202 Start_flag = 0;
liam94 9:ada61082bbaa 203 object_sense3();
liam94 9:ada61082bbaa 204 }
liam94 9:ada61082bbaa 205 case 3:{
liam94 4:77500a7f951d 206 lcd.clear();
liam94 4:77500a7f951d 207 lcd.printString(" object at 180'",0,0);
liam94 4:77500a7f951d 208 lcd.printString(" R + 60'",0,2);
liam94 4:77500a7f951d 209 lcd.printString(" L - 60'",0,4);
liam94 4:77500a7f951d 210 lcd.refresh();
liam94 3:0b0fbddb6f51 211 if (R == 1){
liam94 3:0b0fbddb6f51 212 state = 4;}
liam94 3:0b0fbddb6f51 213 else state = 3;
liam94 9:ada61082bbaa 214 break;}
liam94 9:ada61082bbaa 215
liam94 9:ada61082bbaa 216 if (Start_flag == 1) {
liam94 9:ada61082bbaa 217 Start_flag = 0;
liam94 9:ada61082bbaa 218 object_sense4();
liam94 9:ada61082bbaa 219 }
liam94 9:ada61082bbaa 220 case 4:{
liam94 4:77500a7f951d 221 lcd.clear();
liam94 4:77500a7f951d 222 lcd.printString(" object at 240'",0,0);
liam94 4:77500a7f951d 223 lcd.printString(" R + 60'",0,2);
liam94 4:77500a7f951d 224 lcd.printString(" L - 60'",0,4);
liam94 4:77500a7f951d 225 lcd.refresh();
liam94 3:0b0fbddb6f51 226 if (R == 1){
liam94 3:0b0fbddb6f51 227 state = 5;}
liam94 3:0b0fbddb6f51 228 else state = 4;
liam94 9:ada61082bbaa 229 break;}
liam94 9:ada61082bbaa 230
liam94 9:ada61082bbaa 231 if (Start_flag == 1) {
liam94 9:ada61082bbaa 232 Start_flag = 0;
liam94 9:ada61082bbaa 233 object_sense5();
liam94 9:ada61082bbaa 234 }
liam94 9:ada61082bbaa 235 case 5:{
liam94 4:77500a7f951d 236 lcd.clear();
liam94 4:77500a7f951d 237 lcd.printString(" object at 300'",0,0);
liam94 4:77500a7f951d 238 lcd.printString(" R + 60'",0,2);
liam94 4:77500a7f951d 239 lcd.printString(" L - 60'",0,4);
liam94 4:77500a7f951d 240 lcd.refresh();
liam94 3:0b0fbddb6f51 241 if (R == 1){
liam94 9:ada61082bbaa 242 state = 6;}
liam94 3:0b0fbddb6f51 243 else state = 5;
liam94 9:ada61082bbaa 244 break;}
liam94 9:ada61082bbaa 245 if (Start_flag == 1) {
liam94 9:ada61082bbaa 246 Start_flag = 0;
liam94 9:ada61082bbaa 247 object_sense6();
liam94 9:ada61082bbaa 248 }
liam94 9:ada61082bbaa 249 case 6:{
liam94 9:ada61082bbaa 250 if (buffer1 - 10 <= glass[1] >= buffer1 + 10 and buffer2 - 10 <= glass[2] >= buffer2 + 10 and buffer3 - 10 <= glass[3] >= buffer3 + 10 and buffer4 - 10 <= glass[4] >= buffer4 + 10 and buffer5 - 10 <= glass[5] >= buffer5 + 10 and buffer6 - 10 <= glass[6] >= buffer6 + 10){
liam94 9:ada61082bbaa 251 printf("glass");}
liam94 9:ada61082bbaa 252 else{
liam94 9:ada61082bbaa 253 printf("nothing");}
liam94 9:ada61082bbaa 254 }
liam94 9:ada61082bbaa 255
liam94 9:ada61082bbaa 256
liam94 9:ada61082bbaa 257 default:{
liam94 2:3ace5b4ae9a7 258 error("Invalid state"); //invalid state - call error routine
liam94 2:3ace5b4ae9a7 259 // or could jump to starting state i.e. state = 0
liam94 9:ada61082bbaa 260 break;}
liam94 2:3ace5b4ae9a7 261 }
liam94 6:18a4dd77057e 262 if (Back_flag == 1) {
liam94 6:18a4dd77057e 263 Back_flag = 0;
liam94 6:18a4dd77057e 264 main_menu();}
liam94 6:18a4dd77057e 265
liam94 5:98845ccaaacd 266 ThisThread::sleep_for(200);
liam94 5:98845ccaaacd 267 }
liam94 5:98845ccaaacd 268 }
liam94 8:7e48229d678c 269
liam94 8:7e48229d678c 270 /***************************************************************************//**
liam94 8:7e48229d678c 271 *
liam94 8:7e48229d678c 272 * this function is for calibrating the distance in which the object centre point
liam94 8:7e48229d678c 273 * should be away from the sensor, it checks the current distance and then though
liam94 8:7e48229d678c 274 * the function "void dist" displays the current distance on the screen.
liam94 8:7e48229d678c 275 * this function also tells the user the distance away from the target centre
liam94 8:7e48229d678c 276 * point this should be, this is so that the board is the right distance away and
liam94 8:7e48229d678c 277 * will be able to detect the object better.
liam94 8:7e48229d678c 278 *
liam94 8:7e48229d678c 279 * in order to print the distance onto the LCD the current distance is printed to
liam94 8:7e48229d678c 280 * a buffer which is a max length of 14 (the amount of characters that can fit
liam94 8:7e48229d678c 281 * width ways on the screen) this can then be printed on the screen using print
liam94 8:7e48229d678c 282 * string.
liam94 8:7e48229d678c 283 *
liam94 8:7e48229d678c 284 *******************************************************************************/
liam94 8:7e48229d678c 285
liam94 6:18a4dd77057e 286 void calibrate_object(){
liam94 6:18a4dd77057e 287
liam94 9:ada61082bbaa 288 sense = 0;
liam94 9:ada61082bbaa 289
liam94 6:18a4dd77057e 290 while(1)
liam94 6:18a4dd77057e 291 {
liam94 9:ada61082bbaa 292 mu.checkDistance();
liam94 7:7464fbb0f3e1 293
liam94 6:18a4dd77057e 294 if (Back_flag == 1) {
liam94 6:18a4dd77057e 295 Back_flag = 0;
liam94 6:18a4dd77057e 296 main_menu();}
liam94 6:18a4dd77057e 297
liam94 6:18a4dd77057e 298 wait (1);
liam94 6:18a4dd77057e 299 }
liam94 6:18a4dd77057e 300 }
liam94 6:18a4dd77057e 301
liam94 9:ada61082bbaa 302 void object_sense1(){
liam94 9:ada61082bbaa 303
liam94 9:ada61082bbaa 304 sense = 1;
liam94 9:ada61082bbaa 305
liam94 9:ada61082bbaa 306 mu.checkDistance();
liam94 9:ada61082bbaa 307
liam94 9:ada61082bbaa 308 }
liam94 9:ada61082bbaa 309
liam94 9:ada61082bbaa 310 void object_sense2(){
liam94 9:ada61082bbaa 311
liam94 9:ada61082bbaa 312 sense = 2;
liam94 9:ada61082bbaa 313
liam94 9:ada61082bbaa 314 mu.checkDistance();
liam94 9:ada61082bbaa 315
liam94 9:ada61082bbaa 316 }
liam94 9:ada61082bbaa 317
liam94 9:ada61082bbaa 318 void object_sense3(){
liam94 9:ada61082bbaa 319
liam94 9:ada61082bbaa 320 sense = 3;
liam94 9:ada61082bbaa 321
liam94 9:ada61082bbaa 322 mu.checkDistance();
liam94 9:ada61082bbaa 323
liam94 9:ada61082bbaa 324 }
liam94 9:ada61082bbaa 325
liam94 9:ada61082bbaa 326 void object_sense4(){
liam94 9:ada61082bbaa 327
liam94 9:ada61082bbaa 328 sense = 4;
liam94 9:ada61082bbaa 329
liam94 9:ada61082bbaa 330 mu.checkDistance();
liam94 9:ada61082bbaa 331
liam94 9:ada61082bbaa 332 }
liam94 9:ada61082bbaa 333
liam94 9:ada61082bbaa 334 void object_sense5(){
liam94 9:ada61082bbaa 335
liam94 9:ada61082bbaa 336 sense = 5;
liam94 9:ada61082bbaa 337
liam94 9:ada61082bbaa 338 mu.checkDistance();
liam94 9:ada61082bbaa 339
liam94 9:ada61082bbaa 340 }
liam94 9:ada61082bbaa 341
liam94 9:ada61082bbaa 342 void object_sense6(){
liam94 9:ada61082bbaa 343
liam94 9:ada61082bbaa 344 sense = 6;
liam94 9:ada61082bbaa 345
liam94 9:ada61082bbaa 346 mu.checkDistance();
liam94 9:ada61082bbaa 347
liam94 9:ada61082bbaa 348 }
liam94 9:ada61082bbaa 349
liam94 7:7464fbb0f3e1 350 void dist(int distance)
liam94 7:7464fbb0f3e1 351 {
liam94 9:ada61082bbaa 352 printf("sense = %d", sense);
liam94 8:7e48229d678c 353 // printf("Distance changed to %dmm\r\n", distance);
liam94 9:ada61082bbaa 354 switch(sense){
liam94 9:ada61082bbaa 355 case 0:{
liam94 9:ada61082bbaa 356
liam94 9:ada61082bbaa 357 lcd.clear();
liam94 7:7464fbb0f3e1 358
liam94 9:ada61082bbaa 359 char buffer[14];
liam94 9:ada61082bbaa 360 int length = sprintf(buffer,"%dmm", distance);
liam94 9:ada61082bbaa 361 if (length <= 14)
liam94 7:7464fbb0f3e1 362
liam94 9:ada61082bbaa 363 lcd.printString("set object to",0,0);
liam94 9:ada61082bbaa 364 lcd.printString(" 200mm",0,1);
liam94 9:ada61082bbaa 365 lcd.printString(buffer,24,3);
liam94 9:ada61082bbaa 366 lcd.refresh();
liam94 9:ada61082bbaa 367
liam94 9:ada61082bbaa 368 break;}
liam94 9:ada61082bbaa 369
liam94 9:ada61082bbaa 370 case 1:{
liam94 9:ada61082bbaa 371
liam94 9:ada61082bbaa 372 printf("sens1");
liam94 9:ada61082bbaa 373 char buffer1[14];
liam94 9:ada61082bbaa 374 int length1 = sprintf(buffer1,"%dmm", distance);
liam94 9:ada61082bbaa 375 if (length1 <= 14)
liam94 9:ada61082bbaa 376 //printf("distance = %d", distance);
liam94 9:ada61082bbaa 377
liam94 9:ada61082bbaa 378 break;}
liam94 9:ada61082bbaa 379 case 2:{
liam94 9:ada61082bbaa 380
liam94 9:ada61082bbaa 381 printf("sens2");
liam94 9:ada61082bbaa 382 char buffer2[14];
liam94 9:ada61082bbaa 383 int length2 = sprintf(buffer2,"%dmm", distance);
liam94 9:ada61082bbaa 384 if (length2 <= 14)
liam94 9:ada61082bbaa 385 //printf("distance = %d", distance);
liam94 9:ada61082bbaa 386
liam94 9:ada61082bbaa 387 break;}
liam94 9:ada61082bbaa 388 case 3:{
liam94 9:ada61082bbaa 389
liam94 9:ada61082bbaa 390 printf("sens3");
liam94 9:ada61082bbaa 391 char buffer3[14];
liam94 9:ada61082bbaa 392 int length3 = sprintf(buffer3,"%dmm", distance);
liam94 9:ada61082bbaa 393 if (length3 <= 14)
liam94 9:ada61082bbaa 394 //printf("distance = %d", distance);
liam94 9:ada61082bbaa 395
liam94 9:ada61082bbaa 396 break;}
liam94 9:ada61082bbaa 397
liam94 9:ada61082bbaa 398 case 4:{
liam94 9:ada61082bbaa 399
liam94 9:ada61082bbaa 400 printf("sens4");
liam94 9:ada61082bbaa 401 char buffer4[14];
liam94 9:ada61082bbaa 402 int length4 = sprintf(buffer4,"%dmm", distance);
liam94 9:ada61082bbaa 403 if (length4 <= 14)
liam94 9:ada61082bbaa 404 //printf("distance = %d", distance);
liam94 9:ada61082bbaa 405
liam94 9:ada61082bbaa 406 break;}
liam94 9:ada61082bbaa 407
liam94 9:ada61082bbaa 408 case 5:{
liam94 9:ada61082bbaa 409
liam94 9:ada61082bbaa 410 printf("sens5");
liam94 9:ada61082bbaa 411 char buffer5[14];
liam94 9:ada61082bbaa 412 int length5 = sprintf(buffer5,"%dmm", distance);
liam94 9:ada61082bbaa 413 if (length5 <= 14)
liam94 9:ada61082bbaa 414 //printf("distance = %d", distance);
liam94 9:ada61082bbaa 415
liam94 9:ada61082bbaa 416 break;}
liam94 9:ada61082bbaa 417
liam94 9:ada61082bbaa 418 case 6:{
liam94 9:ada61082bbaa 419
liam94 9:ada61082bbaa 420 printf("sens6");
liam94 9:ada61082bbaa 421 char buffer6[14];
liam94 9:ada61082bbaa 422 int length6 = sprintf(buffer6,"%dmm", distance);
liam94 9:ada61082bbaa 423 if (length6 <= 14)
liam94 9:ada61082bbaa 424 //printf("distance = %d", distance);
liam94 9:ada61082bbaa 425
liam94 9:ada61082bbaa 426 break;}
liam94 9:ada61082bbaa 427
liam94 9:ada61082bbaa 428 }
liam94 7:7464fbb0f3e1 429 }
liam94 8:7e48229d678c 430
liam94 8:7e48229d678c 431 /***************************************************************************//**
liam94 8:7e48229d678c 432 *
liam94 8:7e48229d678c 433 * these functions are for setting the flags for the start and back butons which
liam94 8:7e48229d678c 434 * are used in the other functions.
liam94 8:7e48229d678c 435 *
liam94 8:7e48229d678c 436 *******************************************************************************/
liam94 8:7e48229d678c 437
liam94 5:98845ccaaacd 438 void Start_isr()
liam94 5:98845ccaaacd 439 {
liam94 8:7e48229d678c 440 // printf("start button pressed");
liam94 5:98845ccaaacd 441 Start_flag = 1;
liam94 2:3ace5b4ae9a7 442 }
liam94 2:3ace5b4ae9a7 443
liam94 5:98845ccaaacd 444 void Back_isr()
liam94 5:98845ccaaacd 445 {
liam94 8:7e48229d678c 446 // printf("back button pressed");
liam94 5:98845ccaaacd 447 Back_flag = 1;
liam94 1:a1795335ef8c 448 }
liam94 5:98845ccaaacd 449