Simply creates a servo object from a motor object, to allow the control of the angle.

Dependencies:   mbed

Fork of Lab5_Basic by ziad eldebri

Servo.h

Committer:
ziadeldebri
Date:
2016-08-17
Revision:
1:aa0b85d0961c
Parent:
0:61b18b631f94
Child:
2:3540e1f2f0e1

File content as of revision 1:aa0b85d0961c:

#include "Motor.h"
#include "mbed.h"
 
#ifndef MBED_SERVO_H
#define MBED_SERVO_H
 
/** Servo control class, based on a Motor Class object
 *
 * Example:
 * @code
 * #include "mbed.h"
 * #include "Motor.h"
 * #include "Servo.h"
 * Motor my_motor(P12,P13P,p11);
 * Servo myservo(p21,my_motor);
 * 
 * int main() {
 *     
 * }
 * @endcode
 */
class Servo {
 
public:
    /** Create a servo object.
     *
     * @param pin AnalogIn pin to be feedback  
     */
    Servo(PinName pin,Motor motor);
    
    /** Set the servo position, normalised to it's full range
     *
     * @param percent an angle number in degrees 0-180 to represent the full range.
     */
    void write(float percent);
    
    /**  Read the servo current position in degrees from 0-180
     *
     * @param returns the current anlge of the servo  
     */
    int read();
    
protected:
    AnalogIn _feedback;
};
 
#endif