.

Dependencies:   Servo mbed

Revision:
6:78a2c2a7f39e
Parent:
5:61a0a21134f7
Child:
7:ea395616348c
--- a/main.cpp	Fri Feb 27 06:36:42 2015 +0000
+++ b/main.cpp	Mon Mar 02 19:38:38 2015 +0000
@@ -97,7 +97,8 @@
     t.start();
     while(1){
         
-        float avg_speed = 0;
+        float avg_speed;
+        float stall_check;
         
         char choice = pc.getc();
         pc.putc(choice);      
@@ -125,16 +126,22 @@
                 while(1){
                     
                     avg_speed = get_avg_speed();
-                    
-                    if((avg_speed -  TUNING_CONSTANT_20) > 0.5f){
+                    if (avg_speed == stall_check) {
+                        avg_speed = 0;
+                        tuning_val += .1;
+                    } else if((avg_speed -  TUNING_CONSTANT_20) > 0.5f){
                         tuning_val -= .1;
+                        stall_check = avg_speed;
                     } else if (avg_speed - TUNING_CONSTANT_20 < -0.5f){
                         tuning_val += .1;
+                        stall_check = avg_speed;
                     } else {
                         tuning_val = 1;
+                        stall_check = avg_speed;
                     }
                     motor.pulsewidth(.0025 * .2 * tuning_val);
-                    pc.printf("speed: %f\n\rtuning val: %f\n\r", avg_speed, tuning_val);
+                    
+                    pc.printf("speed: %f\n\rtuning val: %f\n\r PWM : ", avg_speed, tuning_val);
                     wait(.5);
                 }