First team commit

Dependents:   ASEE-2014

Fork of LineFollower by Christopher Bradford

Revision:
10:a9233fa6240d
Parent:
9:039a74519b89
Child:
11:88aa683f1c94
--- a/LineFollower.cpp	Mon Mar 10 00:54:55 2014 +0000
+++ b/LineFollower.cpp	Mon Mar 24 00:44:31 2014 +0000
@@ -19,7 +19,6 @@
                 array(ir1, ir2, ir3, ir4, ir5, ir6, ir7, ir8)
                 {}
                 
-                
     /** Read the value of a LineFollower object
     * 
     * @return The value of the Sensor
@@ -28,7 +27,7 @@
         return array;
     }
     
-    float LineFollower::analogFollow(Motor l, Motor r){
+    float LineFollower::analogFollow(Motor l, Motor r, float maxspeed, float sp_adj_mult){
         float sum = 0;
         int count = 0;
         for(int i = 0; i < 8; i++)
@@ -38,22 +37,21 @@
             }
         if(count == 0) return 0;
         float center = sum/count;
-        
-        float sp_adj_mult = 0.9; //Change this to change how drastic your adjustments are. 0-1
-        float speed_adjust = sp_adj_mult*(center-4.5)/(3.5)*MAXSPEED;
-            //Also, can change MAXSPEED if the thing is too fast overall. 0-1
+        //Change the sp_adj_mult to change how drastic your adjustments are. 0-1
+        float speed_adjust = sp_adj_mult*(center-4.5)/(3.5)*maxspeed;
+        //Also, can change maxspeed if the thing is too fast overall. 0-1
         
         if(center > 4.5){
-            l.speed(MAXSPEED - speed_adjust);
-            r.speed(MAXSPEED);
+            l.speed(maxspeed - speed_adjust);
+            r.speed(maxspeed);
         }
         else if(center < 4.5){
-            l.speed(MAXSPEED);
-            r.speed(MAXSPEED - abs(speed_adjust));
+            l.speed(maxspeed);
+            r.speed(maxspeed + speed_adjust);
         }
         else{
-            l.speed(MAXSPEED);
-            r.speed(MAXSPEED);
+            l.speed(maxspeed);
+            r.speed(maxspeed);
         }
         
         return center;
@@ -63,7 +61,8 @@
     * 
     * @param    l left drive motor
     * @param    r  right drive motor
-    */                    
+    */   
+    /*                 
     int LineFollower::followLine(Motor l, Motor r){
            int count = 0;
            for(int i = 0; i<8; i++){
@@ -73,68 +72,68 @@
             switch(count){
                 
                 case 1: if(this->read() == 0x7F){
-                            l.speed(-(0.75 * MAXSPEED));
-                            r.speed(MAXSPEED);
+                            l.speed(-(0.75 * maxspeed));
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xFE){
-                            l.speed(MAXSPEED);
-                            r.speed(-(0.75 * MAXSPEED));
+                            l.speed(maxspeed);
+                            r.speed(-(0.75 * maxspeed));
                         }
                         break;
                         
                 case 2: if(this->read() == 0xE7){
-                            l.speed(MAXSPEED);
-                            r.speed(MAXSPEED);
+                            l.speed(maxspeed);
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0x3F){
-                            l.speed(-(0.5 * MAXSPEED));
-                            r.speed(MAXSPEED);
+                            l.speed(-(0.5 * maxspeed));
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xFC){
-                            l.speed(MAXSPEED);
-                            r.speed(-(0.5 * MAXSPEED));
+                            l.speed(maxspeed);
+                            r.speed(-(0.5 * maxspeed));
                         }
                         else if(this->read() == 0x9F){
                             l.speed(0);
-                            r.speed(MAXSPEED);
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xF9){
-                            l.speed(MAXSPEED);
+                            l.speed(maxspeed);
                             r.speed(0);
                         }
                         else if(this->read() == 0xCF){
-                            l.speed(0.5*MAXSPEED);
-                            r.speed(MAXSPEED);
+                            l.speed(0.5*maxspeed);
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xF3){
-                            l.speed(MAXSPEED);
-                            r.speed(0.5*MAXSPEED);
+                            l.speed(maxspeed);
+                            r.speed(0.5*maxspeed);
                         }
                         break;
                         
                 case 3: if(this->read() == 0x1F){
-                            l.speed(-(0.25*MAXSPEED));
-                            r.speed(MAXSPEED);
+                            l.speed(-(0.25*maxspeed));
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xF8){
-                            l.speed(MAXSPEED);
-                            r.speed(-(0.25*MAXSPEED));
+                            l.speed(maxspeed);
+                            r.speed(-(0.25*maxspeed));
                         }
                         else if(this->read() == 0x8F){
-                            l.speed(0.25*MAXSPEED);
-                            r.speed(MAXSPEED);
+                            l.speed(0.25*maxspeed);
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xF1){
-                            l.speed(MAXSPEED);
-                            r.speed(0.25*MAXSPEED);
+                            l.speed(maxspeed);
+                            r.speed(0.25*maxspeed);
                         }
                         else if(this->read() == 0xC7){
-                            l.speed(0.5*MAXSPEED);
-                            r.speed(MAXSPEED);
+                            l.speed(0.5*maxspeed);
+                            r.speed(maxspeed);
                         }
                         else if(this->read() == 0xE3){
-                            l.speed(MAXSPEED);
-                            r.speed(0.5*MAXSPEED);
+                            l.speed(maxspeed);
+                            r.speed(0.5*maxspeed);
                         }
                         break;
               default:  break;
@@ -144,4 +143,5 @@
             
             
             return count;
-    }
\ No newline at end of file
+    }
+    */
\ No newline at end of file