Module 9 Super Team / PIDController1

Fork of PIDController by Kevin Hetterscheid

Revision:
17:7c54c7fcf9c5
Parent:
14:c5233d2b1286
Child:
18:12a542fa857e
--- a/pidControl.cpp	Wed Oct 28 13:46:06 2015 +0000
+++ b/pidControl.cpp	Thu Oct 29 17:09:55 2015 +0000
@@ -242,8 +242,14 @@
     // PID control
     double control1, control2;
     if(pushing) {
-        control1 = pid_control(error1, motor1_push_kp, motor1_push_ki, tickRate, m1_error_integral, motor1_push_kd, previous_error1, m1_error_derivative, m1_filter);
-        control2 = pid_control(error2, motor2_push_kp, motor2_push_ki, tickRate, m2_error_integral, motor2_push_kd, previous_error2, m2_error_derivative, m2_filter);
+        if(error1 < 0.1f && error2 < 0.01f) {
+            control1 = 0;
+            control2 = 0;
+        }
+        else {
+            control1 = pid_control(error1, motor1_push_kp, motor1_push_ki, tickRate, m1_error_integral, motor1_push_kd, previous_error1, m1_error_derivative, m1_filter);
+            control2 = pid_control(error2, motor2_push_kp, motor2_push_ki, tickRate, m2_error_integral, motor2_push_kd, previous_error2, m2_error_derivative, m2_filter);
+        }
     } else {
         control1 = pid_control(error1, motor1_kp, motor1_ki, tickRate, m1_error_integral, motor1_kd, previous_error1, m1_error_derivative, m1_filter);
         control2 = pid_control(error2, motor2_kp, motor2_ki, tickRate, m2_error_integral, motor2_kd, previous_error2, m2_error_derivative, m2_filter);