Coursework

Revision:
31:91a3c61d33e6
Parent:
30:9d39318ef584
Child:
32:9c206f993cf5
diff -r 9d39318ef584 -r 91a3c61d33e6 main.cpp
--- a/main.cpp	Fri Jan 28 14:47:06 2022 +0000
+++ b/main.cpp	Fri Jan 28 21:35:00 2022 +0000
@@ -29,7 +29,15 @@
 volatile int g_buttonBack_flag = 0; 
 volatile int g_buttonLeft_flag = 0; 
 volatile int g_buttonRight_flag = 0;
-
+/**
+*..Bring in 5 arrays of 5 for each of the 5 required scans.
+*..array Ref starts at 0,
+*/ 
+volatile     int Scan1[5];
+volatile     int Scan2[5];
+volatile     int Scan3[5];
+volatile     int Scan4[5];
+volatile     int Scan5[5];
 /**
 *... Section of code to assign names to IO pins on the K64f
 */
@@ -72,6 +80,11 @@
 void buttonBack_isr(); // Button Back interrupt service routine
 void buttonLeft_isr(); // Button Left interrupt service routine
 void buttonRight_isr(); // Button Right interrupt service routine
+void inputScan1();
+void inputScan2();
+void inputScan3();
+void inputScan4();
+void inputScan5();
 int buttonCountA();
 int buttonCountB();
 
@@ -178,15 +191,9 @@
    Object1.namestruct = "name";
 */ 
     while(1) {
-/**
-*..Bring in 5 arrays of 5 for each of the 5 required scans.
-*..array Ref starts at 0,
-*/ 
-         int Scan1[5];
-         int Scan2[5];
-         int Scan3[5];
-         int Scan4[5];
-         int Scan5[5];
+
+    
+
          char Decide[5];
          char Decide2[5];
          char Decide3[5];
@@ -310,9 +317,9 @@
      lcd.clear();   
      lcd.printString("Main Menu",0,0);
      lcd.drawLine(0,10,80,10,2);      
-     lcd.printString("A to begin new Scan",0,2);
-     lcd.printString("Scan Starts move pad",0,3);
-     lcd.printString("B to display Shape",0,4);
+     lcd.printString("Press A",0,2);
+     lcd.printString("New Scan",0,3);
+     lcd.printString("Press B",0,4);
      lcd.printString("Kory 18689004",0,5);
      
      
@@ -326,7 +333,7 @@
             Decide[0]= 'x';
             printf( "chosen 1 %c\n",Decide[0]);
             }
-            else if (Scan1[0] = Scan1[1]) 
+            else if (Scan1[0] == Scan1[1]) 
             {
             printf("=");
             Decide[0]='=';
@@ -344,7 +351,7 @@
             Decide[1]= 'x';
             printf( "chosen 1 %c\n",Decide[1]);
             }
-            else if (Scan1[1] = Scan1[2]) 
+            else if (Scan1[1] == Scan1[2]) 
             {
             printf("=");
             Decide[1]='=';
@@ -363,7 +370,7 @@
             Decide[2]= 'x';
             printf( "chosen 1 %c\n",Decide[2]);
             }
-            else if (Scan1[2] = Scan1[3]) 
+            else if (Scan1[2] == Scan1[3]) 
             {
             printf("=");
             Decide[2]='=';
@@ -381,7 +388,7 @@
             Decide[3]= 'x';
             printf( "chosen 1 %c\n",Decide[3]);
             }
-            else if (Scan1[3] = Scan1[4]) 
+            else if (Scan1[3] == Scan1[4]) 
             {
             printf("=");
             Decide[3]='=';
@@ -400,7 +407,7 @@
             Decide2[0]= 'x';
             printf( "chosen 1 %c\n",Decide2[0]);
             }
-            else if (Scan2[0] = Scan2[1]) 
+            else if (Scan2[0] == Scan2[1]) 
             {
             printf("=");
             Decide2[0]='=';
@@ -418,7 +425,7 @@
             Decide2[1]= 'x';
             printf( "chosen 1 %c\n",Decide2[1]);
             }
-            else if (Scan2[1] = Scan2[2]) 
+            else if (Scan2[1] == Scan2[2]) 
             {
             printf("=");
             Decide2[1]='=';
@@ -437,7 +444,7 @@
             Decide2[2]= 'x';
             printf( "chosen 1 %c\n",Decide2[2]);
             }
-            else if (Scan2[2] = Scan2[3]) 
+            else if (Scan2[2] == Scan2[3]) 
             {
             printf("=");
             Decide2[2]='=';
@@ -455,7 +462,7 @@
             Decide2[3]= 'x';
             printf( "chosen 1 %c\n",Decide2[3]);
             }
-            else if (Scan2[3] = Scan2[4]) 
+            else if (Scan2[3] == Scan2[4]) 
             {
             printf("=");
             Decide2[3]='=';
@@ -474,7 +481,7 @@
             Decide3[0]= 'x';
             printf( "chosen 1 %c\n",Decide3[0]);
             }
-            else if (Scan3[0] = Scan3[1]) 
+            else if (Scan3[0] == Scan3[1]) 
             {
             printf("=");
             Decide3[0]='=';
@@ -492,7 +499,7 @@
             Decide3[1]= 'x';
             printf( "chosen 1 %c\n",Decide3[1]);
             }
-            else if (Scan3[1] = Scan3[2]) 
+            else if (Scan3[1] == Scan3[2]) 
             {
             printf("=");
             Decide3[1]='=';
@@ -511,7 +518,7 @@
             Decide3[2]= 'x';
             printf( "chosen 1 %c\n",Decide3[2]);
             }
-            else if (Scan3[2] = Scan3[3]) 
+            else if (Scan3[2] == Scan3[3]) 
             {
             printf("=");
             Decide3[2]='=';
@@ -529,7 +536,7 @@
             Decide3[3]= 'x';
             printf( "chosen 1 %c\n",Decide3[3]);
             }
-            else if (Scan3[3] = Scan3[4]) 
+            else if (Scan3[3] == Scan3[4]) 
             {
             printf("=");
             Decide3[3]='=';
@@ -548,7 +555,7 @@
             Decide4[0]= 'x';
             printf( "chosen 1 %c\n",Decide4[0]);
             }
-            else if (Scan4[0] = Scan4[1]) 
+            else if (Scan4[0] == Scan4[1]) 
             {
             printf("=");
             Decide4[0]='=';
@@ -566,7 +573,7 @@
             Decide4[1]= 'x';
             printf( "chosen 1 %c\n",Decide4[1]);
             }
-            else if (Scan4[1] = Scan4[2]) 
+            else if (Scan4[1] == Scan4[2]) 
             {
             printf("=");
             Decide4[1]='=';
@@ -585,7 +592,7 @@
             Decide4[2]= 'x';
             printf( "chosen 1 %c\n",Decide4[2]);
             }
-            else if (Scan4[2] = Scan4[3]) 
+            else if (Scan4[2] == Scan4[3]) 
             {
             printf("=");
             Decide4[2]='=';
@@ -603,7 +610,7 @@
             Decide4[3]= 'x';
             printf( "chosen 1 %c\n",Decide4[3]);
             }
-            else if (Scan4[3] = Scan4[4]) 
+            else if (Scan4[3] == Scan4[4]) 
             {
             printf("=");
             Decide4[3]='=';
@@ -621,7 +628,7 @@
             Decide5[0]= 'x';
             printf( "chosen 1 %c\n",Decide5[0]);
             }
-            else if (Scan5[0] = Scan5[1]) 
+            else if (Scan5[0] == Scan5[1]) 
             {
             printf("=");
             Decide5[0]='=';
@@ -639,7 +646,7 @@
             Decide5[1]= 'x';
             printf( "chosen 1 %c\n",Decide5[1]);
             }
-            else if (Scan5[1] = Scan5[2]) 
+            else if (Scan5[1] == Scan5[2]) 
             {
             printf("=");
             Decide5[1]='=';
@@ -658,7 +665,7 @@
             Decide5[2]= 'x';
             printf( "chosen 1 %c\n",Decide5[2]);
             }
-            else if (Scan5[2] = Scan5[3]) 
+            else if (Scan5[2] == Scan5[3]) 
             {
             printf("=");
             Decide5[2]='=';
@@ -676,7 +683,7 @@
             Decide5[3]= 'x';
             printf( "chosen 1 %c\n",Decide5[3]);
             }
-            else if (Scan5[3] = Scan5[4]) 
+            else if (Scan5[3] == Scan5[4]) 
             {
             printf("=");
             Decide5[3]='=';
@@ -701,85 +708,19 @@
 */     
      case 1:
      g_ButtonAPress =1;
-      lcd.clear();        
-      lcd.printString("First Scan",0,0); 
-      lcd.refresh();
-      
-       Buzzer.play(300,120); wait(2);  lcd.printString("X",0,1); lcd.refresh();       Scan1[0] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",0,2);lcd.refresh();        Scan1[1] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",0,3);lcd.refresh();        Scan1[2] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",0,4);lcd.refresh();         Scan1[3] = sensor.distance();;
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",0,5);lcd.refresh();         Scan1[4] = sensor.distance();;
-        wait_ms(5);
-         lcd.printString("Scan 1 Done",0,0); lcd.refresh();
-
-        wait_ms(5); // required to stop Black screen issue}
-         lcd.clear();lcd.refresh();
-         lcd.printString("Second Scan",0,0);
-         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();
-         Buzzer.play(300,120); wait(2);  lcd.printString("X",15,1); lcd.refresh();       Scan2[0] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",15,2);lcd.refresh();        Scan2[1] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",15,3);lcd.refresh();        Scan2[2] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",15,4);lcd.refresh();         Scan2[3] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",15,5);lcd.refresh();         Scan2[4] = sensor.distance();
-         lcd.printString("Scan 2 Done",0,0); lcd.refresh();
+     
+        inputScan1();
 
         wait_ms(5); // required to stop Black screen issue}
-         lcd.clear();lcd.refresh();
-         lcd.printString("Third Scan",0,0); 
-         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();
-         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();
-         Buzzer.play(300,120); wait(2);  lcd.printString("X",30,1); lcd.refresh();       Scan3[0] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",30,2);lcd.refresh();        Scan3[1] = sensor.distance();
-        wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",30,3);lcd.refresh();        Scan3[2] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",30,4);lcd.refresh();         Scan3[3] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",30,5);lcd.refresh();         Scan3[4] = sensor.distance();
-         lcd.printString("Scan 3 Done",0,0); lcd.refresh(); 
+        inputScan2();
+        wait_ms(5); // required to stop Black screen issue}
+inputScan3();
 
          wait_ms(5); // required to stop Black screen issue}
-         lcd.printString("Fourth Scan",0,0); 
-         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();
-         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();
-         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();        
-         Buzzer.play(300,120); wait(2);  lcd.printString("X",45,1); lcd.refresh();       Scan4[0] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",45,2);lcd.refresh();        Scan4[1] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",45,3);lcd.refresh();        Scan4[2] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",45,4);lcd.refresh();         Scan4[3] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",45,5);lcd.refresh();         Scan4[4] = sensor.distance();
-         lcd.printString("Scan 4 Done",0,0); lcd.refresh();
+inputScan4();
 
          wait_ms(5);
-         lcd.printString("Fifth Scan",0,0);
-         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();
-         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();
-         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();
-         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(); 
-         Buzzer.play(300,120); wait(2);  lcd.printString("X",60,1); lcd.refresh();       Scan3[0] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",60,2);lcd.refresh();        Scan3[1] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",60,3);lcd.refresh();        Scan3[2] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",60,4);lcd.refresh();         Scan3[3] = sensor.distance();
-         wait_ms(5);
-         Buzzer.play(200,120); wait(2);  lcd.printString("X",60,5);lcd.refresh();         Scan3[4] = sensor.distance();
-         lcd.printString("Scan 5 Done",0,0); lcd.refresh();
+inputScan5();
       
 
       
@@ -789,7 +730,7 @@
 ////////////////////////////////////////////////////////////////////////////        
      case 2: 
     g_ButtonAPress= 2;
-    long secondScan[10];
+   int secondScan[10];
     
                  secondScan[5] = sensor.distance();
  printf("Distance :  %d cm", secondScan[5]);
@@ -802,7 +743,7 @@
               g_ButtonAPress= 3;
          lcd.clear();
        lcd.printString("Menu 3",0,0);        
-       long us = sensor.distance(); 
+       int us = sensor.distance(); 
        printf("Distance :  %d cm",us);
          lcd.refresh();
          wait_ms(50); //required to stop Black screen issue
@@ -1005,6 +946,101 @@
 {
     g_buttonRight_flag = 1;   // set flag in ISR
        lcd.clear(); 
-        lcd.printString("Button Right Pressed",0,0);
+       lcd.printString("Button Right Pressed",0,0);
          lcd.refresh(); // set flag in ISR
-         }
\ No newline at end of file
+         }
+void inputScan1()
+{
+      lcd.clear();        
+      lcd.printString("First Scan",0,0); 
+      lcd.refresh();
+      
+       Buzzer.play(300,120);  lcd.printString("X",0,1); lcd.refresh();       Scan1[0] = sensor.distance();
+        wait_ms(5);
+         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 inputScan2()
+{
+         lcd.clear();
+         lcd.printString("Second Scan",0,0);
+         lcd.refresh();
+         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();
+         Buzzer.play(300,120);  lcd.printString("X",15,1); lcd.refresh();       Scan2[0] = 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();
+         wait_ms(5);
+         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();
+
+    }
+void inputScan3()
+{
+        lcd.clear();
+         lcd.printString("Third Scan",0,0);
+         lcd.refresh();
+         
+         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();
+         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();
+         Buzzer.play(300,120);  lcd.printString("X",30,1); lcd.refresh();       Scan3[0] = 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();
+         wait_ms(5);
+         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(); 
+    }
+void inputScan4()
+{
+              lcd.clear();
+             lcd.printString("Fourth Scan",0,0); 
+             lcd.refresh();
+         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();
+         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();
+         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();        
+         Buzzer.play(300,120);  lcd.printString("X",45,1); lcd.refresh();       Scan4[0] = 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();
+         wait_ms(5);
+         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();
+    }
+void inputScan5()
+{
+              lcd.clear();
+        lcd.printString("Fifth Scan",0,0);
+        lcd.refresh();
+         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();
+         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();
+         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();
+         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(); 
+         Buzzer.play(300,120);  lcd.printString("X",60,1); lcd.refresh();       Scan5[0] = 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();
+         wait_ms(5);
+         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();
+    }
\ No newline at end of file