test

Dependencies:   mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM

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?

UserRevisionLine numberNew 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 }