Workshop 2

Dependencies:   FastPWM

Servo.cpp

Committer:
pmic
Date:
2021-03-30
Revision:
0:86129f1b4a93
Child:
4:9c003c402033

File content as of revision 0:86129f1b4a93:

#include "Servo.h"
#include "mbed.h"

    Servo::Servo(PinName Pin) : ServoPin(Pin) {}

    void Servo::SetPosition(int Pos) {
        Position = Pos;
    }

    void Servo::StartPulse() {
        ServoPin = 1;
        PulseStop.attach_us(callback(this, &Servo::EndPulse), Position);
    }

    void Servo::EndPulse() {
        ServoPin = 0;
    }

    void Servo::Enable(int StartPos, int Period) {
        Position = StartPos;
        Pulse.attach_us(callback(this, &Servo::StartPulse), Period);
    }

    void Servo::Disable() {
        Pulse.detach();
    }