CoilGun
coilgun.cpp
- Committer:
- Reiko
- Date:
- 2013-09-14
- Revision:
- 2:781ea1999ad3
- Parent:
- 1:aa39e3a9d06f
- Child:
- 3:7273ba733560
File content as of revision 2:781ea1999ad3:
#include "coilgun.h" CoilGun::CoilGun(PinName chargePinName, PinName kickPinName, PinName donePin) : chargePin(chargePinName), kickPin(kickPinName), done(donePin) { done.fall(this, &CoilGun::doneCallback); } void CoilGun::kick(unsigned int length) { chargePin = 0; kickPin = 0; Timeout kickFinish; kickFinish.attach_us(this, &CoilGun::kickEnd, length); } void CoilGun::kickEnd(void) { chargePin = 1; kickPin = 1; } void CoilGun::setCharge(bool chargeState) { kickPin = 1; if (chargeState) { chargePin = 1; } else { chargePin = 0; } } void CoilGun::discharge() { chargePin = 0; kickPin = 0; } void CoilGun::doneCallback(void) { chargePin = 0; }