Servo file under construction.

Dependencies:   mbed

Committer:
Blaze513
Date:
Tue Aug 31 04:37:07 2010 +0000
Revision:
0:c4caca30f35a

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Blaze513 0:c4caca30f35a 1 #include "stdint.h"
Blaze513 0:c4caca30f35a 2 #include "mbed.h"
Blaze513 0:c4caca30f35a 3
Blaze513 0:c4caca30f35a 4 class Servo
Blaze513 0:c4caca30f35a 5 {
Blaze513 0:c4caca30f35a 6 private:
Blaze513 0:c4caca30f35a 7 PwmOut SignalLine;
Blaze513 0:c4caca30f35a 8
Blaze513 0:c4caca30f35a 9 float Period;
Blaze513 0:c4caca30f35a 10 float UpperRange;
Blaze513 0:c4caca30f35a 11 float Center;
Blaze513 0:c4caca30f35a 12 float LowerRange;
Blaze513 0:c4caca30f35a 13 float Position;
Blaze513 0:c4caca30f35a 14
Blaze513 0:c4caca30f35a 15 public:
Blaze513 0:c4caca30f35a 16 Servo(PinName sgnl);
Blaze513 0:c4caca30f35a 17 //constructor sets common servo defaults
Blaze513 0:c4caca30f35a 18 void position(float ratio);
Blaze513 0:c4caca30f35a 19 //set normalized servo position (-1 to 1), default = 0
Blaze513 0:c4caca30f35a 20 float position();
Blaze513 0:c4caca30f35a 21 //get normalized servo position (-1 to 1)
Blaze513 0:c4caca30f35a 22 void maximum(float seconds);
Blaze513 0:c4caca30f35a 23 void maximum_ms(int milliseconds);
Blaze513 0:c4caca30f35a 24 void maximum_us(int microseconds);
Blaze513 0:c4caca30f35a 25 //set maximum deflection pulse width, default = 2400 us
Blaze513 0:c4caca30f35a 26 void center(float seconds);
Blaze513 0:c4caca30f35a 27 void center_ms(int milliseconds);
Blaze513 0:c4caca30f35a 28 void center_us(int microseconds);
Blaze513 0:c4caca30f35a 29 //set center deflection pulse width, default = 1500 us
Blaze513 0:c4caca30f35a 30 void minimum(float seconds);
Blaze513 0:c4caca30f35a 31 void minimum_ms(int milliseconds);
Blaze513 0:c4caca30f35a 32 void minimum_us(int microseconds);
Blaze513 0:c4caca30f35a 33 //set minimum deflection pulse width, default = 600 us
Blaze513 0:c4caca30f35a 34 void period(float seconds);
Blaze513 0:c4caca30f35a 35 void period_ms(int milliseconds);
Blaze513 0:c4caca30f35a 36 void period_us(int microseconds);
Blaze513 0:c4caca30f35a 37 //set the period, default = 20000 us
Blaze513 0:c4caca30f35a 38 void pulsewidth(float seconds);
Blaze513 0:c4caca30f35a 39 void pulsewidth_ms(int milliseconds);
Blaze513 0:c4caca30f35a 40 void pulsewidth_us(int microseconds);
Blaze513 0:c4caca30f35a 41 //set the pulse width, default = 1500 us
Blaze513 0:c4caca30f35a 42 float operator =(float assignment);
Blaze513 0:c4caca30f35a 43 //shorthand for position setting;
Blaze513 0:c4caca30f35a 44 //ex: "ServoObj = 0.5;" will set servo deflection to +0.5
Blaze513 0:c4caca30f35a 45 operator float();
Blaze513 0:c4caca30f35a 46 //shorthand for position reading;
Blaze513 0:c4caca30f35a 47 // ex: "float check = ServoObj;" will get the current servo deflection
Blaze513 0:c4caca30f35a 48 };