test
Dependencies: mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM
can/can.cpp@15:3fd1d5698d10, 2019-02-13 (annotated)
- Committer:
- shimizuta
- Date:
- Wed Feb 13 01:57:31 2019 +0000
- Revision:
- 15:3fd1d5698d10
- Parent:
- 14:d7cb429946f4
- Child:
- 16:0069a56f11a3
not debuged of can
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shimizuta | 14:d7cb429946f4 | 1 | #include "can.h" |
shimizuta | 14:d7cb429946f4 | 2 | #include "mbed.h" |
shimizuta | 14:d7cb429946f4 | 3 | #include "nhk19_can_info.h" |
shimizuta | 14:d7cb429946f4 | 4 | #include "OneLeg.h" |
shimizuta | 15:3fd1d5698d10 | 5 | #include "pinnames.h" |
shimizuta | 15:3fd1d5698d10 | 6 | #include "splitData.h" |
shimizuta | 14:d7cb429946f4 | 7 | CAN can(pin_can_rd,pin_can_td); |
shimizuta | 14:d7cb429946f4 | 8 | |
shimizuta | 14:d7cb429946f4 | 9 | void MakeCanRad(OneLeg leg0, OneLeg leg1, char *candata); |
shimizuta | 14:d7cb429946f4 | 10 | void CanSend(OneLeg leg0, OneLeg leg1) |
shimizuta | 14:d7cb429946f4 | 11 | { |
shimizuta | 14:d7cb429946f4 | 12 | char candata[kByteEachRad*4] = {}; |
shimizuta | 14:d7cb429946f4 | 13 | MakeCanRad(leg0, leg1, candata); |
shimizuta | 14:d7cb429946f4 | 14 | CANMessage msg(CANID_SERVO_RAD, candata, kByteCanSevoRad); |
shimizuta | 14:d7cb429946f4 | 15 | can.write(msg); |
shimizuta | 14:d7cb429946f4 | 16 | } |
shimizuta | 14:d7cb429946f4 | 17 | void MakeCanRad(OneLeg leg0, OneLeg leg1, char *candata) |
shimizuta | 14:d7cb429946f4 | 18 | { |
shimizuta | 14:d7cb429946f4 | 19 | float rad[4] = {leg0.GetRad(0), leg0.GetRad(1), leg1.GetRad(0), leg1.GetRad(1), }; |
shimizuta | 14:d7cb429946f4 | 20 | int rad_multi[4]; |
shimizuta | 14:d7cb429946f4 | 21 | for(int i= 0; i < 4; i++){ |
shimizuta | 14:d7cb429946f4 | 22 | rad_multi[i] = rad[i] * kRadToData; |
shimizuta | 14:d7cb429946f4 | 23 | Intobyte(rad_multi[i], kByteEachRad, candata, i*kByteEachRad); |
shimizuta | 14:d7cb429946f4 | 24 | } |
shimizuta | 14:d7cb429946f4 | 25 | } |