Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of RCControlOOP by
Diff: Mousr.cpp
- 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
