car chassis
Dependencies: Servo mbed-rtos mbed
Diff: driver.cpp
- 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); + } }