Merge "Respect --coredump flag when going RT"
diff --git a/frc971/control_loops/python/path_edit.py b/frc971/control_loops/python/path_edit.py
index bf54f60..4e97dde 100755
--- a/frc971/control_loops/python/path_edit.py
+++ b/frc971/control_loops/python/path_edit.py
@@ -454,9 +454,9 @@
         point = self.mousex, self.mousey
 
         # This restricts the amount it can be scaled.
-        if self.transform.xx <= 0.4:
+        if self.transform.xx <= 0.75:
             scale = max(scale, 1)
-        elif self.transform.xx >= 4:
+        elif self.transform.xx >= 16:
             scale = min(scale, 1)
 
         # move the origin to point
diff --git a/y2020/constants.cc b/y2020/constants.cc
index 1ef9073..088c98c 100644
--- a/y2020/constants.cc
+++ b/y2020/constants.cc
@@ -38,10 +38,11 @@
                                               {1.4732, {0.10, 10.6}},
                                               {2.5, {0.36, 12.0}},
                                               {3.50, {0.43, 13.2}},
-                                              {4.7371, {0.535, 14.2}},
-                                              {5.27, {0.53, 14.55}},
-                                              {6.332, {0.53, 15.2}},
-                                              {7.48, {0.55, 17.0}},
+                                              {3.93, {0.44, 13.2}},
+                                              {4.7371, {0.475, 14.2}},
+                                              {5.31, {0.51, 14.6}},
+                                              {6.332, {0.525, 15.2}},
+                                              {7.35, {0.52, 17.0}},
                                               {8.30, {0.565, 17.0}},
                                               {9.20, {0.535, 17.0}}});
 
@@ -57,7 +58,7 @@
            {16.1, {425.0, kVelocityFinisher}},
            {16.3, {450.0, kVelocityFinisher}},
            {16.6, {475.0, kVelocityFinisher}},
-           {17.0, {500.0, kVelocityFinisher}}});
+           {17.0, {500.0, kVelocityFinisher + 25}}});
 
   // Hood constants.
   hood->zeroing_voltage = 2.0;
@@ -144,9 +145,9 @@
       turret_params->zeroing_constants.measured_absolute_position =
           2.75051496009509;
 
-      hood->zeroing_constants.measured_absolute_position = 0.0344482433884915;
+      hood->zeroing_constants.measured_absolute_position = 0.0482502438525903,
       hood->zeroing_constants.single_turn_measured_absolute_position =
-          0.31055891442198;
+          0.302574797776192;
       break;
 
     case Values::kPracticeTeamNumber:
diff --git a/y2020/control_loops/superstructure/superstructure.cc b/y2020/control_loops/superstructure/superstructure.cc
index 86dcbb1..4c5f235 100644
--- a/y2020/control_loops/superstructure/superstructure.cc
+++ b/y2020/control_loops/superstructure/superstructure.cc
@@ -238,6 +238,12 @@
       output_struct.climber_voltage =
           std::clamp(unsafe_goal->climber_voltage(), -12.0f, 12.0f);
 
+      // Make sure the turret is relatively close to the goal before turning the
+      // climber on.
+      if (std::abs(turret_.goal(0) - turret_.position()) > 0.1) {
+        output_struct.climber_voltage = 0;
+      }
+
       if (unsafe_goal->shooting() || unsafe_goal->intake_preloading()) {
         preloading_timeout_ = position_timestamp + kPreloadingTimeout;
       }
diff --git a/y2020/control_loops/superstructure/turret/aiming.cc b/y2020/control_loops/superstructure/turret/aiming.cc
index 94047d2..c5daf22 100644
--- a/y2020/control_loops/superstructure/turret/aiming.cc
+++ b/y2020/control_loops/superstructure/turret/aiming.cc
@@ -48,7 +48,7 @@
 // exactly perpendicular to the target. Larger numbers allow us to aim at the
 // inner port more aggressively, at the risk of being more likely to miss the
 // outer port entirely.
-constexpr double kMaxInnerPortAngle = 10.0 * M_PI / 180.0;
+constexpr double kMaxInnerPortAngle = 15.0 * M_PI / 180.0;
 
 // Distance (in meters) from the edge of the field to the port, with some
 // compensation to ensure that our definition of where the target is matches
diff --git a/y2020/joystick_reader.cc b/y2020/joystick_reader.cc
index 1b061e5..b92126a 100644
--- a/y2020/joystick_reader.cc
+++ b/y2020/joystick_reader.cc
@@ -39,11 +39,9 @@
 
 // TODO(sabina): fix button locations.
 
-const ButtonLocation kShootFast(3, 16);
 const ButtonLocation kAutoTrack(3, 3);
 const ButtonLocation kAutoNoHood(3, 5);
 const ButtonLocation kHood(3, 2);
-const ButtonLocation kShootSlow(4, 2);
 const ButtonLocation kFixedTurret(3, 1);
 const ButtonLocation kFeed(4, 1);
 const ButtonLocation kFeedDriver(1, 2);
@@ -189,17 +187,6 @@
         accelerator_speed = setpoint_fetcher_->accelerator();
         finisher_speed = setpoint_fetcher_->finisher();
       }
-    } else if (data.IsPressed(kShootFast)) {
-      if (setpoint_fetcher_.get()) {
-        accelerator_speed = setpoint_fetcher_->accelerator();
-        finisher_speed = setpoint_fetcher_->finisher();
-      } else {
-        accelerator_speed = 250.0;
-        finisher_speed = 500.0;
-      }
-    } else if (data.IsPressed(kShootSlow)) {
-      accelerator_speed = 180.0;
-      finisher_speed = 300.0;
     }
 
     if (data.IsPressed(kIntakeExtend) || data.IsPressed(kIntakeExtendDriver)) {