car chassis
Dependencies: Servo mbed-rtos mbed
driver.cpp@2:7dfc8dd6aab3, 2015-10-08 (annotated)
- 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?
User | Revision | Line number | New 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 | } |