test

Dependencies:   mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM

can/can.cpp

Committer:
shimizuta
Date:
2019-02-13
Revision:
16:0069a56f11a3
Parent:
15:3fd1d5698d10

File content as of revision 16:0069a56f11a3:

#include "can.h"
#include "mbed.h"
#include "nhk19mr2_can_info.h"
#include "pinnames.h"
#include "splitData.h"
CAN can(pin_can_rd, pin_can_td);

void MakeCanRad(OneLeg leg0, OneLeg leg1, char *candata);
void SendRad(OneLeg leg0, OneLeg leg1)
{
    char candata[kByteEachRad * 4] = {};
    MakeCanRad(leg0, leg1, candata);
    CANMessage msg(CANID_SERVO_RAD, candata, kByteCanSevoRad);
    can.write(msg);
}
void MakeCanRad(OneLeg leg0, OneLeg leg1, char *candata)
{
    float rad[4] = {
        leg0.GetRad(0),
        leg0.GetRad(1),
        leg1.GetRad(0),
        leg1.GetRad(1),
    };
    int rad_multi[4];
    for (int i = 0; i < 4; i++)
    {
        rad_multi[i] = rad[i] * kRadToData;
        Intobyte(rad_multi[i], kByteEachRad, candata, i * kByteEachRad);
    }
}