DP / Mbed 2 deprecated RCControlOOPWithThrottle

Dependencies:   mbed

Fork of RCControlOOP by DP

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Mousr.cpp Source File

Mousr.cpp

00001 #include "Mousr.h"
00002 
00003 //Mousr::Mousr() : m1a(p24), m1b(p23), m2a(p22), m2b(p21)
00004 Mousr::Mousr() : mstby(p6), m_a1(p24), m_a2(p25), mpwma(p26), m_b1(p23), m_b2(p22), mpwmb(p21)
00005 {           
00006     rotateSlowSpeed   = 0.05;
00007     rotateSpeed       = 0.1;
00008     rotateFastSpeed   = 0.2;
00009     
00010     // Parameters for Flip
00011     flip90Wait = 0.1;
00012     flip180Wait = 0.2;
00013     mpwma = 1;
00014     mpwmb = 1;
00015     mstby = 1;
00016 }
00017 
00018 void Mousr::stop()
00019 {
00020     m_a1 = 0; m_a2 = 0; m_b1 = 0; m_b2 = 0; return;
00021 }
00022 
00023 void Mousr::righttire(float speed)
00024 {
00025     if (speed > 0)
00026     {
00027         m_a1 = speed; m_a2 = 0; return;
00028     }
00029     else if (speed == 0)
00030     {
00031         m_a1 = 0; m_a2 = 0; return;
00032     }
00033     else
00034     {
00035         m_a1 = 0; m_a2 = abs(speed); return;
00036     }   
00037 }
00038 
00039 void Mousr::lefttire(float speed)
00040 {
00041     if (speed > 0)
00042     {
00043         m_b1 = speed; m_b2 = 0; return;
00044     }
00045     else if (speed == 0)
00046     {
00047         m_b1 = 0; m_b2 = 0; return;
00048     }
00049     else
00050     {
00051         m_b1 = 0; m_b2 = abs(speed); return;
00052     }  
00053 }
00054 
00055 void Mousr::left(float speed)
00056 {
00057    m_a1 = speed; m_a2 = 0; m_b1 = 0; m_b2 = speed; return;
00058 }
00059 
00060 void Mousr::right(float speed)
00061 {
00062    m_a1 = 0; m_a2 = speed; m_b1 = speed; m_b2 = 0; return;
00063 }
00064 
00065 void Mousr::left90()
00066 {
00067     left(rotateFastSpeed);
00068     wait(flip90Wait);
00069     stop();
00070     return;
00071 }
00072 
00073 void Mousr::left180()
00074 {
00075     left(rotateFastSpeed);
00076     wait(flip180Wait);
00077     stop();
00078     return;
00079 }
00080 
00081 void Mousr::right90()
00082 {
00083     right(rotateFastSpeed);
00084     wait(flip90Wait);
00085     stop();
00086     return;
00087 }
00088 
00089 void Mousr::right180()
00090 {
00091     right(rotateFastSpeed);
00092     wait(flip180Wait);
00093     stop();
00094     return;
00095 }