Hiroaki Matsuda
/
mbed-for-McuComm
this is program for mbed ,to relay MCUcomm data to servo
Diff: command/command.cpp
- Revision:
- 0:09bf8e3091e8
- Child:
- 1:0fe52e356d01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/command/command.cpp Wed Nov 28 17:12:00 2012 +0000 @@ -0,0 +1,82 @@ +#include "command.h" +#include "mbed.h" + + + + + +Command::Command(PinName pin) :Servo(pin) +{ + +}; + +void Command::targetPosition(int number ,int receive) +{ + switch(number-3){ + case 0: + _position = receive<<8; + break; + case 1: + _position += receive; + break; + case 2: + _time = receive<<8; + break; + case 3: + _time += receive; + break; + } + +} + +void Command::homePosition(int number ,int receive) +{ + switch(number-3){ + case 0: + _position = receive<<8; + break; + case 1: + _position += receive; + break; + case 2: + _homePosition = _position; + break; + } +} + + +int Command::getPosition() +{ + return _position; +} + +int Command::getTime() +{ + return _time; +} + +int Command::getHomeposition() +{ + return _homePosition; +} + +void Command::onOff() { + if(_on == false){ + _on = true; + write(getPosition()/1800); + }else if(_on == true){ + _on = false; + _pwm.pulsewidth(0); + } +} + +Command& Command::operator= (float percent) { + write(percent); + return *this; +} + +Command& Command::operator= (Command& rhs) { + write(rhs.read()); + return *this; +} +