Shooter.h@1:215e05be641b, 2015-10-14 (annotated)
- Committer:
- inst
- Date:
- Wed Oct 14 03:52:28 2015 +0000
- Revision:
- 1:215e05be641b
- Parent:
- 0:d660b49b71e0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
inst | 0:d660b49b71e0 | 1 | #ifndef INCLUDED_SHOOTER_H |
inst | 0:d660b49b71e0 | 2 | #define INCLUDED_SHOOTER_H |
inst | 0:d660b49b71e0 | 3 | |
inst | 0:d660b49b71e0 | 4 | #include "I2CDevice.h" |
inst | 0:d660b49b71e0 | 5 | |
inst | 0:d660b49b71e0 | 6 | class Shooter : public I2CDevice{ |
inst | 0:d660b49b71e0 | 7 | public: |
inst | 1:215e05be641b | 8 | enum ActionType{ |
inst | 1:215e05be641b | 9 | STOP = 0x00, // 0000(2) |
inst | 1:215e05be641b | 10 | WORKING_8V = 0x01, // 0001(2) |
inst | 1:215e05be641b | 11 | WORKING_12V = 0x03, // 0011(2) |
inst | 1:215e05be641b | 12 | WORKING_16V = 0x07, // 0111(2) |
inst | 1:215e05be641b | 13 | WORKING_20V = 0x0F // 1111(2) |
inst | 1:215e05be641b | 14 | }; |
inst | 1:215e05be641b | 15 | |
inst | 0:d660b49b71e0 | 16 | Shooter( char address ); |
inst | 1:215e05be641b | 17 | |
inst | 1:215e05be641b | 18 | void setVoltage( ActionType action ){ |
inst | 1:215e05be641b | 19 | setLaunchType( action ); |
inst | 1:215e05be641b | 20 | |
inst | 1:215e05be641b | 21 | if ( mActionType != STOP ){ |
inst | 1:215e05be641b | 22 | setActionType( mLaunchType ); |
inst | 1:215e05be641b | 23 | } |
inst | 1:215e05be641b | 24 | } |
inst | 1:215e05be641b | 25 | void setActionType( ActionType action ){ |
inst | 1:215e05be641b | 26 | mActionType = action; |
inst | 1:215e05be641b | 27 | } |
inst | 1:215e05be641b | 28 | void setLaunchType( ActionType action ){ |
inst | 1:215e05be641b | 29 | mLaunchType = action; |
inst | 1:215e05be641b | 30 | } |
inst | 0:d660b49b71e0 | 31 | void launch(); |
inst | 0:d660b49b71e0 | 32 | void stop(); |
inst | 1:215e05be641b | 33 | bool isWorking(){ |
inst | 1:215e05be641b | 34 | return ( mActionType != STOP ); |
inst | 1:215e05be641b | 35 | } |
inst | 1:215e05be641b | 36 | |
inst | 1:215e05be641b | 37 | ActionType getVoltage(){ |
inst | 1:215e05be641b | 38 | return mActionType; |
inst | 1:215e05be641b | 39 | } |
inst | 0:d660b49b71e0 | 40 | |
inst | 0:d660b49b71e0 | 41 | protected: |
inst | 1:215e05be641b | 42 | virtual int write(); |
inst | 0:d660b49b71e0 | 43 | |
inst | 0:d660b49b71e0 | 44 | private: |
inst | 1:215e05be641b | 45 | ActionType mActionType; |
inst | 1:215e05be641b | 46 | ActionType mLaunchType; |
inst | 0:d660b49b71e0 | 47 | }; |
inst | 0:d660b49b71e0 | 48 | |
inst | 0:d660b49b71e0 | 49 | #endif |