car chassis

Dependencies:   Servo mbed-rtos mbed

Committer:
mariob
Date:
Thu Oct 08 13:36:17 2015 +0000
Revision:
2:7dfc8dd6aab3
Parent:
1:79b1ee0f97ef
added body implementation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mariob 1:79b1ee0f97ef 1 #include "car_config.hpp"
mariob 2:7dfc8dd6aab3 2 #include "can.hpp"
mariob 2:7dfc8dd6aab3 3 #include "net.hpp"
mariob 1:79b1ee0f97ef 4 #include "mbed.h"
mariob 1:79b1ee0f97ef 5 #include "rtos.h"
mariob 1:79b1ee0f97ef 6
mariob 2:7dfc8dd6aab3 7 void init_driver () {
mariob 1:79b1ee0f97ef 8 }
mariob 1:79b1ee0f97ef 9
mariob 2:7dfc8dd6aab3 10 void thread_driver (void const *args) {
mariob 2:7dfc8dd6aab3 11 while(1) {
mariob 2:7dfc8dd6aab3 12 if (can_cmd_driver.flag == CAN_FLAG_RECEIVED) {
mariob 2:7dfc8dd6aab3 13 uint16 cmd = can_cmd_driver.payload.msg.cmd;
mariob 2:7dfc8dd6aab3 14 uint32 data = can_cmd_driver.payload.msg.data;
mariob 2:7dfc8dd6aab3 15 switch(cmd) {
mariob 2:7dfc8dd6aab3 16 case CMD_ECHO:
mariob 2:7dfc8dd6aab3 17 can_sts_driver.payload.msg.data = data;
mariob 2:7dfc8dd6aab3 18 can_sts_driver.flag = CAN_FLAG_SEND;
mariob 2:7dfc8dd6aab3 19 break;
mariob 2:7dfc8dd6aab3 20 default:
mariob 2:7dfc8dd6aab3 21 //ignore it
mariob 2:7dfc8dd6aab3 22 break;
mariob 2:7dfc8dd6aab3 23 }
mariob 2:7dfc8dd6aab3 24 can_cmd_driver.flag = CAN_FLAG_EMPTY;
mariob 1:79b1ee0f97ef 25 }
mariob 2:7dfc8dd6aab3 26 Thread::wait(DRIVER_THREAD_PERIOD);
mariob 2:7dfc8dd6aab3 27 }
mariob 1:79b1ee0f97ef 28 }