it works ok
diff --git a/frc971/input/JoystickReader.cc b/frc971/input/JoystickReader.cc
index 4de09e0..d46f943 100644
--- a/frc971/input/JoystickReader.cc
+++ b/frc971/input/JoystickReader.cc
@@ -121,6 +121,7 @@
       shooter_goal->velocity = 0;
       static double angle_adjust_goal = 0.42;
       if (Pressed(2, 5)) {
+#if 0
         target_angle.FetchLatest();
         if (target_angle.IsNewerThanMS(500)) {
           shooter_goal->velocity = target_angle->shooter_speed;
@@ -131,6 +132,10 @@
           LOG(WARNING, "camera frame too old\n");
           // pretend like no button is pressed
         }
+#endif
+        shooter_goal->velocity = 400;
+        wrist_up_position = 1.23 - 0.4;
+        angle_adjust_goal = 0.586;
       } else if (Pressed(2, 3)) {
         // medium shot
 #if 0
@@ -141,7 +146,7 @@
         // middle wheel on the back line (same as auto)
         shooter_goal->velocity = 360;
         wrist_up_position = 1.23 - 0.4;
-        angle_adjust_goal = 0.586;
+        angle_adjust_goal = 0.596;
       } else if (Pressed(2, 6)) {
         // short shot
         shooter_goal->velocity = 375;
diff --git a/frc971/input/gyro_board_reader.cc b/frc971/input/gyro_board_reader.cc
index b977c2b..05adc5a 100644
--- a/frc971/input/gyro_board_reader.cc
+++ b/frc971/input/gyro_board_reader.cc
@@ -186,19 +186,19 @@
         &last_shooter_angle_rise_count_, &shooter_angle_rise_count_);
 
     drivetrain.position.MakeWithBuilder()
-        .right_encoder(drivetrain_translate(data->right_drive))
-        .left_encoder(-drivetrain_translate(data->left_drive))
+        .right_encoder(drivetrain_translate(data->left_drive))
+        .left_encoder(-drivetrain_translate(data->right_drive))
         .Send();
 
     wrist.position.MakeWithBuilder()
         .pos(wrist_translate(data->wrist))
-        .hall_effect(!data->wrist_hall_effect)
+        .hall_effect(data->wrist_hall_effect)
         .calibration(wrist_translate(data->capture_wrist_rise))
         .Send();
 
     angle_adjust.position.MakeWithBuilder()
         .angle(angle_adjust_translate(data->shooter_angle))
-        .bottom_hall_effect(!data->angle_adjust_bottom_hall_effect)
+        .bottom_hall_effect(data->angle_adjust_bottom_hall_effect)
         .middle_hall_effect(false)
         .bottom_calibration(angle_adjust_translate(
                 data->capture_shooter_angle_rise))
@@ -212,12 +212,12 @@
 
     index_loop.position.MakeWithBuilder()
         .index_position(index_translate(data->indexer))
-        .top_disc_detect(!data->top_disc)
+        .top_disc_detect(data->top_disc)
         .top_disc_posedge_count(top_rise_count_)
         .top_disc_posedge_position(index_translate(data->capture_top_rise))
         .top_disc_negedge_count(top_fall_count_)
         .top_disc_negedge_position(index_translate(data->capture_top_fall))
-        .bottom_disc_detect(!data->bottom_disc)
+        .bottom_disc_detect(data->bottom_disc)
         .bottom_disc_posedge_count(bottom_rise_count_)
         .bottom_disc_negedge_count(bottom_fall_count_)
         .bottom_disc_negedge_wait_position(index_translate(