Gaëtan Andrieu / Motordriver_Tennis
Revision:
6:c411a45697f6
Parent:
5:3110b9209d3c
diff -r 3110b9209d3c -r c411a45697f6 motordriver.cpp
--- a/motordriver.cpp	Thu Nov 25 13:34:15 2010 +0000
+++ b/motordriver.cpp	Fri Jun 14 09:04:03 2019 +0000
@@ -45,7 +45,15 @@
     Brakeable= brakeable;
     sign = 0;//i.e nothing.
 }
-
+float Motor::speed(float speed) {
+    float temp = 0;
+    _fwd = (speed > 0.0);
+    _rev = (speed < 0.0);
+    temp = abs(speed);
+    _pwm = temp;
+    return temp;
+}
+/*
 float Motor::speed(float speed) {
     float temp = 0;
     if (sign == 0) {
@@ -86,7 +94,7 @@
         sign = 0;
     }
     return temp;
-}
+}*/
 //  (additions)
 void Motor::coast(void) {
     _fwd = 0;
@@ -120,6 +128,19 @@
         return -3;//error
 }
 
+float Motor::direction(void) {
+    if ((_fwd == _rev) && (_pwm > 0)) {
+        return -2;//braking
+    } else if (_pwm == 0) {
+        return 2;//coasting
+    } else if ((_fwd == 0) && (_rev == 1)) {
+        return -1;//reversing
+    }  else if ((_fwd == 1) && (_rev == 0)) {
+        return 1;//fowards
+    } else
+        return -3;//error
+}
+
 /*
  test code, this demonstrates working motor drivers.