Tune catapult to be a lot more accurate

Transition to the decel controller 1 cycle sooner, and also make sure to
use the aggressive decel that same cycle.

This increases shot accuracy quite a bit.

Also, tune the controller a bit.  It seems to have lower resistance than
expected.

Change-Id: I04e3ad6e08ebc0a4aab5c9c3706eee27ab111a60
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2022/control_loops/python/catapult.py b/y2022/control_loops/python/catapult.py
index ad0e25a..2d0588a 100755
--- a/y2022/control_loops/python/catapult.py
+++ b/y2022/control_loops/python/catapult.py
@@ -46,7 +46,7 @@
 
 kCatapultWithBall = catapult_lib.CatapultParams(
     name='Catapult',
-    motor=AddResistance(control_loop.NMotor(control_loop.Falcon(), 2), 0.03),
+    motor=AddResistance(control_loop.NMotor(control_loop.Falcon(), 2), 0.01),
     G=G,
     J=J,
     radius=lever,
diff --git a/y2022/control_loops/superstructure/catapult/catapult.cc b/y2022/control_loops/superstructure/catapult/catapult.cc
index b99f59b..fda62ad 100644
--- a/y2022/control_loops/superstructure/catapult/catapult.cc
+++ b/y2022/control_loops/superstructure/catapult/catapult.cc
@@ -384,15 +384,20 @@
         }
       }
 
-      if (!use_profile_ || catapult_state_ == CatapultState::RESETTING) {
+      if (!use_profile_) {
         catapult_.ForceGoal(catapult_.estimated_position(),
                             catapult_.estimated_velocity());
       }
-    } break;
+    }
+      if (catapult_state_ != CatapultState::RESETTING) {
+        break;
+      } else {
+        [[fallthrough]];
+      }
 
     case CatapultState::RESETTING:
       if (catapult_.controller().R(1, 0) > 0.0) {
-        catapult_.AdjustProfile(7.0, 1000.0);
+        catapult_.AdjustProfile(7.0, 1400.0);
       } else {
         catapult_state_ = CatapultState::PROFILE;
       }