DP / Mbed 2 deprecated RCControlOOPWithThrottle

Dependencies:   mbed

Fork of RCControlOOP by DP

Committer:
mfillinois
Date:
Wed Oct 08 19:36:05 2014 +0000
Revision:
4:099453043c63
Parent:
3:b3ec75e9163f
cleaned up somewhat;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfillinois 0:78e2af20cbf3 1 #include "Mousr.h"
mfillinois 0:78e2af20cbf3 2
mfillinois 2:e9042e88abf1 3 //Mousr::Mousr() : m1a(p24), m1b(p23), m2a(p22), m2b(p21)
mfillinois 2:e9042e88abf1 4 Mousr::Mousr() : mstby(p6), m_a1(p24), m_a2(p25), mpwma(p26), m_b1(p23), m_b2(p22), mpwmb(p21)
mfillinois 0:78e2af20cbf3 5 {
mfillinois 2:e9042e88abf1 6 rotateSlowSpeed = 0.05;
mfillinois 2:e9042e88abf1 7 rotateSpeed = 0.1;
mfillinois 2:e9042e88abf1 8 rotateFastSpeed = 0.2;
mfillinois 2:e9042e88abf1 9
mfillinois 2:e9042e88abf1 10 // Parameters for Flip
mfillinois 3:b3ec75e9163f 11 flip90Wait = 0.1;
mfillinois 3:b3ec75e9163f 12 flip180Wait = 0.2;
mfillinois 2:e9042e88abf1 13 mpwma = 1;
mfillinois 2:e9042e88abf1 14 mpwmb = 1;
mfillinois 2:e9042e88abf1 15 mstby = 1;
mfillinois 0:78e2af20cbf3 16 }
mfillinois 0:78e2af20cbf3 17
mfillinois 0:78e2af20cbf3 18 void Mousr::stop()
mfillinois 0:78e2af20cbf3 19 {
mfillinois 2:e9042e88abf1 20 m_a1 = 0; m_a2 = 0; m_b1 = 0; m_b2 = 0; return;
mfillinois 0:78e2af20cbf3 21 }
mfillinois 0:78e2af20cbf3 22
mfillinois 3:b3ec75e9163f 23 void Mousr::righttire(float speed)
mfillinois 0:78e2af20cbf3 24 {
mfillinois 3:b3ec75e9163f 25 if (speed > 0)
mfillinois 3:b3ec75e9163f 26 {
mfillinois 3:b3ec75e9163f 27 m_a1 = speed; m_a2 = 0; return;
mfillinois 3:b3ec75e9163f 28 }
mfillinois 3:b3ec75e9163f 29 else if (speed == 0)
mfillinois 3:b3ec75e9163f 30 {
mfillinois 3:b3ec75e9163f 31 m_a1 = 0; m_a2 = 0; return;
mfillinois 3:b3ec75e9163f 32 }
mfillinois 3:b3ec75e9163f 33 else
mfillinois 3:b3ec75e9163f 34 {
mfillinois 3:b3ec75e9163f 35 m_a1 = 0; m_a2 = abs(speed); return;
mfillinois 3:b3ec75e9163f 36 }
mfillinois 0:78e2af20cbf3 37 }
mfillinois 0:78e2af20cbf3 38
mfillinois 3:b3ec75e9163f 39 void Mousr::lefttire(float speed)
mfillinois 0:78e2af20cbf3 40 {
mfillinois 3:b3ec75e9163f 41 if (speed > 0)
mfillinois 3:b3ec75e9163f 42 {
mfillinois 3:b3ec75e9163f 43 m_b1 = speed; m_b2 = 0; return;
mfillinois 3:b3ec75e9163f 44 }
mfillinois 3:b3ec75e9163f 45 else if (speed == 0)
mfillinois 3:b3ec75e9163f 46 {
mfillinois 3:b3ec75e9163f 47 m_b1 = 0; m_b2 = 0; return;
mfillinois 3:b3ec75e9163f 48 }
mfillinois 3:b3ec75e9163f 49 else
mfillinois 3:b3ec75e9163f 50 {
mfillinois 3:b3ec75e9163f 51 m_b1 = 0; m_b2 = abs(speed); return;
mfillinois 3:b3ec75e9163f 52 }
mfillinois 0:78e2af20cbf3 53 }
mfillinois 0:78e2af20cbf3 54
mfillinois 0:78e2af20cbf3 55 void Mousr::left(float speed)
mfillinois 0:78e2af20cbf3 56 {
mfillinois 2:e9042e88abf1 57 m_a1 = speed; m_a2 = 0; m_b1 = 0; m_b2 = speed; return;
mfillinois 0:78e2af20cbf3 58 }
mfillinois 0:78e2af20cbf3 59
mfillinois 0:78e2af20cbf3 60 void Mousr::right(float speed)
mfillinois 0:78e2af20cbf3 61 {
mfillinois 2:e9042e88abf1 62 m_a1 = 0; m_a2 = speed; m_b1 = speed; m_b2 = 0; return;
mfillinois 0:78e2af20cbf3 63 }
mfillinois 0:78e2af20cbf3 64
mfillinois 3:b3ec75e9163f 65 void Mousr::left90()
mfillinois 0:78e2af20cbf3 66 {
mfillinois 3:b3ec75e9163f 67 left(rotateFastSpeed);
mfillinois 3:b3ec75e9163f 68 wait(flip90Wait);
mfillinois 2:e9042e88abf1 69 stop();
mfillinois 3:b3ec75e9163f 70 return;
mfillinois 0:78e2af20cbf3 71 }
mfillinois 0:78e2af20cbf3 72
mfillinois 3:b3ec75e9163f 73 void Mousr::left180()
mfillinois 0:78e2af20cbf3 74 {
mfillinois 3:b3ec75e9163f 75 left(rotateFastSpeed);
mfillinois 3:b3ec75e9163f 76 wait(flip180Wait);
mfillinois 2:e9042e88abf1 77 stop();
mfillinois 3:b3ec75e9163f 78 return;
mfillinois 0:78e2af20cbf3 79 }
mfillinois 0:78e2af20cbf3 80
mfillinois 3:b3ec75e9163f 81 void Mousr::right90()
mfillinois 0:78e2af20cbf3 82 {
mfillinois 3:b3ec75e9163f 83 right(rotateFastSpeed);
mfillinois 3:b3ec75e9163f 84 wait(flip90Wait);
mfillinois 3:b3ec75e9163f 85 stop();
mfillinois 3:b3ec75e9163f 86 return;
mfillinois 2:e9042e88abf1 87 }
mfillinois 2:e9042e88abf1 88
mfillinois 3:b3ec75e9163f 89 void Mousr::right180()
mfillinois 0:78e2af20cbf3 90 {
mfillinois 3:b3ec75e9163f 91 right(rotateFastSpeed);
mfillinois 3:b3ec75e9163f 92 wait(flip180Wait);
mfillinois 3:b3ec75e9163f 93 stop();
mfillinois 3:b3ec75e9163f 94 return;
mfillinois 0:78e2af20cbf3 95 }