I2CMotor.h@0:89910534fad4, 2015-07-02 (annotated)
- Committer:
- inst
- Date:
- Thu Jul 02 00:57:59 2015 +0000
- Revision:
- 0:89910534fad4
- Child:
- 1:46cf8d086b38
2015 robocon beta
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
inst | 0:89910534fad4 | 1 | #ifndef INCLUDED_I2C_MOTOR_H |
inst | 0:89910534fad4 | 2 | #define INCLUDED_I2C_MOTOR_H |
inst | 0:89910534fad4 | 3 | |
inst | 0:89910534fad4 | 4 | #include "I2CDevice.h" |
inst | 0:89910534fad4 | 5 | #include "mbed.h" |
inst | 0:89910534fad4 | 6 | |
inst | 0:89910534fad4 | 7 | class I2CMotor : public I2CDevice{ |
inst | 0:89910534fad4 | 8 | public: |
inst | 0:89910534fad4 | 9 | enum ActionType{ |
inst | 0:89910534fad4 | 10 | RELEASE, |
inst | 0:89910534fad4 | 11 | LEFT, |
inst | 0:89910534fad4 | 12 | RIGHT, |
inst | 0:89910534fad4 | 13 | BRAKE |
inst | 0:89910534fad4 | 14 | }; |
inst | 0:89910534fad4 | 15 | I2CMotor( I2C* i2c, char address ); |
inst | 0:89910534fad4 | 16 | |
inst | 0:89910534fad4 | 17 | void setActionType( ActionType action ){ |
inst | 0:89910534fad4 | 18 | mActionType = action; |
inst | 0:89910534fad4 | 19 | } |
inst | 0:89910534fad4 | 20 | void setDuty( float duty ){ |
inst | 0:89910534fad4 | 21 | if ( duty > 1.0f ){ |
inst | 0:89910534fad4 | 22 | duty = 1.0f; |
inst | 0:89910534fad4 | 23 | } else if ( duty < 0.0f ){ |
inst | 0:89910534fad4 | 24 | duty = 0.0f; |
inst | 0:89910534fad4 | 25 | } |
inst | 0:89910534fad4 | 26 | |
inst | 0:89910534fad4 | 27 | mDuty = duty; |
inst | 0:89910534fad4 | 28 | } |
inst | 0:89910534fad4 | 29 | ActionType getActionType(){ |
inst | 0:89910534fad4 | 30 | return mActionType; |
inst | 0:89910534fad4 | 31 | } |
inst | 0:89910534fad4 | 32 | float getDuty(){ |
inst | 0:89910534fad4 | 33 | return mDuty; |
inst | 0:89910534fad4 | 34 | } |
inst | 0:89910534fad4 | 35 | |
inst | 0:89910534fad4 | 36 | float getMaxDuty(){ |
inst | 0:89910534fad4 | 37 | return mMaxDuty; |
inst | 0:89910534fad4 | 38 | } |
inst | 0:89910534fad4 | 39 | float getMinDuty(){ |
inst | 0:89910534fad4 | 40 | return mMinDuty; |
inst | 0:89910534fad4 | 41 | } |
inst | 0:89910534fad4 | 42 | |
inst | 0:89910534fad4 | 43 | protected: |
inst | 0:89910534fad4 | 44 | virtual void write(); |
inst | 0:89910534fad4 | 45 | virtual void read(){} |
inst | 0:89910534fad4 | 46 | private: |
inst | 0:89910534fad4 | 47 | ActionType mActionType; |
inst | 0:89910534fad4 | 48 | float mDuty; |
inst | 0:89910534fad4 | 49 | |
inst | 0:89910534fad4 | 50 | float mMaxDuty; |
inst | 0:89910534fad4 | 51 | float mMinDuty; |
inst | 0:89910534fad4 | 52 | }; |
inst | 0:89910534fad4 | 53 | |
inst | 0:89910534fad4 | 54 | #endif |