Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed X_NUCLEO_PLC01A1 ros_lib_melodic
can_controller.cpp@3:ea5cfd721b53, 2020-08-30 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |