Tatsuya Yamamoto / Mbed 2 deprecated UV_Robot_Nucleo

Dependencies:   mbed X_NUCLEO_PLC01A1 ros_lib_melodic

Committer:
yamadola
Date:
Sun Aug 30 06:39:43 2020 +0000
Revision:
3:ea5cfd721b53
Parent:
1:ef4b86795d79
This code includes all functions for Amabie.; However, I have never debugged it with the real body.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamadola 0:43eb9ccc1583 1 #include "can_controller.h"
yamadola 0:43eb9ccc1583 2
yamadola 0:43eb9ccc1583 3 /**
yamadola 0:43eb9ccc1583 4 * @brief Initialize CAN controller
yamadola 0:43eb9ccc1583 5 * @param None
yamadola 0:43eb9ccc1583 6 */
yamadola 3:ea5cfd721b53 7 CANController::CANController():_can1(MBED_CONF_APP_CAN1_RD, MBED_CONF_APP_CAN1_TD){
yamadola 3:ea5cfd721b53 8 // _NoData[0] = 'N';
yamadola 3:ea5cfd721b53 9 // _NoData[1] = 'o';
yamadola 3:ea5cfd721b53 10 // _NoData[2] = ',';
yamadola 3:ea5cfd721b53 11 // _NoData[3] = 'D';
yamadola 3:ea5cfd721b53 12 // _NoData[4] = 'a';
yamadola 3:ea5cfd721b53 13 // _NoData[5] = 'T';
yamadola 3:ea5cfd721b53 14 // _NoData[6] = 'a';
yamadola 3:ea5cfd721b53 15 // _NoData[7] = '.';
yamadola 3:ea5cfd721b53 16 }
yamadola 0:43eb9ccc1583 17
yamadola 0:43eb9ccc1583 18 /**
yamadola 0:43eb9ccc1583 19 * @brief Send CAN message
yamadola 0:43eb9ccc1583 20 * @param ID: CAN ID of the target device
yamadola 0:43eb9ccc1583 21 * @param msgData: Address of the message data to be sent
yamadola 0:43eb9ccc1583 22 * @retval 0: Transmission is successful, -1:Transmission is failed
yamadola 0:43eb9ccc1583 23 */
yamadola 0:43eb9ccc1583 24 int CANController::sendMessage( uint16_t ID, char *msgData ){
yamadola 0:43eb9ccc1583 25 CANMessage msg(ID, msgData, 8, CANData, CANStandard);
yamadola 3:ea5cfd721b53 26 int successFlag = _can1.write(msg);
yamadola 0:43eb9ccc1583 27 if(successFlag){
yamadola 0:43eb9ccc1583 28 return 0;
yamadola 0:43eb9ccc1583 29 }else{
yamadola 0:43eb9ccc1583 30 return -1;
yamadola 0:43eb9ccc1583 31 }
yamadola 0:43eb9ccc1583 32 }
yamadola 3:ea5cfd721b53 33
yamadola 3:ea5cfd721b53 34 unsigned char *CANController::recieveMessage( uint16_t ID ){
yamadola 3:ea5cfd721b53 35 while(_can1.read(_rmsg)){
yamadola 3:ea5cfd721b53 36 if(_rmsg.id == ID){
yamadola 3:ea5cfd721b53 37 return _rmsg.data;
yamadola 3:ea5cfd721b53 38 }
yamadola 3:ea5cfd721b53 39 }
yamadola 3:ea5cfd721b53 40 return _NoData;
yamadola 3:ea5cfd721b53 41 }