ECE3872 HW/SW Project Code

Dependencies:   mbed Servo mbed-rtos 4DGL-uLCD-SE PinDetect X_NUCLEO_53L0A1

Revision:
10:f10105ec435f
Parent:
9:770effc3af2d
Child:
11:299f2c8a4092
--- a/main.cpp	Thu Apr 09 16:24:28 2020 +0000
+++ b/main.cpp	Thu Apr 09 17:01:39 2020 +0000
@@ -4,9 +4,8 @@
 #include "PinDetect.h"
 #include "uLCD_4DGL.h"
 DigitalOut myled(LED1);
-Serial pc(USBTX,USBRX);
-// LCD init
-// Push buttons init
+Serial mac(USBTX,USBRX);
+
 // States 
 #define sRESET 1
 #define sSTOP 2
@@ -20,7 +19,6 @@
 bool R;     //record
 bool E;     //erase
 
-enum sm_state {sRESET, sSTOP, sRECORD, sPLAY, sERASE};
 
 
 void reset(){ 
@@ -72,22 +70,20 @@
 
 
 void state_machine_mgr(){
-    sm_state curr_state =  sRESET;
+    mac.printf("SM\n");
+    int curr_state =  1;
     while(1) {
-        curr_state = pc.getc();
         switch(curr_state){
-            case sRESET:
-                S = 0;
-                R = 0;
-                P = 0;
-                E = 0;
+            case 1:
+                S,R,P,E = 0;
+                mac.printf("RESET\n");
+                reset();
                 if(S) curr_state = sSTOP;
                 break;
-            case sSTOP:
-                X = 0;
-                R = 0;
-                P = 0;
-                E = 0;
+            case 2:
+                X,R,P,E = 0;
+                mac.printf("STOP\n");
+                stop();
                 if(X){
                     curr_state = sRESET;
                 }else if(S&R){
@@ -96,11 +92,10 @@
                     curr_state = sPLAY;
                 }
                 break;
-            case sRECORD:
-                S = 0;
-                X = 0;
-                P = 0;
-                E = 0;
+            case 3:
+                S,X,P,E = 0;
+                mac.printf("RECORD\n");
+                record();
                 if(X){
                     curr_state = sRESET;
                 }else if(R&S){
@@ -109,11 +104,10 @@
                     curr_state = sPLAY;
                 }
                 break;
-            case sPLAY:
-                S = 0;
-                R = 0;
-                X = 0;
-                E = 0;
+            case 4:
+                S,R,X,E = 0;
+                mac.printf("PLAY\n");
+                play();
                 if(X){
                     curr_state = sRESET;
                 }else if(P&S){
@@ -122,15 +116,19 @@
                     curr_state = sPLAY;
                 }
                 break;
-            case sERASE:
+            case 5:
+                mac.printf("ERASE\n");
+                erase();
+                S,R,X,P = 0;
                 if(X){
                     curr_state = sRESET;
                 }
         }
+        curr_state = mac.getc();
     }
 }
 
 int main() {
-    hardware_init();
+    mac.printf("MAIN\n");
     state_machine_mgr();
 }