succes
motor.h@0:c15430f1895f, 2017-02-11 (annotated)
- Committer:
- mk1
- Date:
- Sat Feb 11 15:55:34 2017 +0000
- Revision:
- 0:c15430f1895f
succes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mk1 | 0:c15430f1895f | 1 | #ifndef _MOTOR_H_ |
mk1 | 0:c15430f1895f | 2 | #define _MOTOR_H_ |
mk1 | 0:c15430f1895f | 3 | |
mk1 | 0:c15430f1895f | 4 | #include "MicroBit.h" |
mk1 | 0:c15430f1895f | 5 | |
mk1 | 0:c15430f1895f | 6 | // If you change step frequency, you will implicitly also change acceleration |
mk1 | 0:c15430f1895f | 7 | // If you change acceleration, you will - wait for it - change acceleration |
mk1 | 0:c15430f1895f | 8 | const float STEP_FREQUENCY = 4000; // kHz |
mk1 | 0:c15430f1895f | 9 | const float STEP_PERIOD = 1.0/STEP_FREQUENCY; |
mk1 | 0:c15430f1895f | 10 | const float ACCELERATION = 8; |
mk1 | 0:c15430f1895f | 11 | |
mk1 | 0:c15430f1895f | 12 | typedef enum |
mk1 | 0:c15430f1895f | 13 | { |
mk1 | 0:c15430f1895f | 14 | FORWARD = 1, |
mk1 | 0:c15430f1895f | 15 | REVERSE = 0 |
mk1 | 0:c15430f1895f | 16 | } STEP_DIRECTION; |
mk1 | 0:c15430f1895f | 17 | |
mk1 | 0:c15430f1895f | 18 | class Motor |
mk1 | 0:c15430f1895f | 19 | { |
mk1 | 0:c15430f1895f | 20 | public: |
mk1 | 0:c15430f1895f | 21 | Motor(MicroBit & bit); |
mk1 | 0:c15430f1895f | 22 | void Step(); |
mk1 | 0:c15430f1895f | 23 | void SetSpeed(float targetSpeed); |
mk1 | 0:c15430f1895f | 24 | float Speed(); |
mk1 | 0:c15430f1895f | 25 | void SetDirection(STEP_DIRECTION direction) const; |
mk1 | 0:c15430f1895f | 26 | |
mk1 | 0:c15430f1895f | 27 | private: |
mk1 | 0:c15430f1895f | 28 | MicroBit & _bit; |
mk1 | 0:c15430f1895f | 29 | void SetPWMDutyCycle(int value) const; |
mk1 | 0:c15430f1895f | 30 | void SetPWMPeriod(int usValue) const; |
mk1 | 0:c15430f1895f | 31 | |
mk1 | 0:c15430f1895f | 32 | float _speed; |
mk1 | 0:c15430f1895f | 33 | float _targetSpeed; |
mk1 | 0:c15430f1895f | 34 | }; |
mk1 | 0:c15430f1895f | 35 | |
mk1 | 0:c15430f1895f | 36 | |
mk1 | 0:c15430f1895f | 37 | #endif |