Basic Line Following Program

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
DanArgust
Date:
Thu Jul 14 15:10:49 2016 +0000
Parent:
3:936111f70e37
Child:
5:569a11ffee94
Commit message:
updated to adhere closer to style guide

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Jul 14 10:57:20 2016 +0000
+++ b/main.cpp	Thu Jul 14 15:10:49 2016 +0000
@@ -14,67 +14,67 @@
 PwmOut pwm0(p25);
 PwmOut pwm1(p10);
 
-float Lmotor;
-float Rmotor;
+float lMotor;
+float rMotor;
 float newLine;
 float oldLine;
-bool searching;
-int counter;
+bool  isSearching;
+int   counter;
 
-void getMotorSpeeds(float a,float b){
+void computeMotorSpeeds(float a,float b){
     float inputs[2] = {a,b};
-    float max_speed = 1.0;
-    Lmotor = 0;
-    Rmotor = 0;
-    newLine = 0;
-    float line_to_speed_factor = max_speed/0.3;
-    for(int i = 0;i<2;++i){
-        newLine += inputs[i]*(i+1);
+    const float MAXSPEED = 1.0;
+    lMotor  = 0.0;
+    rMotor  = 0.0;
+    newLine = 0.0;
+    float lineToSpeedFactor = MAXSPEED / 0.3;
+    for (int i = 0; i < 2; ++i) {
+        newLine += inputs[i] * (i + 1);
     }
-    float sum = 0;
-    for (int i = 0;i<2;++i){
+    float sum = 0.0;
+    for (int i = 0; i < 2; ++i)
         sum += inputs[i];
-    }
     newLine = newLine / sum;
-    if((a<0.2)&&(b<0.2)){
-        if(oldLine>1.5)
-            newLine = 2;
+    if ((a < 0.35) && (b < 0.35)) {
+        if (oldLine > 1.5)
+            newLine = 2.0;
         else
-            newLine = 1;
-        searching = true;
+            newLine = 1.0;
+        oldLine = newLine;
+        isSearching = true;
     }
-    if(searching){
-        if(abs(a - b)<0.2){
+    if (isSearching) {
+        if ( oldLine > 1.5)
+            newLine = 2.0;
+        else
+            newLine = 1.0;
+        if (abs(a - b) < 0.2)
             newLine = oldLine;
-        }
+        else
+            isSearching = false;
         counter++;
-        if(counter>300){
-            newLine = 3 - oldLine;
+        if (counter > 300) {
+            newLine = 3.0 - oldLine;
             counter = 0;
         }
-        else{
-            searching = false;
-        }
     }
     oldLine = newLine;
-    Lmotor = newLine*line_to_speed_factor-4;
-    Rmotor = 2-(newLine*line_to_speed_factor-4);
-    if(Lmotor>max_speed){
-        Lmotor = max_speed;
-    }
-    if(Rmotor>max_speed){
-        Rmotor = max_speed;
-    }
+    lMotor =      newLine * lineToSpeedFactor - 4.0;
+    rMotor = 2.0-(newLine * lineToSpeedFactor - 4.0);
+    if (lMotor > MAXSPEED)
+        lMotor = MAXSPEED;
+    if (rMotor > MAXSPEED)
+        rMotor = MAXSPEED;
 }
 
 int main()
 {
-    searching = false;
+    isSearching = false;
     counter = 0;
-    while(true){
-        getMotorSpeeds(ain0.read(),ain1.read());
-        pwm0 = Lmotor;
-        pwm1 = Rmotor;
+    while (true) {
+        computeMotorSpeeds(ain0.read(), ain1.read());
+        pwm0 = lMotor;
+        pwm1 = rMotor;
         wait_ms(10);
     }
 }
\ No newline at end of file