ver CAN
Revision 14:b1b58b74dd4c, committed 2018-11-27
- Comitter:
- tknara
- Date:
- Tue Nov 27 06:19:29 2018 +0000
- Parent:
- 13:ea34af94e90c
- Commit message:
- RS-485 > comment out; CAN > add
Changed in this revision
ikarashiMDC.cpp | Show annotated file Show diff for this revision Revisions of this file |
ikarashiMDC.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/ikarashiMDC.cpp Sat Nov 11 10:50:30 2017 +0000 +++ b/ikarashiMDC.cpp Tue Nov 27 06:19:29 2018 +0000 @@ -1,6 +1,6 @@ +#include "mbed.h" #include "ikarashiMDC.h" - ikarashiMDC::ikarashiMDC(DigitalOut* serialcontrol,uint8_t taddr,uint8_t tmotorNum,bool tmode,Serial *tserial) { serialControl = serialcontrol; @@ -11,7 +11,14 @@ mode = tmode; braking = true; } - +ikarashiMDC::ikarashiMDC(uint8_t taddr,uint8_t tmotorNum,bool tmode,CAN *can) +{ + can_driver = can; + addr = taddr; + motorNum = tmotorNum; + mode = tmode; + braking = true; +} int ikarashiMDC::setSpeed(const double& speed) { uint8_t data[4],dataSpeed; @@ -21,14 +28,17 @@ dataSpeed = ((cropped_speed+1.0)/2.0)*253; //printf("%d\n",dataSpeed); //set sending data - data[0] = 255; //header - data[1] = (addr<<5) + motorNum + (mode<<4)+(braking<<3); //address - data[2] = dataSpeed; - data[3] = data[1]^data[2]; + //msg.data[0] = 255; //header + msg.data[0] = (addr<<5) + motorNum + (mode<<4)+(braking<<3); //address + msg.data[1] = dataSpeed; + msg.data[2] = data[1]^data[2]; + msg.id = 1; + msg.len=3; + can_driver->write(msg); //send data - for(int i=0; i<4; i++) { - serial->putc(data[i]); - } + //for(int i=0; i<4; i++) { + //serial->putc(data[i]); + //} return 0; }
--- a/ikarashiMDC.h Sat Nov 11 10:50:30 2017 +0000 +++ b/ikarashiMDC.h Tue Nov 27 06:19:29 2018 +0000 @@ -55,7 +55,7 @@ * @param address of serial object **/ ikarashiMDC(DigitalOut* serialcontrol,uint8_t taddr,uint8_t tmotorNum,bool tmode,Serial *tserial); - + ikarashiMDC(uint8_t taddr,uint8_t tmotorNum,bool tmode,CAN *can); /** drive motor * @param speed of motor -1 to 1 **/ @@ -68,7 +68,8 @@ bool mode; Serial* serial; DigitalOut *serialControl; - + CAN* can_driver; + CANMessage msg; }; void estop(Serial *serial);