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.
ikarashiMDC.cpp
- Committer:
- WAT34
- Date:
- 2017-09-01
- Revision:
- 9:12ea2a3883bb
- Parent:
- 8:626daa6d81ac
- Child:
- 12:3fa4f849d6f7
File content as of revision 9:12ea2a3883bb:
#include "ikarashiMDC.h"
ikarashiMDC::ikarashiMDC(DigitalOut* serialcontrol,uint8_t taddr,uint8_t tmotorNum,bool tmode,Serial *tserial)
{
serialControl = serialcontrol;
serialControl->write(true);
serial = tserial;
addr = taddr;
motorNum = tmotorNum;
mode = tmode;
braking = true;
}
int ikarashiMDC::setSpeed(const double& speed)
{
uint8_t data[3],dataSpeed;
//Limiter
const double cropped_speed = -1 < speed ?
1 > speed ?
speed:1
:-1;
//dataspeed 0~253 neutaral 126
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;
//send data
for(int i=0; i<3; i++) {
serial->putc(data[i]);
}
return 0;
}
void estop(Serial *serial)
{
for(int i = 0; i<3; i++) {
serial->putc(255);
}
}