Coursework

Revision:
43:c58a59e081eb
Parent:
42:960c132136d9
Child:
44:5d8fab3e055f
diff -r 960c132136d9 -r c58a59e081eb main.cpp
--- a/main.cpp	Fri Feb 04 14:47:08 2022 +0000
+++ b/main.cpp	Fri Feb 04 14:47:43 2022 +0000
@@ -1,14 +1,14 @@
 /**
 *.....Kory Hamill
 *.....IOT Smart Electronics Coursework
-*.....Acknowlegements Libary Makers 
+*.....Acknowlegements Libary Makers
 *.....18689004
 */
 /**
 * Section of code to bring in the #includes
-* TO DO : 
-* Debounce Issue 
-* Second Button Press B menu take from switch of A to own switch 
+* TO DO :
+* Debounce Issue
+* Second Button Press B menu take from switch of A to own switch
 
 */
 #include "mbed.h"
@@ -35,13 +35,13 @@
 volatile int LoopCountScan4;
 volatile int LoopCountScan5;
 volatile int LoopCountScan6;
-volatile int g_buttonA_flag = 0; 
-volatile int g_buttonB_flag = 0; 
-volatile int g_buttonX_flag = 0; 
-volatile int g_buttonY_flag = 0; 
-volatile int g_buttonStart_flag = 0; 
-volatile int g_buttonBack_flag = 0; 
-volatile int g_buttonLeft_flag = 0; 
+volatile int g_buttonA_flag = 0;
+volatile int g_buttonB_flag = 0;
+volatile int g_buttonX_flag = 0;
+volatile int g_buttonY_flag = 0;
+volatile int g_buttonStart_flag = 0;
+volatile int g_buttonBack_flag = 0;
+volatile int g_buttonLeft_flag = 0;
 volatile int g_buttonRight_flag = 0;
 volatile int wallTotal;
 volatile int boxTotal;
@@ -50,14 +50,14 @@
 /**
 *..Bring in 5 arrays of 5 for each of the 5 required scans.
 *..array Ref starts at 0,
-*/ 
+*/
 volatile     int Scan1[5];
 /* no longer required
 volatile     int Scan2[5];
 volatile     int Scan3[5];
 volatile     int Scan4[5];
 volatile     int Scan5[5];
-volatile     int wall[5];  
+volatile     int wall[5];
 */
 /**
 *... Section of code to assign names to IO pins on the K64f
@@ -71,23 +71,23 @@
 InterruptIn buttonLeft(PTB18);
 InterruptIn buttonRight(PTB3);
 //Joystick joystick(PTB10,PTB11,PTC16); Not used in project
-HCSR04 sensor(D14, D15); 
+HCSR04 sensor(D14, D15);
 Piezo Buzzer(PTC10);
 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
- 
+
 /**
 *...For used with the LCD Screen. rows,cols
 */
 int sprite[8][5] =   {
-           { 0,0,1,0,0 },
-           { 0,1,1,1,0 },
-           { 0,0,1,0,0 },
-           { 0,1,1,1,0 },
-           { 1,1,1,1,1 },
-           { 1,1,1,1,1 },
-           { 1,1,0,1,1 },
-           { 1,1,0,1,1 },
-                       };
+    { 0,0,1,0,0 },
+    { 0,1,1,1,0 },
+    { 0,0,1,0,0 },
+    { 0,1,1,1,0 },
+    { 1,1,1,1,1 },
+    { 1,1,1,1,1 },
+    { 1,1,0,1,1 },
+    { 1,1,0,1,1 },
+};
 /**
 *...Section for starting the board and seeting up interrupt routines
 *...Along with other functions to be called later
@@ -135,10 +135,10 @@
 int page1;
 int page2;
 int page3;
-string Listitem1 = "Game"; // 
-string Listitem2 = "Measure"; // 
-string Listitem3 = "Detect"; // 
-/ Test of the interup an operating the buzzer this kills the board 
+string Listitem1 = "Game"; //
+string Listitem2 = "Measure"; //
+string Listitem3 = "Detect"; //
+/ Test of the interup an operating the buzzer this kills the board
  void buzzme(){
         Buzzer.play(200,120);
             wait_ms(5);
@@ -146,7 +146,7 @@
  }
        int Scan1[5];
        int Scan2[5];
-        int Scan1Input(){;        
+        int Scan1Input(){;
          Scan1[0] = sensor.distance();
          Scan1[1] = sensor.distance();;
          Scan1[2] = sensor.distance();;
@@ -158,7 +158,7 @@
   //    return num*num;
   //    };
  */
- /*
+/*
 bool Equal(int ar1[],int ar2[], int n, int m){
 if(n!=m)
 return false;
@@ -169,54 +169,55 @@
 return false;
 return true;
 }*/
-/* Problems with this and Being exact and repeatable 
+/* Problems with this and Being exact and repeatable
 bool MatchMade(int arr1[], int arr2[], int n, int m)
 {
     // If lengths of array are not equal means
     // array are not equal
     if (n != m)
         return false;
- 
+
     // Sort both arrays
     sort(arr1, arr1 + n);
     sort(arr2, arr2 + m);
- 
+
     // Linearly compare elements
     for (int i = 0; i < n; i++)
         if (arr1[i] != arr2[i])
             return false;
-        
- 
+
+
     // If all elements were same.
     return true;
     */
 
-int main() {
-       
+int main()
+{
+
 
-/**
-*.. Intialise joystick and Lcd
-*/
-     //  joystick.init(); not used in project
-            lcd.init();
-  lcd.setContrast(0.5);
-/**
-*.. Issues were found with the LCd and printf while using interrupts,  to get around
-*.. this issue these queue's to the event thread were added.
-*/
-  Thread eventThread;
-  eventThread.start(callback(&queue, &EventQueue::dispatch_forever)); 
-  buttonA.rise(queue.event(&buttonA_isr)); 
-  buttonB.rise(queue.event(&buttonB_isr));
-  buttonX.rise(queue.event(&buttonX_isr));
-  buttonY.rise(queue.event(&buttonY_isr));
-  buttonStart.rise(queue.event(&buttonStart_isr)); 
-  buttonBack.rise(queue.event(&buttonBack_isr));
-  buttonLeft.rise(queue.event(&buttonLeft_isr));
-  buttonRight.rise(queue.event(&buttonRight_isr));
-  /**
-  *..Buttons were connected to IO pins which required a pull down resistor to be active.
-  */
+    /**
+    *.. Intialise joystick and Lcd
+    */
+    //  joystick.init(); not used in project
+    lcd.init();
+    lcd.setContrast(0.5);
+    /**
+    *.. Issues were found with the LCd and printf while using interrupts,  to get around
+    *.. this issue these queue's to the event thread were added.
+    */
+    Thread eventThread;
+    eventThread.start(callback(&queue, &EventQueue::dispatch_forever));
+    buttonA.rise(queue.event(&buttonA_isr));
+    buttonB.rise(queue.event(&buttonB_isr));
+    buttonX.rise(queue.event(&buttonX_isr));
+    buttonY.rise(queue.event(&buttonY_isr));
+    buttonStart.rise(queue.event(&buttonStart_isr));
+    buttonBack.rise(queue.event(&buttonBack_isr));
+    buttonLeft.rise(queue.event(&buttonLeft_isr));
+    buttonRight.rise(queue.event(&buttonRight_isr));
+    /**
+    *..Buttons were connected to IO pins which required a pull down resistor to be active.
+    */
     buttonA.mode(PullDown);
     buttonB.mode(PullDown);
     buttonX.mode(PullDown);
@@ -225,76 +226,76 @@
     buttonBack.mode(PullDown);
     buttonLeft.mode(PullDown);
     buttonRight.mode(PullDown);
-       
-/**
-*.. Section of code not used in main program.
-*
-Buzzer.period(10.0f);
-//Buzzer.pulsewidth(1);   
-Test Struct after research 05/01/22
-struct ObjectDefine{
-int qwer;
-    float  Distance;
-    char te;
-    double dubs;
- string namestruct;
-   // string ;
-};
-// Test Class 06/01/22
-   class myClass{
-   public:
-   string nameclass ;
-   double dubss;
-   int inty;
-   };
-   myClass Class1;
-   Class1.nameclass ="firstclass";
-   ObjectDefine Object1;
-   Object1.qwer = 12;
-   Object1.Distance = 34;
-   Object1.te = 'A';
-   Object1.dubs = 23;
-   Object1.namestruct = "name";
-*/ 
 
-/*
-    int ar1[]= {2,3,4,5};
-    int ar2[] = {2,3,4,5};
-    int n = sizeof(ar1);
-    int m = sizeof(ar2);
-    if(Equal(ar1,ar2,n,m)){
-    printf("TRUEEEEEEEEEEEEEEEEEEE\n");}
-    else {printf("Falseeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddd\n");}
-    
-    
-    
-    
+    /**
+    *.. Section of code not used in main program.
+    *
+    Buzzer.period(10.0f);
+    //Buzzer.pulsewidth(1);
+    Test Struct after research 05/01/22
+    struct ObjectDefine{
+    int qwer;
+        float  Distance;
+        char te;
+        double dubs;
+     string namestruct;
+       // string ;
+    };
+    // Test Class 06/01/22
+       class myClass{
+       public:
+       string nameclass ;
+       double dubss;
+       int inty;
+       };
+       myClass Class1;
+       Class1.nameclass ="firstclass";
+       ObjectDefine Object1;
+       Object1.qwer = 12;
+       Object1.Distance = 34;
+       Object1.te = 'A';
+       Object1.dubs = 23;
+       Object1.namestruct = "name";
     */
 
- 
-            
-    
-    
-printf("I SHOULD HAVE BEEN PRINTED !!!!!");
+    /*
+        int ar1[]= {2,3,4,5};
+        int ar2[] = {2,3,4,5};
+        int n = sizeof(ar1);
+        int m = sizeof(ar2);
+        if(Equal(ar1,ar2,n,m)){
+        printf("TRUEEEEEEEEEEEEEEEEEEE\n");}
+        else {printf("Falseeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddd\n");}
+
+
+
+
+        */
+
+
+
+
 
-    while(1) {  
-    
-/**
-*.. It was found Cout was not working as expected.
- cout << "Test value collection";
-Scan1Input();    
-    
-cout << Scan1[0];cout <<"/n";
-cout << Scan1[1];"/n";
-cout << Scan1[2];"/n";
-cout << Scan1[3];"/n";
-cout << Scan1[4];"/n";
-cout << Scan1[5];"/n";
-cout << Scan1[6];"/n";
-cout << Scan1[7];"/n";
-cout << Scan1[8];"/n";
-cout << Scan1[9];"/n";
-*//* Removing from coolterm printout
+    printf("I SHOULD HAVE BEEN PRINTED !!!!!");
+
+    while(1) {
+
+        /**
+        *.. It was found Cout was not working as expected.
+         cout << "Test value collection";
+        Scan1Input();
+
+        cout << Scan1[0];cout <<"/n";
+        cout << Scan1[1];"/n";
+        cout << Scan1[2];"/n";
+        cout << Scan1[3];"/n";
+        cout << Scan1[4];"/n";
+        cout << Scan1[5];"/n";
+        cout << Scan1[6];"/n";
+        cout << Scan1[7];"/n";
+        cout << Scan1[8];"/n";
+        cout << Scan1[9];"/n";
+        *//* Removing from coolterm printout
 printf("Debug : LoopCount1 : %i\n",LoopCountScan1);
 printf("Debug : LoopCount2 : %i\n",LoopCountScan2);
 printf("Debug : LoopCount3 : %i\n",LoopCountScan3);
@@ -302,932 +303,947 @@
 printf("Debug : LoopCount5 : %i\n",LoopCountScan5);
 printf("press count = %i\n",g_ButtonAPress);
 */
- printf("Scan1 1 :  %d cm\n", Scan1[0]);
-  printf("Scan1 2 :  %d cm\n", Scan1[1]);
-   printf("Scan1 3 :  %d cm\n", Scan1[2]);
-     printf("Scan1 4 :  %d cm\n", Scan1[3]);
-      printf("Scan1 5 :  %d cm\n", Scan1[4]);
-      /* NO longer Reuired Section
-printf("Scan2 1 :  %d cm\n", Scan2[0]);
-  printf("Scan2 2 :  %d cm\n", Scan2[1]);
-   printf("Scan2 3 :  %d cm\n", Scan2[2]);
-     printf("Scan2 4 :  %d cm\n", Scan2[3]);
-      printf("Scan2 5 :  %d cm\n", Scan2[4]);
- printf("Scan3 1 :  %d cm\n", Scan3[0]);
-  printf("Scan3 2 :  %d cm\n", Scan3[1]);
-   printf("Scan3 3 :  %d cm\n", Scan3[2]);
-     printf("Scan3 4 :  %d cm\n", Scan3[3]);
-      printf("Scan3 5 :  %d cm\n", Scan3[4]);
- printf("Scan4 1 :  %d cm\n", Scan4[0]);
-  printf("Scan4 2 :  %d cm\n", Scan4[1]);
-   printf("Scan4 3 :  %d cm\n", Scan4[2]);
-     printf("Scan4 4 :  %d cm\n", Scan4[3]);
-      printf("Scan4 5 :  %d cm\n", Scan4[4]);
- printf("Scan5 1 :  %d cm\n", Scan5[0]);
-  printf("Scan5 2 :  %d cm\n", Scan5[1]);
-   printf("Scan5 3 :  %d cm\n", Scan5[2]);
-     printf("Scan5 4 :  %d cm\n", Scan5[3]);
-      printf("Scan5 5 :  %d cm\n", Scan5[4]);  
-      */         
- printf("I always Get printed \n");
-     //   cout << Scan1[2];
-       // cout << Scan1[6];
-printf("I Should Be printed always \n"); 
-/**
-*..Code section on Comparing data Cout was causing issue
-*
-                if (Scan1[1] > Scan1[2]){
-            cout <<'+';
-            }else if (Scan1[1]=Scan1[2]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                      if (Scan1[2] > Scan1[3]){
-            cout <<'+';
-            }else if (Scan1[2]=Scan1[3]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                
-                      if (Scan1[3] > Scan1[4]){
-            cout <<'+';
-            }else if (Scan1[3]=Scan1[4]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                      if (Scan1[4] > Scan1[5]){
-            cout <<'+';
-            }else if (Scan1[4]=Scan1[5]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                             if (Scan1[5] > Scan1[6]){
-            cout <<'+';
-            }else if (Scan1[5]=Scan1[6]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                if (Scan1[6] > Scan1[7]){
-            cout <<'+';
-            }else if (Scan1[6]=Scan1[7]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                      if (Scan1[7] > Scan1[8]){
-            cout <<'+';
-            }else if (Scan1[7]=Scan1[8]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                
-                      if (Scan1[8] > Scan1[9]){
-            cout <<'+';
-            }else if (Scan1[8]=Scan1[9]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-                      if (Scan1[9] > Scan1[10]){
-            cout <<'+';
-            }else if (Scan1[9]=Scan1[10]){
-            cout <<'=';}
-            else {
-                cout <<'-';}
-*/
-        
+        printf("Scan1 1 :  %d cm\n", Scan1[0]);
+        printf("Scan1 2 :  %d cm\n", Scan1[1]);
+        printf("Scan1 3 :  %d cm\n", Scan1[2]);
+        printf("Scan1 4 :  %d cm\n", Scan1[3]);
+        printf("Scan1 5 :  %d cm\n", Scan1[4]);
+        /* NO longer Reuired Section
+        printf("Scan2 1 :  %d cm\n", Scan2[0]);
+        printf("Scan2 2 :  %d cm\n", Scan2[1]);
+        printf("Scan2 3 :  %d cm\n", Scan2[2]);
+        printf("Scan2 4 :  %d cm\n", Scan2[3]);
+        printf("Scan2 5 :  %d cm\n", Scan2[4]);
+        printf("Scan3 1 :  %d cm\n", Scan3[0]);
+        printf("Scan3 2 :  %d cm\n", Scan3[1]);
+        printf("Scan3 3 :  %d cm\n", Scan3[2]);
+        printf("Scan3 4 :  %d cm\n", Scan3[3]);
+        printf("Scan3 5 :  %d cm\n", Scan3[4]);
+        printf("Scan4 1 :  %d cm\n", Scan4[0]);
+        printf("Scan4 2 :  %d cm\n", Scan4[1]);
+        printf("Scan4 3 :  %d cm\n", Scan4[2]);
+        printf("Scan4 4 :  %d cm\n", Scan4[3]);
+        printf("Scan4 5 :  %d cm\n", Scan4[4]);
+        printf("Scan5 1 :  %d cm\n", Scan5[0]);
+        printf("Scan5 2 :  %d cm\n", Scan5[1]);
+        printf("Scan5 3 :  %d cm\n", Scan5[2]);
+        printf("Scan5 4 :  %d cm\n", Scan5[3]);
+        printf("Scan5 5 :  %d cm\n", Scan5[4]);
+        */
+        printf("I always Get printed \n");
+        //   cout << Scan1[2];
+        // cout << Scan1[6];
+        printf("I Should Be printed always \n");
+        /**
+        *..Code section on Comparing data Cout was causing issue
+        *
+                        if (Scan1[1] > Scan1[2]){
+                    cout <<'+';
+                    }else if (Scan1[1]=Scan1[2]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+                              if (Scan1[2] > Scan1[3]){
+                    cout <<'+';
+                    }else if (Scan1[2]=Scan1[3]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+
+                              if (Scan1[3] > Scan1[4]){
+                    cout <<'+';
+                    }else if (Scan1[3]=Scan1[4]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+                              if (Scan1[4] > Scan1[5]){
+                    cout <<'+';
+                    }else if (Scan1[4]=Scan1[5]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+                                     if (Scan1[5] > Scan1[6]){
+                    cout <<'+';
+                    }else if (Scan1[5]=Scan1[6]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+                        if (Scan1[6] > Scan1[7]){
+                    cout <<'+';
+                    }else if (Scan1[6]=Scan1[7]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+                              if (Scan1[7] > Scan1[8]){
+                    cout <<'+';
+                    }else if (Scan1[7]=Scan1[8]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+
+                              if (Scan1[8] > Scan1[9]){
+                    cout <<'+';
+                    }else if (Scan1[8]=Scan1[9]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+                              if (Scan1[9] > Scan1[10]){
+                    cout <<'+';
+                    }else if (Scan1[9]=Scan1[10]){
+                    cout <<'=';}
+                    else {
+                        cout <<'-';}
+        */
+
 /////////////////////////////////////////////////////////////////////////////////////////////////////
-/**
-*..Initial state when starting the Board.
-*/
-        switch(g_ButtonAPress){
-     default:
-     lcd.clear();   
-     lcd.printString("Main Menu",0,0);
-     lcd.drawLine(0,10,80,10,2);      
-     lcd.printString("Press A",0,2);
-     lcd.printString("New Scan",0,3);
-     lcd.printString("Press B",0,4);
-     lcd.printString("Decicde",0,5);
-     LoopCountScan1 =0;
-     LoopCountScan2 =0;
-     LoopCountScan3 =0;
-     LoopCountScan4 =0;
-     LoopCountScan5 =0;
-     LoopCountScan6 =0;
-     
+        /**
+        *..Initial state when starting the Board.
+        */
+        switch(g_ButtonAPress) {
+            default:
+                lcd.clear();
+                lcd.printString("Main Menu",0,0);
+                lcd.drawLine(0,10,80,10,2);
+                lcd.printString("Press A",0,2);
+                lcd.printString("New Scan",0,3);
+                lcd.printString("Press B",0,4);
+                lcd.printString("Decicde",0,5);
+                LoopCountScan1 =0;
+                LoopCountScan2 =0;
+                LoopCountScan3 =0;
+                LoopCountScan4 =0;
+                LoopCountScan5 =0;
+                LoopCountScan6 =0;
+
+
+
+                /* Code Section No longer required
+                *
+
+                for(int i=0;  i<5; i++){
+
+                    printf("hello Scan: %i The value of : %i \n",i, Scan1[i]);
+                    if (Scan1[i]>95){
+                        Decide[i]= '+';
+                    printf("no wall%c/n",Decide[i]);}
+                    else if (Scan1[i]<85){
+                        Decide[i]= '-';
+                        printf("OBJECT ABOUT%c/n",Decide[i]);}
+                        else if (Scan1[i]>85<95){
+                            Decide[i]= '=';
+                            printf("No Object %c/n",Decide[i]);}
+                            }
+                */
+
+
+
+                /**  IF Statement to decide on shape to draw
+                *.. This section of code compares the each array element with the one proceding it and makes a logical decision if higher lower or equal.
+                */
+                /*
+                          if (Scan1[0] > Scan1[1])
+                           {
+                            printf("+");
+                            Decide[0]= 'x';
+                            printf( "chosen 1 %c\n",Decide[0]);
+                            }
+                            else if (Scan1[0] == Scan1[1])
+                            {
+                            printf("=");
+                            Decide[0]='=';
+                            printf( "chosen2 %c\n",Decide[0]);
+                            }
+                            else if (Scan1[0] < Scan1[1])
+                            {
+                            printf("-");
+                            Decide[0]='-';
+                            printf( "chosen3 %c\n",Decide[0]);
+                            }
+                            if (Scan1[1] > Scan1[2])
+                           {
+                            printf("+");
+                            Decide[1]= 'x';
+                            printf( "chosen 1 %c\n",Decide[1]);
+                            }
+                            else if (Scan1[1] == Scan1[2])
+                            {
+                            printf("=");
+                            Decide[1]='=';
+                            printf( "chosen2 %c\n",Decide[1]);
+                            }
+                            else if (Scan1[1] < Scan1[2])
+                            {
+                            printf("-");
+                            Decide[1]='-';
+                            printf( "chosen3 %c\n",Decide[1]);
+                            }
+
+                          if (Scan1[2] > Scan1[3])
+                           {
+                            printf("+");
+                            Decide[2]= 'x';
+                            printf( "chosen 1 %c\n",Decide[2]);
+                            }
+                            else if (Scan1[2] == Scan1[3])
+                            {
+                            printf("=");
+                            Decide[2]='=';
+                            printf( "chosen2 %c\n",Decide[2]);
+                            }
+                            else if (Scan1[2] < Scan1[3])
+                            {
+                            printf("-");
+                            Decide[2]='-';
+                            printf( "chosen3 %c\n",Decide[2]);
+                            }
+                            if (Scan1[3] > Scan1[4])
+                           {
+                            printf("+");
+                            Decide[3]= 'x';
+                            printf( "chosen 1 %c\n",Decide[3]);
+                            }
+                            else if (Scan1[3] == Scan1[4])
+                            {
+                            printf("=");
+                            Decide[3]='=';
+                            printf( "chosen2 %c\n",Decide[3]);
+                            }
+                            else if (Scan1[3] < Scan1[4])
+                            {
+                            printf("-");
+                            Decide[3]='-';
+                            printf( "chosen3 %c\n",Decide[3]);
+                            }
 
-        
- /* Code Section No longer required
- *
-          
-for(int i=0;  i<5; i++){
-     
-     printf("hello Scan: %i The value of : %i \n",i, Scan1[i]);
-     if (Scan1[i]>95){
-         Decide[i]= '+';
-     printf("no wall%c/n",Decide[i]);}
-     else if (Scan1[i]<85){
-         Decide[i]= '-';
-         printf("OBJECT ABOUT%c/n",Decide[i]);}
-         else if (Scan1[i]>85<95){
-             Decide[i]= '=';
-             printf("No Object %c/n",Decide[i]);}
-             }
- */            
- 
+                          if (Scan2[0] > Scan2[1])
+                           {
+                            printf("+");
+                            Decide2[0]= 'x';
+                            printf( "chosen 1 %c\n",Decide2[0]);
+                            }
+                            else if (Scan2[0] == Scan2[1])
+                            {
+                            printf("=");
+                            Decide2[0]='=';
+                            printf( "chosen2 %c\n",Decide2[0]);
+                            }
+                            else if (Scan2[0] < Scan2[1])
+                            {
+                            printf("-");
+                            Decide2[0]='-';
+                            printf( "chosen3 %c\n",Decide2[0]);
+                            }
+                            if (Scan2[1] > Scan2[2])
+                           {
+                            printf("+");
+                            Decide2[1]= 'x';
+                            printf( "chosen 1 %c\n",Decide2[1]);
+                            }
+                            else if (Scan2[1] == Scan2[2])
+                            {
+                            printf("=");
+                            Decide2[1]='=';
+                            printf( "chosen2 %c\n",Decide2[1]);
+                            }
+                            else if (Scan2[1] < Scan2[2])
+                            {
+                            printf("-");
+                            Decide2[1]='-';
+                            printf( "chosen3 %c\n",Decide2[1]);
+                            }
+
+                          if (Scan2[2] > Scan2[3])
+                           {
+                            printf("+");
+                            Decide2[2]= 'x';
+                            printf( "chosen 1 %c\n",Decide2[2]);
+                            }
+                            else if (Scan2[2] == Scan2[3])
+                            {
+                            printf("=");
+                            Decide2[2]='=';
+                            printf( "chosen2 %c\n",Decide2[2]);
+                            }
+                            else if (Scan2[2] < Scan2[3])
+                            {
+                            printf("-");
+                            Decide2[2]='-';
+                            printf( "chosen3 %c\n",Decide2[2]);
+                            }
+                            if (Scan2[3] > Scan2[4])
+                           {
+                            printf("+");
+                            Decide2[3]= 'x';
+                            printf( "chosen 1 %c\n",Decide2[3]);
+                            }
+                            else if (Scan2[3] == Scan2[4])
+                            {
+                            printf("=");
+                            Decide2[3]='=';
+                            printf( "chosen2 %c\n",Decide2[3]);
+                            }
+                            else if (Scan2[3] < Scan2[4])
+                            {
+                            printf("-");
+                            Decide2[3]='-';
+                            printf( "chosen3 %c\n",Decide2[3]);
+                            }
+
+                          if (Scan3[0] > Scan3[1])
+                           {
+                            printf("+");
+                            Decide3[0]= 'x';
+                            printf( "chosen 1 %c\n",Decide3[0]);
+                            }
+                            else if (Scan3[0] == Scan3[1])
+                            {
+                            printf("=");
+                            Decide3[0]='=';
+                            printf( "chosen2 %c\n",Decide3[0]);
+                            }
+                            else if (Scan3[0] < Scan3[1])
+                            {
+                            printf("-");
+                            Decide3[0]='-';
+                            printf( "chosen3 %c\n",Decide3[0]);
+                            }
+                            if (Scan3[1] > Scan3[2])
+                           {
+                            printf("+");
+                            Decide3[1]= 'x';
+                            printf( "chosen 1 %c\n",Decide3[1]);
+                            }
+                            else if (Scan3[1] == Scan3[2])
+                            {
+                            printf("=");
+                            Decide3[1]='=';
+                            printf( "chosen2 %c\n",Decide3[1]);
+                            }
+                            else if (Scan3[1] < Scan3[2])
+                            {
+                            printf("-");
+                            Decide3[1]='-';
+                            printf( "chosen3 %c\n",Decide3[1]);
+                            }
+
+                          if (Scan3[2] > Scan3[3])
+                           {
+                            printf("+");
+                            Decide3[2]= 'x';
+                            printf( "chosen 1 %c\n",Decide3[2]);
+                            }
+                            else if (Scan3[2] == Scan3[3])
+                            {
+                            printf("=");
+                            Decide3[2]='=';
+                            printf( "chosen2 %c\n",Decide3[2]);
+                            }
+                            else if (Scan3[2] < Scan3[3])
+                            {
+                            printf("-");
+                            Decide3[2]='-';
+                            printf( "chosen3 %c\n",Decide3[2]);
+                            }
+                            if (Scan3[3] > Scan3[4])
+                           {
+                            printf("+");
+                            Decide3[3]= 'x';
+                            printf( "chosen 1 %c\n",Decide3[3]);
+                            }
+                            else if (Scan3[3] == Scan3[4])
+                            {
+                            printf("=");
+                            Decide3[3]='=';
+                            printf( "chosen2 %c\n",Decide3[3]);
+                            }
+                            else if (Scan3[3] < Scan3[4])
+                            {
+                            printf("-");
+                            Decide3[3]='-';
+                            printf( "chosen3 %c\n",Decide3[3]);
+                            }
+
+                          if (Scan4[0] > Scan4[1])
+                           {
+                            printf("+");
+                            Decide4[0]= 'x';
+                            printf( "chosen 1 %c\n",Decide4[0]);
+                            }
+                            else if (Scan4[0] == Scan4[1])
+                            {
+                            printf("=");
+                            Decide4[0]='=';
+                            printf( "chosen2 %c\n",Decide4[0]);
+                            }
+                            else if (Scan4[0] < Scan4[1])
+                            {
+                            printf("-");
+                            Decide4[0]='-';
+                            printf( "chosen3 %c\n",Decide4[0]);
+                            }
+                            if (Scan4[1] > Scan4[2])
+                           {
+                            printf("+");
+                            Decide4[1]= 'x';
+                            printf( "chosen 1 %c\n",Decide4[1]);
+                            }
+                            else if (Scan4[1] == Scan4[2])
+                            {
+                            printf("=");
+                            Decide4[1]='=';
+                            printf( "chosen2 %c\n",Decide4[1]);
+                            }
+                            else if (Scan4[1] < Scan4[2])
+                            {
+                            printf("-");
+                            Decide4[1]='-';
+                            printf( "chosen3 %c\n",Decide4[1]);
+                            }
 
-     
-/**  IF Statement to decide on shape to draw
-*.. This section of code compares the each array element with the one proceding it and makes a logical decision if higher lower or equal.
-*/
-/*
-          if (Scan1[0] > Scan1[1])
-           {
-            printf("+");
-            Decide[0]= 'x';
-            printf( "chosen 1 %c\n",Decide[0]);
-            }
-            else if (Scan1[0] == Scan1[1]) 
-            {
-            printf("=");
-            Decide[0]='=';
-            printf( "chosen2 %c\n",Decide[0]);
-            }
-            else if (Scan1[0] < Scan1[1])
-            {
-            printf("-");
-            Decide[0]='-';
-            printf( "chosen3 %c\n",Decide[0]);
-            }
-            if (Scan1[1] > Scan1[2])
-           {
-            printf("+");
-            Decide[1]= 'x';
-            printf( "chosen 1 %c\n",Decide[1]);
-            }
-            else if (Scan1[1] == Scan1[2]) 
-            {
-            printf("=");
-            Decide[1]='=';
-            printf( "chosen2 %c\n",Decide[1]);
-            }
-            else if (Scan1[1] < Scan1[2])
-            {
-            printf("-");
-            Decide[1]='-';
-            printf( "chosen3 %c\n",Decide[1]);
-            }
-            
-          if (Scan1[2] > Scan1[3])
-           {
-            printf("+");
-            Decide[2]= 'x';
-            printf( "chosen 1 %c\n",Decide[2]);
-            }
-            else if (Scan1[2] == Scan1[3]) 
-            {
-            printf("=");
-            Decide[2]='=';
-            printf( "chosen2 %c\n",Decide[2]);
-            }
-            else if (Scan1[2] < Scan1[3])
-            {
-            printf("-");
-            Decide[2]='-';
-            printf( "chosen3 %c\n",Decide[2]);
-            }
-            if (Scan1[3] > Scan1[4])
-           {
-            printf("+");
-            Decide[3]= 'x';
-            printf( "chosen 1 %c\n",Decide[3]);
-            }
-            else if (Scan1[3] == Scan1[4]) 
-            {
-            printf("=");
-            Decide[3]='=';
-            printf( "chosen2 %c\n",Decide[3]);
-            }
-            else if (Scan1[3] < Scan1[4])
-            {
-            printf("-");
-            Decide[3]='-';
-            printf( "chosen3 %c\n",Decide[3]);
-            }
-            
-          if (Scan2[0] > Scan2[1])
-           {
-            printf("+");
-            Decide2[0]= 'x';
-            printf( "chosen 1 %c\n",Decide2[0]);
-            }
-            else if (Scan2[0] == Scan2[1]) 
-            {
-            printf("=");
-            Decide2[0]='=';
-            printf( "chosen2 %c\n",Decide2[0]);
-            }
-            else if (Scan2[0] < Scan2[1])
-            {
-            printf("-");
-            Decide2[0]='-';
-            printf( "chosen3 %c\n",Decide2[0]);
-            }
-            if (Scan2[1] > Scan2[2])
-           {
-            printf("+");
-            Decide2[1]= 'x';
-            printf( "chosen 1 %c\n",Decide2[1]);
-            }
-            else if (Scan2[1] == Scan2[2]) 
-            {
-            printf("=");
-            Decide2[1]='=';
-            printf( "chosen2 %c\n",Decide2[1]);
-            }
-            else if (Scan2[1] < Scan2[2])
-            {
-            printf("-");
-            Decide2[1]='-';
-            printf( "chosen3 %c\n",Decide2[1]);
-            }
-            
-          if (Scan2[2] > Scan2[3])
-           {
-            printf("+");
-            Decide2[2]= 'x';
-            printf( "chosen 1 %c\n",Decide2[2]);
-            }
-            else if (Scan2[2] == Scan2[3]) 
-            {
-            printf("=");
-            Decide2[2]='=';
-            printf( "chosen2 %c\n",Decide2[2]);
-            }
-            else if (Scan2[2] < Scan2[3])
-            {
-            printf("-");
-            Decide2[2]='-';
-            printf( "chosen3 %c\n",Decide2[2]);
-            }
-            if (Scan2[3] > Scan2[4])
-           {
-            printf("+");
-            Decide2[3]= 'x';
-            printf( "chosen 1 %c\n",Decide2[3]);
-            }
-            else if (Scan2[3] == Scan2[4]) 
-            {
-            printf("=");
-            Decide2[3]='=';
-            printf( "chosen2 %c\n",Decide2[3]);
-            }
-            else if (Scan2[3] < Scan2[4])
-            {
-            printf("-");
-            Decide2[3]='-';
-            printf( "chosen3 %c\n",Decide2[3]);
-            }
-            
-          if (Scan3[0] > Scan3[1])
-           {
-            printf("+");
-            Decide3[0]= 'x';
-            printf( "chosen 1 %c\n",Decide3[0]);
-            }
-            else if (Scan3[0] == Scan3[1]) 
-            {
-            printf("=");
-            Decide3[0]='=';
-            printf( "chosen2 %c\n",Decide3[0]);
-            }
-            else if (Scan3[0] < Scan3[1])
-            {
-            printf("-");
-            Decide3[0]='-';
-            printf( "chosen3 %c\n",Decide3[0]);
-            }
-            if (Scan3[1] > Scan3[2])
-           {
-            printf("+");
-            Decide3[1]= 'x';
-            printf( "chosen 1 %c\n",Decide3[1]);
-            }
-            else if (Scan3[1] == Scan3[2]) 
-            {
-            printf("=");
-            Decide3[1]='=';
-            printf( "chosen2 %c\n",Decide3[1]);
-            }
-            else if (Scan3[1] < Scan3[2])
-            {
-            printf("-");
-            Decide3[1]='-';
-            printf( "chosen3 %c\n",Decide3[1]);
-            }
-            
-          if (Scan3[2] > Scan3[3])
-           {
-            printf("+");
-            Decide3[2]= 'x';
-            printf( "chosen 1 %c\n",Decide3[2]);
-            }
-            else if (Scan3[2] == Scan3[3]) 
-            {
-            printf("=");
-            Decide3[2]='=';
-            printf( "chosen2 %c\n",Decide3[2]);
-            }
-            else if (Scan3[2] < Scan3[3])
-            {
-            printf("-");
-            Decide3[2]='-';
-            printf( "chosen3 %c\n",Decide3[2]);
-            }
-            if (Scan3[3] > Scan3[4])
-           {
-            printf("+");
-            Decide3[3]= 'x';
-            printf( "chosen 1 %c\n",Decide3[3]);
-            }
-            else if (Scan3[3] == Scan3[4]) 
-            {
-            printf("=");
-            Decide3[3]='=';
-            printf( "chosen2 %c\n",Decide3[3]);
-            }
-            else if (Scan3[3] < Scan3[4])
-            {
-            printf("-");
-            Decide3[3]='-';
-            printf( "chosen3 %c\n",Decide3[3]);
-            }
-             
-          if (Scan4[0] > Scan4[1])
-           {
-            printf("+");
-            Decide4[0]= 'x';
-            printf( "chosen 1 %c\n",Decide4[0]);
-            }
-            else if (Scan4[0] == Scan4[1]) 
-            {
-            printf("=");
-            Decide4[0]='=';
-            printf( "chosen2 %c\n",Decide4[0]);
-            }
-            else if (Scan4[0] < Scan4[1])
-            {
-            printf("-");
-            Decide4[0]='-';
-            printf( "chosen3 %c\n",Decide4[0]);
-            }
-            if (Scan4[1] > Scan4[2])
-           {
-            printf("+");
-            Decide4[1]= 'x';
-            printf( "chosen 1 %c\n",Decide4[1]);
-            }
-            else if (Scan4[1] == Scan4[2]) 
-            {
-            printf("=");
-            Decide4[1]='=';
-            printf( "chosen2 %c\n",Decide4[1]);
-            }
-            else if (Scan4[1] < Scan4[2])
-            {
-            printf("-");
-            Decide4[1]='-';
-            printf( "chosen3 %c\n",Decide4[1]);
-            }
-            
-          if (Scan4[2] > Scan4[3])
-           {
-            printf("+");
-            Decide4[2]= 'x';
-            printf( "chosen 1 %c\n",Decide4[2]);
-            }
-            else if (Scan4[2] == Scan4[3]) 
-            {
-            printf("=");
-            Decide4[2]='=';
-            printf( "chosen2 %c\n",Decide4[2]);
-            }
-            else if (Scan4[2] < Scan4[3])
-            {
-            printf("-");
-            Decide4[2]='-';
-            printf( "chosen3 %c\n",Decide4[2]);
-            }
-            if (Scan4[3] > Scan4[4])
-           {
-            printf("+");
-            Decide4[3]= 'x';
-            printf( "chosen 1 %c\n",Decide4[3]);
-            }
-            else if (Scan4[3] == Scan4[4]) 
-            {
-            printf("=");
-            Decide4[3]='=';
-            printf( "chosen2 %c\n",Decide4[3]);
-            }
-            else if (Scan4[3] < Scan4[4])
-            {
-            printf("-");
-            Decide4[3]='-';
-            printf( "chosen3 %c\n",Decide4[3]);
-            }
-          if (Scan5[0] > Scan5[1])
-           {
-            printf("+");
-            Decide5[0]= 'x';
-            printf( "chosen 1 %c\n",Decide5[0]);
-            }
-            else if (Scan5[0] == Scan5[1]) 
-            {
-            printf("=");
-            Decide5[0]='=';
-            printf( "chosen2 %c\n",Decide5[0]);
-            }
-            else if (Scan5[0] < Scan5[1])
-            {
-            printf("-");
-            Decide5[0]='-';
-            printf( "chosen3 %c\n",Decide5[0]);
-            }
-            if (Scan5[1] > Scan5[2])
-           {
-            printf("+");
-            Decide5[1]= 'x';
-            printf( "chosen 1 %c\n",Decide5[1]);
-            }
-            else if (Scan5[1] == Scan5[2]) 
-            {
-            printf("=");
-            Decide5[1]='=';
-            printf( "chosen2 %c\n",Decide5[1]);
-            }
-            else if (Scan5[1] < Scan5[2])
-            {
-            printf("-");
-            Decide5[1]='-';
-            printf( "chosen3 %c\n",Decide5[1]);
-            }
-            
-          if (Scan5[2] > Scan5[3])
-           {
-            printf("+");
-            Decide5[2]= 'x';
-            printf( "chosen 1 %c\n",Decide5[2]);
-            }
-            else if (Scan5[2] == Scan5[3]) 
-            {
-            printf("=");
-            Decide5[2]='=';
-            printf( "chosen2 %c\n",Decide5[2]);
-            }
-            else if (Scan5[2] < Scan5[3])
-            {
-            printf("-");
-            Decide5[2]='-';
-            printf( "chosen3 %c\n",Decide5[2]);
-            }
-            if (Scan5[3] > Scan5[4])
-           {
-            printf("+");
-            Decide5[3]= 'x';
-            printf( "chosen 1 %c\n",Decide5[3]);
-            }
-            else if (Scan5[3] == Scan5[4]) 
-            {
-            printf("=");
-            Decide5[3]='=';
-            printf( "chosen2 %c\n",Decide5[3]);
-            }
-            else if (Scan5[3] < Scan5[4])
-            {
-            printf("-");
-            Decide5[3]='-';
-            printf( "chosen3 %c\n",Decide5[3]);
-            } */
-            
-     lcd.refresh();
-     wait_ms(50);
-     
-     break;
+                          if (Scan4[2] > Scan4[3])
+                           {
+                            printf("+");
+                            Decide4[2]= 'x';
+                            printf( "chosen 1 %c\n",Decide4[2]);
+                            }
+                            else if (Scan4[2] == Scan4[3])
+                            {
+                            printf("=");
+                            Decide4[2]='=';
+                            printf( "chosen2 %c\n",Decide4[2]);
+                            }
+                            else if (Scan4[2] < Scan4[3])
+                            {
+                            printf("-");
+                            Decide4[2]='-';
+                            printf( "chosen3 %c\n",Decide4[2]);
+                            }
+                            if (Scan4[3] > Scan4[4])
+                           {
+                            printf("+");
+                            Decide4[3]= 'x';
+                            printf( "chosen 1 %c\n",Decide4[3]);
+                            }
+                            else if (Scan4[3] == Scan4[4])
+                            {
+                            printf("=");
+                            Decide4[3]='=';
+                            printf( "chosen2 %c\n",Decide4[3]);
+                            }
+                            else if (Scan4[3] < Scan4[4])
+                            {
+                            printf("-");
+                            Decide4[3]='-';
+                            printf( "chosen3 %c\n",Decide4[3]);
+                            }
+                          if (Scan5[0] > Scan5[1])
+                           {
+                            printf("+");
+                            Decide5[0]= 'x';
+                            printf( "chosen 1 %c\n",Decide5[0]);
+                            }
+                            else if (Scan5[0] == Scan5[1])
+                            {
+                            printf("=");
+                            Decide5[0]='=';
+                            printf( "chosen2 %c\n",Decide5[0]);
+                            }
+                            else if (Scan5[0] < Scan5[1])
+                            {
+                            printf("-");
+                            Decide5[0]='-';
+                            printf( "chosen3 %c\n",Decide5[0]);
+                            }
+                            if (Scan5[1] > Scan5[2])
+                           {
+                            printf("+");
+                            Decide5[1]= 'x';
+                            printf( "chosen 1 %c\n",Decide5[1]);
+                            }
+                            else if (Scan5[1] == Scan5[2])
+                            {
+                            printf("=");
+                            Decide5[1]='=';
+                            printf( "chosen2 %c\n",Decide5[1]);
+                            }
+                            else if (Scan5[1] < Scan5[2])
+                            {
+                            printf("-");
+                            Decide5[1]='-';
+                            printf( "chosen3 %c\n",Decide5[1]);
+                            }
+
+                          if (Scan5[2] > Scan5[3])
+                           {
+                            printf("+");
+                            Decide5[2]= 'x';
+                            printf( "chosen 1 %c\n",Decide5[2]);
+                            }
+                            else if (Scan5[2] == Scan5[3])
+                            {
+                            printf("=");
+                            Decide5[2]='=';
+                            printf( "chosen2 %c\n",Decide5[2]);
+                            }
+                            else if (Scan5[2] < Scan5[3])
+                            {
+                            printf("-");
+                            Decide5[2]='-';
+                            printf( "chosen3 %c\n",Decide5[2]);
+                            }
+                            if (Scan5[3] > Scan5[4])
+                           {
+                            printf("+");
+                            Decide5[3]= 'x';
+                            printf( "chosen 1 %c\n",Decide5[3]);
+                            }
+                            else if (Scan5[3] == Scan5[4])
+                            {
+                            printf("=");
+                            Decide5[3]='=';
+                            printf( "chosen2 %c\n",Decide5[3]);
+                            }
+                            else if (Scan5[3] < Scan5[4])
+                            {
+                            printf("-");
+                            Decide5[3]='-';
+                            printf( "chosen3 %c\n",Decide5[3]);
+                            } */
+
+                lcd.refresh();
+                wait_ms(50);
+
+                break;
+
+//////////////////////////////////////////////////////////////////////////////////////////////////
+            /**
+            *.. When Button A is pressed this section of code is ran to collect data points of the object.
+            *..Scanning takes marks the LCD with locationof points which data has been collected for.
+            */
+            case 1:
+                g_ButtonAPress =1;
+                /*
+                *..Section used for power saving, if the user has not continued after 5 scans
+                */
+                if(LoopCountScan1==10) {
+                    g_ButtonAPress=0;
+                    LoopCountScan1=0;
+                    break;
+                } else;
+                inputScan1();
+                break;
+            /*
+                    wait_ms(5); // required to stop Black screen issue}
+                    inputScan2();
+                    wait_ms(5); // required to stop Black screen issue}
+            inputScan3();
+
+                     wait_ms(5); // required to stop Black screen issue}
+            inputScan4();
+
+                     wait_ms(5);
+            inputScan5();
+
+
+
+                     g_ButtonAPress=0;
+                 */
+
+////////////////////////////////////////////////////////////////////////////
+            case 2:
+                g_ButtonAPress= 2;
+                if(LoopCountScan2==10) {
+                    g_ButtonAPress=0;
+                    LoopCountScan2=0;
+                    break;
+                } else;
+                /*int secondScan[10];
+
+                              secondScan[5] = sensor.distance();
+                printf("Distance :  %d cm", secondScan[5]);
+                lcd.clear();
+                    lcd.printString("2nd Scan up down",0,0);
+                    lcd.drawLine(0,10,80,10,2);  */
+                inputScan2();
+                break;
+////////////////////////////////////////////////////////////////////
+            case 3:
+                g_ButtonAPress= 3;
+                if(LoopCountScan3==10) {
+                    g_ButtonAPress=0;
+                    LoopCountScan3=0;
+                    break;
+                } else;
+                /* lcd.clear();
+                lcd.printString("Menu 3",0,0);
+                int us = sensor.distance();
+                printf("Distance :  %d cm",us);
+                 lcd.refresh();
+                 wait_ms(50); //required to stop Black screen issue*/
+                inputScan3();
+                break;
+
+/////////////////////////////////////////////////////////////////////////
 
-//////////////////////////////////////////////////////////////////////////////////////////////////     
-/**
-*.. When Button A is pressed this section of code is ran to collect data points of the object.
-*..Scanning takes marks the LCD with locationof points which data has been collected for.
-*/     
-     case 1:
-     g_ButtonAPress =1;
- /*
- *..Section used for power saving, if the user has not continued after 5 scans
- */ 
-    if(LoopCountScan1==10){
-        g_ButtonAPress=0;
-        LoopCountScan1=0;
-        break;}
-        else; 
-        inputScan1();
-         break;
-/*
-        wait_ms(5); // required to stop Black screen issue}
-        inputScan2();
-        wait_ms(5); // required to stop Black screen issue}
-inputScan3();
+            case 4:
+                g_ButtonAPress= 4;
+                if(LoopCountScan4==10) {
+                    g_ButtonAPress=0;
+                    LoopCountScan4=0;
+                    break;
+                } else;
+                /* lcd.clear();
+                lcd.printString("Menu 3",0,0);
+                int us = sensor.distance();
+                printf("Distance :  %d cm",us);
+                 lcd.refresh();
+                 wait_ms(50); //required to stop Black screen issue*/
+                inputScan4();
+                break;
+            ///////////////////////////////////////////////////////////////////
+            case 5:
+                g_ButtonAPress= 5;
+                if(LoopCountScan5==10) {
+                    g_ButtonAPress=0;
+                    LoopCountScan5=0;
+                    break;
+                } else;
+                /* lcd.clear();
+                lcd.printString("Menu 3",0,0);
+                int us = sensor.distance();
+                printf("Distance :  %d cm",us);
+                 lcd.refresh();
+                 wait_ms(50); //required to stop Black screen issue*/
+                inputScan5();
+                break;
 
-         wait_ms(5); // required to stop Black screen issue}
-inputScan4();
+
 
-         wait_ms(5);
-inputScan5();
-      
+            /////////////////////////////////////////////////////////////////
+
 
-      
-         g_ButtonAPress=0;
-     */
-       
-////////////////////////////////////////////////////////////////////////////        
-     case 2: 
-    g_ButtonAPress= 2;
-        if(LoopCountScan2==10){
-        g_ButtonAPress=0;
-        LoopCountScan2=0;
-        break;}
-        else; 
-   /*int secondScan[10];
-    
-                 secondScan[5] = sensor.distance();
- printf("Distance :  %d cm", secondScan[5]);
- lcd.clear();
-       lcd.printString("2nd Scan up down",0,0); 
-       lcd.drawLine(0,10,80,10,2);  */
-       inputScan2();
-     break;
-////////////////////////////////////////////////////////////////////     
-     case 3:
-              g_ButtonAPress= 3;
-                  if(LoopCountScan3==10){
-        g_ButtonAPress=0;
-        LoopCountScan3=0;
-        break;}
-        else; 
-        /* lcd.clear();
-       lcd.printString("Menu 3",0,0);        
-       int us = sensor.distance(); 
-       printf("Distance :  %d cm",us);
-         lcd.refresh();
-         wait_ms(50); //required to stop Black screen issue*/
-         inputScan3();
-     break;
-     
- /////////////////////////////////////////////////////////////////////////     
- 
-     case 4:
-              g_ButtonAPress= 4;
-                  if(LoopCountScan4==10){
-        g_ButtonAPress=0;
-        LoopCountScan4=0;
-        break;}
-        else; 
-        /* lcd.clear();
-       lcd.printString("Menu 3",0,0);        
-       int us = sensor.distance(); 
-       printf("Distance :  %d cm",us);
-         lcd.refresh();
-         wait_ms(50); //required to stop Black screen issue*/
-         inputScan4();
-     break;  
-     ///////////////////////////////////////////////////////////////////
-          case 5:
-              g_ButtonAPress= 5;
-                  if(LoopCountScan5==10){
-        g_ButtonAPress=0;
-        LoopCountScan5=0;
-        break;}
-        else; 
-        /* lcd.clear();
-       lcd.printString("Menu 3",0,0);        
-       int us = sensor.distance(); 
-       printf("Distance :  %d cm",us);
-         lcd.refresh();
-         wait_ms(50); //required to stop Black screen issue*/
-         inputScan5();
-     break;  
-     
-     
-     
-     /////////////////////////////////////////////////////////////////
-     
-     
-     case 6:
-     g_ButtonAPress=6;
-                       if(LoopCountScan6==10){
-        g_ButtonAPress=0;
-        LoopCountScan6=0;
-        break;}
-        else;
-             
-       inputScan6();
-       break;
-        
-        /*
-int button_counter;
-if (g_buttonA_flag){
-                    button_counter = button_counter +1;
-                    //case (test)
-                   g_buttonA_flag = 0;  // if it has, clear the flag
+            case 6:
+                g_ButtonAPress=6;
+                if(LoopCountScan6==10) {
+                    g_ButtonAPress=0;
+                    LoopCountScan6=0;
+                    break;
+                } else;
+
+                inputScan6();
+                break;
+
+                /*
+                int button_counter;
+                if (g_buttonA_flag){
+                            button_counter = button_counter +1;
+                            //case (test)
+                           g_buttonA_flag = 0;  // if it has, clear the flag
+
+                    // send message over serial port - can observe in CoolTerm etc.
+                    printf("Button A pressed  %f\n", button_counter);
+                    }
+                if (g_buttonB_flag){
+                           g_buttonB_flag = 0;  // if it has, clear the flag
 
-            // send message over serial port - can observe in CoolTerm etc.
-            printf("Button A pressed  %f\n", button_counter);
-            }
-if (g_buttonB_flag){
-                   g_buttonB_flag = 0;  // if it has, clear the flag
+                    // send message over serial port - can observe in CoolTerm etc.
+                    printf("Button B pressed\n");
+                    }
+                if (g_buttonX_flag){
+                           g_buttonX_flag = 0;  // if it has, clear the flag
+                                       // swap direction when button has been pressed
+                    // (could just use ! but want this to be explicit to aid understanding)
+                    if (direction == UP) {
+                        direction = DOWN;
+                    }
+                    else {
+                        direction = UP;
+                    }
+
+                    // send message over serial port - can observe in CoolTerm etc.
+                    printf("Button X pressed\n");
+                            lcd.clear();
+                lcd.printString("Button Pressed!",0,0);
+                    lcd.refresh();
+                    wait(1);
+                    }
+                if (g_buttonY_flag){
+                           g_buttonY_flag = 0;  // if it has, clear the flag
 
-            // send message over serial port - can observe in CoolTerm etc.
-            printf("Button B pressed\n");
-            }
-if (g_buttonX_flag){
-                   g_buttonX_flag = 0;  // if it has, clear the flag
-                               // swap direction when button has been pressed
-            // (could just use ! but want this to be explicit to aid understanding)
-            if (direction == UP) {
-                direction = DOWN;    
-            }
-            else {
-                direction = UP;
-            }
+                    // send message over serial port - can observe in CoolTerm etc.
+                    printf("Button Y pressed\n");
+                    }
+                Buzzer.play(200,120);
+                    wait_ms(5);
+                Buzzer.play(200,120);
+                long distanced = sensor.distance();
+                if (distanced >= 400 || distanced <= 2)
+                {
+                printf("Out of range");
+                //Calling dummy function 05/01/22
+                int answer = cube(2);
+                printf("%f\n",answer);
+                wait(1.0);
+                }
+                else
+                {
+                printf("Distance :  %d cm",distanced);
+                wait(1.0); // 1 sec
+                }
+                lcd.drawCircle(WIDTH/2,HEIGHT/2,distanced,FILL_BLACK);
+                //lcd.refresh must be used to update the lcd Display
+                lcd.refresh();
+                wait(5.0);
+                //these are default settings so not strictly needed
+                lcd.normalMode();      // normal colour mode
+                lcd.setBrightness(0.5); // put LED backlight on 50%
+                lcd.clear();
+                lcd.printString("Hello, World!",0,0);
+                Vector2D coord = joystick.get_coord();
+                lcd.refresh();
+                printf("Coord = %f,%f\n",coord.x,coord.y);
+                char buffer[14];
+                Vector2D mapped_coord = joystick.get_mapped_coord();
+                printf("Mapped coord = %f,%f\n",mapped_coord.x,mapped_coord.y);
 
-            // send message over serial port - can observe in CoolTerm etc.
-            printf("Button X pressed\n");
-                    lcd.clear();
-        lcd.printString("Button Pressed!",0,0);
-            lcd.refresh();
-            wait(1);
-            }
-if (g_buttonY_flag){
-                   g_buttonY_flag = 0;  // if it has, clear the flag
+                 int length = sprintf(buffer,"T = %2f",coord.x);
+                //it is important the format specifier ensures the length will fit in the buffer
+                if (length <= 14)  // if string will fit on display (assuming printing at x=0)
+                   lcd.printString(buffer,0,1);  // display on screen
+                lcd.refresh();
+                lcd.clear();
+                //times by 50 to try get the point moving across screen
+                 float x50 = mapped_coord.x*5;
+                 float y50 = mapped_coord.y*8;
+                //to see what the values are
+                 printf(" *50 = %f,%f\n",x50,y50);
+                //example of how to draw circles
+                lcd.printChar('o',WIDTH/2,HEIGHT/2);
+                lcd.refresh();
+                float mag = joystick.get_mag();
+                float angle = joystick.get_angle();
+                printf("Mag = %f Angle = %f\n",mag,angle);
+                Direction d = joystick.get_direction();
+                printf("Direction = %i\n",d);
+                if (joystick.button_pressed() ) {
+                    printf("Button Pressed\n");
+                    wait(5);
+                }
 
-            // send message over serial port - can observe in CoolTerm etc.
-            printf("Button Y pressed\n");
-            }
-       Buzzer.play(200,120);
-            wait_ms(5);
-       Buzzer.play(200,120);
-        long distanced = sensor.distance(); 
-        if (distanced >= 400 || distanced <= 2) 
-        {
-        printf("Out of range");
-//Calling dummy function 05/01/22
-        int answer = cube(2);
-        printf("%f\n",answer);                  
-        wait(1.0);
+                }
+                }
+                */
         }
-    else    
-    {
-       printf("Distance :  %d cm",distanced);
-       wait(1.0); // 1 sec  
     }
-        lcd.drawCircle(WIDTH/2,HEIGHT/2,distanced,FILL_BLACK); 
-//lcd.refresh must be used to update the lcd Display
-        lcd.refresh();
-        wait(5.0);
-//these are default settings so not strictly needed
-        lcd.normalMode();      // normal colour mode
-        lcd.setBrightness(0.5); // put LED backlight on 50%        
-        lcd.clear();
-        lcd.printString("Hello, World!",0,0);
-        Vector2D coord = joystick.get_coord();
-        lcd.refresh();
-        printf("Coord = %f,%f\n",coord.x,coord.y);
-        char buffer[14];
-        Vector2D mapped_coord = joystick.get_mapped_coord(); 
-        printf("Mapped coord = %f,%f\n",mapped_coord.x,mapped_coord.y); 
-        
-         int length = sprintf(buffer,"T = %2f",coord.x);
-//it is important the format specifier ensures the length will fit in the buffer
-        if (length <= 14)  // if string will fit on display (assuming printing at x=0)
-           lcd.printString(buffer,0,1);  // display on screen
-        lcd.refresh();
-        lcd.clear();
-//times by 50 to try get the point moving across screen
-         float x50 = mapped_coord.x*5;
-         float y50 = mapped_coord.y*8;
-//to see what the values are 
-         printf(" *50 = %f,%f\n",x50,y50);       
-//example of how to draw circles
-        lcd.printChar('o',WIDTH/2,HEIGHT/2);
-        lcd.refresh();      
-        float mag = joystick.get_mag();
-        float angle = joystick.get_angle();
-        printf("Mag = %f Angle = %f\n",mag,angle);
-        Direction d = joystick.get_direction();
-        printf("Direction = %i\n",d);
-        if (joystick.button_pressed() ) {
-            printf("Button Pressed\n");  
-            wait(5);
-        }
-    
-    }  
- }
- */
- }
- }
- }
-   int buttonCountA(){
-        g_ButtonAPress++;
-        if (g_ButtonAPress>5){
-            g_ButtonAPress= 0;
-            }
-        return g_ButtonAPress;
-        }
-           int buttonCountB(){
-        g_ButtonBPress++;
-        if (g_ButtonBPress>3){
-            g_ButtonBPress= 0;
-            }
-        return g_ButtonBPress;
-        }
-   int NoContinueExitScan1(){
-        LoopCountScan1++;
-        if (LoopCountScan1>10){
-            LoopCountScan1= 0;
-            }
-        return LoopCountScan1;
-        }
-        int NoContinueExitScan2(){
-        LoopCountScan2++;
-        if (LoopCountScan2>10){
-            LoopCountScan2= 0;
-            }
-        return LoopCountScan2;
-        }
-        int NoContinueExitScan3(){
-        LoopCountScan3++;
-        if (LoopCountScan3>10){
-            LoopCountScan3= 0;
-            }
-        return LoopCountScan3;
-        }
-           int NoContinueExitScan4(){
-        LoopCountScan4++;
-        if (LoopCountScan4>10){
-            LoopCountScan4= 0;
-            }
-        return LoopCountScan4;
-        }
-           int NoContinueExitScan5(){
-        LoopCountScan5++;
-        if (LoopCountScan5>10){
-            LoopCountScan5= 0;
-            }
-        return LoopCountScan5;
-        }
-                   int NoContinueExitScan6(){
-        LoopCountScan6++;
-        if (LoopCountScan6>10){
-            LoopCountScan6= 0;
-            }
-        return LoopCountScan6;
-        }
-        
-        
-   //Button A event-triggered interrupt
+}
+int buttonCountA()
+{
+    g_ButtonAPress++;
+    if (g_ButtonAPress>5) {
+        g_ButtonAPress= 0;
+    }
+    return g_ButtonAPress;
+}
+int buttonCountB()
+{
+    g_ButtonBPress++;
+    if (g_ButtonBPress>3) {
+        g_ButtonBPress= 0;
+    }
+    return g_ButtonBPress;
+}
+int NoContinueExitScan1()
+{
+    LoopCountScan1++;
+    if (LoopCountScan1>10) {
+        LoopCountScan1= 0;
+    }
+    return LoopCountScan1;
+}
+int NoContinueExitScan2()
+{
+    LoopCountScan2++;
+    if (LoopCountScan2>10) {
+        LoopCountScan2= 0;
+    }
+    return LoopCountScan2;
+}
+int NoContinueExitScan3()
+{
+    LoopCountScan3++;
+    if (LoopCountScan3>10) {
+        LoopCountScan3= 0;
+    }
+    return LoopCountScan3;
+}
+int NoContinueExitScan4()
+{
+    LoopCountScan4++;
+    if (LoopCountScan4>10) {
+        LoopCountScan4= 0;
+    }
+    return LoopCountScan4;
+}
+int NoContinueExitScan5()
+{
+    LoopCountScan5++;
+    if (LoopCountScan5>10) {
+        LoopCountScan5= 0;
+    }
+    return LoopCountScan5;
+}
+int NoContinueExitScan6()
+{
+    LoopCountScan6++;
+    if (LoopCountScan6>10) {
+        LoopCountScan6= 0;
+    }
+    return LoopCountScan6;
+}
+
+
+//Button A event-triggered interrupt
 void buttonA_isr()
 {
-    
-    long distanced = sensor.distance(); 
+
+    long distanced = sensor.distance();
     buttonCountA();
-        
-        
-    
+
+
+
     g_buttonA_flag = 1;   // set flag in ISR
-  
-        printf("press count = %i\n",g_ButtonAPress);
-            
-      // lcd.clear(); 
-        //lcd.printString("Button A Pressed",0,0);
-        
-     //    lcd.refresh(); // set flag in ISR
+
+    printf("press count = %i\n",g_ButtonAPress);
+
+    // lcd.clear();
+    //lcd.printString("Button A Pressed",0,0);
+
+    //    lcd.refresh(); // set flag in ISR
 }
- 
+
 
-  //Button B event-triggered interrupt
+//Button B event-triggered interrupt
 void buttonB_isr()
 {
     buttonCountB();
     g_buttonB_flag = 1;   // set flag in ISR
-       lcd.clear(); 
+    lcd.clear();
     g_ButtonAPress = 6; // This is is a work around due to time constraints
-        lcd.printString("Button B Pressed",0,0);
-        
-         lcd.refresh(); // set flag in ISR
-           printf("press count = %i\n",g_ButtonBPress);
+    lcd.printString("Button B Pressed",0,0);
+
+    lcd.refresh(); // set flag in ISR
+    printf("press count = %i\n",g_ButtonBPress);
 }
-  //Button X event-triggered interrupt
+//Button X event-triggered interrupt
 void buttonX_isr()
 {
     g_buttonX_flag = 1;   // set flag in ISR
-       lcd.clear(); 
-        lcd.printString("Button X Pressed",0,0);
-         lcd.refresh(); // set flag in ISR
+    lcd.clear();
+    lcd.printString("Button X Pressed",0,0);
+    lcd.refresh(); // set flag in ISR
 }
-  //Button Y event-triggered interrupt
+//Button Y event-triggered interrupt
 void buttonY_isr()
 {
     g_buttonY_flag = 1;   // set flag in ISR
-       lcd.clear();       
-        lcd.printString("Button Y Pressed",0,0);
-         lcd.refresh(); // set flag in ISR
+    lcd.clear();
+    lcd.printString("Button Y Pressed",0,0);
+    lcd.refresh(); // set flag in ISR
 }
-  //Button Start event-triggered interrupt
+//Button Start event-triggered interrupt
 void buttonStart_isr()
 {
     g_buttonStart_flag = 1;   // set flag in ISR
-       lcd.clear(); 
-         /////////////////////////////////////////////////        
-   
+    lcd.clear();
+    /////////////////////////////////////////////////
+
     /*
     * For loop required to assign array values to that of the scan value
     */ /* not required due to repeatablity issues
-     int arr1[5] ;
-    for(int i=0;  i<5; i++){
-    arr1[i] =Scan1[i];}    
-    int arr2[] = { 90, 90, 90, 90, 90 };
-    int n = sizeof(arr1) / sizeof(int);
-    int m = sizeof(arr2) / sizeof(int);
-  */
- 
-   // if(MatchMade(arr1, arr2, n, m))
-   // printf("You are a wall");
-   // else
-     //   printf("Not THis Object"); //////////////////////////////////
-        
-        
-        lcd.printString("Button Start Pressed",0,0);
-         lcd.refresh(); // set flag in ISR
-         
-         }
-           //Button Back event-triggered interrupt
+ int arr1[5] ;
+for(int i=0;  i<5; i++){
+arr1[i] =Scan1[i];}
+int arr2[] = { 90, 90, 90, 90, 90 };
+int n = sizeof(arr1) / sizeof(int);
+int m = sizeof(arr2) / sizeof(int);
+*/
+
+    // if(MatchMade(arr1, arr2, n, m))
+    // printf("You are a wall");
+    // else
+    //   printf("Not THis Object"); //////////////////////////////////
+
+
+    lcd.printString("Button Start Pressed",0,0);
+    lcd.refresh(); // set flag in ISR
+
+}
+//Button Back event-triggered interrupt
 void buttonBack_isr()
 {
     g_buttonBack_flag = 1;   // set flag in ISR
-       lcd.clear(); 
-        lcd.printString("Button Back Pressed",0,0);
-         lcd.refresh(); // set flag in ISR
-         }
-           //Button Left event-triggered interrupt
+    lcd.clear();
+    lcd.printString("Button Back Pressed",0,0);
+    lcd.refresh(); // set flag in ISR
+}
+//Button Left event-triggered interrupt
 void buttonLeft_isr()
 {
     g_buttonLeft_flag = 1;   // set flag in ISR
-       lcd.clear(); 
-        lcd.printString("Button Left Pressed",0,0);
-         lcd.refresh(); // set flag in ISR
-         }
-  //Button Right event-triggered interrupt
+    lcd.clear();
+    lcd.printString("Button Left Pressed",0,0);
+    lcd.refresh(); // set flag in ISR
+}
+//Button Right event-triggered interrupt
 void buttonRight_isr()
 {
     g_buttonRight_flag = 1;   // set flag in ISR
-       lcd.clear(); 
-       lcd.printString("Button Right Pressed",0,0);
-         lcd.refresh(); // set flag in ISR
-         }
-             /**
+    lcd.clear();
+    lcd.printString("Button Right Pressed",0,0);
+    lcd.refresh(); // set flag in ISR
+}
+/**
 *..Void for 1st scan
 **/
 void inputScan1()
 {
-      lcd.clear();        
-      lcd.printString("First Scan",0,0); 
-      lcd.refresh();
-      NoContinueExitScan1();
-      
-       Buzzer.play(300,120);  lcd.printString("X",0,1); lcd.refresh();       Scan1[0] = sensor.distance();
-        wait_ms(5);
-        /* NO Longer Required Section 
-         Buzzer.play(200,120);  lcd.printString("X",0,2);lcd.refresh();        Scan1[1] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120);  lcd.printString("X",0,3);lcd.refresh();        Scan1[2] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120);  lcd.printString("X",0,4);lcd.refresh();         Scan1[3] = sensor.distance();;
-        wait_ms(5);
-         Buzzer.play(200,120);  lcd.printString("X",0,5);lcd.refresh();         Scan1[4] = sensor.distance();;
-        wait_ms(5); */
-         lcd.printString("Scan 1 Done",0,0); lcd.refresh();
-         }
-     /**
+    lcd.clear();
+    lcd.printString("First Scan",0,0);
+    lcd.refresh();
+    NoContinueExitScan1();
+
+    Buzzer.play(300,120);
+    lcd.printString("X",0,1);
+    lcd.refresh();
+    Scan1[0] = sensor.distance();
+    wait_ms(5);
+    /* NO Longer Required Section
+     Buzzer.play(200,120);  lcd.printString("X",0,2);lcd.refresh();        Scan1[1] = sensor.distance();
+    wait_ms(5);
+     Buzzer.play(200,120);  lcd.printString("X",0,3);lcd.refresh();        Scan1[2] = sensor.distance();
+    wait_ms(5);
+     Buzzer.play(200,120);  lcd.printString("X",0,4);lcd.refresh();         Scan1[3] = sensor.distance();;
+    wait_ms(5);
+     Buzzer.play(200,120);  lcd.printString("X",0,5);lcd.refresh();         Scan1[4] = sensor.distance();;
+    wait_ms(5); */
+    lcd.printString("Scan 1 Done",0,0);
+    lcd.refresh();
+}
+/**
 *..Void for 2nd scan
-**/        
+**/
 void inputScan2()
 {
-         lcd.clear();
-         lcd.printString("Second Scan",0,0);
-         lcd.refresh();
-         NoContinueExitScan2();
-         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();
-         Buzzer.play(300,120);  lcd.printString("X",15,1); lcd.refresh();       Scan1[1] = sensor.distance();
-         wait_ms(5);/*
+    lcd.clear();
+    lcd.printString("Second Scan",0,0);
+    lcd.refresh();
+    NoContinueExitScan2();
+    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();
+    Buzzer.play(300,120);
+    lcd.printString("X",15,1);
+    lcd.refresh();
+    Scan1[1] = sensor.distance();
+    wait_ms(5);/*
          Buzzer.play(200,120);  lcd.printString("X",15,2);lcd.refresh();        Scan2[1] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",15,3);lcd.refresh();        Scan2[2] = sensor.distance();
@@ -1235,22 +1251,26 @@
          Buzzer.play(200,120);  lcd.printString("X",15,4);lcd.refresh();         Scan2[3] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",15,5);lcd.refresh();         Scan2[4] = sensor.distance();*/
-         lcd.printString("Scan 2 Done",0,0); lcd.refresh();
+    lcd.printString("Scan 2 Done",0,0);
+    lcd.refresh();
 
-    }
-        /**
+}
+/**
 *..Void for 3rd scan
 **/
 void inputScan3()
 {
-         lcd.clear();
-         lcd.printString("Third Scan",0,0);
-         lcd.refresh();
-         NoContinueExitScan3();
-         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();
-         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();
-         Buzzer.play(300,120);  lcd.printString("X",30,1); lcd.refresh();       Scan1[2] = sensor.distance();
-         wait_ms(5);/*
+    lcd.clear();
+    lcd.printString("Third Scan",0,0);
+    lcd.refresh();
+    NoContinueExitScan3();
+    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();
+    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();
+    Buzzer.play(300,120);
+    lcd.printString("X",30,1);
+    lcd.refresh();
+    Scan1[2] = sensor.distance();
+    wait_ms(5);/*
          Buzzer.play(200,120);  lcd.printString("X",30,2);lcd.refresh();        Scan3[1] = sensor.distance();
         wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",30,3);lcd.refresh();        Scan3[2] = sensor.distance();
@@ -1258,22 +1278,26 @@
          Buzzer.play(200,120);  lcd.printString("X",30,4);lcd.refresh();         Scan3[3] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",30,5);lcd.refresh();         Scan3[4] = sensor.distance(); */
-         lcd.printString("Scan 3 Done",0,0); lcd.refresh(); 
-    }
+    lcd.printString("Scan 3 Done",0,0);
+    lcd.refresh();
+}
 /**
 *..Void for 4th scan
 **/
 void inputScan4()
 {
-         lcd.clear();
-         lcd.printString("Fourth Scan",0,0); 
-         lcd.refresh();
-         NoContinueExitScan4();
-         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();
-         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();
-         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();        
-         Buzzer.play(300,120);  lcd.printString("X",45,1); lcd.refresh();       Scan1[3] = sensor.distance();
-         wait_ms(5);/*
+    lcd.clear();
+    lcd.printString("Fourth Scan",0,0);
+    lcd.refresh();
+    NoContinueExitScan4();
+    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();
+    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();
+    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();
+    Buzzer.play(300,120);
+    lcd.printString("X",45,1);
+    lcd.refresh();
+    Scan1[3] = sensor.distance();
+    wait_ms(5);/*
          Buzzer.play(200,120);  lcd.printString("X",45,2);lcd.refresh();        Scan4[1] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",45,3);lcd.refresh();        Scan4[2] = sensor.distance();
@@ -1281,23 +1305,27 @@
          Buzzer.play(200,120);  lcd.printString("X",45,4);lcd.refresh();         Scan4[3] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",45,5);lcd.refresh();         Scan4[4] = sensor.distance(); */
-         lcd.printString("Scan 4 Done",0,0); lcd.refresh();
-    }
-    /**
+    lcd.printString("Scan 4 Done",0,0);
+    lcd.refresh();
+}
+/**
 *..Void for 5th scan
 **/
 void inputScan5()
 {
-              lcd.clear();
-        lcd.printString("Fifth Scan",0,0);
-        lcd.refresh();
-        NoContinueExitScan5();
-         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();
-         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();
-         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();
-         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(); 
-         Buzzer.play(300,120);  lcd.printString("X",60,1); lcd.refresh();       Scan1[4] = sensor.distance();
-         wait_ms(5); /*
+    lcd.clear();
+    lcd.printString("Fifth Scan",0,0);
+    lcd.refresh();
+    NoContinueExitScan5();
+    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();
+    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();
+    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();
+    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();
+    Buzzer.play(300,120);
+    lcd.printString("X",60,1);
+    lcd.refresh();
+    Scan1[4] = sensor.distance();
+    wait_ms(5); /*
          Buzzer.play(200,120);  lcd.printString("X",60,2);lcd.refresh();        Scan5[1] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",60,3);lcd.refresh();        Scan5[2] = sensor.distance();
@@ -1305,120 +1333,136 @@
          Buzzer.play(200,120);  lcd.printString("X",60,4);lcd.refresh();         Scan5[3] = sensor.distance();
          wait_ms(5);
          Buzzer.play(200,120);  lcd.printString("X",60,5);lcd.refresh();         Scan5[4] = sensor.distance(); */
-         lcd.printString("Scan 5 Done",0,0); lcd.refresh();
-    }
+    lcd.printString("Scan 5 Done",0,0);
+    lcd.refresh();
+}
 /**
 *..Second Menu after B object decision if the value is plus or minus 5 of the model value on the scan a value of 1 is atributated, a match is a 0 total.
-**/    
+**/
 void inputScan6()
 {
-                  lcd.clear();
-        lcd.printString("Decide",0,0);
-        lcd.refresh();
-           NoContinueExitScan6();
- int box[5]= {111,38,38,111,111};// compared to the wall if the box is present this sequence should be recorded
- int carton[5] = {19,19,19,19,19}; // compared to the wall if the carton is present this sequence should be recorded
- int wall [5] = {111,111,111,111,111}; // compared to the wall if the wall is present this sequence should be recorded
- int triangle[5]= {111,38,19,38,111}; // compared to the wall if the triangle is present this sequence should be recorded
- int isBox[5];
- int isCarton[5];
- int isWall[5];
- int isTriangle[5];
- //int wallTotal;
- //int cartonTotal;
- //int boxTotal;
- for (int i=0; i<5; i++){
-   isBox[i] =abs(Scan1[i]-box[i]);
-   printf("DeBUGGING isBOX : %i\n", isBox[i]);
-    if (isBox[i]<=5){
-    isBox[i]=0;}
-else if (isBox[i]>5){
-isBox[i]=1;}
-printf("DeBUGGING isBOX : %i\n", isBox[i]);
-boxTotal = accumulate(begin(isBox), end(isBox), 0, plus<int>());
+    lcd.clear();
+    lcd.printString("Decide",0,0);
+    lcd.refresh();
+    NoContinueExitScan6();
+    int box[5]= {111,38,38,111,111};// compared to the wall if the box is present this sequence should be recorded
+    int carton[5] = {19,19,19,19,19}; // compared to the wall if the carton is present this sequence should be recorded
+    int wall [5] = {111,111,111,111,111}; // compared to the wall if the wall is present this sequence should be recorded
+    int triangle[5]= {111,38,19,38,111}; // compared to the wall if the triangle is present this sequence should be recorded
+    int isBox[5];
+    int isCarton[5];
+    int isWall[5];
+    int isTriangle[5];
+//int wallTotal;
+//int cartonTotal;
+//int boxTotal;
+    for (int i=0; i<5; i++) {
+        isBox[i] =abs(Scan1[i]-box[i]);
+        printf("DeBUGGING isBOX : %i\n", isBox[i]);
+        if (isBox[i]<=5) {
+            isBox[i]=0;
+        } else if (isBox[i]>5) {
+            isBox[i]=1;
+        }
+        printf("DeBUGGING isBOX : %i\n", isBox[i]);
+        boxTotal = accumulate(begin(isBox), end(isBox), 0, plus<int>());
 //printf("DEBUGGING BOX total %i\n", boxTotal);
 
-  isCarton[i] =abs(Scan1[i]-carton[i]);
-   printf("DeBUGGING isCarton : %i\n", isCarton[i]);
-    if (isCarton[i]<=5){
-    isCarton[i]=0;}
-else if (isCarton[i]>5){
-isCarton[i]=1;}
-printf("DeBUGGING isCarton : %i\n", isCarton[i]);
-cartonTotal = accumulate(begin(isCarton), end(isCarton), 0, plus<int>());
+        isCarton[i] =abs(Scan1[i]-carton[i]);
+        printf("DeBUGGING isCarton : %i\n", isCarton[i]);
+        if (isCarton[i]<=5) {
+            isCarton[i]=0;
+        } else if (isCarton[i]>5) {
+            isCarton[i]=1;
+        }
+        printf("DeBUGGING isCarton : %i\n", isCarton[i]);
+        cartonTotal = accumulate(begin(isCarton), end(isCarton), 0, plus<int>());
 //printf("DEBUGGING CARTON total %i\n", cartonTotal);
 
-  isWall[i] =abs(Scan1[i]-wall[i]); // calculation comparing the scan value with the model
-   printf("DeBUGGING isWall : %i\n", isWall[i]);
-    if (isWall[i]<=5){ // if the difference is less than 5 denote 0
-    isWall[i]=0;}
-else if (isWall[i]>5){ //if the distance is greater than 5 denote 1
-isWall[i]=1;}
-printf("DeBUGGING isWall : %i\n", isWall[i]);
-wallTotal = accumulate(begin(isWall), end(isWall), 0, plus<int>()); // sum of array
+        isWall[i] =abs(Scan1[i]-wall[i]); // calculation comparing the scan value with the model
+        printf("DeBUGGING isWall : %i\n", isWall[i]);
+        if (isWall[i]<=5) { // if the difference is less than 5 denote 0
+            isWall[i]=0;
+        } else if (isWall[i]>5) { //if the distance is greater than 5 denote 1
+            isWall[i]=1;
+        }
+        printf("DeBUGGING isWall : %i\n", isWall[i]);
+        wallTotal = accumulate(begin(isWall), end(isWall), 0, plus<int>()); // sum of array
 //printf("DEBUGGING Wall total %i\n", wallTotal);
 
-  isTriangle[i] =abs(Scan1[i]-triangle[i]);
-   printf("DeBUGGING isTriangle : %i\n", isTriangle[i]);
-    if (isTriangle[i]<=5){
-    isTriangle[i]=0;}
-else if (isTriangle[i]>5){
-isTriangle[i]=1;}
-printf("DeBUGGING isTriangle : %i\n", isTriangle[i]);
-triangleTotal = accumulate(begin(isTriangle), end(isTriangle), 0, plus<int>());
+        isTriangle[i] =abs(Scan1[i]-triangle[i]);
+        printf("DeBUGGING isTriangle : %i\n", isTriangle[i]);
+        if (isTriangle[i]<=5) {
+            isTriangle[i]=0;
+        } else if (isTriangle[i]>5) {
+            isTriangle[i]=1;
+        }
+        printf("DeBUGGING isTriangle : %i\n", isTriangle[i]);
+        triangleTotal = accumulate(begin(isTriangle), end(isTriangle), 0, plus<int>());
 
-printShape();}
-     
-        }
+        printShape();
+    }
+
+}
 /**
 *..Void for Deciding and printing shape
 **/
-void printShape(){
-    
-    if(wallTotal == 0){
- wallDecision();
- return;}
-     else if(boxTotal == 0){
- boxDecision();
- return;}
-         else if (cartonTotal == 0){
-cartonDecision();
-return;}
-         else if (triangleTotal == 0){
-triangleDecision();
-return;}
+void printShape()
+{
+
+    if(wallTotal == 0) {
+        wallDecision();
+        return;
+    } else if(boxTotal == 0) {
+        boxDecision();
+        return;
+    } else if (cartonTotal == 0) {
+        cartonDecision();
+        return;
+    } else if (triangleTotal == 0) {
+        triangleDecision();
+        return;
+    }
 }
 
 
 
-         /**
+/**
 *.. Void for What to do while the Wall is in sight
 */
- void wallDecision(){
-                 printf("We Have a wall\n");
-                   lcd.clear();
-        lcd.printString("Decide",0,0);
-        lcd.printString("Wall",0,2);
-        lcd.refresh();}
+void wallDecision()
+{
+    printf("We Have a wall\n");
+    lcd.clear();
+    lcd.printString("Decide",0,0);
+    lcd.printString("Wall",0,2);
+    lcd.refresh();
+}
 /**
 *.. Void for What to do while the Box is in sight
-*/        
-void boxDecision(){
-                     printf("We Have Box\n");
-         lcd.printString("Decide",0,0);
-         lcd.printString("Box",0,2);
-          lcd.refresh();}
+*/
+void boxDecision()
+{
+    printf("We Have Box\n");
+    lcd.printString("Decide",0,0);
+    lcd.printString("Box",0,2);
+    lcd.refresh();
+}
 /**
 *.. Void for What to do while the Carton is in sight
 */
-void cartonDecision(){
-             printf("We Have Carton\n");
-         lcd.printString("Decide",0,0);
-         lcd.printString("Carton",0,2);
-          lcd.refresh();}
-          
-            void triangleDecision(){
-                             printf("We Have Triangle\n");
-         lcd.printString("Decide",0,0);
-         lcd.printString("Triangle",0,2);
-          lcd.refresh();}
\ No newline at end of file
+void cartonDecision()
+{
+    printf("We Have Carton\n");
+    lcd.printString("Decide",0,0);
+    lcd.printString("Carton",0,2);
+    lcd.refresh();
+}
+
+void triangleDecision()
+{
+    printf("We Have Triangle\n");
+    lcd.printString("Decide",0,0);
+    lcd.printString("Triangle",0,2);
+    lcd.refresh();
+}
\ No newline at end of file