ECE3872 HW/SW Project Code
Dependencies: mbed Servo mbed-rtos 4DGL-uLCD-SE PinDetect X_NUCLEO_53L0A1
Revision 12:0528ef6978ec, committed 2020-04-11
- Comitter:
- nnguyen99
- Date:
- Sat Apr 11 19:34:47 2020 +0000
- Parent:
- 11:299f2c8a4092
- Child:
- 13:3ae48dd67009
- Child:
- 24:930fc58e927a
- Commit message:
- revision
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sat Apr 11 03:18:24 2020 +0000
+++ b/main.cpp Sat Apr 11 19:34:47 2020 +0000
@@ -70,8 +70,8 @@
void state_machine_mgr(){
- pc.printf("SM\n");
char curr_state = 1;
+ char key_input;
X = 1;
S = 0;
R = 0;
@@ -79,75 +79,80 @@
E = 0;
while(1) {
if (pc.readable()) { // if they have pressed a key
- curr_state = pc.getc();
- if('1') X=!X; //toggle reset
- if('2') S=!S; //toggle stop
- if('3') R=!R; //toogle record
- if('4') P=!P; //toggle play
- if('5') E=!E; //toggle erase
+ key_input = pc.getc();
+ if(key_input == '1') X=1; //toggle reset
+ if(key_input == '2') S=1; //toggle stop
+ if(key_input == '3') R=1; //toogle record
+ if(key_input == '4') P=1; //toggle play
+ if(key_input == '5') E=1; //toggle erase
}
-
+ pc.printf("X: %d\n",X);
+ pc.printf("S: %d\n",S);
+ pc.printf("R: %d\n",R);
+ pc.printf("P: %d\n",P);
+ pc.printf("E: %d\n",E);
+ pc.printf("Current State %d\n",curr_state);
// Implementing state machine logical transitions based on what states can exit to other states
if(X){
if(E){
curr_state = 5;
- X = !X;
+ X = 0;
}else if(S){
curr_state = 2;
- X = !X;
+ X = 0;
}
}else if(S){
if(X){
curr_state = 1;
- S = !S;
+ S = 0;
}else if(R){
curr_state = 3;
- S = !S;
+ S = 0;
}else if(P){
curr_state = 4;
- S = !S;
+ S = 0;
}
}else if(R){
if(X){
curr_state = 1;
- R = !R;
+ R = 0;
}else if(S){
curr_state = 2;
- R = !R;
+ R = 0;
}
}else if(P){
if(X){
curr_state = 1;
- P = !P;
+ P = 0;
}else if(S){
curr_state = 2;
- P = !P;
+ P = 0;
}
}else if(E){
if(X){
curr_state = 1;
- E = !E;
+ E = 0;
}
}
switch(curr_state){
case 1:
- pc.printf("RESET\n");
+// pc.printf("RESET\n");
reset();
break;
case 2:
- pc.printf("STOP\n");
+// pc.printf("STOP\n");
stop();
break;
case 3:
- pc.printf("RECORD\n");
+// pc.printf("RECORD\n");
record();
break;
case 4:
- pc.printf("PLAY\n");
+// pc.printf("PLAY\n");
play();
break;
case 5:
- pc.printf("ERASE\n");
+// pc.printf("ERASE\n");
erase();
break;
}
@@ -155,6 +160,5 @@
}
int main() {
- pc.printf("MAIN\n");
state_machine_mgr();
}
