added support for different drivetrain gear ratios

We went down to 2 CIMs on the practice bot and reduce the pinion size,
so the code has to know how to deal with that.
diff --git a/frc971/constants.cpp b/frc971/constants.cpp
index 8f9c165..8fbb875 100644
--- a/frc971/constants.cpp
+++ b/frc971/constants.cpp
@@ -70,6 +70,9 @@
 const int kCompCameraCenter = -2;
 const int kPracticeCameraCenter = -5;
 
+const int kCompDrivetrainGearboxPinion = 19;
+const int kPracticeDrivetrainGearboxPinion = 17;
+
 struct Values {
   // Wrist hall effect positive and negative edges.
   double wrist_hall_effect_start_angle;
@@ -107,6 +110,8 @@
   // Deadband voltage.
   double angle_adjust_deadband;
 
+  int drivetrain_gearbox_pinion;
+
   // what camera_center returns
   int camera_center;
 };
@@ -139,6 +144,7 @@
                             kAngleAdjustZeroingSpeed,
                             kAngleAdjustZeroingOffSpeed,
                             kCompAngleAdjustDeadband,
+                            kCompDrivetrainGearboxPinion,
                             kCompCameraCenter};
         break;
       case kPracticeTeamNumber:
@@ -159,6 +165,7 @@
                             kAngleAdjustZeroingSpeed,
                             kAngleAdjustZeroingOffSpeed,
                             kPracticeAngleAdjustDeadband,
+                            kPracticeDrivetrainGearboxPinion,
                             kPracticeCameraCenter};
         break;
       default:
@@ -289,6 +296,13 @@
   return true;
 }
 
+bool drivetrain_gearbox_pinion(int *pinion) {
+  const Values *const values = GetValues();
+  if (values == NULL) return false;
+  *pinion = values->drivetrain_gearbox_pinion;
+  return true;
+}
+
 bool camera_center(int *center) {
   const Values *const values = GetValues();
   if (values == NULL) return false;