Coursework

Committer:
sesa514652
Date:
Thu Feb 03 21:03:27 2022 +0000
Revision:
39:a31b49f3e65e
Parent:
38:71cfbdd2076d
Child:
40:0d55297c8b34
Object recognition working and in separate menu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sesa514652 28:aab0aa846cf6 1 /**
sesa514652 28:aab0aa846cf6 2 *.....Kory Hamill
sesa514652 28:aab0aa846cf6 3 *.....IOT Smart Electronics Coursework
sesa514652 36:3e975536e8d7 4 *.....Acknowlegements Libary Makers
sesa514652 28:aab0aa846cf6 5 *.....18689004
sesa514652 28:aab0aa846cf6 6 */
sesa514652 28:aab0aa846cf6 7 /**
sesa514652 28:aab0aa846cf6 8 * Section of code to bring in the #includes
sesa514652 28:aab0aa846cf6 9 */
sesa514652 0:1f799c7cce2b 10 #include "mbed.h"
sesa514652 38:71cfbdd2076d 11 //#include "Joystick.h" Not used in project
sesa514652 0:1f799c7cce2b 12 #include "N5110.h"
sesa514652 0:1f799c7cce2b 13 #include "hcsr04.h"
sesa514652 3:6ecb75a2675c 14 #include "Piezo.h"
sesa514652 8:770d168713cc 15 #include "string"
sesa514652 20:4e1f2917a857 16 #include "array"
sesa514652 22:82b01fdfc61f 17 #include <iostream>
sesa514652 37:323ec7d23454 18 #include <numeric>
sesa514652 37:323ec7d23454 19
sesa514652 36:3e975536e8d7 20 using namespace std;
sesa514652 35:36c7605dda06 21
sesa514652 28:aab0aa846cf6 22 /**
sesa514652 28:aab0aa846cf6 23 *...This Section of the code is used to bring in volatile Varible's, These can be wrote to throught the code.
sesa514652 28:aab0aa846cf6 24 *...The Varibles are used to track button press's on the board.
sesa514652 28:aab0aa846cf6 25 */
sesa514652 28:aab0aa846cf6 26 volatile int g_ButtonAPress;
sesa514652 28:aab0aa846cf6 27 volatile int g_ButtonBPress;
sesa514652 33:3717bc4e2fa8 28 volatile int LoopCountScan1;
sesa514652 33:3717bc4e2fa8 29 volatile int LoopCountScan2;
sesa514652 33:3717bc4e2fa8 30 volatile int LoopCountScan3;
sesa514652 33:3717bc4e2fa8 31 volatile int LoopCountScan4;
sesa514652 33:3717bc4e2fa8 32 volatile int LoopCountScan5;
sesa514652 28:aab0aa846cf6 33 volatile int g_buttonA_flag = 0;
sesa514652 28:aab0aa846cf6 34 volatile int g_buttonB_flag = 0;
sesa514652 28:aab0aa846cf6 35 volatile int g_buttonX_flag = 0;
sesa514652 28:aab0aa846cf6 36 volatile int g_buttonY_flag = 0;
sesa514652 28:aab0aa846cf6 37 volatile int g_buttonStart_flag = 0;
sesa514652 28:aab0aa846cf6 38 volatile int g_buttonBack_flag = 0;
sesa514652 28:aab0aa846cf6 39 volatile int g_buttonLeft_flag = 0;
sesa514652 28:aab0aa846cf6 40 volatile int g_buttonRight_flag = 0;
sesa514652 31:91a3c61d33e6 41 /**
sesa514652 31:91a3c61d33e6 42 *..Bring in 5 arrays of 5 for each of the 5 required scans.
sesa514652 31:91a3c61d33e6 43 *..array Ref starts at 0,
sesa514652 31:91a3c61d33e6 44 */
sesa514652 31:91a3c61d33e6 45 volatile int Scan1[5];
sesa514652 38:71cfbdd2076d 46 /* no longer required
sesa514652 31:91a3c61d33e6 47 volatile int Scan2[5];
sesa514652 31:91a3c61d33e6 48 volatile int Scan3[5];
sesa514652 31:91a3c61d33e6 49 volatile int Scan4[5];
sesa514652 31:91a3c61d33e6 50 volatile int Scan5[5];
sesa514652 38:71cfbdd2076d 51 volatile int wall[5];
sesa514652 38:71cfbdd2076d 52 */
sesa514652 28:aab0aa846cf6 53 /**
sesa514652 28:aab0aa846cf6 54 *... Section of code to assign names to IO pins on the K64f
sesa514652 28:aab0aa846cf6 55 */
sesa514652 8:770d168713cc 56 InterruptIn buttonA(PTB9);
sesa514652 8:770d168713cc 57 InterruptIn buttonB(PTD0);
sesa514652 8:770d168713cc 58 InterruptIn buttonX(PTC17);
sesa514652 8:770d168713cc 59 InterruptIn buttonY(PTC12);
sesa514652 11:1dec05b7d1c1 60 InterruptIn buttonStart(PTC5);
sesa514652 11:1dec05b7d1c1 61 InterruptIn buttonBack(PTB19);
sesa514652 11:1dec05b7d1c1 62 InterruptIn buttonLeft(PTB18);
sesa514652 11:1dec05b7d1c1 63 InterruptIn buttonRight(PTB3);
sesa514652 38:71cfbdd2076d 64 //Joystick joystick(PTB10,PTB11,PTC16); Not used in project
sesa514652 28:aab0aa846cf6 65 HCSR04 sensor(D14, D15);
sesa514652 28:aab0aa846cf6 66 Piezo Buzzer(PTC10);
sesa514652 28:aab0aa846cf6 67 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
sesa514652 28:aab0aa846cf6 68
sesa514652 28:aab0aa846cf6 69 /**
sesa514652 28:aab0aa846cf6 70 *...For used with the LCD Screen. rows,cols
sesa514652 28:aab0aa846cf6 71 */
sesa514652 0:1f799c7cce2b 72 int sprite[8][5] = {
sesa514652 28:aab0aa846cf6 73 { 0,0,1,0,0 },
sesa514652 28:aab0aa846cf6 74 { 0,1,1,1,0 },
sesa514652 28:aab0aa846cf6 75 { 0,0,1,0,0 },
sesa514652 28:aab0aa846cf6 76 { 0,1,1,1,0 },
sesa514652 28:aab0aa846cf6 77 { 1,1,1,1,1 },
sesa514652 28:aab0aa846cf6 78 { 1,1,1,1,1 },
sesa514652 28:aab0aa846cf6 79 { 1,1,0,1,1 },
sesa514652 28:aab0aa846cf6 80 { 1,1,0,1,1 },
sesa514652 28:aab0aa846cf6 81 };
sesa514652 28:aab0aa846cf6 82 /**
sesa514652 28:aab0aa846cf6 83 *...Section for starting the board and seeting up interrupt routines
sesa514652 28:aab0aa846cf6 84 *...Along with other functions to be called later
sesa514652 28:aab0aa846cf6 85 */
sesa514652 11:1dec05b7d1c1 86 void init_K64F(); // Start K64fBoard
sesa514652 11:1dec05b7d1c1 87 void buttonA_isr(); // Button A interrupt service routine
sesa514652 11:1dec05b7d1c1 88 void buttonB_isr(); // Button B interrupt service routine
sesa514652 11:1dec05b7d1c1 89 void buttonX_isr(); // Button X interrupt service routine
sesa514652 11:1dec05b7d1c1 90 void buttonY_isr(); // Button Y interrupt service routine
sesa514652 11:1dec05b7d1c1 91 void buttonStart_isr(); // Button Start interrupt service routine
sesa514652 11:1dec05b7d1c1 92 void buttonBack_isr(); // Button Back interrupt service routine
sesa514652 11:1dec05b7d1c1 93 void buttonLeft_isr(); // Button Left interrupt service routine
sesa514652 11:1dec05b7d1c1 94 void buttonRight_isr(); // Button Right interrupt service routine
sesa514652 31:91a3c61d33e6 95 void inputScan1();
sesa514652 31:91a3c61d33e6 96 void inputScan2();
sesa514652 31:91a3c61d33e6 97 void inputScan3();
sesa514652 31:91a3c61d33e6 98 void inputScan4();
sesa514652 31:91a3c61d33e6 99 void inputScan5();
sesa514652 33:3717bc4e2fa8 100 int NoContinueExit();
sesa514652 18:bb36d96142dd 101 int buttonCountA();
sesa514652 18:bb36d96142dd 102 int buttonCountB();
sesa514652 36:3e975536e8d7 103
sesa514652 33:3717bc4e2fa8 104
sesa514652 33:3717bc4e2fa8 105
sesa514652 33:3717bc4e2fa8 106
sesa514652 33:3717bc4e2fa8 107
sesa514652 28:aab0aa846cf6 108 EventQueue queue; /**< Required to get around issues with printing onto LCD and the Printf */
sesa514652 28:aab0aa846cf6 109
sesa514652 28:aab0aa846cf6 110
sesa514652 28:aab0aa846cf6 111 /** Code which was never used
sesa514652 28:aab0aa846cf6 112 *
sesa514652 28:aab0aa846cf6 113 *.. was for initial learning of C++
sesa514652 11:1dec05b7d1c1 114 //volatile int g_buttonA_counter = 0; // Global counter
sesa514652 8:770d168713cc 115 //Test function after research C++ lanuage 05/01/22
sesa514652 4:167ce930c9d5 116 int cube(int num){
sesa514652 11:1dec05b7d1c1 117 return num*num;
sesa514652 5:9b2c976ca318 118 };
sesa514652 10:42e70b596099 119 // Menu Items
sesa514652 10:42e70b596099 120 int page1;
sesa514652 10:42e70b596099 121 int page2;
sesa514652 10:42e70b596099 122 int page3;
sesa514652 28:aab0aa846cf6 123 string Listitem1 = "Game"; //
sesa514652 28:aab0aa846cf6 124 string Listitem2 = "Measure"; //
sesa514652 28:aab0aa846cf6 125 string Listitem3 = "Detect"; //
sesa514652 28:aab0aa846cf6 126 / Test of the interup an operating the buzzer this kills the board
sesa514652 9:cdd7d9a123f9 127 void buzzme(){
sesa514652 9:cdd7d9a123f9 128 Buzzer.play(200,120);
sesa514652 9:cdd7d9a123f9 129 wait_ms(5);
sesa514652 9:cdd7d9a123f9 130 Buzzer.play(200,120);;
sesa514652 9:cdd7d9a123f9 131 }
sesa514652 26:8826ed43fad2 132 int Scan1[5];
sesa514652 26:8826ed43fad2 133 int Scan2[5];
sesa514652 24:a88c4941a25e 134 int Scan1Input(){;
sesa514652 25:9798017b837d 135 Scan1[0] = sensor.distance();
sesa514652 25:9798017b837d 136 Scan1[1] = sensor.distance();;
sesa514652 25:9798017b837d 137 Scan1[2] = sensor.distance();;
sesa514652 26:8826ed43fad2 138 Scan1[3] = sensor.distance();;
sesa514652 26:8826ed43fad2 139 Scan1[4] = sensor.distance();;
sesa514652 26:8826ed43fad2 140 return Scan1[0,1,2,3,4];}
sesa514652 28:aab0aa846cf6 141 //void returnme(){
sesa514652 10:42e70b596099 142 //int num;
sesa514652 10:42e70b596099 143 // return num*num;
sesa514652 10:42e70b596099 144 // };
sesa514652 28:aab0aa846cf6 145 */
sesa514652 36:3e975536e8d7 146 /*
sesa514652 36:3e975536e8d7 147 bool Equal(int ar1[],int ar2[], int n, int m){
sesa514652 36:3e975536e8d7 148 if(n!=m)
sesa514652 36:3e975536e8d7 149 return false;
sesa514652 36:3e975536e8d7 150 sort(ar1,ar1 +n);
sesa514652 36:3e975536e8d7 151 sort(ar2,ar2 +m);
sesa514652 36:3e975536e8d7 152 for (int i=0;i<n; i++)
sesa514652 36:3e975536e8d7 153 if(ar1[i]!=ar2[i])
sesa514652 36:3e975536e8d7 154 return false;
sesa514652 36:3e975536e8d7 155 return true;
sesa514652 36:3e975536e8d7 156 }*/
sesa514652 38:71cfbdd2076d 157 /* Problems with this and Being exact and repeatable
sesa514652 37:323ec7d23454 158 bool MatchMade(int arr1[], int arr2[], int n, int m)
sesa514652 36:3e975536e8d7 159 {
sesa514652 36:3e975536e8d7 160 // If lengths of array are not equal means
sesa514652 36:3e975536e8d7 161 // array are not equal
sesa514652 36:3e975536e8d7 162 if (n != m)
sesa514652 36:3e975536e8d7 163 return false;
sesa514652 36:3e975536e8d7 164
sesa514652 36:3e975536e8d7 165 // Sort both arrays
sesa514652 36:3e975536e8d7 166 sort(arr1, arr1 + n);
sesa514652 36:3e975536e8d7 167 sort(arr2, arr2 + m);
sesa514652 36:3e975536e8d7 168
sesa514652 36:3e975536e8d7 169 // Linearly compare elements
sesa514652 36:3e975536e8d7 170 for (int i = 0; i < n; i++)
sesa514652 36:3e975536e8d7 171 if (arr1[i] != arr2[i])
sesa514652 36:3e975536e8d7 172 return false;
sesa514652 36:3e975536e8d7 173
sesa514652 36:3e975536e8d7 174
sesa514652 36:3e975536e8d7 175 // If all elements were same.
sesa514652 36:3e975536e8d7 176 return true;
sesa514652 38:71cfbdd2076d 177 */
sesa514652 38:71cfbdd2076d 178
sesa514652 36:3e975536e8d7 179 int main() {
sesa514652 37:323ec7d23454 180
sesa514652 28:aab0aa846cf6 181
sesa514652 28:aab0aa846cf6 182 /**
sesa514652 28:aab0aa846cf6 183 *.. Intialise joystick and Lcd
sesa514652 28:aab0aa846cf6 184 */
sesa514652 38:71cfbdd2076d 185 // joystick.init(); not used in project
sesa514652 28:aab0aa846cf6 186 lcd.init();
sesa514652 28:aab0aa846cf6 187 lcd.setContrast(0.5);
sesa514652 28:aab0aa846cf6 188 /**
sesa514652 28:aab0aa846cf6 189 *.. Issues were found with the LCd and printf while using interrupts, to get around
sesa514652 28:aab0aa846cf6 190 *.. this issue these queue's to the event thread were added.
sesa514652 28:aab0aa846cf6 191 */
sesa514652 11:1dec05b7d1c1 192 Thread eventThread;
sesa514652 28:aab0aa846cf6 193 eventThread.start(callback(&queue, &EventQueue::dispatch_forever));
sesa514652 28:aab0aa846cf6 194 buttonA.rise(queue.event(&buttonA_isr));
sesa514652 11:1dec05b7d1c1 195 buttonB.rise(queue.event(&buttonB_isr));
sesa514652 11:1dec05b7d1c1 196 buttonX.rise(queue.event(&buttonX_isr));
sesa514652 11:1dec05b7d1c1 197 buttonY.rise(queue.event(&buttonY_isr));
sesa514652 28:aab0aa846cf6 198 buttonStart.rise(queue.event(&buttonStart_isr));
sesa514652 11:1dec05b7d1c1 199 buttonBack.rise(queue.event(&buttonBack_isr));
sesa514652 11:1dec05b7d1c1 200 buttonLeft.rise(queue.event(&buttonLeft_isr));
sesa514652 11:1dec05b7d1c1 201 buttonRight.rise(queue.event(&buttonRight_isr));
sesa514652 28:aab0aa846cf6 202 /**
sesa514652 28:aab0aa846cf6 203 *..Buttons were connected to IO pins which required a pull down resistor to be active.
sesa514652 28:aab0aa846cf6 204 */
sesa514652 8:770d168713cc 205 buttonA.mode(PullDown);
sesa514652 10:42e70b596099 206 buttonB.mode(PullDown);
sesa514652 10:42e70b596099 207 buttonX.mode(PullDown);
sesa514652 10:42e70b596099 208 buttonY.mode(PullDown);
sesa514652 11:1dec05b7d1c1 209 buttonStart.mode(PullDown);
sesa514652 11:1dec05b7d1c1 210 buttonBack.mode(PullDown);
sesa514652 11:1dec05b7d1c1 211 buttonLeft.mode(PullDown);
sesa514652 11:1dec05b7d1c1 212 buttonRight.mode(PullDown);
sesa514652 5:9b2c976ca318 213
sesa514652 28:aab0aa846cf6 214 /**
sesa514652 28:aab0aa846cf6 215 *.. Section of code not used in main program.
sesa514652 28:aab0aa846cf6 216 *
sesa514652 28:aab0aa846cf6 217 Buzzer.period(10.0f);
sesa514652 5:9b2c976ca318 218 //Buzzer.pulsewidth(1);
sesa514652 28:aab0aa846cf6 219 Test Struct after research 05/01/22
sesa514652 6:f7f30e0e3bed 220 struct ObjectDefine{
sesa514652 7:ce70a873aa70 221 int qwer;
sesa514652 6:f7f30e0e3bed 222 float Distance;
sesa514652 7:ce70a873aa70 223 char te;
sesa514652 7:ce70a873aa70 224 double dubs;
sesa514652 7:ce70a873aa70 225 string namestruct;
sesa514652 8:770d168713cc 226 // string ;
sesa514652 6:f7f30e0e3bed 227 };
sesa514652 7:ce70a873aa70 228 // Test Class 06/01/22
sesa514652 10:42e70b596099 229 class myClass{
sesa514652 7:ce70a873aa70 230 public:
sesa514652 7:ce70a873aa70 231 string nameclass ;
sesa514652 7:ce70a873aa70 232 double dubss;
sesa514652 7:ce70a873aa70 233 int inty;
sesa514652 7:ce70a873aa70 234 };
sesa514652 7:ce70a873aa70 235 myClass Class1;
sesa514652 7:ce70a873aa70 236 Class1.nameclass ="firstclass";
sesa514652 10:42e70b596099 237 ObjectDefine Object1;
sesa514652 10:42e70b596099 238 Object1.qwer = 12;
sesa514652 6:f7f30e0e3bed 239 Object1.Distance = 34;
sesa514652 7:ce70a873aa70 240 Object1.te = 'A';
sesa514652 7:ce70a873aa70 241 Object1.dubs = 23;
sesa514652 10:42e70b596099 242 Object1.namestruct = "name";
sesa514652 28:aab0aa846cf6 243 */
sesa514652 36:3e975536e8d7 244
sesa514652 36:3e975536e8d7 245 /*
sesa514652 36:3e975536e8d7 246 int ar1[]= {2,3,4,5};
sesa514652 36:3e975536e8d7 247 int ar2[] = {2,3,4,5};
sesa514652 36:3e975536e8d7 248 int n = sizeof(ar1);
sesa514652 36:3e975536e8d7 249 int m = sizeof(ar2);
sesa514652 36:3e975536e8d7 250 if(Equal(ar1,ar2,n,m)){
sesa514652 36:3e975536e8d7 251 printf("TRUEEEEEEEEEEEEEEEEEEE\n");}
sesa514652 36:3e975536e8d7 252 else {printf("Falseeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddd\n");}
sesa514652 36:3e975536e8d7 253
sesa514652 36:3e975536e8d7 254
sesa514652 36:3e975536e8d7 255
sesa514652 36:3e975536e8d7 256
sesa514652 36:3e975536e8d7 257 */
sesa514652 36:3e975536e8d7 258
sesa514652 36:3e975536e8d7 259
sesa514652 36:3e975536e8d7 260
sesa514652 36:3e975536e8d7 261
sesa514652 36:3e975536e8d7 262
sesa514652 36:3e975536e8d7 263 printf("I SHOULD HAVE BEEN PRINTED !!!!!");
sesa514652 36:3e975536e8d7 264
sesa514652 38:71cfbdd2076d 265 while(1) {
sesa514652 27:d48bf4e8f1a0 266
sesa514652 28:aab0aa846cf6 267 /**
sesa514652 28:aab0aa846cf6 268 *.. It was found Cout was not working as expected.
sesa514652 28:aab0aa846cf6 269 cout << "Test value collection";
sesa514652 28:aab0aa846cf6 270 Scan1Input();
sesa514652 28:aab0aa846cf6 271
sesa514652 27:d48bf4e8f1a0 272 cout << Scan1[0];cout <<"/n";
sesa514652 27:d48bf4e8f1a0 273 cout << Scan1[1];"/n";
sesa514652 27:d48bf4e8f1a0 274 cout << Scan1[2];"/n";
sesa514652 27:d48bf4e8f1a0 275 cout << Scan1[3];"/n";
sesa514652 27:d48bf4e8f1a0 276 cout << Scan1[4];"/n";
sesa514652 27:d48bf4e8f1a0 277 cout << Scan1[5];"/n";
sesa514652 27:d48bf4e8f1a0 278 cout << Scan1[6];"/n";
sesa514652 27:d48bf4e8f1a0 279 cout << Scan1[7];"/n";
sesa514652 27:d48bf4e8f1a0 280 cout << Scan1[8];"/n";
sesa514652 27:d48bf4e8f1a0 281 cout << Scan1[9];"/n";
sesa514652 27:d48bf4e8f1a0 282 */
sesa514652 33:3717bc4e2fa8 283 printf("Debug : LoopCount1 : %i\n",LoopCountScan1);
sesa514652 33:3717bc4e2fa8 284 printf("Debug : LoopCount2 : %i\n",LoopCountScan2);
sesa514652 33:3717bc4e2fa8 285 printf("Debug : LoopCount3 : %i\n",LoopCountScan3);
sesa514652 33:3717bc4e2fa8 286 printf("Debug : LoopCount4 : %i\n",LoopCountScan4);
sesa514652 33:3717bc4e2fa8 287 printf("Debug : LoopCount5 : %i\n",LoopCountScan5);
sesa514652 28:aab0aa846cf6 288 printf("press count = %i\n",g_ButtonAPress);
sesa514652 26:8826ed43fad2 289 printf("Scan1 1 : %d cm\n", Scan1[0]);
sesa514652 26:8826ed43fad2 290 printf("Scan1 2 : %d cm\n", Scan1[1]);
sesa514652 26:8826ed43fad2 291 printf("Scan1 3 : %d cm\n", Scan1[2]);
sesa514652 26:8826ed43fad2 292 printf("Scan1 4 : %d cm\n", Scan1[3]);
sesa514652 26:8826ed43fad2 293 printf("Scan1 5 : %d cm\n", Scan1[4]);
sesa514652 38:71cfbdd2076d 294 /* NO longer Reuired Section
sesa514652 26:8826ed43fad2 295 printf("Scan2 1 : %d cm\n", Scan2[0]);
sesa514652 26:8826ed43fad2 296 printf("Scan2 2 : %d cm\n", Scan2[1]);
sesa514652 26:8826ed43fad2 297 printf("Scan2 3 : %d cm\n", Scan2[2]);
sesa514652 26:8826ed43fad2 298 printf("Scan2 4 : %d cm\n", Scan2[3]);
sesa514652 26:8826ed43fad2 299 printf("Scan2 5 : %d cm\n", Scan2[4]);
sesa514652 26:8826ed43fad2 300 printf("Scan3 1 : %d cm\n", Scan3[0]);
sesa514652 26:8826ed43fad2 301 printf("Scan3 2 : %d cm\n", Scan3[1]);
sesa514652 26:8826ed43fad2 302 printf("Scan3 3 : %d cm\n", Scan3[2]);
sesa514652 26:8826ed43fad2 303 printf("Scan3 4 : %d cm\n", Scan3[3]);
sesa514652 26:8826ed43fad2 304 printf("Scan3 5 : %d cm\n", Scan3[4]);
sesa514652 26:8826ed43fad2 305 printf("Scan4 1 : %d cm\n", Scan4[0]);
sesa514652 26:8826ed43fad2 306 printf("Scan4 2 : %d cm\n", Scan4[1]);
sesa514652 26:8826ed43fad2 307 printf("Scan4 3 : %d cm\n", Scan4[2]);
sesa514652 26:8826ed43fad2 308 printf("Scan4 4 : %d cm\n", Scan4[3]);
sesa514652 26:8826ed43fad2 309 printf("Scan4 5 : %d cm\n", Scan4[4]);
sesa514652 26:8826ed43fad2 310 printf("Scan5 1 : %d cm\n", Scan5[0]);
sesa514652 26:8826ed43fad2 311 printf("Scan5 2 : %d cm\n", Scan5[1]);
sesa514652 26:8826ed43fad2 312 printf("Scan5 3 : %d cm\n", Scan5[2]);
sesa514652 26:8826ed43fad2 313 printf("Scan5 4 : %d cm\n", Scan5[3]);
sesa514652 38:71cfbdd2076d 314 printf("Scan5 5 : %d cm\n", Scan5[4]);
sesa514652 38:71cfbdd2076d 315 */
sesa514652 25:9798017b837d 316 printf("I always Get printed \n");
sesa514652 24:a88c4941a25e 317 // cout << Scan1[2];
sesa514652 24:a88c4941a25e 318 // cout << Scan1[6];
sesa514652 28:aab0aa846cf6 319 printf("I Should Be printed always \n");
sesa514652 28:aab0aa846cf6 320 /**
sesa514652 28:aab0aa846cf6 321 *..Code section on Comparing data Cout was causing issue
sesa514652 28:aab0aa846cf6 322 *
sesa514652 24:a88c4941a25e 323 if (Scan1[1] > Scan1[2]){
sesa514652 24:a88c4941a25e 324 cout <<'+';
sesa514652 24:a88c4941a25e 325 }else if (Scan1[1]=Scan1[2]){
sesa514652 24:a88c4941a25e 326 cout <<'=';}
sesa514652 24:a88c4941a25e 327 else {
sesa514652 24:a88c4941a25e 328 cout <<'-';}
sesa514652 24:a88c4941a25e 329 if (Scan1[2] > Scan1[3]){
sesa514652 24:a88c4941a25e 330 cout <<'+';
sesa514652 24:a88c4941a25e 331 }else if (Scan1[2]=Scan1[3]){
sesa514652 24:a88c4941a25e 332 cout <<'=';}
sesa514652 23:f72175fb49ed 333 else {
sesa514652 23:f72175fb49ed 334 cout <<'-';}
sesa514652 24:a88c4941a25e 335
sesa514652 24:a88c4941a25e 336 if (Scan1[3] > Scan1[4]){
sesa514652 24:a88c4941a25e 337 cout <<'+';
sesa514652 24:a88c4941a25e 338 }else if (Scan1[3]=Scan1[4]){
sesa514652 24:a88c4941a25e 339 cout <<'=';}
sesa514652 24:a88c4941a25e 340 else {
sesa514652 24:a88c4941a25e 341 cout <<'-';}
sesa514652 24:a88c4941a25e 342 if (Scan1[4] > Scan1[5]){
sesa514652 24:a88c4941a25e 343 cout <<'+';
sesa514652 24:a88c4941a25e 344 }else if (Scan1[4]=Scan1[5]){
sesa514652 24:a88c4941a25e 345 cout <<'=';}
sesa514652 24:a88c4941a25e 346 else {
sesa514652 24:a88c4941a25e 347 cout <<'-';}
sesa514652 24:a88c4941a25e 348 if (Scan1[5] > Scan1[6]){
sesa514652 24:a88c4941a25e 349 cout <<'+';
sesa514652 24:a88c4941a25e 350 }else if (Scan1[5]=Scan1[6]){
sesa514652 24:a88c4941a25e 351 cout <<'=';}
sesa514652 24:a88c4941a25e 352 else {
sesa514652 24:a88c4941a25e 353 cout <<'-';}
sesa514652 24:a88c4941a25e 354 if (Scan1[6] > Scan1[7]){
sesa514652 24:a88c4941a25e 355 cout <<'+';
sesa514652 24:a88c4941a25e 356 }else if (Scan1[6]=Scan1[7]){
sesa514652 24:a88c4941a25e 357 cout <<'=';}
sesa514652 24:a88c4941a25e 358 else {
sesa514652 24:a88c4941a25e 359 cout <<'-';}
sesa514652 24:a88c4941a25e 360 if (Scan1[7] > Scan1[8]){
sesa514652 24:a88c4941a25e 361 cout <<'+';
sesa514652 24:a88c4941a25e 362 }else if (Scan1[7]=Scan1[8]){
sesa514652 24:a88c4941a25e 363 cout <<'=';}
sesa514652 24:a88c4941a25e 364 else {
sesa514652 24:a88c4941a25e 365 cout <<'-';}
sesa514652 24:a88c4941a25e 366
sesa514652 24:a88c4941a25e 367 if (Scan1[8] > Scan1[9]){
sesa514652 24:a88c4941a25e 368 cout <<'+';
sesa514652 24:a88c4941a25e 369 }else if (Scan1[8]=Scan1[9]){
sesa514652 24:a88c4941a25e 370 cout <<'=';}
sesa514652 24:a88c4941a25e 371 else {
sesa514652 24:a88c4941a25e 372 cout <<'-';}
sesa514652 24:a88c4941a25e 373 if (Scan1[9] > Scan1[10]){
sesa514652 24:a88c4941a25e 374 cout <<'+';
sesa514652 24:a88c4941a25e 375 }else if (Scan1[9]=Scan1[10]){
sesa514652 24:a88c4941a25e 376 cout <<'=';}
sesa514652 24:a88c4941a25e 377 else {
sesa514652 24:a88c4941a25e 378 cout <<'-';}
sesa514652 28:aab0aa846cf6 379 */
sesa514652 21:2e37f80e8b5b 380
sesa514652 26:8826ed43fad2 381 /////////////////////////////////////////////////////////////////////////////////////////////////////
sesa514652 28:aab0aa846cf6 382 /**
sesa514652 28:aab0aa846cf6 383 *..Initial state when starting the Board.
sesa514652 28:aab0aa846cf6 384 */
sesa514652 28:aab0aa846cf6 385 switch(g_ButtonAPress){
sesa514652 21:2e37f80e8b5b 386 default:
sesa514652 29:1aef0ecf9840 387 lcd.clear();
sesa514652 21:2e37f80e8b5b 388 lcd.printString("Main Menu",0,0);
sesa514652 28:aab0aa846cf6 389 lcd.drawLine(0,10,80,10,2);
sesa514652 31:91a3c61d33e6 390 lcd.printString("Press A",0,2);
sesa514652 31:91a3c61d33e6 391 lcd.printString("New Scan",0,3);
sesa514652 31:91a3c61d33e6 392 lcd.printString("Press B",0,4);
sesa514652 38:71cfbdd2076d 393 lcd.printString("Decicde",0,5);
sesa514652 33:3717bc4e2fa8 394 LoopCountScan1 =0;
sesa514652 33:3717bc4e2fa8 395 LoopCountScan2 =0;
sesa514652 33:3717bc4e2fa8 396 LoopCountScan3 =0;
sesa514652 33:3717bc4e2fa8 397 LoopCountScan4 =0;
sesa514652 33:3717bc4e2fa8 398 LoopCountScan5 =0;
sesa514652 29:1aef0ecf9840 399
sesa514652 36:3e975536e8d7 400
sesa514652 36:3e975536e8d7 401
sesa514652 38:71cfbdd2076d 402 /* Code Section No longer required
sesa514652 38:71cfbdd2076d 403 *
sesa514652 38:71cfbdd2076d 404
sesa514652 33:3717bc4e2fa8 405 for(int i=0; i<5; i++){
sesa514652 33:3717bc4e2fa8 406
sesa514652 36:3e975536e8d7 407 printf("hello Scan: %i The value of : %i \n",i, Scan1[i]);
sesa514652 33:3717bc4e2fa8 408 if (Scan1[i]>95){
sesa514652 36:3e975536e8d7 409 Decide[i]= '+';
sesa514652 36:3e975536e8d7 410 printf("no wall%c/n",Decide[i]);}
sesa514652 33:3717bc4e2fa8 411 else if (Scan1[i]<85){
sesa514652 36:3e975536e8d7 412 Decide[i]= '-';
sesa514652 36:3e975536e8d7 413 printf("OBJECT ABOUT%c/n",Decide[i]);}
sesa514652 33:3717bc4e2fa8 414 else if (Scan1[i]>85<95){
sesa514652 36:3e975536e8d7 415 Decide[i]= '=';
sesa514652 36:3e975536e8d7 416 printf("No Object %c/n",Decide[i]);}
sesa514652 35:36c7605dda06 417 }
sesa514652 38:71cfbdd2076d 418 */
sesa514652 38:71cfbdd2076d 419
sesa514652 37:323ec7d23454 420
sesa514652 35:36c7605dda06 421
sesa514652 29:1aef0ecf9840 422 /** IF Statement to decide on shape to draw
sesa514652 29:1aef0ecf9840 423 *.. This section of code compares the each array element with the one proceding it and makes a logical decision if higher lower or equal.
sesa514652 29:1aef0ecf9840 424 */
sesa514652 34:dfe7f5799582 425 /*
sesa514652 29:1aef0ecf9840 426 if (Scan1[0] > Scan1[1])
sesa514652 29:1aef0ecf9840 427 {
sesa514652 29:1aef0ecf9840 428 printf("+");
sesa514652 29:1aef0ecf9840 429 Decide[0]= 'x';
sesa514652 29:1aef0ecf9840 430 printf( "chosen 1 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 431 }
sesa514652 31:91a3c61d33e6 432 else if (Scan1[0] == Scan1[1])
sesa514652 29:1aef0ecf9840 433 {
sesa514652 29:1aef0ecf9840 434 printf("=");
sesa514652 29:1aef0ecf9840 435 Decide[0]='=';
sesa514652 29:1aef0ecf9840 436 printf( "chosen2 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 437 }
sesa514652 29:1aef0ecf9840 438 else if (Scan1[0] < Scan1[1])
sesa514652 29:1aef0ecf9840 439 {
sesa514652 29:1aef0ecf9840 440 printf("-");
sesa514652 29:1aef0ecf9840 441 Decide[0]='-';
sesa514652 29:1aef0ecf9840 442 printf( "chosen3 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 443 }
sesa514652 29:1aef0ecf9840 444 if (Scan1[1] > Scan1[2])
sesa514652 29:1aef0ecf9840 445 {
sesa514652 29:1aef0ecf9840 446 printf("+");
sesa514652 29:1aef0ecf9840 447 Decide[1]= 'x';
sesa514652 29:1aef0ecf9840 448 printf( "chosen 1 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 449 }
sesa514652 31:91a3c61d33e6 450 else if (Scan1[1] == Scan1[2])
sesa514652 29:1aef0ecf9840 451 {
sesa514652 29:1aef0ecf9840 452 printf("=");
sesa514652 29:1aef0ecf9840 453 Decide[1]='=';
sesa514652 29:1aef0ecf9840 454 printf( "chosen2 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 455 }
sesa514652 29:1aef0ecf9840 456 else if (Scan1[1] < Scan1[2])
sesa514652 29:1aef0ecf9840 457 {
sesa514652 29:1aef0ecf9840 458 printf("-");
sesa514652 29:1aef0ecf9840 459 Decide[1]='-';
sesa514652 29:1aef0ecf9840 460 printf( "chosen3 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 461 }
sesa514652 29:1aef0ecf9840 462
sesa514652 29:1aef0ecf9840 463 if (Scan1[2] > Scan1[3])
sesa514652 29:1aef0ecf9840 464 {
sesa514652 29:1aef0ecf9840 465 printf("+");
sesa514652 29:1aef0ecf9840 466 Decide[2]= 'x';
sesa514652 29:1aef0ecf9840 467 printf( "chosen 1 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 468 }
sesa514652 31:91a3c61d33e6 469 else if (Scan1[2] == Scan1[3])
sesa514652 29:1aef0ecf9840 470 {
sesa514652 29:1aef0ecf9840 471 printf("=");
sesa514652 29:1aef0ecf9840 472 Decide[2]='=';
sesa514652 29:1aef0ecf9840 473 printf( "chosen2 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 474 }
sesa514652 29:1aef0ecf9840 475 else if (Scan1[2] < Scan1[3])
sesa514652 29:1aef0ecf9840 476 {
sesa514652 29:1aef0ecf9840 477 printf("-");
sesa514652 29:1aef0ecf9840 478 Decide[2]='-';
sesa514652 29:1aef0ecf9840 479 printf( "chosen3 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 480 }
sesa514652 29:1aef0ecf9840 481 if (Scan1[3] > Scan1[4])
sesa514652 29:1aef0ecf9840 482 {
sesa514652 29:1aef0ecf9840 483 printf("+");
sesa514652 29:1aef0ecf9840 484 Decide[3]= 'x';
sesa514652 29:1aef0ecf9840 485 printf( "chosen 1 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 486 }
sesa514652 31:91a3c61d33e6 487 else if (Scan1[3] == Scan1[4])
sesa514652 29:1aef0ecf9840 488 {
sesa514652 29:1aef0ecf9840 489 printf("=");
sesa514652 29:1aef0ecf9840 490 Decide[3]='=';
sesa514652 29:1aef0ecf9840 491 printf( "chosen2 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 492 }
sesa514652 29:1aef0ecf9840 493 else if (Scan1[3] < Scan1[4])
sesa514652 29:1aef0ecf9840 494 {
sesa514652 29:1aef0ecf9840 495 printf("-");
sesa514652 29:1aef0ecf9840 496 Decide[3]='-';
sesa514652 29:1aef0ecf9840 497 printf( "chosen3 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 498 }
sesa514652 29:1aef0ecf9840 499
sesa514652 29:1aef0ecf9840 500 if (Scan2[0] > Scan2[1])
sesa514652 29:1aef0ecf9840 501 {
sesa514652 29:1aef0ecf9840 502 printf("+");
sesa514652 29:1aef0ecf9840 503 Decide2[0]= 'x';
sesa514652 29:1aef0ecf9840 504 printf( "chosen 1 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 505 }
sesa514652 31:91a3c61d33e6 506 else if (Scan2[0] == Scan2[1])
sesa514652 29:1aef0ecf9840 507 {
sesa514652 29:1aef0ecf9840 508 printf("=");
sesa514652 29:1aef0ecf9840 509 Decide2[0]='=';
sesa514652 29:1aef0ecf9840 510 printf( "chosen2 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 511 }
sesa514652 29:1aef0ecf9840 512 else if (Scan2[0] < Scan2[1])
sesa514652 29:1aef0ecf9840 513 {
sesa514652 29:1aef0ecf9840 514 printf("-");
sesa514652 29:1aef0ecf9840 515 Decide2[0]='-';
sesa514652 29:1aef0ecf9840 516 printf( "chosen3 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 517 }
sesa514652 29:1aef0ecf9840 518 if (Scan2[1] > Scan2[2])
sesa514652 29:1aef0ecf9840 519 {
sesa514652 29:1aef0ecf9840 520 printf("+");
sesa514652 29:1aef0ecf9840 521 Decide2[1]= 'x';
sesa514652 29:1aef0ecf9840 522 printf( "chosen 1 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 523 }
sesa514652 31:91a3c61d33e6 524 else if (Scan2[1] == Scan2[2])
sesa514652 29:1aef0ecf9840 525 {
sesa514652 29:1aef0ecf9840 526 printf("=");
sesa514652 29:1aef0ecf9840 527 Decide2[1]='=';
sesa514652 29:1aef0ecf9840 528 printf( "chosen2 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 529 }
sesa514652 29:1aef0ecf9840 530 else if (Scan2[1] < Scan2[2])
sesa514652 29:1aef0ecf9840 531 {
sesa514652 29:1aef0ecf9840 532 printf("-");
sesa514652 29:1aef0ecf9840 533 Decide2[1]='-';
sesa514652 29:1aef0ecf9840 534 printf( "chosen3 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 535 }
sesa514652 29:1aef0ecf9840 536
sesa514652 29:1aef0ecf9840 537 if (Scan2[2] > Scan2[3])
sesa514652 29:1aef0ecf9840 538 {
sesa514652 29:1aef0ecf9840 539 printf("+");
sesa514652 29:1aef0ecf9840 540 Decide2[2]= 'x';
sesa514652 29:1aef0ecf9840 541 printf( "chosen 1 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 542 }
sesa514652 31:91a3c61d33e6 543 else if (Scan2[2] == Scan2[3])
sesa514652 29:1aef0ecf9840 544 {
sesa514652 29:1aef0ecf9840 545 printf("=");
sesa514652 29:1aef0ecf9840 546 Decide2[2]='=';
sesa514652 29:1aef0ecf9840 547 printf( "chosen2 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 548 }
sesa514652 29:1aef0ecf9840 549 else if (Scan2[2] < Scan2[3])
sesa514652 29:1aef0ecf9840 550 {
sesa514652 29:1aef0ecf9840 551 printf("-");
sesa514652 29:1aef0ecf9840 552 Decide2[2]='-';
sesa514652 29:1aef0ecf9840 553 printf( "chosen3 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 554 }
sesa514652 29:1aef0ecf9840 555 if (Scan2[3] > Scan2[4])
sesa514652 29:1aef0ecf9840 556 {
sesa514652 29:1aef0ecf9840 557 printf("+");
sesa514652 29:1aef0ecf9840 558 Decide2[3]= 'x';
sesa514652 29:1aef0ecf9840 559 printf( "chosen 1 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 560 }
sesa514652 31:91a3c61d33e6 561 else if (Scan2[3] == Scan2[4])
sesa514652 29:1aef0ecf9840 562 {
sesa514652 29:1aef0ecf9840 563 printf("=");
sesa514652 29:1aef0ecf9840 564 Decide2[3]='=';
sesa514652 29:1aef0ecf9840 565 printf( "chosen2 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 566 }
sesa514652 29:1aef0ecf9840 567 else if (Scan2[3] < Scan2[4])
sesa514652 29:1aef0ecf9840 568 {
sesa514652 29:1aef0ecf9840 569 printf("-");
sesa514652 29:1aef0ecf9840 570 Decide2[3]='-';
sesa514652 29:1aef0ecf9840 571 printf( "chosen3 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 572 }
sesa514652 29:1aef0ecf9840 573
sesa514652 29:1aef0ecf9840 574 if (Scan3[0] > Scan3[1])
sesa514652 29:1aef0ecf9840 575 {
sesa514652 29:1aef0ecf9840 576 printf("+");
sesa514652 29:1aef0ecf9840 577 Decide3[0]= 'x';
sesa514652 29:1aef0ecf9840 578 printf( "chosen 1 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 579 }
sesa514652 31:91a3c61d33e6 580 else if (Scan3[0] == Scan3[1])
sesa514652 29:1aef0ecf9840 581 {
sesa514652 29:1aef0ecf9840 582 printf("=");
sesa514652 29:1aef0ecf9840 583 Decide3[0]='=';
sesa514652 29:1aef0ecf9840 584 printf( "chosen2 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 585 }
sesa514652 29:1aef0ecf9840 586 else if (Scan3[0] < Scan3[1])
sesa514652 29:1aef0ecf9840 587 {
sesa514652 29:1aef0ecf9840 588 printf("-");
sesa514652 29:1aef0ecf9840 589 Decide3[0]='-';
sesa514652 29:1aef0ecf9840 590 printf( "chosen3 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 591 }
sesa514652 29:1aef0ecf9840 592 if (Scan3[1] > Scan3[2])
sesa514652 29:1aef0ecf9840 593 {
sesa514652 29:1aef0ecf9840 594 printf("+");
sesa514652 29:1aef0ecf9840 595 Decide3[1]= 'x';
sesa514652 29:1aef0ecf9840 596 printf( "chosen 1 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 597 }
sesa514652 31:91a3c61d33e6 598 else if (Scan3[1] == Scan3[2])
sesa514652 29:1aef0ecf9840 599 {
sesa514652 29:1aef0ecf9840 600 printf("=");
sesa514652 29:1aef0ecf9840 601 Decide3[1]='=';
sesa514652 29:1aef0ecf9840 602 printf( "chosen2 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 603 }
sesa514652 29:1aef0ecf9840 604 else if (Scan3[1] < Scan3[2])
sesa514652 29:1aef0ecf9840 605 {
sesa514652 29:1aef0ecf9840 606 printf("-");
sesa514652 29:1aef0ecf9840 607 Decide3[1]='-';
sesa514652 29:1aef0ecf9840 608 printf( "chosen3 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 609 }
sesa514652 29:1aef0ecf9840 610
sesa514652 29:1aef0ecf9840 611 if (Scan3[2] > Scan3[3])
sesa514652 29:1aef0ecf9840 612 {
sesa514652 29:1aef0ecf9840 613 printf("+");
sesa514652 29:1aef0ecf9840 614 Decide3[2]= 'x';
sesa514652 29:1aef0ecf9840 615 printf( "chosen 1 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 616 }
sesa514652 31:91a3c61d33e6 617 else if (Scan3[2] == Scan3[3])
sesa514652 29:1aef0ecf9840 618 {
sesa514652 29:1aef0ecf9840 619 printf("=");
sesa514652 29:1aef0ecf9840 620 Decide3[2]='=';
sesa514652 29:1aef0ecf9840 621 printf( "chosen2 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 622 }
sesa514652 29:1aef0ecf9840 623 else if (Scan3[2] < Scan3[3])
sesa514652 29:1aef0ecf9840 624 {
sesa514652 29:1aef0ecf9840 625 printf("-");
sesa514652 29:1aef0ecf9840 626 Decide3[2]='-';
sesa514652 29:1aef0ecf9840 627 printf( "chosen3 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 628 }
sesa514652 29:1aef0ecf9840 629 if (Scan3[3] > Scan3[4])
sesa514652 29:1aef0ecf9840 630 {
sesa514652 29:1aef0ecf9840 631 printf("+");
sesa514652 29:1aef0ecf9840 632 Decide3[3]= 'x';
sesa514652 29:1aef0ecf9840 633 printf( "chosen 1 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 634 }
sesa514652 31:91a3c61d33e6 635 else if (Scan3[3] == Scan3[4])
sesa514652 29:1aef0ecf9840 636 {
sesa514652 29:1aef0ecf9840 637 printf("=");
sesa514652 29:1aef0ecf9840 638 Decide3[3]='=';
sesa514652 29:1aef0ecf9840 639 printf( "chosen2 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 640 }
sesa514652 29:1aef0ecf9840 641 else if (Scan3[3] < Scan3[4])
sesa514652 29:1aef0ecf9840 642 {
sesa514652 29:1aef0ecf9840 643 printf("-");
sesa514652 29:1aef0ecf9840 644 Decide3[3]='-';
sesa514652 29:1aef0ecf9840 645 printf( "chosen3 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 646 }
sesa514652 29:1aef0ecf9840 647
sesa514652 29:1aef0ecf9840 648 if (Scan4[0] > Scan4[1])
sesa514652 29:1aef0ecf9840 649 {
sesa514652 29:1aef0ecf9840 650 printf("+");
sesa514652 29:1aef0ecf9840 651 Decide4[0]= 'x';
sesa514652 29:1aef0ecf9840 652 printf( "chosen 1 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 653 }
sesa514652 31:91a3c61d33e6 654 else if (Scan4[0] == Scan4[1])
sesa514652 29:1aef0ecf9840 655 {
sesa514652 29:1aef0ecf9840 656 printf("=");
sesa514652 29:1aef0ecf9840 657 Decide4[0]='=';
sesa514652 29:1aef0ecf9840 658 printf( "chosen2 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 659 }
sesa514652 29:1aef0ecf9840 660 else if (Scan4[0] < Scan4[1])
sesa514652 29:1aef0ecf9840 661 {
sesa514652 29:1aef0ecf9840 662 printf("-");
sesa514652 29:1aef0ecf9840 663 Decide4[0]='-';
sesa514652 29:1aef0ecf9840 664 printf( "chosen3 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 665 }
sesa514652 29:1aef0ecf9840 666 if (Scan4[1] > Scan4[2])
sesa514652 29:1aef0ecf9840 667 {
sesa514652 29:1aef0ecf9840 668 printf("+");
sesa514652 29:1aef0ecf9840 669 Decide4[1]= 'x';
sesa514652 29:1aef0ecf9840 670 printf( "chosen 1 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 671 }
sesa514652 31:91a3c61d33e6 672 else if (Scan4[1] == Scan4[2])
sesa514652 29:1aef0ecf9840 673 {
sesa514652 29:1aef0ecf9840 674 printf("=");
sesa514652 29:1aef0ecf9840 675 Decide4[1]='=';
sesa514652 29:1aef0ecf9840 676 printf( "chosen2 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 677 }
sesa514652 29:1aef0ecf9840 678 else if (Scan4[1] < Scan4[2])
sesa514652 29:1aef0ecf9840 679 {
sesa514652 29:1aef0ecf9840 680 printf("-");
sesa514652 29:1aef0ecf9840 681 Decide4[1]='-';
sesa514652 29:1aef0ecf9840 682 printf( "chosen3 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 683 }
sesa514652 29:1aef0ecf9840 684
sesa514652 29:1aef0ecf9840 685 if (Scan4[2] > Scan4[3])
sesa514652 29:1aef0ecf9840 686 {
sesa514652 29:1aef0ecf9840 687 printf("+");
sesa514652 29:1aef0ecf9840 688 Decide4[2]= 'x';
sesa514652 29:1aef0ecf9840 689 printf( "chosen 1 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 690 }
sesa514652 31:91a3c61d33e6 691 else if (Scan4[2] == Scan4[3])
sesa514652 29:1aef0ecf9840 692 {
sesa514652 29:1aef0ecf9840 693 printf("=");
sesa514652 29:1aef0ecf9840 694 Decide4[2]='=';
sesa514652 29:1aef0ecf9840 695 printf( "chosen2 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 696 }
sesa514652 29:1aef0ecf9840 697 else if (Scan4[2] < Scan4[3])
sesa514652 29:1aef0ecf9840 698 {
sesa514652 29:1aef0ecf9840 699 printf("-");
sesa514652 29:1aef0ecf9840 700 Decide4[2]='-';
sesa514652 29:1aef0ecf9840 701 printf( "chosen3 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 702 }
sesa514652 29:1aef0ecf9840 703 if (Scan4[3] > Scan4[4])
sesa514652 29:1aef0ecf9840 704 {
sesa514652 29:1aef0ecf9840 705 printf("+");
sesa514652 29:1aef0ecf9840 706 Decide4[3]= 'x';
sesa514652 29:1aef0ecf9840 707 printf( "chosen 1 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 708 }
sesa514652 31:91a3c61d33e6 709 else if (Scan4[3] == Scan4[4])
sesa514652 29:1aef0ecf9840 710 {
sesa514652 29:1aef0ecf9840 711 printf("=");
sesa514652 29:1aef0ecf9840 712 Decide4[3]='=';
sesa514652 29:1aef0ecf9840 713 printf( "chosen2 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 714 }
sesa514652 29:1aef0ecf9840 715 else if (Scan4[3] < Scan4[4])
sesa514652 29:1aef0ecf9840 716 {
sesa514652 29:1aef0ecf9840 717 printf("-");
sesa514652 29:1aef0ecf9840 718 Decide4[3]='-';
sesa514652 29:1aef0ecf9840 719 printf( "chosen3 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 720 }
sesa514652 29:1aef0ecf9840 721 if (Scan5[0] > Scan5[1])
sesa514652 29:1aef0ecf9840 722 {
sesa514652 29:1aef0ecf9840 723 printf("+");
sesa514652 29:1aef0ecf9840 724 Decide5[0]= 'x';
sesa514652 29:1aef0ecf9840 725 printf( "chosen 1 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 726 }
sesa514652 31:91a3c61d33e6 727 else if (Scan5[0] == Scan5[1])
sesa514652 29:1aef0ecf9840 728 {
sesa514652 29:1aef0ecf9840 729 printf("=");
sesa514652 29:1aef0ecf9840 730 Decide5[0]='=';
sesa514652 29:1aef0ecf9840 731 printf( "chosen2 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 732 }
sesa514652 29:1aef0ecf9840 733 else if (Scan5[0] < Scan5[1])
sesa514652 29:1aef0ecf9840 734 {
sesa514652 29:1aef0ecf9840 735 printf("-");
sesa514652 29:1aef0ecf9840 736 Decide5[0]='-';
sesa514652 29:1aef0ecf9840 737 printf( "chosen3 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 738 }
sesa514652 29:1aef0ecf9840 739 if (Scan5[1] > Scan5[2])
sesa514652 29:1aef0ecf9840 740 {
sesa514652 29:1aef0ecf9840 741 printf("+");
sesa514652 29:1aef0ecf9840 742 Decide5[1]= 'x';
sesa514652 29:1aef0ecf9840 743 printf( "chosen 1 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 744 }
sesa514652 31:91a3c61d33e6 745 else if (Scan5[1] == Scan5[2])
sesa514652 29:1aef0ecf9840 746 {
sesa514652 29:1aef0ecf9840 747 printf("=");
sesa514652 29:1aef0ecf9840 748 Decide5[1]='=';
sesa514652 29:1aef0ecf9840 749 printf( "chosen2 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 750 }
sesa514652 29:1aef0ecf9840 751 else if (Scan5[1] < Scan5[2])
sesa514652 29:1aef0ecf9840 752 {
sesa514652 29:1aef0ecf9840 753 printf("-");
sesa514652 29:1aef0ecf9840 754 Decide5[1]='-';
sesa514652 29:1aef0ecf9840 755 printf( "chosen3 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 756 }
sesa514652 29:1aef0ecf9840 757
sesa514652 29:1aef0ecf9840 758 if (Scan5[2] > Scan5[3])
sesa514652 29:1aef0ecf9840 759 {
sesa514652 29:1aef0ecf9840 760 printf("+");
sesa514652 29:1aef0ecf9840 761 Decide5[2]= 'x';
sesa514652 29:1aef0ecf9840 762 printf( "chosen 1 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 763 }
sesa514652 31:91a3c61d33e6 764 else if (Scan5[2] == Scan5[3])
sesa514652 29:1aef0ecf9840 765 {
sesa514652 29:1aef0ecf9840 766 printf("=");
sesa514652 29:1aef0ecf9840 767 Decide5[2]='=';
sesa514652 29:1aef0ecf9840 768 printf( "chosen2 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 769 }
sesa514652 29:1aef0ecf9840 770 else if (Scan5[2] < Scan5[3])
sesa514652 29:1aef0ecf9840 771 {
sesa514652 29:1aef0ecf9840 772 printf("-");
sesa514652 29:1aef0ecf9840 773 Decide5[2]='-';
sesa514652 29:1aef0ecf9840 774 printf( "chosen3 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 775 }
sesa514652 29:1aef0ecf9840 776 if (Scan5[3] > Scan5[4])
sesa514652 29:1aef0ecf9840 777 {
sesa514652 29:1aef0ecf9840 778 printf("+");
sesa514652 29:1aef0ecf9840 779 Decide5[3]= 'x';
sesa514652 29:1aef0ecf9840 780 printf( "chosen 1 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 781 }
sesa514652 31:91a3c61d33e6 782 else if (Scan5[3] == Scan5[4])
sesa514652 29:1aef0ecf9840 783 {
sesa514652 29:1aef0ecf9840 784 printf("=");
sesa514652 29:1aef0ecf9840 785 Decide5[3]='=';
sesa514652 29:1aef0ecf9840 786 printf( "chosen2 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 787 }
sesa514652 29:1aef0ecf9840 788 else if (Scan5[3] < Scan5[4])
sesa514652 29:1aef0ecf9840 789 {
sesa514652 29:1aef0ecf9840 790 printf("-");
sesa514652 29:1aef0ecf9840 791 Decide5[3]='-';
sesa514652 29:1aef0ecf9840 792 printf( "chosen3 %c\n",Decide5[3]);
sesa514652 34:dfe7f5799582 793 } */
sesa514652 27:d48bf4e8f1a0 794
sesa514652 21:2e37f80e8b5b 795 lcd.refresh();
sesa514652 21:2e37f80e8b5b 796 wait_ms(50);
sesa514652 21:2e37f80e8b5b 797
sesa514652 21:2e37f80e8b5b 798 break;
sesa514652 28:aab0aa846cf6 799
sesa514652 22:82b01fdfc61f 800 //////////////////////////////////////////////////////////////////////////////////////////////////
sesa514652 28:aab0aa846cf6 801 /**
sesa514652 28:aab0aa846cf6 802 *.. When Button A is pressed this section of code is ran to collect data points of the object.
sesa514652 28:aab0aa846cf6 803 *..Scanning takes marks the LCD with locationof points which data has been collected for.
sesa514652 28:aab0aa846cf6 804 */
sesa514652 21:2e37f80e8b5b 805 case 1:
sesa514652 28:aab0aa846cf6 806 g_ButtonAPress =1;
sesa514652 33:3717bc4e2fa8 807 /*
sesa514652 33:3717bc4e2fa8 808 *..Section used for power saving, if the user has not continued after 5 scans
sesa514652 33:3717bc4e2fa8 809 */
sesa514652 38:71cfbdd2076d 810 if(LoopCountScan1==10){
sesa514652 33:3717bc4e2fa8 811 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 812 LoopCountScan1=0;
sesa514652 33:3717bc4e2fa8 813 break;}
sesa514652 33:3717bc4e2fa8 814 else;
sesa514652 31:91a3c61d33e6 815 inputScan1();
sesa514652 33:3717bc4e2fa8 816 break;
sesa514652 32:9c206f993cf5 817 /*
sesa514652 30:9d39318ef584 818 wait_ms(5); // required to stop Black screen issue}
sesa514652 31:91a3c61d33e6 819 inputScan2();
sesa514652 31:91a3c61d33e6 820 wait_ms(5); // required to stop Black screen issue}
sesa514652 31:91a3c61d33e6 821 inputScan3();
sesa514652 28:aab0aa846cf6 822
sesa514652 30:9d39318ef584 823 wait_ms(5); // required to stop Black screen issue}
sesa514652 31:91a3c61d33e6 824 inputScan4();
sesa514652 28:aab0aa846cf6 825
sesa514652 30:9d39318ef584 826 wait_ms(5);
sesa514652 31:91a3c61d33e6 827 inputScan5();
sesa514652 30:9d39318ef584 828
sesa514652 30:9d39318ef584 829
sesa514652 30:9d39318ef584 830
sesa514652 28:aab0aa846cf6 831 g_ButtonAPress=0;
sesa514652 32:9c206f993cf5 832 */
sesa514652 33:3717bc4e2fa8 833
sesa514652 22:82b01fdfc61f 834 ////////////////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 835 case 2:
sesa514652 28:aab0aa846cf6 836 g_ButtonAPress= 2;
sesa514652 38:71cfbdd2076d 837 if(LoopCountScan2==10){
sesa514652 33:3717bc4e2fa8 838 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 839 LoopCountScan2=0;
sesa514652 33:3717bc4e2fa8 840 break;}
sesa514652 33:3717bc4e2fa8 841 else;
sesa514652 32:9c206f993cf5 842 /*int secondScan[10];
sesa514652 22:82b01fdfc61f 843
sesa514652 22:82b01fdfc61f 844 secondScan[5] = sensor.distance();
sesa514652 22:82b01fdfc61f 845 printf("Distance : %d cm", secondScan[5]);
sesa514652 22:82b01fdfc61f 846 lcd.clear();
sesa514652 22:82b01fdfc61f 847 lcd.printString("2nd Scan up down",0,0);
sesa514652 32:9c206f993cf5 848 lcd.drawLine(0,10,80,10,2); */
sesa514652 32:9c206f993cf5 849 inputScan2();
sesa514652 20:4e1f2917a857 850 break;
sesa514652 22:82b01fdfc61f 851 ////////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 852 case 3:
sesa514652 28:aab0aa846cf6 853 g_ButtonAPress= 3;
sesa514652 38:71cfbdd2076d 854 if(LoopCountScan3==10){
sesa514652 33:3717bc4e2fa8 855 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 856 LoopCountScan3=0;
sesa514652 33:3717bc4e2fa8 857 break;}
sesa514652 33:3717bc4e2fa8 858 else;
sesa514652 32:9c206f993cf5 859 /* lcd.clear();
sesa514652 20:4e1f2917a857 860 lcd.printString("Menu 3",0,0);
sesa514652 31:91a3c61d33e6 861 int us = sensor.distance();
sesa514652 21:2e37f80e8b5b 862 printf("Distance : %d cm",us);
sesa514652 20:4e1f2917a857 863 lcd.refresh();
sesa514652 32:9c206f993cf5 864 wait_ms(50); //required to stop Black screen issue*/
sesa514652 32:9c206f993cf5 865 inputScan3();
sesa514652 20:4e1f2917a857 866 break;
sesa514652 32:9c206f993cf5 867
sesa514652 32:9c206f993cf5 868 /////////////////////////////////////////////////////////////////////////
sesa514652 32:9c206f993cf5 869
sesa514652 32:9c206f993cf5 870 case 4:
sesa514652 32:9c206f993cf5 871 g_ButtonAPress= 4;
sesa514652 38:71cfbdd2076d 872 if(LoopCountScan4==10){
sesa514652 33:3717bc4e2fa8 873 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 874 LoopCountScan4=0;
sesa514652 33:3717bc4e2fa8 875 break;}
sesa514652 33:3717bc4e2fa8 876 else;
sesa514652 32:9c206f993cf5 877 /* lcd.clear();
sesa514652 32:9c206f993cf5 878 lcd.printString("Menu 3",0,0);
sesa514652 32:9c206f993cf5 879 int us = sensor.distance();
sesa514652 32:9c206f993cf5 880 printf("Distance : %d cm",us);
sesa514652 32:9c206f993cf5 881 lcd.refresh();
sesa514652 32:9c206f993cf5 882 wait_ms(50); //required to stop Black screen issue*/
sesa514652 32:9c206f993cf5 883 inputScan4();
sesa514652 32:9c206f993cf5 884 break;
sesa514652 32:9c206f993cf5 885 ///////////////////////////////////////////////////////////////////
sesa514652 32:9c206f993cf5 886 case 5:
sesa514652 32:9c206f993cf5 887 g_ButtonAPress= 5;
sesa514652 38:71cfbdd2076d 888 if(LoopCountScan5==10){
sesa514652 33:3717bc4e2fa8 889 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 890 LoopCountScan5=0;
sesa514652 33:3717bc4e2fa8 891 break;}
sesa514652 33:3717bc4e2fa8 892 else;
sesa514652 32:9c206f993cf5 893 /* lcd.clear();
sesa514652 32:9c206f993cf5 894 lcd.printString("Menu 3",0,0);
sesa514652 32:9c206f993cf5 895 int us = sensor.distance();
sesa514652 32:9c206f993cf5 896 printf("Distance : %d cm",us);
sesa514652 32:9c206f993cf5 897 lcd.refresh();
sesa514652 32:9c206f993cf5 898 wait_ms(50); //required to stop Black screen issue*/
sesa514652 32:9c206f993cf5 899 inputScan5();
sesa514652 32:9c206f993cf5 900 break;
sesa514652 39:a31b49f3e65e 901
sesa514652 39:a31b49f3e65e 902
sesa514652 39:a31b49f3e65e 903
sesa514652 32:9c206f993cf5 904 /////////////////////////////////////////////////////////////////
sesa514652 39:a31b49f3e65e 905
sesa514652 39:a31b49f3e65e 906
sesa514652 39:a31b49f3e65e 907 case 6:
sesa514652 39:a31b49f3e65e 908 g_ButtonAPress=6;
sesa514652 39:a31b49f3e65e 909
sesa514652 39:a31b49f3e65e 910 int box[5]= {90,10,10,90,90};// compared to the wall if the box is present this sequence should be recorded
sesa514652 39:a31b49f3e65e 911 int carton[5] = {10,10,10,10,10}; // compared to the carton if the box is present this sequence should be recorded
sesa514652 39:a31b49f3e65e 912 int wall [5] = {90,90,90,90,90}; // compared to the carton if the box is present this sequence should be recorded
sesa514652 39:a31b49f3e65e 913 int isBox[5];
sesa514652 39:a31b49f3e65e 914 int isCarton[5];
sesa514652 39:a31b49f3e65e 915 int isWall[5];
sesa514652 39:a31b49f3e65e 916 int wallTotal;
sesa514652 39:a31b49f3e65e 917 int cartonTotal;
sesa514652 39:a31b49f3e65e 918 int boxTotal;
sesa514652 39:a31b49f3e65e 919 for (int i=0; i<5; i++){
sesa514652 39:a31b49f3e65e 920 isBox[i] =abs(Scan1[i]-box[i]);
sesa514652 39:a31b49f3e65e 921 printf("DeBUGGING isBOX : %i\n", isBox[i]);
sesa514652 39:a31b49f3e65e 922 if (isBox[i]<=5){
sesa514652 39:a31b49f3e65e 923 isBox[i]=0;}
sesa514652 39:a31b49f3e65e 924 else if (isBox[i]>5){
sesa514652 39:a31b49f3e65e 925 isBox[i]=1;}
sesa514652 39:a31b49f3e65e 926 printf("DeBUGGING isBOX : %i\n", isBox[i]);
sesa514652 39:a31b49f3e65e 927 boxTotal = accumulate(begin(isBox), end(isBox), 0, plus<int>());
sesa514652 39:a31b49f3e65e 928 printf("DEBUGGING BOX total %i\n", boxTotal);
sesa514652 39:a31b49f3e65e 929
sesa514652 39:a31b49f3e65e 930 isCarton[i] =abs(Scan1[i]-carton[i]);
sesa514652 39:a31b49f3e65e 931 printf("DeBUGGING isCarton : %i\n", isCarton[i]);
sesa514652 39:a31b49f3e65e 932 if (isCarton[i]<=5){
sesa514652 39:a31b49f3e65e 933 isCarton[i]=0;}
sesa514652 39:a31b49f3e65e 934 else if (isCarton[i]>5){
sesa514652 39:a31b49f3e65e 935 isCarton[i]=1;}
sesa514652 39:a31b49f3e65e 936 printf("DeBUGGING isCarton : %i\n", isCarton[i]);
sesa514652 39:a31b49f3e65e 937 cartonTotal = accumulate(begin(isCarton), end(isCarton), 0, plus<int>());
sesa514652 39:a31b49f3e65e 938 printf("DEBUGGING CARTON total %i\n", cartonTotal);
sesa514652 39:a31b49f3e65e 939
sesa514652 39:a31b49f3e65e 940 isWall[i] =abs(Scan1[i]-wall[i]);
sesa514652 39:a31b49f3e65e 941 printf("DeBUGGING isWall : %i\n", isWall[i]);
sesa514652 39:a31b49f3e65e 942 if (isWall[i]<=5){
sesa514652 39:a31b49f3e65e 943 isWall[i]=0;}
sesa514652 39:a31b49f3e65e 944 else if (isWall[i]>5){
sesa514652 39:a31b49f3e65e 945 isWall[i]=1;}
sesa514652 39:a31b49f3e65e 946 printf("DeBUGGING isWall : %i\n", isWall[i]);
sesa514652 39:a31b49f3e65e 947 wallTotal = accumulate(begin(isWall), end(isWall), 0, plus<int>());
sesa514652 39:a31b49f3e65e 948 printf("DEBUGGING Wall total %i\n", wallTotal);
sesa514652 39:a31b49f3e65e 949
sesa514652 39:a31b49f3e65e 950 ;}
sesa514652 39:a31b49f3e65e 951 printf("Im Free of the For Debug WallTotoal:: %i\n", wallTotal);
sesa514652 39:a31b49f3e65e 952 printf("Im Free of the For Debug BoxTotoal:: %i\n", boxTotal);
sesa514652 39:a31b49f3e65e 953 printf("Im Free of the For Debug cartonTotoal:: %i\n", cartonTotal);
sesa514652 39:a31b49f3e65e 954 if(wallTotal == 0){
sesa514652 39:a31b49f3e65e 955 printf("We Have a wall\n");}
sesa514652 39:a31b49f3e65e 956 else if(boxTotal=0){
sesa514652 39:a31b49f3e65e 957 printf("We Have Box\n");}
sesa514652 39:a31b49f3e65e 958 else;
sesa514652 39:a31b49f3e65e 959 printf("Not in the Database \n");
sesa514652 39:a31b49f3e65e 960
sesa514652 20:4e1f2917a857 961 }
sesa514652 23:f72175fb49ed 962
sesa514652 20:4e1f2917a857 963 /*
sesa514652 11:1dec05b7d1c1 964 int button_counter;
sesa514652 10:42e70b596099 965 if (g_buttonA_flag){
sesa514652 11:1dec05b7d1c1 966 button_counter = button_counter +1;
sesa514652 11:1dec05b7d1c1 967 //case (test)
sesa514652 10:42e70b596099 968 g_buttonA_flag = 0; // if it has, clear the flag
sesa514652 10:42e70b596099 969
sesa514652 10:42e70b596099 970 // send message over serial port - can observe in CoolTerm etc.
sesa514652 11:1dec05b7d1c1 971 printf("Button A pressed %f\n", button_counter);
sesa514652 10:42e70b596099 972 }
sesa514652 10:42e70b596099 973 if (g_buttonB_flag){
sesa514652 10:42e70b596099 974 g_buttonB_flag = 0; // if it has, clear the flag
sesa514652 8:770d168713cc 975
sesa514652 10:42e70b596099 976 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 977 printf("Button B pressed\n");
sesa514652 10:42e70b596099 978 }
sesa514652 10:42e70b596099 979 if (g_buttonX_flag){
sesa514652 10:42e70b596099 980 g_buttonX_flag = 0; // if it has, clear the flag
sesa514652 12:ceea378d5691 981 // swap direction when button has been pressed
sesa514652 12:ceea378d5691 982 // (could just use ! but want this to be explicit to aid understanding)
sesa514652 12:ceea378d5691 983 if (direction == UP) {
sesa514652 12:ceea378d5691 984 direction = DOWN;
sesa514652 12:ceea378d5691 985 }
sesa514652 12:ceea378d5691 986 else {
sesa514652 12:ceea378d5691 987 direction = UP;
sesa514652 12:ceea378d5691 988 }
sesa514652 10:42e70b596099 989
sesa514652 10:42e70b596099 990 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 991 printf("Button X pressed\n");
sesa514652 10:42e70b596099 992 lcd.clear();
sesa514652 10:42e70b596099 993 lcd.printString("Button Pressed!",0,0);
sesa514652 10:42e70b596099 994 lcd.refresh();
sesa514652 11:1dec05b7d1c1 995 wait(1);
sesa514652 10:42e70b596099 996 }
sesa514652 10:42e70b596099 997 if (g_buttonY_flag){
sesa514652 10:42e70b596099 998 g_buttonY_flag = 0; // if it has, clear the flag
sesa514652 10:42e70b596099 999
sesa514652 10:42e70b596099 1000 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 1001 printf("Button Y pressed\n");
sesa514652 10:42e70b596099 1002 }
sesa514652 5:9b2c976ca318 1003 Buzzer.play(200,120);
sesa514652 5:9b2c976ca318 1004 wait_ms(5);
sesa514652 5:9b2c976ca318 1005 Buzzer.play(200,120);
sesa514652 1:757728321abd 1006 long distanced = sensor.distance();
sesa514652 1:757728321abd 1007 if (distanced >= 400 || distanced <= 2)
sesa514652 5:9b2c976ca318 1008 {
sesa514652 1:757728321abd 1009 printf("Out of range");
sesa514652 5:9b2c976ca318 1010 //Calling dummy function 05/01/22
sesa514652 4:167ce930c9d5 1011 int answer = cube(2);
sesa514652 5:9b2c976ca318 1012 printf("%f\n",answer);
sesa514652 1:757728321abd 1013 wait(1.0);
sesa514652 5:9b2c976ca318 1014 }
sesa514652 5:9b2c976ca318 1015 else
sesa514652 5:9b2c976ca318 1016 {
sesa514652 5:9b2c976ca318 1017 printf("Distance : %d cm",distanced);
sesa514652 5:9b2c976ca318 1018 wait(1.0); // 1 sec
sesa514652 1:757728321abd 1019 }
sesa514652 5:9b2c976ca318 1020 lcd.drawCircle(WIDTH/2,HEIGHT/2,distanced,FILL_BLACK);
sesa514652 5:9b2c976ca318 1021 //lcd.refresh must be used to update the lcd Display
sesa514652 5:9b2c976ca318 1022 lcd.refresh();
sesa514652 5:9b2c976ca318 1023 wait(5.0);
sesa514652 5:9b2c976ca318 1024 //these are default settings so not strictly needed
sesa514652 0:1f799c7cce2b 1025 lcd.normalMode(); // normal colour mode
sesa514652 5:9b2c976ca318 1026 lcd.setBrightness(0.5); // put LED backlight on 50%
sesa514652 0:1f799c7cce2b 1027 lcd.clear();
sesa514652 0:1f799c7cce2b 1028 lcd.printString("Hello, World!",0,0);
sesa514652 0:1f799c7cce2b 1029 Vector2D coord = joystick.get_coord();
sesa514652 0:1f799c7cce2b 1030 lcd.refresh();
sesa514652 0:1f799c7cce2b 1031 printf("Coord = %f,%f\n",coord.x,coord.y);
sesa514652 0:1f799c7cce2b 1032 char buffer[14];
sesa514652 0:1f799c7cce2b 1033 Vector2D mapped_coord = joystick.get_mapped_coord();
sesa514652 0:1f799c7cce2b 1034 printf("Mapped coord = %f,%f\n",mapped_coord.x,mapped_coord.y);
sesa514652 0:1f799c7cce2b 1035
sesa514652 5:9b2c976ca318 1036 int length = sprintf(buffer,"T = %2f",coord.x);
sesa514652 5:9b2c976ca318 1037 //it is important the format specifier ensures the length will fit in the buffer
sesa514652 0:1f799c7cce2b 1038 if (length <= 14) // if string will fit on display (assuming printing at x=0)
sesa514652 5:9b2c976ca318 1039 lcd.printString(buffer,0,1); // display on screen
sesa514652 0:1f799c7cce2b 1040 lcd.refresh();
sesa514652 5:9b2c976ca318 1041 lcd.clear();
sesa514652 5:9b2c976ca318 1042 //times by 50 to try get the point moving across screen
sesa514652 0:1f799c7cce2b 1043 float x50 = mapped_coord.x*5;
sesa514652 0:1f799c7cce2b 1044 float y50 = mapped_coord.y*8;
sesa514652 5:9b2c976ca318 1045 //to see what the values are
sesa514652 5:9b2c976ca318 1046 printf(" *50 = %f,%f\n",x50,y50);
sesa514652 5:9b2c976ca318 1047 //example of how to draw circles
sesa514652 1:757728321abd 1048 lcd.printChar('o',WIDTH/2,HEIGHT/2);
sesa514652 5:9b2c976ca318 1049 lcd.refresh();
sesa514652 0:1f799c7cce2b 1050 float mag = joystick.get_mag();
sesa514652 0:1f799c7cce2b 1051 float angle = joystick.get_angle();
sesa514652 0:1f799c7cce2b 1052 printf("Mag = %f Angle = %f\n",mag,angle);
sesa514652 0:1f799c7cce2b 1053 Direction d = joystick.get_direction();
sesa514652 0:1f799c7cce2b 1054 printf("Direction = %i\n",d);
sesa514652 0:1f799c7cce2b 1055 if (joystick.button_pressed() ) {
sesa514652 0:1f799c7cce2b 1056 printf("Button Pressed\n");
sesa514652 9:cdd7d9a123f9 1057 wait(5);
sesa514652 0:1f799c7cce2b 1058 }
sesa514652 8:770d168713cc 1059
sesa514652 8:770d168713cc 1060 }
sesa514652 16:2646c1c4e62e 1061 }
sesa514652 20:4e1f2917a857 1062 */
sesa514652 23:f72175fb49ed 1063 }
sesa514652 32:9c206f993cf5 1064 }
sesa514652 18:bb36d96142dd 1065 int buttonCountA(){
sesa514652 28:aab0aa846cf6 1066 g_ButtonAPress++;
sesa514652 32:9c206f993cf5 1067 if (g_ButtonAPress>5){
sesa514652 28:aab0aa846cf6 1068 g_ButtonAPress= 0;
sesa514652 18:bb36d96142dd 1069 }
sesa514652 28:aab0aa846cf6 1070 return g_ButtonAPress;
sesa514652 18:bb36d96142dd 1071 }
sesa514652 18:bb36d96142dd 1072 int buttonCountB(){
sesa514652 28:aab0aa846cf6 1073 g_ButtonBPress++;
sesa514652 28:aab0aa846cf6 1074 if (g_ButtonBPress>3){
sesa514652 28:aab0aa846cf6 1075 g_ButtonBPress= 0;
sesa514652 18:bb36d96142dd 1076 }
sesa514652 28:aab0aa846cf6 1077 return g_ButtonBPress;
sesa514652 18:bb36d96142dd 1078 }
sesa514652 33:3717bc4e2fa8 1079 int NoContinueExitScan1(){
sesa514652 33:3717bc4e2fa8 1080 LoopCountScan1++;
sesa514652 33:3717bc4e2fa8 1081 if (LoopCountScan1>5){
sesa514652 33:3717bc4e2fa8 1082 LoopCountScan1= 0;
sesa514652 33:3717bc4e2fa8 1083 }
sesa514652 33:3717bc4e2fa8 1084 return LoopCountScan1;
sesa514652 33:3717bc4e2fa8 1085 }
sesa514652 33:3717bc4e2fa8 1086 int NoContinueExitScan2(){
sesa514652 33:3717bc4e2fa8 1087 LoopCountScan2++;
sesa514652 33:3717bc4e2fa8 1088 if (LoopCountScan2>5){
sesa514652 33:3717bc4e2fa8 1089 LoopCountScan2= 0;
sesa514652 33:3717bc4e2fa8 1090 }
sesa514652 33:3717bc4e2fa8 1091 return LoopCountScan2;
sesa514652 33:3717bc4e2fa8 1092 }
sesa514652 33:3717bc4e2fa8 1093 int NoContinueExitScan3(){
sesa514652 33:3717bc4e2fa8 1094 LoopCountScan3++;
sesa514652 33:3717bc4e2fa8 1095 if (LoopCountScan3>5){
sesa514652 33:3717bc4e2fa8 1096 LoopCountScan3= 0;
sesa514652 33:3717bc4e2fa8 1097 }
sesa514652 33:3717bc4e2fa8 1098 return LoopCountScan3;
sesa514652 33:3717bc4e2fa8 1099 }
sesa514652 33:3717bc4e2fa8 1100 int NoContinueExitScan4(){
sesa514652 33:3717bc4e2fa8 1101 LoopCountScan4++;
sesa514652 33:3717bc4e2fa8 1102 if (LoopCountScan4>5){
sesa514652 33:3717bc4e2fa8 1103 LoopCountScan4= 0;
sesa514652 33:3717bc4e2fa8 1104 }
sesa514652 33:3717bc4e2fa8 1105 return LoopCountScan4;
sesa514652 33:3717bc4e2fa8 1106 }
sesa514652 33:3717bc4e2fa8 1107 int NoContinueExitScan5(){
sesa514652 33:3717bc4e2fa8 1108 LoopCountScan5++;
sesa514652 33:3717bc4e2fa8 1109 if (LoopCountScan5>5){
sesa514652 33:3717bc4e2fa8 1110 LoopCountScan5= 0;
sesa514652 33:3717bc4e2fa8 1111 }
sesa514652 33:3717bc4e2fa8 1112 return LoopCountScan5;
sesa514652 33:3717bc4e2fa8 1113 }
sesa514652 33:3717bc4e2fa8 1114
sesa514652 15:234321e80678 1115
sesa514652 12:ceea378d5691 1116 //Button A event-triggered interrupt
sesa514652 10:42e70b596099 1117 void buttonA_isr()
sesa514652 10:42e70b596099 1118 {
sesa514652 12:ceea378d5691 1119
sesa514652 18:bb36d96142dd 1120 long distanced = sensor.distance();
sesa514652 18:bb36d96142dd 1121 buttonCountA();
sesa514652 18:bb36d96142dd 1122
sesa514652 16:2646c1c4e62e 1123
sesa514652 12:ceea378d5691 1124
sesa514652 12:ceea378d5691 1125 g_buttonA_flag = 1; // set flag in ISR
sesa514652 12:ceea378d5691 1126
sesa514652 28:aab0aa846cf6 1127 printf("press count = %i\n",g_ButtonAPress);
sesa514652 12:ceea378d5691 1128
sesa514652 12:ceea378d5691 1129 // lcd.clear();
sesa514652 15:234321e80678 1130 //lcd.printString("Button A Pressed",0,0);
sesa514652 12:ceea378d5691 1131
sesa514652 15:234321e80678 1132 // lcd.refresh(); // set flag in ISR
sesa514652 12:ceea378d5691 1133 }
sesa514652 12:ceea378d5691 1134
sesa514652 11:1dec05b7d1c1 1135
sesa514652 10:42e70b596099 1136 //Button B event-triggered interrupt
sesa514652 10:42e70b596099 1137 void buttonB_isr()
sesa514652 10:42e70b596099 1138 {
sesa514652 18:bb36d96142dd 1139 buttonCountB();
sesa514652 10:42e70b596099 1140 g_buttonB_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1141 lcd.clear();
sesa514652 39:a31b49f3e65e 1142 g_ButtonAPress = 6; // This is is a work around due to time constraints
sesa514652 11:1dec05b7d1c1 1143 lcd.printString("Button B Pressed",0,0);
sesa514652 39:a31b49f3e65e 1144
sesa514652 11:1dec05b7d1c1 1145 lcd.refresh(); // set flag in ISR
sesa514652 28:aab0aa846cf6 1146 printf("press count = %i\n",g_ButtonBPress);
sesa514652 10:42e70b596099 1147 }
sesa514652 10:42e70b596099 1148 //Button X event-triggered interrupt
sesa514652 10:42e70b596099 1149 void buttonX_isr()
sesa514652 10:42e70b596099 1150 {
sesa514652 10:42e70b596099 1151 g_buttonX_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1152 lcd.clear();
sesa514652 11:1dec05b7d1c1 1153 lcd.printString("Button X Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1154 lcd.refresh(); // set flag in ISR
sesa514652 10:42e70b596099 1155 }
sesa514652 10:42e70b596099 1156 //Button Y event-triggered interrupt
sesa514652 10:42e70b596099 1157 void buttonY_isr()
sesa514652 10:42e70b596099 1158 {
sesa514652 10:42e70b596099 1159 g_buttonY_flag = 1; // set flag in ISR
sesa514652 37:323ec7d23454 1160 lcd.clear();
sesa514652 11:1dec05b7d1c1 1161 lcd.printString("Button Y Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1162 lcd.refresh(); // set flag in ISR
sesa514652 10:42e70b596099 1163 }
sesa514652 11:1dec05b7d1c1 1164 //Button Start event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1165 void buttonStart_isr()
sesa514652 11:1dec05b7d1c1 1166 {
sesa514652 11:1dec05b7d1c1 1167 g_buttonStart_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1168 lcd.clear();
sesa514652 37:323ec7d23454 1169 /////////////////////////////////////////////////
sesa514652 37:323ec7d23454 1170 int arr1[5] ;
sesa514652 37:323ec7d23454 1171 /*
sesa514652 37:323ec7d23454 1172 * For loop required to assign array values to that of the scan value
sesa514652 39:a31b49f3e65e 1173 */ /* not required due to repeatablity issues
sesa514652 37:323ec7d23454 1174 for(int i=0; i<5; i++){
sesa514652 37:323ec7d23454 1175 arr1[i] =Scan1[i];}
sesa514652 37:323ec7d23454 1176 int arr2[] = { 90, 90, 90, 90, 90 };
sesa514652 37:323ec7d23454 1177 int n = sizeof(arr1) / sizeof(int);
sesa514652 37:323ec7d23454 1178 int m = sizeof(arr2) / sizeof(int);
sesa514652 39:a31b49f3e65e 1179 */
sesa514652 37:323ec7d23454 1180
sesa514652 38:71cfbdd2076d 1181 // if(MatchMade(arr1, arr2, n, m))
sesa514652 38:71cfbdd2076d 1182 // printf("You are a wall");
sesa514652 38:71cfbdd2076d 1183 // else
sesa514652 38:71cfbdd2076d 1184 // printf("Not THis Object"); //////////////////////////////////
sesa514652 37:323ec7d23454 1185
sesa514652 37:323ec7d23454 1186
sesa514652 11:1dec05b7d1c1 1187 lcd.printString("Button Start Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1188 lcd.refresh(); // set flag in ISR
sesa514652 29:1aef0ecf9840 1189
sesa514652 11:1dec05b7d1c1 1190 }
sesa514652 11:1dec05b7d1c1 1191 //Button Back event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1192 void buttonBack_isr()
sesa514652 11:1dec05b7d1c1 1193 {
sesa514652 11:1dec05b7d1c1 1194 g_buttonBack_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1195 lcd.clear();
sesa514652 11:1dec05b7d1c1 1196 lcd.printString("Button Back Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1197 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 1198 }
sesa514652 11:1dec05b7d1c1 1199 //Button Left event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1200 void buttonLeft_isr()
sesa514652 11:1dec05b7d1c1 1201 {
sesa514652 11:1dec05b7d1c1 1202 g_buttonLeft_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1203 lcd.clear();
sesa514652 11:1dec05b7d1c1 1204 lcd.printString("Button Left Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1205 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 1206 }
sesa514652 11:1dec05b7d1c1 1207 //Button Right event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1208 void buttonRight_isr()
sesa514652 11:1dec05b7d1c1 1209 {
sesa514652 11:1dec05b7d1c1 1210 g_buttonRight_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1211 lcd.clear();
sesa514652 31:91a3c61d33e6 1212 lcd.printString("Button Right Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1213 lcd.refresh(); // set flag in ISR
sesa514652 31:91a3c61d33e6 1214 }
sesa514652 31:91a3c61d33e6 1215 void inputScan1()
sesa514652 31:91a3c61d33e6 1216 {
sesa514652 31:91a3c61d33e6 1217 lcd.clear();
sesa514652 31:91a3c61d33e6 1218 lcd.printString("First Scan",0,0);
sesa514652 31:91a3c61d33e6 1219 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1220 NoContinueExitScan1();
sesa514652 31:91a3c61d33e6 1221
sesa514652 31:91a3c61d33e6 1222 Buzzer.play(300,120); lcd.printString("X",0,1); lcd.refresh(); Scan1[0] = sensor.distance();
sesa514652 36:3e975536e8d7 1223 wait_ms(5);
sesa514652 38:71cfbdd2076d 1224 /* NO Longer Required Section
sesa514652 31:91a3c61d33e6 1225 Buzzer.play(200,120); lcd.printString("X",0,2);lcd.refresh(); Scan1[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1226 wait_ms(5);
sesa514652 31:91a3c61d33e6 1227 Buzzer.play(200,120); lcd.printString("X",0,3);lcd.refresh(); Scan1[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1228 wait_ms(5);
sesa514652 31:91a3c61d33e6 1229 Buzzer.play(200,120); lcd.printString("X",0,4);lcd.refresh(); Scan1[3] = sensor.distance();;
sesa514652 31:91a3c61d33e6 1230 wait_ms(5);
sesa514652 31:91a3c61d33e6 1231 Buzzer.play(200,120); lcd.printString("X",0,5);lcd.refresh(); Scan1[4] = sensor.distance();;
sesa514652 38:71cfbdd2076d 1232 wait_ms(5); */
sesa514652 36:3e975536e8d7 1233 lcd.printString("Scan 1 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1234 }
sesa514652 31:91a3c61d33e6 1235
sesa514652 31:91a3c61d33e6 1236 void inputScan2()
sesa514652 31:91a3c61d33e6 1237 {
sesa514652 31:91a3c61d33e6 1238 lcd.clear();
sesa514652 31:91a3c61d33e6 1239 lcd.printString("Second Scan",0,0);
sesa514652 31:91a3c61d33e6 1240 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1241 NoContinueExitScan2();
sesa514652 38:71cfbdd2076d 1242 lcd.printString("X",0,1); //No longer Required Line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1243 Buzzer.play(300,120); lcd.printString("X",15,1); lcd.refresh(); Scan1[1] = sensor.distance();
sesa514652 38:71cfbdd2076d 1244 wait_ms(5);/*
sesa514652 31:91a3c61d33e6 1245 Buzzer.play(200,120); lcd.printString("X",15,2);lcd.refresh(); Scan2[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1246 wait_ms(5);
sesa514652 31:91a3c61d33e6 1247 Buzzer.play(200,120); lcd.printString("X",15,3);lcd.refresh(); Scan2[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1248 wait_ms(5);
sesa514652 31:91a3c61d33e6 1249 Buzzer.play(200,120); lcd.printString("X",15,4);lcd.refresh(); Scan2[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1250 wait_ms(5);
sesa514652 38:71cfbdd2076d 1251 Buzzer.play(200,120); lcd.printString("X",15,5);lcd.refresh(); Scan2[4] = sensor.distance();*/
sesa514652 31:91a3c61d33e6 1252 lcd.printString("Scan 2 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1253
sesa514652 31:91a3c61d33e6 1254 }
sesa514652 31:91a3c61d33e6 1255 void inputScan3()
sesa514652 31:91a3c61d33e6 1256 {
sesa514652 38:71cfbdd2076d 1257 lcd.clear();
sesa514652 31:91a3c61d33e6 1258 lcd.printString("Third Scan",0,0);
sesa514652 31:91a3c61d33e6 1259 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1260 NoContinueExitScan3();
sesa514652 38:71cfbdd2076d 1261 lcd.printString("X",0,1);//No Longer required line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1262 lcd.printString("X",15,1);//No Longer required line,lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1263 Buzzer.play(300,120); lcd.printString("X",30,1); lcd.refresh(); Scan1[2] = sensor.distance();
sesa514652 38:71cfbdd2076d 1264 wait_ms(5);/*
sesa514652 31:91a3c61d33e6 1265 Buzzer.play(200,120); lcd.printString("X",30,2);lcd.refresh(); Scan3[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1266 wait_ms(5);
sesa514652 31:91a3c61d33e6 1267 Buzzer.play(200,120); lcd.printString("X",30,3);lcd.refresh(); Scan3[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1268 wait_ms(5);
sesa514652 31:91a3c61d33e6 1269 Buzzer.play(200,120); lcd.printString("X",30,4);lcd.refresh(); Scan3[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1270 wait_ms(5);
sesa514652 38:71cfbdd2076d 1271 Buzzer.play(200,120); lcd.printString("X",30,5);lcd.refresh(); Scan3[4] = sensor.distance(); */
sesa514652 31:91a3c61d33e6 1272 lcd.printString("Scan 3 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1273 }
sesa514652 31:91a3c61d33e6 1274 void inputScan4()
sesa514652 31:91a3c61d33e6 1275 {
sesa514652 33:3717bc4e2fa8 1276 lcd.clear();
sesa514652 33:3717bc4e2fa8 1277 lcd.printString("Fourth Scan",0,0);
sesa514652 33:3717bc4e2fa8 1278 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1279 NoContinueExitScan4();
sesa514652 38:71cfbdd2076d 1280 lcd.printString("X",0,1);//No Longer required line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1281 lcd.printString("X",15,1);//No Longer required line,lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1282 lcd.printString("X",30,1);//No Longer required line,lcd.printString("X",30,2),lcd.printString("X",30,3),lcd.printString("X",30,4),lcd.printString("X",30,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1283 Buzzer.play(300,120); lcd.printString("X",45,1); lcd.refresh(); Scan1[3] = sensor.distance();
sesa514652 38:71cfbdd2076d 1284 wait_ms(5);/*
sesa514652 31:91a3c61d33e6 1285 Buzzer.play(200,120); lcd.printString("X",45,2);lcd.refresh(); Scan4[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1286 wait_ms(5);
sesa514652 31:91a3c61d33e6 1287 Buzzer.play(200,120); lcd.printString("X",45,3);lcd.refresh(); Scan4[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1288 wait_ms(5);
sesa514652 31:91a3c61d33e6 1289 Buzzer.play(200,120); lcd.printString("X",45,4);lcd.refresh(); Scan4[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1290 wait_ms(5);
sesa514652 38:71cfbdd2076d 1291 Buzzer.play(200,120); lcd.printString("X",45,5);lcd.refresh(); Scan4[4] = sensor.distance(); */
sesa514652 31:91a3c61d33e6 1292 lcd.printString("Scan 4 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1293 }
sesa514652 31:91a3c61d33e6 1294 void inputScan5()
sesa514652 31:91a3c61d33e6 1295 {
sesa514652 31:91a3c61d33e6 1296 lcd.clear();
sesa514652 31:91a3c61d33e6 1297 lcd.printString("Fifth Scan",0,0);
sesa514652 31:91a3c61d33e6 1298 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1299 NoContinueExitScan5();
sesa514652 38:71cfbdd2076d 1300 lcd.printString("X",0,1);//No Longer required line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1301 lcd.printString("X",15,1);//No Longer required line,lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1302 lcd.printString("X",30,1);//No Longer required line,lcd.printString("X",30,2),lcd.printString("X",30,3),lcd.printString("X",30,4),lcd.printString("X",30,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1303 lcd.printString("X",45,1);//No Longer required line,lcd.printString("X",45,2),lcd.printString("X",45,3),lcd.printString("X",45,4),lcd.printString("X",45,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1304 Buzzer.play(300,120); lcd.printString("X",60,1); lcd.refresh(); Scan1[4] = sensor.distance();
sesa514652 38:71cfbdd2076d 1305 wait_ms(5); /*
sesa514652 31:91a3c61d33e6 1306 Buzzer.play(200,120); lcd.printString("X",60,2);lcd.refresh(); Scan5[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1307 wait_ms(5);
sesa514652 31:91a3c61d33e6 1308 Buzzer.play(200,120); lcd.printString("X",60,3);lcd.refresh(); Scan5[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1309 wait_ms(5);
sesa514652 31:91a3c61d33e6 1310 Buzzer.play(200,120); lcd.printString("X",60,4);lcd.refresh(); Scan5[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1311 wait_ms(5);
sesa514652 38:71cfbdd2076d 1312 Buzzer.play(200,120); lcd.printString("X",60,5);lcd.refresh(); Scan5[4] = sensor.distance(); */
sesa514652 31:91a3c61d33e6 1313 lcd.printString("Scan 5 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1314 }