got auto-shifting working (!!)
diff --git a/frc971/constants.cc b/frc971/constants.cc
index f9c1372..18d8de2 100644
--- a/frc971/constants.cc
+++ b/frc971/constants.cc
@@ -19,7 +19,7 @@
 // It has about 0.029043 of gearbox slop.
 // For purposes of moving the end up/down by a certain amount, the wrist is 18
 // inches long.
-const double kCompWristHallEffectStartAngle = 1.285;
+const double kCompWristHallEffectStartAngle = 1.27;
 const double kPracticeWristHallEffectStartAngle = 1.182;
 
 const double kWristHallEffectStopAngle = 100 * M_PI / 180.0;
@@ -70,11 +70,18 @@
 const int kCompCameraCenter = -2;
 const int kPracticeCameraCenter = -5;
 
-const int kCompDrivetrainGearboxPinion = 19;
-const int kPracticeDrivetrainGearboxPinion = 17;
+const double kCompDrivetrainEncoderRatio =
+    (15.0 / 50.0) /*output reduction*/ * (36.0 / 24.0) /*encoder gears*/;
+const double kCompLowGearRatio = 14.0 / 60.0 * 15.0 / 50.0;
+const double kCompHighGearRatio = 30.0 / 44.0 * 15.0 / 50.0;
 
-const ShifterHallEffect kCompLeftDriveShifter{1.5, 1, 1.2, 1.0};
-const ShifterHallEffect kCompRightDriveShifter{1.5, 1, 1.2, 1.0};
+const double kPracticeDrivetrainEncoderRatio =
+    (17.0 / 50.0) /*output reduction*/ * (64.0 / 24.0) /*encoder gears*/;
+const double kPracticeLowGearRatio = 16.0 / 60.0 * 19.0 / 50.0;
+const double kPracticeHighGearRatio = 28.0 / 48.0 * 19.0 / 50.0;
+
+const ShifterHallEffect kCompLeftDriveShifter{0.8 /*TODO*/, 2.14, 1.2, 1.0};
+const ShifterHallEffect kCompRightDriveShifter{0.865, 2.375, 1.2, 1.0};
 
 const ShifterHallEffect kPracticeLeftDriveShifter{2.082283, 0.834433, 0.60,
                                                   0.47};
@@ -103,9 +110,12 @@
                         kAngleAdjustZeroingSpeed,
                         kAngleAdjustZeroingOffSpeed,
                         kCompAngleAdjustDeadband,
-                        kCompDrivetrainGearboxPinion,
+                        kCompDrivetrainEncoderRatio,
+                        kCompLowGearRatio,
+                        kCompHighGearRatio,
                         kCompLeftDriveShifter,
                         kCompRightDriveShifter,
+                        true,
                         kCompCameraCenter};
       break;
     case kPracticeTeamNumber:
@@ -126,9 +136,12 @@
                         kAngleAdjustZeroingSpeed,
                         kAngleAdjustZeroingOffSpeed,
                         kPracticeAngleAdjustDeadband,
-                        kPracticeDrivetrainGearboxPinion,
+                        kPracticeDrivetrainEncoderRatio,
+                        kPracticeLowGearRatio,
+                        kPracticeHighGearRatio,
                         kPracticeLeftDriveShifter,
                         kPracticeRightDriveShifter,
+                        false,
                         kPracticeCameraCenter};
       break;
     default: