car chassis

Dependencies:   Servo mbed-rtos mbed

diag.cpp

Committer:
mariob
Date:
2015-10-13
Revision:
4:7fa7f78cbb92
Parent:
3:bfc20ec72b15

File content as of revision 4:7fa7f78cbb92:

#include "car_config.hpp"
#include "can.hpp"
#include "net.hpp"
#include "mbed.h"
#include "rtos.h"

void init_diag () {
}

void thread_diag (void const *args) {
  while(1) {
    if (can_cmd_diag.flag == CAN_FLAG_RECEIVED) {
      uint16 cmd = can_cmd_diag.payload.msg.cmd;
      uint32 data = can_cmd_diag.payload.msg.data;
      switch(cmd) {
        case CMD_ECHO:
          can_sts_diag.payload.msg.data = data;
          can_sts_diag.flag = CAN_FLAG_SEND;
          break;
        default:
          //ignore it
          break;
      }
      can_cmd_diag.flag = CAN_FLAG_EMPTY;
    }
    Thread::wait(DIAG_THREAD_PERIOD);
  }
}