CoilGun
coilgun.h@3:7273ba733560, 2013-09-14 (annotated)
- Committer:
- mlaane
- Date:
- Sat Sep 14 22:31:22 2013 +0000
- Revision:
- 3:7273ba733560
- Parent:
- 2:781ea1999ad3
- Child:
- 4:0e2bdd3d52bc
Implemented discharging; Problems with Timeout
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Reiko | 0:2d5820be7f51 | 1 | #ifndef COILGUN_H |
Reiko | 0:2d5820be7f51 | 2 | #define COILGUN_H |
Reiko | 0:2d5820be7f51 | 3 | |
Reiko | 0:2d5820be7f51 | 4 | #include "mbed.h" |
Reiko | 0:2d5820be7f51 | 5 | |
Reiko | 0:2d5820be7f51 | 6 | class CoilGun { |
Reiko | 0:2d5820be7f51 | 7 | public: |
Reiko | 1:aa39e3a9d06f | 8 | CoilGun(PinName chargePin, PinName kickPinName, PinName donePinName); |
Reiko | 0:2d5820be7f51 | 9 | |
Reiko | 2:781ea1999ad3 | 10 | void kick(unsigned int length); |
mlaane | 3:7273ba733560 | 11 | void discharge(void); //Method that starts discharging |
Reiko | 0:2d5820be7f51 | 12 | void setCharge(bool chargeState); |
Reiko | 0:2d5820be7f51 | 13 | |
Reiko | 0:2d5820be7f51 | 14 | private: |
Reiko | 1:aa39e3a9d06f | 15 | DigitalOut chargePin; |
Reiko | 1:aa39e3a9d06f | 16 | DigitalOut kickPin; |
Reiko | 1:aa39e3a9d06f | 17 | InterruptIn done; |
Reiko | 1:aa39e3a9d06f | 18 | void doneCallback(void); |
mlaane | 3:7273ba733560 | 19 | |
mlaane | 3:7273ba733560 | 20 | bool kicking; //True while kick is in progress |
mlaane | 3:7273ba733560 | 21 | Timeout kickTimeout; // This will end kicking |
Reiko | 2:781ea1999ad3 | 22 | void kickEnd(void); |
mlaane | 3:7273ba733560 | 23 | |
mlaane | 3:7273ba733560 | 24 | bool discharging; //True as long discharging is in progress |
mlaane | 3:7273ba733560 | 25 | Timeout dischargeTimeout; // This will end discharging |
mlaane | 3:7273ba733560 | 26 | Ticker discharger; // Calls short kicks during discharge |
mlaane | 3:7273ba733560 | 27 | void dischargeKick(void); //Short kick for discharging |
mlaane | 3:7273ba733560 | 28 | void dischargeEnd(void); //Method that ends discharging (dischargeTimeout calls this) |
Reiko | 0:2d5820be7f51 | 29 | }; |
Reiko | 0:2d5820be7f51 | 30 | |
Reiko | 0:2d5820be7f51 | 31 | #endif |