DP / Mbed 2 deprecated RCControlOOPWithThrottle

Dependencies:   mbed

Fork of RCControlOOP by DP

Revision:
3:b3ec75e9163f
Parent:
2:e9042e88abf1
Child:
4:099453043c63
--- a/Mousr.cpp	Wed Oct 08 16:59:47 2014 +0000
+++ b/Mousr.cpp	Wed Oct 08 19:29:07 2014 +0000
@@ -10,11 +10,8 @@
     rotateFastSpeed   = 0.2;
     
     // Parameters for Flip
-    flipStraightSpeed = 0.5;
-    flipStraightWait  = 0.5;
-    flipStopWait      = 0.1;
-    flipRotateSpeed   = 0.5;
-    flipRotateWait    = 0.1;
+    flip90Wait = 0.1;
+    flip180Wait = 0.2;
     mpwma = 1;
     mpwmb = 1;
     mstby = 1;
@@ -22,78 +19,79 @@
 
 void Mousr::stop()
 {
-   // m1a = 0; m2a = 0; m1b = 0; m2b = 0; return;
     m_a1 = 0; m_a2 = 0; m_b1 = 0; m_b2 = 0; return;
 }
 
-void Mousr::straight(float speed)
+void Mousr::righttire(float speed)
 {
-   // m1a = speed; m1b = 0; m2a = speed; m2b = 0; return;
-   m_a1 = speed; m_a2 = 0; m_b1 = speed; m_b2 = 0; return;
+    if (speed > 0)
+    {
+        m_a1 = speed; m_a2 = 0; return;
+    }
+    else if (speed == 0)
+    {
+        m_a1 = 0; m_a2 = 0; return;
+    }
+    else
+    {
+        m_a1 = 0; m_a2 = abs(speed); return;
+    }   
 }
 
-void Mousr::backwards(float speed)
+void Mousr::lefttire(float speed)
 {
-    //m1a = 0; m2a = 0; m1b = speed; m2b = speed; return;
-    m_a1 = 0; m_a2 = speed; m_b1 = 0; m_b2 = speed; return;
+    if (speed > 0)
+    {
+        m_b1 = speed; m_b2 = 0; return;
+    }
+    else if (speed == 0)
+    {
+        m_b1 = 0; m_b2 = 0; return;
+    }
+    else
+    {
+        m_b1 = 0; m_b2 = abs(speed); return;
+    }  
 }
 
 void Mousr::left(float speed)
 {
-   // m1a = 0; m1b = speed; m2a = speed; m2b = 0; return;
    m_a1 = speed; m_a2 = 0; m_b1 = 0; m_b2 = speed; return;
 }
 
 void Mousr::right(float speed)
 {
-   // m1a = speed; m1b = 0; m2a = 0; m2b = speed; return;
    m_a1 = 0; m_a2 = speed; m_b1 = speed; m_b2 = 0; return;
 }
 
-void Mousr::flipLeft()
+void Mousr::left90()
 {
-    straight(flipStraightSpeed);
-    wait(flipStraightWait);
+    left(rotateFastSpeed);
+    wait(flip90Wait);
     stop();
-    wait(flipStopWait);
-    left(flipRotateSpeed);
-    wait(flipRotateWait);
-    stop();
+    return;
 }
 
-void Mousr::flipRight()
+void Mousr::left180()
 {
-    straight(flipStraightSpeed);
-    wait(flipStraightWait);
+    left(rotateFastSpeed);
+    wait(flip180Wait);
     stop();
-    wait(flipStopWait);
-    right(flipRotateSpeed);
-    wait(flipRotateWait);
-    stop();
+    return;
 }
 
-// GETTER FUNCTIONS
-float Mousr::getStraightSpeed()
+void Mousr::right90()
 {
-    return straightSpeed;
-}
-
-float Mousr::getStraightSlowSpeed()
-{
-    return straightSlowSpeed;
+    right(rotateFastSpeed);
+    wait(flip90Wait);
+    stop();
+    return;
 }
 
-float Mousr::getRotateSlowSpeed()
-{
-    return rotateSlowSpeed;
-}
-
-float Mousr::getRotateSpeed()
+void Mousr::right180()
 {
-    return rotateSpeed;
-}
-
-float Mousr::getRotateFastSpeed()
-{
-    return rotateFastSpeed;
+    right(rotateFastSpeed);
+    wait(flip180Wait);
+    stop();
+    return;
 }
\ No newline at end of file