Jorn Dokter / Mbed 2 deprecated TEB_branch2

Dependencies:   mbed QEI HIDScope biquadFilter MODSERIAL FastPWM

Revision:
13:f90e31c6af2b
Parent:
12:d13ce121a781
Child:
14:1a695fc45fc6
--- a/main.cpp	Thu Oct 03 07:35:27 2019 +0000
+++ b/main.cpp	Thu Oct 03 08:23:16 2019 +0000
@@ -26,6 +26,7 @@
     States CurrentState; 
 
     volatile char ledcolor; //r is red, b is blue, g is green, t is bluegreen, p is purple
+    volatile int errorCode;
     
 
 
@@ -39,33 +40,39 @@
 //Led FLicker
 void FlipLED(void)
 {
+    pc.printf("FLIPLED \r\n");
     switch(ledcolor)
     {
         case 'r':
-            ledr =! ledr;
+            ledr = !ledr;
             ledg = true;
             ledb = true;
             break;
         case 'b':
             ledr = true;
             ledg = true;
-            ledb =! ledb;
+            ledb = !ledb;
             break;
         case 'g':
             ledr = true;
-            ledg =! ledg;
+            ledg = !ledg;
             ledb = true;
+            break;
         case 't':
             ledr = true;
-            ledg =! ledg;
-            ledb =! ledb;
+            ledg = !ledg;
+            ledb = !ledb;
             break;
         case 'p':
-            ledr =! ledr;
+            ledr = !ledr;
             ledg = true;
-            ledb =! ledb;
+            ledb = !ledb;
             break;
+        default:
+            errorCode = 1;
+            pc.printf("Error 1: Color not defined");
     }
+    pc.printf("Color %c \r\n",ledcolor);
 }
 
 void Run_StateChangerButton1()
@@ -100,14 +107,15 @@
 {
     switch(CurrentState)
     {
-    case CalibrationIdle:
-        CurrentState = Demo;
-    case MovementIdle:
-        CurrentState = Move;
-        break;
-    case TiltCup:
-        CurrentState = MovementIdle;
-        break;
+        case CalibrationIdle:
+            CurrentState = Demo;
+            break;
+        case MovementIdle:
+            CurrentState = Move;
+            break;
+        case TiltCup:
+            CurrentState = MovementIdle;
+            break;
     }
 }
 
@@ -134,7 +142,7 @@
 void Run_CalibrationPhysical(void)
 {
     pc.printf("Starting Calibration Physical ... \r\n");
-    wait(2);
+    wait(1);
     CurrentState = CalibrationIdle;
     
 }
@@ -146,7 +154,7 @@
 
 void Run_Move(void)
 {
-    pc.printf("Starting Calibration Move ... \r\n");
+    pc.printf("Starting Move ... \r\n");
 }
 
 void Run_TiltCup(void)
@@ -163,27 +171,23 @@
 //State Machine
 void StateMachine(void)
 {
-    //Turn off all LEDs
-    ledr = true;
-    ledg = true;
-    ledb = true;
-    
+    //Turn off all LEDs    
     switch(CurrentState)
     {
         case Demo:
-            ledcolor='g';
+            ledcolor='t';
             Run_Demo();
             break;
         case MovementIdle:
-            ledcolor='g';
+            ledcolor='b';
             Run_MovementIdle();
             break;
         case CalibrationIdle:
-            ledcolor='g';
+            ledcolor='b';
             Run_CalibrationIdle();
             break;
         case Startup:
-            ledcolor='g';
+            ledcolor='b';
             Run_Startup();
             break;
         case CalibrationPhysical:
@@ -203,7 +207,7 @@
             Run_TiltCup();
             break;
         case FailState:
-            ledcolor='t';
+            ledcolor='r';
             Run_FailState();
             break;
         default:
@@ -221,18 +225,25 @@
 int main()
 {   
     //Initialize
-    
+    ledr = true;
+    //ledr.write(.4);
+    ledg = true;
+    //ledg.write(.4);
+    ledb = true;
+    //ledb.write(.4);
     
     pc.baud(115200);    
-    Tick_Blinky.attach(FlipLED,1);
     CurrentState = Startup;
-    Main_Ticker.attach(mainloop,2);
     
     button1.mode(PullUp);
     button1.rise(Run_StateChangerButton1);
     button2.mode(PullUp);
     button2.rise(Run_StateChangerButton2);
     
+    //Tickers
+        Main_Ticker.attach(mainloop,2);
+        Tick_Blinky.attach(FlipLED,.5);
+    
     
     while(true)
     {