Coursework

Committer:
sesa514652
Date:
Fri Jan 28 13:07:11 2022 +0000
Revision:
29:1aef0ecf9840
Parent:
28:aab0aa846cf6
Child:
30:9d39318ef584
if statement in

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 28:aab0aa846cf6 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 0:1f799c7cce2b 11 #include "Joystick.h"
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 28:aab0aa846cf6 18 /**
sesa514652 28:aab0aa846cf6 19 *...This Section of the code is used to bring in volatile Varible's, These can be wrote to throught the code.
sesa514652 28:aab0aa846cf6 20 *...The Varibles are used to track button press's on the board.
sesa514652 28:aab0aa846cf6 21 */
sesa514652 28:aab0aa846cf6 22 volatile int g_ButtonAPress;
sesa514652 28:aab0aa846cf6 23 volatile int g_ButtonBPress;
sesa514652 28:aab0aa846cf6 24 volatile int g_buttonA_flag = 0;
sesa514652 28:aab0aa846cf6 25 volatile int g_buttonB_flag = 0;
sesa514652 28:aab0aa846cf6 26 volatile int g_buttonX_flag = 0;
sesa514652 28:aab0aa846cf6 27 volatile int g_buttonY_flag = 0;
sesa514652 28:aab0aa846cf6 28 volatile int g_buttonStart_flag = 0;
sesa514652 28:aab0aa846cf6 29 volatile int g_buttonBack_flag = 0;
sesa514652 28:aab0aa846cf6 30 volatile int g_buttonLeft_flag = 0;
sesa514652 28:aab0aa846cf6 31 volatile int g_buttonRight_flag = 0;
sesa514652 10:42e70b596099 32
sesa514652 28:aab0aa846cf6 33 /**
sesa514652 28:aab0aa846cf6 34 *... Section of code to assign names to IO pins on the K64f
sesa514652 28:aab0aa846cf6 35 */
sesa514652 8:770d168713cc 36 InterruptIn buttonA(PTB9);
sesa514652 8:770d168713cc 37 InterruptIn buttonB(PTD0);
sesa514652 8:770d168713cc 38 InterruptIn buttonX(PTC17);
sesa514652 8:770d168713cc 39 InterruptIn buttonY(PTC12);
sesa514652 11:1dec05b7d1c1 40 InterruptIn buttonStart(PTC5);
sesa514652 11:1dec05b7d1c1 41 InterruptIn buttonBack(PTB19);
sesa514652 11:1dec05b7d1c1 42 InterruptIn buttonLeft(PTB18);
sesa514652 11:1dec05b7d1c1 43 InterruptIn buttonRight(PTB3);
sesa514652 28:aab0aa846cf6 44 Joystick joystick(PTB10,PTB11,PTC16);
sesa514652 28:aab0aa846cf6 45 HCSR04 sensor(D14, D15);
sesa514652 28:aab0aa846cf6 46 Piezo Buzzer(PTC10);
sesa514652 28:aab0aa846cf6 47 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
sesa514652 28:aab0aa846cf6 48
sesa514652 28:aab0aa846cf6 49 /**
sesa514652 28:aab0aa846cf6 50 *...For used with the LCD Screen. rows,cols
sesa514652 28:aab0aa846cf6 51 */
sesa514652 0:1f799c7cce2b 52 int sprite[8][5] = {
sesa514652 28:aab0aa846cf6 53 { 0,0,1,0,0 },
sesa514652 28:aab0aa846cf6 54 { 0,1,1,1,0 },
sesa514652 28:aab0aa846cf6 55 { 0,0,1,0,0 },
sesa514652 28:aab0aa846cf6 56 { 0,1,1,1,0 },
sesa514652 28:aab0aa846cf6 57 { 1,1,1,1,1 },
sesa514652 28:aab0aa846cf6 58 { 1,1,1,1,1 },
sesa514652 28:aab0aa846cf6 59 { 1,1,0,1,1 },
sesa514652 28:aab0aa846cf6 60 { 1,1,0,1,1 },
sesa514652 28:aab0aa846cf6 61 };
sesa514652 28:aab0aa846cf6 62 /**
sesa514652 28:aab0aa846cf6 63 *...Section for starting the board and seeting up interrupt routines
sesa514652 28:aab0aa846cf6 64 *...Along with other functions to be called later
sesa514652 28:aab0aa846cf6 65 */
sesa514652 11:1dec05b7d1c1 66 void init_K64F(); // Start K64fBoard
sesa514652 11:1dec05b7d1c1 67 void buttonA_isr(); // Button A interrupt service routine
sesa514652 11:1dec05b7d1c1 68 void buttonB_isr(); // Button B interrupt service routine
sesa514652 11:1dec05b7d1c1 69 void buttonX_isr(); // Button X interrupt service routine
sesa514652 11:1dec05b7d1c1 70 void buttonY_isr(); // Button Y interrupt service routine
sesa514652 11:1dec05b7d1c1 71 void buttonStart_isr(); // Button Start interrupt service routine
sesa514652 11:1dec05b7d1c1 72 void buttonBack_isr(); // Button Back interrupt service routine
sesa514652 11:1dec05b7d1c1 73 void buttonLeft_isr(); // Button Left interrupt service routine
sesa514652 11:1dec05b7d1c1 74 void buttonRight_isr(); // Button Right interrupt service routine
sesa514652 18:bb36d96142dd 75 int buttonCountA();
sesa514652 18:bb36d96142dd 76 int buttonCountB();
sesa514652 28:aab0aa846cf6 77
sesa514652 28:aab0aa846cf6 78 EventQueue queue; /**< Required to get around issues with printing onto LCD and the Printf */
sesa514652 28:aab0aa846cf6 79
sesa514652 28:aab0aa846cf6 80
sesa514652 28:aab0aa846cf6 81 /** Code which was never used
sesa514652 28:aab0aa846cf6 82 *
sesa514652 28:aab0aa846cf6 83 *.. was for initial learning of C++
sesa514652 11:1dec05b7d1c1 84 //volatile int g_buttonA_counter = 0; // Global counter
sesa514652 8:770d168713cc 85 //Test function after research C++ lanuage 05/01/22
sesa514652 4:167ce930c9d5 86 int cube(int num){
sesa514652 11:1dec05b7d1c1 87 return num*num;
sesa514652 5:9b2c976ca318 88 };
sesa514652 10:42e70b596099 89 // Menu Items
sesa514652 10:42e70b596099 90 int page1;
sesa514652 10:42e70b596099 91 int page2;
sesa514652 10:42e70b596099 92 int page3;
sesa514652 28:aab0aa846cf6 93 string Listitem1 = "Game"; //
sesa514652 28:aab0aa846cf6 94 string Listitem2 = "Measure"; //
sesa514652 28:aab0aa846cf6 95 string Listitem3 = "Detect"; //
sesa514652 28:aab0aa846cf6 96 / Test of the interup an operating the buzzer this kills the board
sesa514652 9:cdd7d9a123f9 97 void buzzme(){
sesa514652 9:cdd7d9a123f9 98 Buzzer.play(200,120);
sesa514652 9:cdd7d9a123f9 99 wait_ms(5);
sesa514652 9:cdd7d9a123f9 100 Buzzer.play(200,120);;
sesa514652 9:cdd7d9a123f9 101 }
sesa514652 26:8826ed43fad2 102 int Scan1[5];
sesa514652 26:8826ed43fad2 103 int Scan2[5];
sesa514652 24:a88c4941a25e 104 int Scan1Input(){;
sesa514652 25:9798017b837d 105 Scan1[0] = sensor.distance();
sesa514652 25:9798017b837d 106 Scan1[1] = sensor.distance();;
sesa514652 25:9798017b837d 107 Scan1[2] = sensor.distance();;
sesa514652 26:8826ed43fad2 108 Scan1[3] = sensor.distance();;
sesa514652 26:8826ed43fad2 109 Scan1[4] = sensor.distance();;
sesa514652 26:8826ed43fad2 110 return Scan1[0,1,2,3,4];}
sesa514652 28:aab0aa846cf6 111 //void returnme(){
sesa514652 10:42e70b596099 112 //int num;
sesa514652 10:42e70b596099 113 // return num*num;
sesa514652 10:42e70b596099 114 // };
sesa514652 28:aab0aa846cf6 115 */
sesa514652 28:aab0aa846cf6 116
sesa514652 0:1f799c7cce2b 117 int main() {
sesa514652 28:aab0aa846cf6 118 /**
sesa514652 28:aab0aa846cf6 119 *.. Intialise joystick and Lcd
sesa514652 28:aab0aa846cf6 120 */
sesa514652 5:9b2c976ca318 121 joystick.init();
sesa514652 28:aab0aa846cf6 122 lcd.init();
sesa514652 28:aab0aa846cf6 123 lcd.setContrast(0.5);
sesa514652 28:aab0aa846cf6 124 /**
sesa514652 28:aab0aa846cf6 125 *.. Issues were found with the LCd and printf while using interrupts, to get around
sesa514652 28:aab0aa846cf6 126 *.. this issue these queue's to the event thread were added.
sesa514652 28:aab0aa846cf6 127 */
sesa514652 11:1dec05b7d1c1 128 Thread eventThread;
sesa514652 28:aab0aa846cf6 129 eventThread.start(callback(&queue, &EventQueue::dispatch_forever));
sesa514652 28:aab0aa846cf6 130 buttonA.rise(queue.event(&buttonA_isr));
sesa514652 11:1dec05b7d1c1 131 buttonB.rise(queue.event(&buttonB_isr));
sesa514652 11:1dec05b7d1c1 132 buttonX.rise(queue.event(&buttonX_isr));
sesa514652 11:1dec05b7d1c1 133 buttonY.rise(queue.event(&buttonY_isr));
sesa514652 28:aab0aa846cf6 134 buttonStart.rise(queue.event(&buttonStart_isr));
sesa514652 11:1dec05b7d1c1 135 buttonBack.rise(queue.event(&buttonBack_isr));
sesa514652 11:1dec05b7d1c1 136 buttonLeft.rise(queue.event(&buttonLeft_isr));
sesa514652 11:1dec05b7d1c1 137 buttonRight.rise(queue.event(&buttonRight_isr));
sesa514652 28:aab0aa846cf6 138 /**
sesa514652 28:aab0aa846cf6 139 *..Buttons were connected to IO pins which required a pull down resistor to be active.
sesa514652 28:aab0aa846cf6 140 */
sesa514652 8:770d168713cc 141 buttonA.mode(PullDown);
sesa514652 10:42e70b596099 142 buttonB.mode(PullDown);
sesa514652 10:42e70b596099 143 buttonX.mode(PullDown);
sesa514652 10:42e70b596099 144 buttonY.mode(PullDown);
sesa514652 11:1dec05b7d1c1 145 buttonStart.mode(PullDown);
sesa514652 11:1dec05b7d1c1 146 buttonBack.mode(PullDown);
sesa514652 11:1dec05b7d1c1 147 buttonLeft.mode(PullDown);
sesa514652 11:1dec05b7d1c1 148 buttonRight.mode(PullDown);
sesa514652 5:9b2c976ca318 149
sesa514652 28:aab0aa846cf6 150 /**
sesa514652 28:aab0aa846cf6 151 *.. Section of code not used in main program.
sesa514652 28:aab0aa846cf6 152 *
sesa514652 28:aab0aa846cf6 153 Buzzer.period(10.0f);
sesa514652 5:9b2c976ca318 154 //Buzzer.pulsewidth(1);
sesa514652 28:aab0aa846cf6 155 Test Struct after research 05/01/22
sesa514652 6:f7f30e0e3bed 156 struct ObjectDefine{
sesa514652 7:ce70a873aa70 157 int qwer;
sesa514652 6:f7f30e0e3bed 158 float Distance;
sesa514652 7:ce70a873aa70 159 char te;
sesa514652 7:ce70a873aa70 160 double dubs;
sesa514652 7:ce70a873aa70 161 string namestruct;
sesa514652 8:770d168713cc 162 // string ;
sesa514652 6:f7f30e0e3bed 163 };
sesa514652 7:ce70a873aa70 164 // Test Class 06/01/22
sesa514652 10:42e70b596099 165 class myClass{
sesa514652 7:ce70a873aa70 166 public:
sesa514652 7:ce70a873aa70 167 string nameclass ;
sesa514652 7:ce70a873aa70 168 double dubss;
sesa514652 7:ce70a873aa70 169 int inty;
sesa514652 7:ce70a873aa70 170 };
sesa514652 7:ce70a873aa70 171 myClass Class1;
sesa514652 7:ce70a873aa70 172 Class1.nameclass ="firstclass";
sesa514652 10:42e70b596099 173 ObjectDefine Object1;
sesa514652 10:42e70b596099 174 Object1.qwer = 12;
sesa514652 6:f7f30e0e3bed 175 Object1.Distance = 34;
sesa514652 7:ce70a873aa70 176 Object1.te = 'A';
sesa514652 7:ce70a873aa70 177 Object1.dubs = 23;
sesa514652 10:42e70b596099 178 Object1.namestruct = "name";
sesa514652 28:aab0aa846cf6 179 */
sesa514652 0:1f799c7cce2b 180 while(1) {
sesa514652 28:aab0aa846cf6 181 /**
sesa514652 28:aab0aa846cf6 182 *..Bring in 5 arrays of 5 for each of the 5 required scans.
sesa514652 28:aab0aa846cf6 183 *..array Ref starts at 0,
sesa514652 28:aab0aa846cf6 184 */
sesa514652 27:d48bf4e8f1a0 185 int Scan1[5];
sesa514652 27:d48bf4e8f1a0 186 int Scan2[5];
sesa514652 27:d48bf4e8f1a0 187 int Scan3[5];
sesa514652 27:d48bf4e8f1a0 188 int Scan4[5];
sesa514652 27:d48bf4e8f1a0 189 int Scan5[5];
sesa514652 28:aab0aa846cf6 190 char Decide[5];
sesa514652 29:1aef0ecf9840 191 char Decide2[5];
sesa514652 29:1aef0ecf9840 192 char Decide3[5];
sesa514652 29:1aef0ecf9840 193 char Decide4[5];
sesa514652 29:1aef0ecf9840 194 char Decide5[5];
sesa514652 27:d48bf4e8f1a0 195
sesa514652 28:aab0aa846cf6 196 /**
sesa514652 28:aab0aa846cf6 197 *.. It was found Cout was not working as expected.
sesa514652 28:aab0aa846cf6 198 cout << "Test value collection";
sesa514652 28:aab0aa846cf6 199 Scan1Input();
sesa514652 28:aab0aa846cf6 200
sesa514652 27:d48bf4e8f1a0 201 cout << Scan1[0];cout <<"/n";
sesa514652 27:d48bf4e8f1a0 202 cout << Scan1[1];"/n";
sesa514652 27:d48bf4e8f1a0 203 cout << Scan1[2];"/n";
sesa514652 27:d48bf4e8f1a0 204 cout << Scan1[3];"/n";
sesa514652 27:d48bf4e8f1a0 205 cout << Scan1[4];"/n";
sesa514652 27:d48bf4e8f1a0 206 cout << Scan1[5];"/n";
sesa514652 27:d48bf4e8f1a0 207 cout << Scan1[6];"/n";
sesa514652 27:d48bf4e8f1a0 208 cout << Scan1[7];"/n";
sesa514652 27:d48bf4e8f1a0 209 cout << Scan1[8];"/n";
sesa514652 27:d48bf4e8f1a0 210 cout << Scan1[9];"/n";
sesa514652 27:d48bf4e8f1a0 211 */
sesa514652 24:a88c4941a25e 212
sesa514652 28:aab0aa846cf6 213 printf("press count = %i\n",g_ButtonAPress);
sesa514652 26:8826ed43fad2 214 printf("Scan1 1 : %d cm\n", Scan1[0]);
sesa514652 26:8826ed43fad2 215 printf("Scan1 2 : %d cm\n", Scan1[1]);
sesa514652 26:8826ed43fad2 216 printf("Scan1 3 : %d cm\n", Scan1[2]);
sesa514652 26:8826ed43fad2 217 printf("Scan1 4 : %d cm\n", Scan1[3]);
sesa514652 26:8826ed43fad2 218 printf("Scan1 5 : %d cm\n", Scan1[4]);
sesa514652 26:8826ed43fad2 219 printf("Scan2 1 : %d cm\n", Scan2[0]);
sesa514652 26:8826ed43fad2 220 printf("Scan2 2 : %d cm\n", Scan2[1]);
sesa514652 26:8826ed43fad2 221 printf("Scan2 3 : %d cm\n", Scan2[2]);
sesa514652 26:8826ed43fad2 222 printf("Scan2 4 : %d cm\n", Scan2[3]);
sesa514652 26:8826ed43fad2 223 printf("Scan2 5 : %d cm\n", Scan2[4]);
sesa514652 26:8826ed43fad2 224 printf("Scan3 1 : %d cm\n", Scan3[0]);
sesa514652 26:8826ed43fad2 225 printf("Scan3 2 : %d cm\n", Scan3[1]);
sesa514652 26:8826ed43fad2 226 printf("Scan3 3 : %d cm\n", Scan3[2]);
sesa514652 26:8826ed43fad2 227 printf("Scan3 4 : %d cm\n", Scan3[3]);
sesa514652 26:8826ed43fad2 228 printf("Scan3 5 : %d cm\n", Scan3[4]);
sesa514652 26:8826ed43fad2 229 printf("Scan4 1 : %d cm\n", Scan4[0]);
sesa514652 26:8826ed43fad2 230 printf("Scan4 2 : %d cm\n", Scan4[1]);
sesa514652 26:8826ed43fad2 231 printf("Scan4 3 : %d cm\n", Scan4[2]);
sesa514652 26:8826ed43fad2 232 printf("Scan4 4 : %d cm\n", Scan4[3]);
sesa514652 26:8826ed43fad2 233 printf("Scan4 5 : %d cm\n", Scan4[4]);
sesa514652 26:8826ed43fad2 234 printf("Scan5 1 : %d cm\n", Scan5[0]);
sesa514652 26:8826ed43fad2 235 printf("Scan5 2 : %d cm\n", Scan5[1]);
sesa514652 26:8826ed43fad2 236 printf("Scan5 3 : %d cm\n", Scan5[2]);
sesa514652 26:8826ed43fad2 237 printf("Scan5 4 : %d cm\n", Scan5[3]);
sesa514652 28:aab0aa846cf6 238 printf("Scan5 5 : %d cm\n", Scan5[4]);
sesa514652 25:9798017b837d 239 printf("I always Get printed \n");
sesa514652 24:a88c4941a25e 240 // cout << Scan1[2];
sesa514652 24:a88c4941a25e 241 // cout << Scan1[6];
sesa514652 28:aab0aa846cf6 242 printf("I Should Be printed always \n");
sesa514652 28:aab0aa846cf6 243 /**
sesa514652 28:aab0aa846cf6 244 *..Code section on Comparing data Cout was causing issue
sesa514652 28:aab0aa846cf6 245 *
sesa514652 24:a88c4941a25e 246 if (Scan1[1] > Scan1[2]){
sesa514652 24:a88c4941a25e 247 cout <<'+';
sesa514652 24:a88c4941a25e 248 }else if (Scan1[1]=Scan1[2]){
sesa514652 24:a88c4941a25e 249 cout <<'=';}
sesa514652 24:a88c4941a25e 250 else {
sesa514652 24:a88c4941a25e 251 cout <<'-';}
sesa514652 24:a88c4941a25e 252 if (Scan1[2] > Scan1[3]){
sesa514652 24:a88c4941a25e 253 cout <<'+';
sesa514652 24:a88c4941a25e 254 }else if (Scan1[2]=Scan1[3]){
sesa514652 24:a88c4941a25e 255 cout <<'=';}
sesa514652 23:f72175fb49ed 256 else {
sesa514652 23:f72175fb49ed 257 cout <<'-';}
sesa514652 24:a88c4941a25e 258
sesa514652 24:a88c4941a25e 259 if (Scan1[3] > Scan1[4]){
sesa514652 24:a88c4941a25e 260 cout <<'+';
sesa514652 24:a88c4941a25e 261 }else if (Scan1[3]=Scan1[4]){
sesa514652 24:a88c4941a25e 262 cout <<'=';}
sesa514652 24:a88c4941a25e 263 else {
sesa514652 24:a88c4941a25e 264 cout <<'-';}
sesa514652 24:a88c4941a25e 265 if (Scan1[4] > Scan1[5]){
sesa514652 24:a88c4941a25e 266 cout <<'+';
sesa514652 24:a88c4941a25e 267 }else if (Scan1[4]=Scan1[5]){
sesa514652 24:a88c4941a25e 268 cout <<'=';}
sesa514652 24:a88c4941a25e 269 else {
sesa514652 24:a88c4941a25e 270 cout <<'-';}
sesa514652 24:a88c4941a25e 271 if (Scan1[5] > Scan1[6]){
sesa514652 24:a88c4941a25e 272 cout <<'+';
sesa514652 24:a88c4941a25e 273 }else if (Scan1[5]=Scan1[6]){
sesa514652 24:a88c4941a25e 274 cout <<'=';}
sesa514652 24:a88c4941a25e 275 else {
sesa514652 24:a88c4941a25e 276 cout <<'-';}
sesa514652 24:a88c4941a25e 277 if (Scan1[6] > Scan1[7]){
sesa514652 24:a88c4941a25e 278 cout <<'+';
sesa514652 24:a88c4941a25e 279 }else if (Scan1[6]=Scan1[7]){
sesa514652 24:a88c4941a25e 280 cout <<'=';}
sesa514652 24:a88c4941a25e 281 else {
sesa514652 24:a88c4941a25e 282 cout <<'-';}
sesa514652 24:a88c4941a25e 283 if (Scan1[7] > Scan1[8]){
sesa514652 24:a88c4941a25e 284 cout <<'+';
sesa514652 24:a88c4941a25e 285 }else if (Scan1[7]=Scan1[8]){
sesa514652 24:a88c4941a25e 286 cout <<'=';}
sesa514652 24:a88c4941a25e 287 else {
sesa514652 24:a88c4941a25e 288 cout <<'-';}
sesa514652 24:a88c4941a25e 289
sesa514652 24:a88c4941a25e 290 if (Scan1[8] > Scan1[9]){
sesa514652 24:a88c4941a25e 291 cout <<'+';
sesa514652 24:a88c4941a25e 292 }else if (Scan1[8]=Scan1[9]){
sesa514652 24:a88c4941a25e 293 cout <<'=';}
sesa514652 24:a88c4941a25e 294 else {
sesa514652 24:a88c4941a25e 295 cout <<'-';}
sesa514652 24:a88c4941a25e 296 if (Scan1[9] > Scan1[10]){
sesa514652 24:a88c4941a25e 297 cout <<'+';
sesa514652 24:a88c4941a25e 298 }else if (Scan1[9]=Scan1[10]){
sesa514652 24:a88c4941a25e 299 cout <<'=';}
sesa514652 24:a88c4941a25e 300 else {
sesa514652 24:a88c4941a25e 301 cout <<'-';}
sesa514652 28:aab0aa846cf6 302 */
sesa514652 21:2e37f80e8b5b 303
sesa514652 26:8826ed43fad2 304 /////////////////////////////////////////////////////////////////////////////////////////////////////
sesa514652 28:aab0aa846cf6 305 /**
sesa514652 28:aab0aa846cf6 306 *..Initial state when starting the Board.
sesa514652 28:aab0aa846cf6 307 */
sesa514652 28:aab0aa846cf6 308 switch(g_ButtonAPress){
sesa514652 21:2e37f80e8b5b 309 default:
sesa514652 29:1aef0ecf9840 310 lcd.clear();
sesa514652 21:2e37f80e8b5b 311 lcd.printString("Main Menu",0,0);
sesa514652 28:aab0aa846cf6 312 lcd.drawLine(0,10,80,10,2);
sesa514652 21:2e37f80e8b5b 313 lcd.printString("A to begin new Scan",0,2);
sesa514652 27:d48bf4e8f1a0 314 lcd.printString("Scan Starts move pad",0,3);
sesa514652 27:d48bf4e8f1a0 315 lcd.printString("B to display Shape",0,4);
sesa514652 27:d48bf4e8f1a0 316 lcd.printString("Kory 18689004",0,5);
sesa514652 29:1aef0ecf9840 317
sesa514652 29:1aef0ecf9840 318
sesa514652 29:1aef0ecf9840 319 /** IF Statement to decide on shape to draw
sesa514652 29:1aef0ecf9840 320 *.. 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 321 */
sesa514652 29:1aef0ecf9840 322
sesa514652 29:1aef0ecf9840 323 if (Scan1[0] > Scan1[1])
sesa514652 29:1aef0ecf9840 324 {
sesa514652 29:1aef0ecf9840 325 printf("+");
sesa514652 29:1aef0ecf9840 326 Decide[0]= 'x';
sesa514652 29:1aef0ecf9840 327 printf( "chosen 1 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 328 }
sesa514652 29:1aef0ecf9840 329 else if (Scan1[0] = Scan1[1])
sesa514652 29:1aef0ecf9840 330 {
sesa514652 29:1aef0ecf9840 331 printf("=");
sesa514652 29:1aef0ecf9840 332 Decide[0]='=';
sesa514652 29:1aef0ecf9840 333 printf( "chosen2 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 334 }
sesa514652 29:1aef0ecf9840 335 else if (Scan1[0] < Scan1[1])
sesa514652 29:1aef0ecf9840 336 {
sesa514652 29:1aef0ecf9840 337 printf("-");
sesa514652 29:1aef0ecf9840 338 Decide[0]='-';
sesa514652 29:1aef0ecf9840 339 printf( "chosen3 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 340 }
sesa514652 29:1aef0ecf9840 341 if (Scan1[1] > Scan1[2])
sesa514652 29:1aef0ecf9840 342 {
sesa514652 29:1aef0ecf9840 343 printf("+");
sesa514652 29:1aef0ecf9840 344 Decide[1]= 'x';
sesa514652 29:1aef0ecf9840 345 printf( "chosen 1 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 346 }
sesa514652 29:1aef0ecf9840 347 else if (Scan1[1] = Scan1[2])
sesa514652 29:1aef0ecf9840 348 {
sesa514652 29:1aef0ecf9840 349 printf("=");
sesa514652 29:1aef0ecf9840 350 Decide[1]='=';
sesa514652 29:1aef0ecf9840 351 printf( "chosen2 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 352 }
sesa514652 29:1aef0ecf9840 353 else if (Scan1[1] < Scan1[2])
sesa514652 29:1aef0ecf9840 354 {
sesa514652 29:1aef0ecf9840 355 printf("-");
sesa514652 29:1aef0ecf9840 356 Decide[1]='-';
sesa514652 29:1aef0ecf9840 357 printf( "chosen3 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 358 }
sesa514652 29:1aef0ecf9840 359
sesa514652 29:1aef0ecf9840 360 if (Scan1[2] > Scan1[3])
sesa514652 29:1aef0ecf9840 361 {
sesa514652 29:1aef0ecf9840 362 printf("+");
sesa514652 29:1aef0ecf9840 363 Decide[2]= 'x';
sesa514652 29:1aef0ecf9840 364 printf( "chosen 1 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 365 }
sesa514652 29:1aef0ecf9840 366 else if (Scan1[2] = Scan1[3])
sesa514652 29:1aef0ecf9840 367 {
sesa514652 29:1aef0ecf9840 368 printf("=");
sesa514652 29:1aef0ecf9840 369 Decide[2]='=';
sesa514652 29:1aef0ecf9840 370 printf( "chosen2 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 371 }
sesa514652 29:1aef0ecf9840 372 else if (Scan1[2] < Scan1[3])
sesa514652 29:1aef0ecf9840 373 {
sesa514652 29:1aef0ecf9840 374 printf("-");
sesa514652 29:1aef0ecf9840 375 Decide[2]='-';
sesa514652 29:1aef0ecf9840 376 printf( "chosen3 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 377 }
sesa514652 29:1aef0ecf9840 378 if (Scan1[3] > Scan1[4])
sesa514652 29:1aef0ecf9840 379 {
sesa514652 29:1aef0ecf9840 380 printf("+");
sesa514652 29:1aef0ecf9840 381 Decide[3]= 'x';
sesa514652 29:1aef0ecf9840 382 printf( "chosen 1 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 383 }
sesa514652 29:1aef0ecf9840 384 else if (Scan1[3] = Scan1[4])
sesa514652 29:1aef0ecf9840 385 {
sesa514652 29:1aef0ecf9840 386 printf("=");
sesa514652 29:1aef0ecf9840 387 Decide[3]='=';
sesa514652 29:1aef0ecf9840 388 printf( "chosen2 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 389 }
sesa514652 29:1aef0ecf9840 390 else if (Scan1[3] < Scan1[4])
sesa514652 29:1aef0ecf9840 391 {
sesa514652 29:1aef0ecf9840 392 printf("-");
sesa514652 29:1aef0ecf9840 393 Decide[3]='-';
sesa514652 29:1aef0ecf9840 394 printf( "chosen3 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 395 }
sesa514652 29:1aef0ecf9840 396
sesa514652 29:1aef0ecf9840 397 if (Scan2[0] > Scan2[1])
sesa514652 29:1aef0ecf9840 398 {
sesa514652 29:1aef0ecf9840 399 printf("+");
sesa514652 29:1aef0ecf9840 400 Decide2[0]= 'x';
sesa514652 29:1aef0ecf9840 401 printf( "chosen 1 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 402 }
sesa514652 29:1aef0ecf9840 403 else if (Scan2[0] = Scan2[1])
sesa514652 29:1aef0ecf9840 404 {
sesa514652 29:1aef0ecf9840 405 printf("=");
sesa514652 29:1aef0ecf9840 406 Decide2[0]='=';
sesa514652 29:1aef0ecf9840 407 printf( "chosen2 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 408 }
sesa514652 29:1aef0ecf9840 409 else if (Scan2[0] < Scan2[1])
sesa514652 29:1aef0ecf9840 410 {
sesa514652 29:1aef0ecf9840 411 printf("-");
sesa514652 29:1aef0ecf9840 412 Decide2[0]='-';
sesa514652 29:1aef0ecf9840 413 printf( "chosen3 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 414 }
sesa514652 29:1aef0ecf9840 415 if (Scan2[1] > Scan2[2])
sesa514652 29:1aef0ecf9840 416 {
sesa514652 29:1aef0ecf9840 417 printf("+");
sesa514652 29:1aef0ecf9840 418 Decide2[1]= 'x';
sesa514652 29:1aef0ecf9840 419 printf( "chosen 1 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 420 }
sesa514652 29:1aef0ecf9840 421 else if (Scan2[1] = Scan2[2])
sesa514652 29:1aef0ecf9840 422 {
sesa514652 29:1aef0ecf9840 423 printf("=");
sesa514652 29:1aef0ecf9840 424 Decide2[1]='=';
sesa514652 29:1aef0ecf9840 425 printf( "chosen2 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 426 }
sesa514652 29:1aef0ecf9840 427 else if (Scan2[1] < Scan2[2])
sesa514652 29:1aef0ecf9840 428 {
sesa514652 29:1aef0ecf9840 429 printf("-");
sesa514652 29:1aef0ecf9840 430 Decide2[1]='-';
sesa514652 29:1aef0ecf9840 431 printf( "chosen3 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 432 }
sesa514652 29:1aef0ecf9840 433
sesa514652 29:1aef0ecf9840 434 if (Scan2[2] > Scan2[3])
sesa514652 29:1aef0ecf9840 435 {
sesa514652 29:1aef0ecf9840 436 printf("+");
sesa514652 29:1aef0ecf9840 437 Decide2[2]= 'x';
sesa514652 29:1aef0ecf9840 438 printf( "chosen 1 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 439 }
sesa514652 29:1aef0ecf9840 440 else if (Scan2[2] = Scan2[3])
sesa514652 29:1aef0ecf9840 441 {
sesa514652 29:1aef0ecf9840 442 printf("=");
sesa514652 29:1aef0ecf9840 443 Decide2[2]='=';
sesa514652 29:1aef0ecf9840 444 printf( "chosen2 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 445 }
sesa514652 29:1aef0ecf9840 446 else if (Scan2[2] < Scan2[3])
sesa514652 29:1aef0ecf9840 447 {
sesa514652 29:1aef0ecf9840 448 printf("-");
sesa514652 29:1aef0ecf9840 449 Decide2[2]='-';
sesa514652 29:1aef0ecf9840 450 printf( "chosen3 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 451 }
sesa514652 29:1aef0ecf9840 452 if (Scan2[3] > Scan2[4])
sesa514652 29:1aef0ecf9840 453 {
sesa514652 29:1aef0ecf9840 454 printf("+");
sesa514652 29:1aef0ecf9840 455 Decide2[3]= 'x';
sesa514652 29:1aef0ecf9840 456 printf( "chosen 1 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 457 }
sesa514652 29:1aef0ecf9840 458 else if (Scan2[3] = Scan2[4])
sesa514652 29:1aef0ecf9840 459 {
sesa514652 29:1aef0ecf9840 460 printf("=");
sesa514652 29:1aef0ecf9840 461 Decide2[3]='=';
sesa514652 29:1aef0ecf9840 462 printf( "chosen2 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 463 }
sesa514652 29:1aef0ecf9840 464 else if (Scan2[3] < Scan2[4])
sesa514652 29:1aef0ecf9840 465 {
sesa514652 29:1aef0ecf9840 466 printf("-");
sesa514652 29:1aef0ecf9840 467 Decide2[3]='-';
sesa514652 29:1aef0ecf9840 468 printf( "chosen3 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 469 }
sesa514652 29:1aef0ecf9840 470
sesa514652 29:1aef0ecf9840 471 if (Scan3[0] > Scan3[1])
sesa514652 29:1aef0ecf9840 472 {
sesa514652 29:1aef0ecf9840 473 printf("+");
sesa514652 29:1aef0ecf9840 474 Decide3[0]= 'x';
sesa514652 29:1aef0ecf9840 475 printf( "chosen 1 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 476 }
sesa514652 29:1aef0ecf9840 477 else if (Scan3[0] = Scan3[1])
sesa514652 29:1aef0ecf9840 478 {
sesa514652 29:1aef0ecf9840 479 printf("=");
sesa514652 29:1aef0ecf9840 480 Decide3[0]='=';
sesa514652 29:1aef0ecf9840 481 printf( "chosen2 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 482 }
sesa514652 29:1aef0ecf9840 483 else if (Scan3[0] < Scan3[1])
sesa514652 29:1aef0ecf9840 484 {
sesa514652 29:1aef0ecf9840 485 printf("-");
sesa514652 29:1aef0ecf9840 486 Decide3[0]='-';
sesa514652 29:1aef0ecf9840 487 printf( "chosen3 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 488 }
sesa514652 29:1aef0ecf9840 489 if (Scan3[1] > Scan3[2])
sesa514652 29:1aef0ecf9840 490 {
sesa514652 29:1aef0ecf9840 491 printf("+");
sesa514652 29:1aef0ecf9840 492 Decide3[1]= 'x';
sesa514652 29:1aef0ecf9840 493 printf( "chosen 1 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 494 }
sesa514652 29:1aef0ecf9840 495 else if (Scan3[1] = Scan3[2])
sesa514652 29:1aef0ecf9840 496 {
sesa514652 29:1aef0ecf9840 497 printf("=");
sesa514652 29:1aef0ecf9840 498 Decide3[1]='=';
sesa514652 29:1aef0ecf9840 499 printf( "chosen2 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 500 }
sesa514652 29:1aef0ecf9840 501 else if (Scan3[1] < Scan3[2])
sesa514652 29:1aef0ecf9840 502 {
sesa514652 29:1aef0ecf9840 503 printf("-");
sesa514652 29:1aef0ecf9840 504 Decide3[1]='-';
sesa514652 29:1aef0ecf9840 505 printf( "chosen3 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 506 }
sesa514652 29:1aef0ecf9840 507
sesa514652 29:1aef0ecf9840 508 if (Scan3[2] > Scan3[3])
sesa514652 29:1aef0ecf9840 509 {
sesa514652 29:1aef0ecf9840 510 printf("+");
sesa514652 29:1aef0ecf9840 511 Decide3[2]= 'x';
sesa514652 29:1aef0ecf9840 512 printf( "chosen 1 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 513 }
sesa514652 29:1aef0ecf9840 514 else if (Scan3[2] = Scan3[3])
sesa514652 29:1aef0ecf9840 515 {
sesa514652 29:1aef0ecf9840 516 printf("=");
sesa514652 29:1aef0ecf9840 517 Decide3[2]='=';
sesa514652 29:1aef0ecf9840 518 printf( "chosen2 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 519 }
sesa514652 29:1aef0ecf9840 520 else if (Scan3[2] < Scan3[3])
sesa514652 29:1aef0ecf9840 521 {
sesa514652 29:1aef0ecf9840 522 printf("-");
sesa514652 29:1aef0ecf9840 523 Decide3[2]='-';
sesa514652 29:1aef0ecf9840 524 printf( "chosen3 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 525 }
sesa514652 29:1aef0ecf9840 526 if (Scan3[3] > Scan3[4])
sesa514652 29:1aef0ecf9840 527 {
sesa514652 29:1aef0ecf9840 528 printf("+");
sesa514652 29:1aef0ecf9840 529 Decide3[3]= 'x';
sesa514652 29:1aef0ecf9840 530 printf( "chosen 1 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 531 }
sesa514652 29:1aef0ecf9840 532 else if (Scan3[3] = Scan3[4])
sesa514652 29:1aef0ecf9840 533 {
sesa514652 29:1aef0ecf9840 534 printf("=");
sesa514652 29:1aef0ecf9840 535 Decide3[3]='=';
sesa514652 29:1aef0ecf9840 536 printf( "chosen2 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 537 }
sesa514652 29:1aef0ecf9840 538 else if (Scan3[3] < Scan3[4])
sesa514652 29:1aef0ecf9840 539 {
sesa514652 29:1aef0ecf9840 540 printf("-");
sesa514652 29:1aef0ecf9840 541 Decide3[3]='-';
sesa514652 29:1aef0ecf9840 542 printf( "chosen3 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 543 }
sesa514652 29:1aef0ecf9840 544
sesa514652 29:1aef0ecf9840 545 if (Scan4[0] > Scan4[1])
sesa514652 29:1aef0ecf9840 546 {
sesa514652 29:1aef0ecf9840 547 printf("+");
sesa514652 29:1aef0ecf9840 548 Decide4[0]= 'x';
sesa514652 29:1aef0ecf9840 549 printf( "chosen 1 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 550 }
sesa514652 29:1aef0ecf9840 551 else if (Scan4[0] = Scan4[1])
sesa514652 29:1aef0ecf9840 552 {
sesa514652 29:1aef0ecf9840 553 printf("=");
sesa514652 29:1aef0ecf9840 554 Decide4[0]='=';
sesa514652 29:1aef0ecf9840 555 printf( "chosen2 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 556 }
sesa514652 29:1aef0ecf9840 557 else if (Scan4[0] < Scan4[1])
sesa514652 29:1aef0ecf9840 558 {
sesa514652 29:1aef0ecf9840 559 printf("-");
sesa514652 29:1aef0ecf9840 560 Decide4[0]='-';
sesa514652 29:1aef0ecf9840 561 printf( "chosen3 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 562 }
sesa514652 29:1aef0ecf9840 563 if (Scan4[1] > Scan4[2])
sesa514652 29:1aef0ecf9840 564 {
sesa514652 29:1aef0ecf9840 565 printf("+");
sesa514652 29:1aef0ecf9840 566 Decide4[1]= 'x';
sesa514652 29:1aef0ecf9840 567 printf( "chosen 1 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 568 }
sesa514652 29:1aef0ecf9840 569 else if (Scan4[1] = Scan4[2])
sesa514652 29:1aef0ecf9840 570 {
sesa514652 29:1aef0ecf9840 571 printf("=");
sesa514652 29:1aef0ecf9840 572 Decide4[1]='=';
sesa514652 29:1aef0ecf9840 573 printf( "chosen2 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 574 }
sesa514652 29:1aef0ecf9840 575 else if (Scan4[1] < Scan4[2])
sesa514652 29:1aef0ecf9840 576 {
sesa514652 29:1aef0ecf9840 577 printf("-");
sesa514652 29:1aef0ecf9840 578 Decide4[1]='-';
sesa514652 29:1aef0ecf9840 579 printf( "chosen3 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 580 }
sesa514652 29:1aef0ecf9840 581
sesa514652 29:1aef0ecf9840 582 if (Scan4[2] > Scan4[3])
sesa514652 29:1aef0ecf9840 583 {
sesa514652 29:1aef0ecf9840 584 printf("+");
sesa514652 29:1aef0ecf9840 585 Decide4[2]= 'x';
sesa514652 29:1aef0ecf9840 586 printf( "chosen 1 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 587 }
sesa514652 29:1aef0ecf9840 588 else if (Scan4[2] = Scan4[3])
sesa514652 29:1aef0ecf9840 589 {
sesa514652 29:1aef0ecf9840 590 printf("=");
sesa514652 29:1aef0ecf9840 591 Decide4[2]='=';
sesa514652 29:1aef0ecf9840 592 printf( "chosen2 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 593 }
sesa514652 29:1aef0ecf9840 594 else if (Scan4[2] < Scan4[3])
sesa514652 29:1aef0ecf9840 595 {
sesa514652 29:1aef0ecf9840 596 printf("-");
sesa514652 29:1aef0ecf9840 597 Decide4[2]='-';
sesa514652 29:1aef0ecf9840 598 printf( "chosen3 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 599 }
sesa514652 29:1aef0ecf9840 600 if (Scan4[3] > Scan4[4])
sesa514652 29:1aef0ecf9840 601 {
sesa514652 29:1aef0ecf9840 602 printf("+");
sesa514652 29:1aef0ecf9840 603 Decide4[3]= 'x';
sesa514652 29:1aef0ecf9840 604 printf( "chosen 1 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 605 }
sesa514652 29:1aef0ecf9840 606 else if (Scan4[3] = Scan4[4])
sesa514652 29:1aef0ecf9840 607 {
sesa514652 29:1aef0ecf9840 608 printf("=");
sesa514652 29:1aef0ecf9840 609 Decide4[3]='=';
sesa514652 29:1aef0ecf9840 610 printf( "chosen2 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 611 }
sesa514652 29:1aef0ecf9840 612 else if (Scan4[3] < Scan4[4])
sesa514652 29:1aef0ecf9840 613 {
sesa514652 29:1aef0ecf9840 614 printf("-");
sesa514652 29:1aef0ecf9840 615 Decide4[3]='-';
sesa514652 29:1aef0ecf9840 616 printf( "chosen3 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 617 }
sesa514652 29:1aef0ecf9840 618 if (Scan5[0] > Scan5[1])
sesa514652 29:1aef0ecf9840 619 {
sesa514652 29:1aef0ecf9840 620 printf("+");
sesa514652 29:1aef0ecf9840 621 Decide5[0]= 'x';
sesa514652 29:1aef0ecf9840 622 printf( "chosen 1 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 623 }
sesa514652 29:1aef0ecf9840 624 else if (Scan5[0] = Scan5[1])
sesa514652 29:1aef0ecf9840 625 {
sesa514652 29:1aef0ecf9840 626 printf("=");
sesa514652 29:1aef0ecf9840 627 Decide5[0]='=';
sesa514652 29:1aef0ecf9840 628 printf( "chosen2 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 629 }
sesa514652 29:1aef0ecf9840 630 else if (Scan5[0] < Scan5[1])
sesa514652 29:1aef0ecf9840 631 {
sesa514652 29:1aef0ecf9840 632 printf("-");
sesa514652 29:1aef0ecf9840 633 Decide5[0]='-';
sesa514652 29:1aef0ecf9840 634 printf( "chosen3 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 635 }
sesa514652 29:1aef0ecf9840 636 if (Scan5[1] > Scan5[2])
sesa514652 29:1aef0ecf9840 637 {
sesa514652 29:1aef0ecf9840 638 printf("+");
sesa514652 29:1aef0ecf9840 639 Decide5[1]= 'x';
sesa514652 29:1aef0ecf9840 640 printf( "chosen 1 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 641 }
sesa514652 29:1aef0ecf9840 642 else if (Scan5[1] = Scan5[2])
sesa514652 29:1aef0ecf9840 643 {
sesa514652 29:1aef0ecf9840 644 printf("=");
sesa514652 29:1aef0ecf9840 645 Decide5[1]='=';
sesa514652 29:1aef0ecf9840 646 printf( "chosen2 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 647 }
sesa514652 29:1aef0ecf9840 648 else if (Scan5[1] < Scan5[2])
sesa514652 29:1aef0ecf9840 649 {
sesa514652 29:1aef0ecf9840 650 printf("-");
sesa514652 29:1aef0ecf9840 651 Decide5[1]='-';
sesa514652 29:1aef0ecf9840 652 printf( "chosen3 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 653 }
sesa514652 29:1aef0ecf9840 654
sesa514652 29:1aef0ecf9840 655 if (Scan5[2] > Scan5[3])
sesa514652 29:1aef0ecf9840 656 {
sesa514652 29:1aef0ecf9840 657 printf("+");
sesa514652 29:1aef0ecf9840 658 Decide5[2]= 'x';
sesa514652 29:1aef0ecf9840 659 printf( "chosen 1 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 660 }
sesa514652 29:1aef0ecf9840 661 else if (Scan5[2] = Scan5[3])
sesa514652 29:1aef0ecf9840 662 {
sesa514652 29:1aef0ecf9840 663 printf("=");
sesa514652 29:1aef0ecf9840 664 Decide5[2]='=';
sesa514652 29:1aef0ecf9840 665 printf( "chosen2 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 666 }
sesa514652 29:1aef0ecf9840 667 else if (Scan5[2] < Scan5[3])
sesa514652 29:1aef0ecf9840 668 {
sesa514652 29:1aef0ecf9840 669 printf("-");
sesa514652 29:1aef0ecf9840 670 Decide5[2]='-';
sesa514652 29:1aef0ecf9840 671 printf( "chosen3 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 672 }
sesa514652 29:1aef0ecf9840 673 if (Scan5[3] > Scan5[4])
sesa514652 29:1aef0ecf9840 674 {
sesa514652 29:1aef0ecf9840 675 printf("+");
sesa514652 29:1aef0ecf9840 676 Decide5[3]= 'x';
sesa514652 29:1aef0ecf9840 677 printf( "chosen 1 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 678 }
sesa514652 29:1aef0ecf9840 679 else if (Scan5[3] = Scan5[4])
sesa514652 29:1aef0ecf9840 680 {
sesa514652 29:1aef0ecf9840 681 printf("=");
sesa514652 29:1aef0ecf9840 682 Decide5[3]='=';
sesa514652 29:1aef0ecf9840 683 printf( "chosen2 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 684 }
sesa514652 29:1aef0ecf9840 685 else if (Scan5[3] < Scan5[4])
sesa514652 29:1aef0ecf9840 686 {
sesa514652 29:1aef0ecf9840 687 printf("-");
sesa514652 29:1aef0ecf9840 688 Decide5[3]='-';
sesa514652 29:1aef0ecf9840 689 printf( "chosen3 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 690 }
sesa514652 27:d48bf4e8f1a0 691
sesa514652 21:2e37f80e8b5b 692 lcd.refresh();
sesa514652 21:2e37f80e8b5b 693 wait_ms(50);
sesa514652 21:2e37f80e8b5b 694
sesa514652 21:2e37f80e8b5b 695 break;
sesa514652 28:aab0aa846cf6 696
sesa514652 22:82b01fdfc61f 697 //////////////////////////////////////////////////////////////////////////////////////////////////
sesa514652 28:aab0aa846cf6 698 /**
sesa514652 28:aab0aa846cf6 699 *.. When Button A is pressed this section of code is ran to collect data points of the object.
sesa514652 28:aab0aa846cf6 700 *..Scanning takes marks the LCD with locationof points which data has been collected for.
sesa514652 28:aab0aa846cf6 701 */
sesa514652 21:2e37f80e8b5b 702 case 1:
sesa514652 28:aab0aa846cf6 703 g_ButtonAPress =1;
sesa514652 26:8826ed43fad2 704 lcd.clear();
sesa514652 27:d48bf4e8f1a0 705 lcd.printString("First Scan",0,0);
sesa514652 21:2e37f80e8b5b 706 lcd.refresh();
sesa514652 28:aab0aa846cf6 707 Buzzer.play(300,120); lcd.printString("X",0,1); lcd.refresh(); Scan1[0] = sensor.distance();
sesa514652 26:8826ed43fad2 708 wait(2);
sesa514652 26:8826ed43fad2 709 Buzzer.play(200,120); lcd.printString("X",0,2);lcd.refresh(); Scan1[1] = sensor.distance();
sesa514652 26:8826ed43fad2 710 wait(2);
sesa514652 26:8826ed43fad2 711 Buzzer.play(200,120); lcd.printString("X",0,3);lcd.refresh(); Scan1[2] = sensor.distance();
sesa514652 26:8826ed43fad2 712 wait(2);
sesa514652 26:8826ed43fad2 713 Buzzer.play(200,120); lcd.printString("X",0,4);lcd.refresh(); Scan1[3] = sensor.distance();;
sesa514652 26:8826ed43fad2 714 wait(2);
sesa514652 26:8826ed43fad2 715 Buzzer.play(200,120); lcd.printString("X",0,5);lcd.refresh(); Scan1[4] = sensor.distance();;
sesa514652 26:8826ed43fad2 716 wait(2);
sesa514652 28:aab0aa846cf6 717 lcd.printString("Scan 1 Done",0,0); lcd.refresh();
sesa514652 28:aab0aa846cf6 718
sesa514652 26:8826ed43fad2 719 wait(2); // required to stop Black screen issue}
sesa514652 26:8826ed43fad2 720 lcd.clear();lcd.refresh();
sesa514652 28:aab0aa846cf6 721 lcd.printString("Second Scan",0,0);
sesa514652 26:8826ed43fad2 722 lcd.printString("X",0,1),lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 723 Buzzer.play(300,120); lcd.printString("X",15,1); lcd.refresh(); Scan2[0] = sensor.distance();
sesa514652 26:8826ed43fad2 724 wait(2);
sesa514652 26:8826ed43fad2 725 Buzzer.play(200,120); lcd.printString("X",15,2);lcd.refresh(); Scan2[1] = sensor.distance();
sesa514652 26:8826ed43fad2 726 wait(2);
sesa514652 26:8826ed43fad2 727 Buzzer.play(200,120); lcd.printString("X",15,3);lcd.refresh(); Scan2[2] = sensor.distance();
sesa514652 26:8826ed43fad2 728 wait(2);
sesa514652 26:8826ed43fad2 729 Buzzer.play(200,120); lcd.printString("X",15,4);lcd.refresh(); Scan2[3] = sensor.distance();
sesa514652 26:8826ed43fad2 730 wait(2);
sesa514652 26:8826ed43fad2 731 Buzzer.play(200,120); lcd.printString("X",15,5);lcd.refresh(); Scan2[4] = sensor.distance();
sesa514652 26:8826ed43fad2 732 lcd.printString("Scan 2 Done",0,0); lcd.refresh();
sesa514652 28:aab0aa846cf6 733
sesa514652 28:aab0aa846cf6 734 wait(2); // required to stop Black screen issue}
sesa514652 26:8826ed43fad2 735 lcd.clear();lcd.refresh();
sesa514652 28:aab0aa846cf6 736 lcd.printString("Third Scan",0,0);
sesa514652 26:8826ed43fad2 737 lcd.printString("X",0,1),lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 26:8826ed43fad2 738 lcd.printString("X",15,1),lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 739 Buzzer.play(300,120); lcd.printString("X",30,1); lcd.refresh(); Scan3[0] = sensor.distance();
sesa514652 26:8826ed43fad2 740 wait(2);
sesa514652 26:8826ed43fad2 741 Buzzer.play(200,120); lcd.printString("X",30,2);lcd.refresh(); Scan3[1] = sensor.distance();
sesa514652 26:8826ed43fad2 742 wait(2);
sesa514652 26:8826ed43fad2 743 Buzzer.play(200,120); lcd.printString("X",30,3);lcd.refresh(); Scan3[2] = sensor.distance();
sesa514652 26:8826ed43fad2 744 wait(2);
sesa514652 28:aab0aa846cf6 745 Buzzer.play(200,120); lcd.printString("X",30,4);lcd.refresh(); Scan3[3] = sensor.distance();
sesa514652 26:8826ed43fad2 746 wait(2);
sesa514652 28:aab0aa846cf6 747 Buzzer.play(200,120); lcd.printString("X",30,5);lcd.refresh(); Scan3[4] = sensor.distance();
sesa514652 28:aab0aa846cf6 748 lcd.printString("Scan 3 Done",0,0); lcd.refresh();
sesa514652 28:aab0aa846cf6 749
sesa514652 28:aab0aa846cf6 750 wait(2); // required to stop Black screen issue}
sesa514652 28:aab0aa846cf6 751 lcd.printString("Fourth Scan",0,0);
sesa514652 26:8826ed43fad2 752 lcd.printString("X",0,1),lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 26:8826ed43fad2 753 lcd.printString("X",15,1),lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 754 lcd.printString("X",30,1),lcd.printString("X",30,2),lcd.printString("X",30,3),lcd.printString("X",30,4),lcd.printString("X",30,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 755 Buzzer.play(300,120); lcd.printString("X",45,1); lcd.refresh(); Scan4[0] = sensor.distance();
sesa514652 26:8826ed43fad2 756 wait(2);
sesa514652 26:8826ed43fad2 757 Buzzer.play(200,120); lcd.printString("X",45,2);lcd.refresh(); Scan4[1] = sensor.distance();
sesa514652 26:8826ed43fad2 758 wait(2);
sesa514652 26:8826ed43fad2 759 Buzzer.play(200,120); lcd.printString("X",45,3);lcd.refresh(); Scan4[2] = sensor.distance();
sesa514652 26:8826ed43fad2 760 wait(2);
sesa514652 28:aab0aa846cf6 761 Buzzer.play(200,120); lcd.printString("X",45,4);lcd.refresh(); Scan4[3] = sensor.distance();
sesa514652 26:8826ed43fad2 762 wait(2);
sesa514652 28:aab0aa846cf6 763 Buzzer.play(200,120); lcd.printString("X",45,5);lcd.refresh(); Scan4[4] = sensor.distance();
sesa514652 28:aab0aa846cf6 764 lcd.printString("Scan 4 Done",0,0); lcd.refresh();
sesa514652 28:aab0aa846cf6 765
sesa514652 28:aab0aa846cf6 766 wait(2);
sesa514652 28:aab0aa846cf6 767 lcd.printString("Fifth Scan",0,0);
sesa514652 28:aab0aa846cf6 768 lcd.printString("X",0,1),lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 26:8826ed43fad2 769 lcd.printString("X",15,1),lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 770 lcd.printString("X",30,1),lcd.printString("X",30,2),lcd.printString("X",30,3),lcd.printString("X",30,4),lcd.printString("X",30,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 771 lcd.printString("X",45,1),lcd.printString("X",45,2),lcd.printString("X",45,3),lcd.printString("X",45,4),lcd.printString("X",45,5); lcd.refresh();
sesa514652 28:aab0aa846cf6 772 Buzzer.play(300,120); lcd.printString("X",60,1); lcd.refresh(); Scan3[0] = sensor.distance();
sesa514652 26:8826ed43fad2 773 wait(2);
sesa514652 26:8826ed43fad2 774 Buzzer.play(200,120); lcd.printString("X",60,2);lcd.refresh(); Scan3[1] = sensor.distance();
sesa514652 26:8826ed43fad2 775 wait(2);
sesa514652 26:8826ed43fad2 776 Buzzer.play(200,120); lcd.printString("X",60,3);lcd.refresh(); Scan3[2] = sensor.distance();
sesa514652 26:8826ed43fad2 777 wait(2);
sesa514652 28:aab0aa846cf6 778 Buzzer.play(200,120); lcd.printString("X",60,4);lcd.refresh(); Scan3[3] = sensor.distance();
sesa514652 26:8826ed43fad2 779 wait(2);
sesa514652 28:aab0aa846cf6 780 Buzzer.play(200,120); lcd.printString("X",60,5);lcd.refresh(); Scan3[4] = sensor.distance();
sesa514652 28:aab0aa846cf6 781 lcd.printString("Scan 5 Done",0,0); lcd.refresh();
sesa514652 28:aab0aa846cf6 782 g_ButtonAPress=0;
sesa514652 27:d48bf4e8f1a0 783
sesa514652 20:4e1f2917a857 784 break;
sesa514652 22:82b01fdfc61f 785 ////////////////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 786 case 2:
sesa514652 28:aab0aa846cf6 787 g_ButtonAPress= 2;
sesa514652 22:82b01fdfc61f 788 long secondScan[10];
sesa514652 22:82b01fdfc61f 789
sesa514652 22:82b01fdfc61f 790 secondScan[5] = sensor.distance();
sesa514652 22:82b01fdfc61f 791 printf("Distance : %d cm", secondScan[5]);
sesa514652 22:82b01fdfc61f 792 lcd.clear();
sesa514652 22:82b01fdfc61f 793 lcd.printString("2nd Scan up down",0,0);
sesa514652 22:82b01fdfc61f 794 lcd.drawLine(0,10,80,10,2);
sesa514652 20:4e1f2917a857 795 break;
sesa514652 22:82b01fdfc61f 796 ////////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 797 case 3:
sesa514652 28:aab0aa846cf6 798 g_ButtonAPress= 3;
sesa514652 20:4e1f2917a857 799 lcd.clear();
sesa514652 20:4e1f2917a857 800 lcd.printString("Menu 3",0,0);
sesa514652 21:2e37f80e8b5b 801 long us = sensor.distance();
sesa514652 21:2e37f80e8b5b 802 printf("Distance : %d cm",us);
sesa514652 20:4e1f2917a857 803 lcd.refresh();
sesa514652 20:4e1f2917a857 804 wait_ms(50); //required to stop Black screen issue
sesa514652 20:4e1f2917a857 805 break;
sesa514652 20:4e1f2917a857 806 }
sesa514652 20:4e1f2917a857 807
sesa514652 20:4e1f2917a857 808 }
sesa514652 23:f72175fb49ed 809
sesa514652 20:4e1f2917a857 810 /*
sesa514652 11:1dec05b7d1c1 811 int button_counter;
sesa514652 10:42e70b596099 812 if (g_buttonA_flag){
sesa514652 11:1dec05b7d1c1 813 button_counter = button_counter +1;
sesa514652 11:1dec05b7d1c1 814 //case (test)
sesa514652 10:42e70b596099 815 g_buttonA_flag = 0; // if it has, clear the flag
sesa514652 10:42e70b596099 816
sesa514652 10:42e70b596099 817 // send message over serial port - can observe in CoolTerm etc.
sesa514652 11:1dec05b7d1c1 818 printf("Button A pressed %f\n", button_counter);
sesa514652 10:42e70b596099 819 }
sesa514652 10:42e70b596099 820 if (g_buttonB_flag){
sesa514652 10:42e70b596099 821 g_buttonB_flag = 0; // if it has, clear the flag
sesa514652 8:770d168713cc 822
sesa514652 10:42e70b596099 823 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 824 printf("Button B pressed\n");
sesa514652 10:42e70b596099 825 }
sesa514652 10:42e70b596099 826 if (g_buttonX_flag){
sesa514652 10:42e70b596099 827 g_buttonX_flag = 0; // if it has, clear the flag
sesa514652 12:ceea378d5691 828 // swap direction when button has been pressed
sesa514652 12:ceea378d5691 829 // (could just use ! but want this to be explicit to aid understanding)
sesa514652 12:ceea378d5691 830 if (direction == UP) {
sesa514652 12:ceea378d5691 831 direction = DOWN;
sesa514652 12:ceea378d5691 832 }
sesa514652 12:ceea378d5691 833 else {
sesa514652 12:ceea378d5691 834 direction = UP;
sesa514652 12:ceea378d5691 835 }
sesa514652 10:42e70b596099 836
sesa514652 10:42e70b596099 837 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 838 printf("Button X pressed\n");
sesa514652 10:42e70b596099 839 lcd.clear();
sesa514652 10:42e70b596099 840 lcd.printString("Button Pressed!",0,0);
sesa514652 10:42e70b596099 841 lcd.refresh();
sesa514652 11:1dec05b7d1c1 842 wait(1);
sesa514652 10:42e70b596099 843 }
sesa514652 10:42e70b596099 844 if (g_buttonY_flag){
sesa514652 10:42e70b596099 845 g_buttonY_flag = 0; // if it has, clear the flag
sesa514652 10:42e70b596099 846
sesa514652 10:42e70b596099 847 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 848 printf("Button Y pressed\n");
sesa514652 10:42e70b596099 849 }
sesa514652 5:9b2c976ca318 850 Buzzer.play(200,120);
sesa514652 5:9b2c976ca318 851 wait_ms(5);
sesa514652 5:9b2c976ca318 852 Buzzer.play(200,120);
sesa514652 1:757728321abd 853 long distanced = sensor.distance();
sesa514652 1:757728321abd 854 if (distanced >= 400 || distanced <= 2)
sesa514652 5:9b2c976ca318 855 {
sesa514652 1:757728321abd 856 printf("Out of range");
sesa514652 5:9b2c976ca318 857 //Calling dummy function 05/01/22
sesa514652 4:167ce930c9d5 858 int answer = cube(2);
sesa514652 5:9b2c976ca318 859 printf("%f\n",answer);
sesa514652 1:757728321abd 860 wait(1.0);
sesa514652 5:9b2c976ca318 861 }
sesa514652 5:9b2c976ca318 862 else
sesa514652 5:9b2c976ca318 863 {
sesa514652 5:9b2c976ca318 864 printf("Distance : %d cm",distanced);
sesa514652 5:9b2c976ca318 865 wait(1.0); // 1 sec
sesa514652 1:757728321abd 866 }
sesa514652 5:9b2c976ca318 867 lcd.drawCircle(WIDTH/2,HEIGHT/2,distanced,FILL_BLACK);
sesa514652 5:9b2c976ca318 868 //lcd.refresh must be used to update the lcd Display
sesa514652 5:9b2c976ca318 869 lcd.refresh();
sesa514652 5:9b2c976ca318 870 wait(5.0);
sesa514652 5:9b2c976ca318 871 //these are default settings so not strictly needed
sesa514652 0:1f799c7cce2b 872 lcd.normalMode(); // normal colour mode
sesa514652 5:9b2c976ca318 873 lcd.setBrightness(0.5); // put LED backlight on 50%
sesa514652 0:1f799c7cce2b 874 lcd.clear();
sesa514652 0:1f799c7cce2b 875 lcd.printString("Hello, World!",0,0);
sesa514652 0:1f799c7cce2b 876 Vector2D coord = joystick.get_coord();
sesa514652 0:1f799c7cce2b 877 lcd.refresh();
sesa514652 0:1f799c7cce2b 878 printf("Coord = %f,%f\n",coord.x,coord.y);
sesa514652 0:1f799c7cce2b 879 char buffer[14];
sesa514652 0:1f799c7cce2b 880 Vector2D mapped_coord = joystick.get_mapped_coord();
sesa514652 0:1f799c7cce2b 881 printf("Mapped coord = %f,%f\n",mapped_coord.x,mapped_coord.y);
sesa514652 0:1f799c7cce2b 882
sesa514652 5:9b2c976ca318 883 int length = sprintf(buffer,"T = %2f",coord.x);
sesa514652 5:9b2c976ca318 884 //it is important the format specifier ensures the length will fit in the buffer
sesa514652 0:1f799c7cce2b 885 if (length <= 14) // if string will fit on display (assuming printing at x=0)
sesa514652 5:9b2c976ca318 886 lcd.printString(buffer,0,1); // display on screen
sesa514652 0:1f799c7cce2b 887 lcd.refresh();
sesa514652 5:9b2c976ca318 888 lcd.clear();
sesa514652 5:9b2c976ca318 889 //times by 50 to try get the point moving across screen
sesa514652 0:1f799c7cce2b 890 float x50 = mapped_coord.x*5;
sesa514652 0:1f799c7cce2b 891 float y50 = mapped_coord.y*8;
sesa514652 5:9b2c976ca318 892 //to see what the values are
sesa514652 5:9b2c976ca318 893 printf(" *50 = %f,%f\n",x50,y50);
sesa514652 5:9b2c976ca318 894 //example of how to draw circles
sesa514652 1:757728321abd 895 lcd.printChar('o',WIDTH/2,HEIGHT/2);
sesa514652 5:9b2c976ca318 896 lcd.refresh();
sesa514652 0:1f799c7cce2b 897 float mag = joystick.get_mag();
sesa514652 0:1f799c7cce2b 898 float angle = joystick.get_angle();
sesa514652 0:1f799c7cce2b 899 printf("Mag = %f Angle = %f\n",mag,angle);
sesa514652 0:1f799c7cce2b 900 Direction d = joystick.get_direction();
sesa514652 0:1f799c7cce2b 901 printf("Direction = %i\n",d);
sesa514652 0:1f799c7cce2b 902 if (joystick.button_pressed() ) {
sesa514652 0:1f799c7cce2b 903 printf("Button Pressed\n");
sesa514652 9:cdd7d9a123f9 904 wait(5);
sesa514652 0:1f799c7cce2b 905 }
sesa514652 8:770d168713cc 906
sesa514652 8:770d168713cc 907 }
sesa514652 16:2646c1c4e62e 908 }
sesa514652 20:4e1f2917a857 909 */
sesa514652 23:f72175fb49ed 910 }
sesa514652 18:bb36d96142dd 911
sesa514652 18:bb36d96142dd 912 int buttonCountA(){
sesa514652 28:aab0aa846cf6 913 g_ButtonAPress++;
sesa514652 28:aab0aa846cf6 914 if (g_ButtonAPress>3){
sesa514652 28:aab0aa846cf6 915 g_ButtonAPress= 0;
sesa514652 18:bb36d96142dd 916 }
sesa514652 28:aab0aa846cf6 917 return g_ButtonAPress;
sesa514652 18:bb36d96142dd 918 }
sesa514652 18:bb36d96142dd 919 int buttonCountB(){
sesa514652 28:aab0aa846cf6 920 g_ButtonBPress++;
sesa514652 28:aab0aa846cf6 921 if (g_ButtonBPress>3){
sesa514652 28:aab0aa846cf6 922 g_ButtonBPress= 0;
sesa514652 18:bb36d96142dd 923 }
sesa514652 28:aab0aa846cf6 924 return g_ButtonBPress;
sesa514652 18:bb36d96142dd 925 }
sesa514652 15:234321e80678 926
sesa514652 12:ceea378d5691 927 //Button A event-triggered interrupt
sesa514652 10:42e70b596099 928 void buttonA_isr()
sesa514652 10:42e70b596099 929 {
sesa514652 12:ceea378d5691 930
sesa514652 18:bb36d96142dd 931 long distanced = sensor.distance();
sesa514652 18:bb36d96142dd 932 buttonCountA();
sesa514652 18:bb36d96142dd 933
sesa514652 16:2646c1c4e62e 934
sesa514652 12:ceea378d5691 935
sesa514652 12:ceea378d5691 936 g_buttonA_flag = 1; // set flag in ISR
sesa514652 12:ceea378d5691 937
sesa514652 28:aab0aa846cf6 938 printf("press count = %i\n",g_ButtonAPress);
sesa514652 12:ceea378d5691 939
sesa514652 12:ceea378d5691 940 // lcd.clear();
sesa514652 15:234321e80678 941 //lcd.printString("Button A Pressed",0,0);
sesa514652 12:ceea378d5691 942
sesa514652 15:234321e80678 943 // lcd.refresh(); // set flag in ISR
sesa514652 12:ceea378d5691 944 }
sesa514652 12:ceea378d5691 945
sesa514652 11:1dec05b7d1c1 946
sesa514652 10:42e70b596099 947 //Button B event-triggered interrupt
sesa514652 10:42e70b596099 948 void buttonB_isr()
sesa514652 10:42e70b596099 949 {
sesa514652 18:bb36d96142dd 950 buttonCountB();
sesa514652 10:42e70b596099 951 g_buttonB_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 952 lcd.clear();
sesa514652 11:1dec05b7d1c1 953 lcd.printString("Button B Pressed",0,0);
sesa514652 27:d48bf4e8f1a0 954
sesa514652 11:1dec05b7d1c1 955 lcd.refresh(); // set flag in ISR
sesa514652 28:aab0aa846cf6 956 printf("press count = %i\n",g_ButtonBPress);
sesa514652 10:42e70b596099 957 }
sesa514652 10:42e70b596099 958 //Button X event-triggered interrupt
sesa514652 10:42e70b596099 959 void buttonX_isr()
sesa514652 10:42e70b596099 960 {
sesa514652 10:42e70b596099 961 g_buttonX_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 962 lcd.clear();
sesa514652 11:1dec05b7d1c1 963 lcd.printString("Button X Pressed",0,0);
sesa514652 11:1dec05b7d1c1 964 lcd.refresh(); // set flag in ISR
sesa514652 10:42e70b596099 965 }
sesa514652 10:42e70b596099 966 //Button Y event-triggered interrupt
sesa514652 10:42e70b596099 967 void buttonY_isr()
sesa514652 10:42e70b596099 968 {
sesa514652 10:42e70b596099 969 g_buttonY_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 970 lcd.clear();
sesa514652 11:1dec05b7d1c1 971 lcd.printString("Button Y Pressed",0,0);
sesa514652 11:1dec05b7d1c1 972 lcd.refresh(); // set flag in ISR
sesa514652 10:42e70b596099 973 }
sesa514652 11:1dec05b7d1c1 974 //Button Start event-triggered interrupt
sesa514652 11:1dec05b7d1c1 975 void buttonStart_isr()
sesa514652 11:1dec05b7d1c1 976 {
sesa514652 11:1dec05b7d1c1 977 g_buttonStart_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 978 lcd.clear();
sesa514652 11:1dec05b7d1c1 979 lcd.printString("Button Start Pressed",0,0);
sesa514652 11:1dec05b7d1c1 980 lcd.refresh(); // set flag in ISR
sesa514652 29:1aef0ecf9840 981
sesa514652 11:1dec05b7d1c1 982 }
sesa514652 11:1dec05b7d1c1 983 //Button Back event-triggered interrupt
sesa514652 11:1dec05b7d1c1 984 void buttonBack_isr()
sesa514652 11:1dec05b7d1c1 985 {
sesa514652 11:1dec05b7d1c1 986 g_buttonBack_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 987 lcd.clear();
sesa514652 11:1dec05b7d1c1 988 lcd.printString("Button Back Pressed",0,0);
sesa514652 11:1dec05b7d1c1 989 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 990 }
sesa514652 11:1dec05b7d1c1 991 //Button Left event-triggered interrupt
sesa514652 11:1dec05b7d1c1 992 void buttonLeft_isr()
sesa514652 11:1dec05b7d1c1 993 {
sesa514652 11:1dec05b7d1c1 994 g_buttonLeft_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 995 lcd.clear();
sesa514652 11:1dec05b7d1c1 996 lcd.printString("Button Left Pressed",0,0);
sesa514652 11:1dec05b7d1c1 997 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 998 }
sesa514652 11:1dec05b7d1c1 999 //Button Right event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1000 void buttonRight_isr()
sesa514652 11:1dec05b7d1c1 1001 {
sesa514652 11:1dec05b7d1c1 1002 g_buttonRight_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1003 lcd.clear();
sesa514652 11:1dec05b7d1c1 1004 lcd.printString("Button Right Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1005 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 1006 }