car chassis

Dependencies:   Servo mbed-rtos mbed

Revision:
2:7dfc8dd6aab3
Parent:
1:79b1ee0f97ef
--- a/driver.cpp	Mon Aug 31 22:25:57 2015 +0000
+++ b/driver.cpp	Thu Oct 08 13:36:17 2015 +0000
@@ -1,35 +1,28 @@
 #include "car_config.hpp"
+#include "can.hpp"
+#include "net.hpp"
 #include "mbed.h"
 #include "rtos.h"
 
-extern can_cmd_driver_t can_cmd_driver;
-extern can_sts_driver_t can_sts_driver;
-
-void init_driver ()
-{
+void init_driver () {
 }
 
-
-void thread_driver (void const *args)
-{
-    while(1) {
-        //printf("DRIVER\r\n");
-        if (can_cmd_driver.flag == CAN_FLAG_RECEIVED) {
-            uint16 cmd = can_cmd_driver.payload.msg.cmd;
-            //uint16 opt = can_cmd_driver.payload.msg.opt;
-            uint32 data = can_cmd_driver.payload.msg.data;
-            switch(cmd) {
-            case CMD_ECHO:
-                can_sts_driver.payload.msg.data = data;
-                can_sts_driver.flag = CAN_FLAG_SEND;
-                printf("ECHO %d\r\n", can_cmd_driver.payload.msg.data);
-                break;
-            default:
-                //ignore it
-                break;
-            }
-            can_cmd_driver.flag = CAN_FLAG_EMPTY;
-        }
-        Thread::wait(DRIVER_THREAD_PERIOD);
+void thread_driver (void const *args) {
+  while(1) {
+    if (can_cmd_driver.flag == CAN_FLAG_RECEIVED) {
+      uint16 cmd = can_cmd_driver.payload.msg.cmd;
+      uint32 data = can_cmd_driver.payload.msg.data;
+      switch(cmd) {
+        case CMD_ECHO:
+          can_sts_driver.payload.msg.data = data;
+          can_sts_driver.flag = CAN_FLAG_SEND;
+          break;
+        default:
+          //ignore it
+          break;
+      }
+      can_cmd_driver.flag = CAN_FLAG_EMPTY;
     }
+    Thread::wait(DRIVER_THREAD_PERIOD);
+  }
 }