Utility class for controlling a servo system motor.

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?

UserRevisionLine numberNew 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