Utility class for controlling a servo system motor.
MotorController.h@0:ec2f323f6388, 2016-01-05 (annotated)
- Committer:
- Sinterbaas
- Date:
- Tue Jan 05 14:41:35 2016 +0000
- Revision:
- 0:ec2f323f6388
Introduced some epic classes/libraries to be used for controlling the servo system and PC controls.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sinterbaas | 0:ec2f323f6388 | 1 | #ifndef MOTORCONTROLLER_H |
Sinterbaas | 0:ec2f323f6388 | 2 | #define MOTORCONTROLLER_H |
Sinterbaas | 0:ec2f323f6388 | 3 | |
Sinterbaas | 0:ec2f323f6388 | 4 | #include "mbed.h" |
Sinterbaas | 0:ec2f323f6388 | 5 | #include "HBridge.h" |
Sinterbaas | 0:ec2f323f6388 | 6 | |
Sinterbaas | 0:ec2f323f6388 | 7 | class MotorController { |
Sinterbaas | 0:ec2f323f6388 | 8 | public: |
Sinterbaas | 0:ec2f323f6388 | 9 | MotorController (HBridge &motor, AnalogIn &motorInput); |
Sinterbaas | 0:ec2f323f6388 | 10 | |
Sinterbaas | 0:ec2f323f6388 | 11 | void start (); |
Sinterbaas | 0:ec2f323f6388 | 12 | void stop (); |
Sinterbaas | 0:ec2f323f6388 | 13 | |
Sinterbaas | 0:ec2f323f6388 | 14 | void turnLeft (); |
Sinterbaas | 0:ec2f323f6388 | 15 | void turnRight (); |
Sinterbaas | 0:ec2f323f6388 | 16 | void setPosition (float position); |
Sinterbaas | 0:ec2f323f6388 | 17 | |
Sinterbaas | 0:ec2f323f6388 | 18 | float getPosition (); |
Sinterbaas | 0:ec2f323f6388 | 19 | |
Sinterbaas | 0:ec2f323f6388 | 20 | static const float POSITION_0 = 0.5f; |
Sinterbaas | 0:ec2f323f6388 | 21 | static const float POSITION_1 = 1.2f; |
Sinterbaas | 0:ec2f323f6388 | 22 | static const float POSITION_2 = 3.6f; |
Sinterbaas | 0:ec2f323f6388 | 23 | static const float POSITION_3 = 9.7f; |
Sinterbaas | 0:ec2f323f6388 | 24 | static const float POSITION_4 = 17.5f; |
Sinterbaas | 0:ec2f323f6388 | 25 | static const float POSITION_5 = 25.0f; |
Sinterbaas | 0:ec2f323f6388 | 26 | static const float POSITION_6 = 33.0f; |
Sinterbaas | 0:ec2f323f6388 | 27 | static const float POSITION_7 = 47.7f; |
Sinterbaas | 0:ec2f323f6388 | 28 | static const float POSITION_8 = 80.0f; |
Sinterbaas | 0:ec2f323f6388 | 29 | static const float POSITION_9 = 100.0f; |
Sinterbaas | 0:ec2f323f6388 | 30 | static const float POSITION_10 = 100.0f; |
Sinterbaas | 0:ec2f323f6388 | 31 | |
Sinterbaas | 0:ec2f323f6388 | 32 | private: |
Sinterbaas | 0:ec2f323f6388 | 33 | HBridge &motor; |
Sinterbaas | 0:ec2f323f6388 | 34 | AnalogIn &motorInput; |
Sinterbaas | 0:ec2f323f6388 | 35 | }; |
Sinterbaas | 0:ec2f323f6388 | 36 | |
Sinterbaas | 0:ec2f323f6388 | 37 | #endif |