CoilGun
coilgun.h
- Committer:
- mlaane
- Date:
- 2013-09-14
- Revision:
- 3:7273ba733560
- Parent:
- 2:781ea1999ad3
- Child:
- 4:0e2bdd3d52bc
File content as of revision 3:7273ba733560:
#ifndef COILGUN_H #define COILGUN_H #include "mbed.h" class CoilGun { public: CoilGun(PinName chargePin, PinName kickPinName, PinName donePinName); void kick(unsigned int length); void discharge(void); //Method that starts discharging void setCharge(bool chargeState); private: DigitalOut chargePin; DigitalOut kickPin; InterruptIn done; void doneCallback(void); bool kicking; //True while kick is in progress Timeout kickTimeout; // This will end kicking void kickEnd(void); bool discharging; //True as long discharging is in progress Timeout dischargeTimeout; // This will end discharging Ticker discharger; // Calls short kicks during discharge void dischargeKick(void); //Short kick for discharging void dischargeEnd(void); //Method that ends discharging (dischargeTimeout calls this) }; #endif