PM2_Lib
Dependencies: LSM9DS1 RangeFinder FastPWM
Diff: Servo.cpp
- Revision:
- 10:fe74e8909d3f
- Parent:
- 4:9c003c402033
- Child:
- 16:69911e81dfd4
--- a/Servo.cpp Tue Aug 31 15:38:44 2021 +0000 +++ b/Servo.cpp Thu Feb 10 12:04:36 2022 +0000 @@ -2,6 +2,10 @@ Servo::Servo(PinName Pin) : ServoPin(Pin) {} +/** + * Sets the desired position. + * @Pos desired position in mus (position/period). + */ void Servo::SetPosition(int Pos) { Position = Pos; @@ -10,7 +14,7 @@ void Servo::StartPulse() { ServoPin = 1; - PulseStop.attach_us(callback(this, &Servo::EndPulse), Position); + PulseStop.attach(callback(this, &Servo::EndPulse), std::chrono::microseconds{static_cast<long int>(Position)}); } void Servo::EndPulse() @@ -18,12 +22,20 @@ ServoPin = 0; } +/** + * Enables the servo with start position and period. + * @StartPos start position in mus. + * @Period period in mus. + */ void Servo::Enable(int StartPos, int Period) { Position = StartPos; - Pulse.attach_us(callback(this, &Servo::StartPulse), Period); + Pulse.attach(callback(this, &Servo::StartPulse), std::chrono::microseconds{static_cast<long int>(Period)}); } +/** + * Disables the servo. + */ void Servo::Disable() { Pulse.detach();