Files
EggbotWireless/Firmware/MotorControl/src/Pen.cpp
Stepan Usatiuk 704fe420e7 fix pen servo
Signed-off-by: Stepan Usatyuk <usaatyuk@ustk.me>
2019-05-18 12:41:09 +03:00

40 lines
749 B
C++

#include <Arduino.h>
#include <Servo.h>
#include "Pen.h"
#define DELAY 15
Pen::Pen(int pin, int posEngaged, int posDisengaged)
: posEngaged(posEngaged), posDisengaged(posDisengaged), pin(pin) {}
void Pen::engage() {
if (!engaged) {
for (int i = posDisengaged; i > posEngaged; i--) {
servo.write(i);
delay(DELAY);
}
}
engaged = true;
}
void Pen::disengage() {
if (engaged) {
for (int i = posEngaged; i < posDisengaged; i++) {
servo.write(i);
delay(DELAY);
}
}
engaged = false;
}
void Pen::init() {
servo.attach(pin);
servo.write(posDisengaged);
engaged = false;
}
bool Pen::getEngaged() { return engaged; }
Pen::~Pen() {}