Pulse Width Modulation RC Servomotor Library compatible with classic and extended models. Models limit are customizable

Dependents:   FRC_2018 0hackton_08_06_18 0hackton_08_06_18_publish Kenya_2019 ... more

Revision:
1:8482eba4d652
Parent:
0:b8dcca3dc509
Child:
6:cf65fc8b0de1
diff -r b8dcca3dc509 -r 8482eba4d652 RC_Servo.cpp
--- a/RC_Servo.cpp	Mon May 21 15:55:54 2018 +0000
+++ b/RC_Servo.cpp	Mon May 21 16:07:20 2018 +0000
@@ -12,16 +12,22 @@
     }
 }
 
+int RC_Servo::setLimits (int Tmin, int Tmax) {
+    if ((Tmin > 400) && (Tmin < Tmax))  _pMin = Tmin;
+    else return Tmin;
+    if ((Tmax < 2400) && (Tmin < Tmax)) _pMax = Tmax;
+    else return Tmax;
+    return 0;
+}
+
 void RC_Servo::write (float position)
 {
     if ((position >= 0) && (position <= 1))
         _pwm.pulsewidth_us (_pMin + (int)(position * (_pMax - _pMin)));
 }
 
-/**
- * A short hand for write
- */
 RC_Servo& RC_Servo::operator= (float position)
 {
     write (position);
+    return *this;
 }