Xiaofei Qiu / Mbed 2 deprecated Robot_and_Controller

Dependencies:   Command CommandPool GenCMD LSM9DS0 Mode Motor PinDetect Xbee mbed

Fork of VR_Robot by Xiaofei Qiu

Revision:
7:348c8891e542
Parent:
6:7a38f754e030
Child:
8:cc8fe9b9949f
--- a/main.cpp	Sat Nov 28 02:35:43 2015 +0000
+++ b/main.cpp	Sat Nov 28 19:48:30 2015 +0000
@@ -1,3 +1,44 @@
+// Controller code
+#pragma once
+#include "mbed.h"
+#include "CommandPool.h"
+#include "Xbee.h"
+#include "GenCMD.h"
+#include "PinDetect.h"
+#include "Mode.h"
+
+GenCMD      gen_cmd;
+Xbee        xbee(p9,p10,p11);
+DigitalOut  led(LED1);
+Mode        mode;
+char        cmd_buffer = '\0';
+
+Serial pc(USBTX,USBRX);
+
+int main()
+{
+    gen_cmd.init();
+    xbee.Reset();
+
+    while(1)
+    {
+        if(mode.on)
+        {
+            gen_cmd.GenerateCMD(cmd_buffer);            
+            xbee.Send(cmd_buffer);
+            led = !led;  
+        }    
+        else
+        {
+            xbee.Send(STOP);
+        }  
+        
+        wait(0.01);
+    } 
+ return 0;
+}
+
+/* Robot code 
 #pragma once
 #include "mbed.h"
 #include "CommandPool.h"
@@ -10,32 +51,25 @@
 Xbee xbee(p9,p10,p11);
 DigitalOut led(LED1);
 
-char cmd_buffer[3];
-
-
-Serial pc(USBTX, USBRX);
+char cmd_buffer='\0';
 
 int main()
 {
-    /* draft of main code*/
     pool.init();
-    gen_cmd.init();
+    xbee.Reset();
 
     while(1)
     {
-        gen_cmd.GenerateCMD(cmd_buffer);
-        xbee.Send(cmd_buffer);
+        xbee.Recv(cmd_buffer);
+        pc.printf("%i\n",cmd_buffer);
+        cmd = pool.getCommand(cmd_buffer);
+        if(cmd)
+        {
+            cmd->execute();
+        }
         led = !led;
-        //if(med1.readable())
-        //{
-            //med1.read(cmd_buffer,20,callBack);            // read to cmd buffer, and update command
-            //cmd = pool.getCommand(cmd_buffer);              // if cmd is valid
-            //if(cmd)
-            //{
-                //cmd->execute();                             // execute cmd
-            //}               
-            wait(0.01);  
-        //}
+        wait(0.01);  
     } 
  return 0;
 }
+*/