Add motor gear ratios to y2024_swerve wpilib

Change-Id: I2e0e54dd2cb5d131c70d26e2189553244ed6fb1a
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024_swerve/constants.h b/y2024_swerve/constants.h
index cf6c183..b5a89dd 100644
--- a/y2024_swerve/constants.h
+++ b/y2024_swerve/constants.h
@@ -24,12 +24,12 @@
   static constexpr double kDrivetrainStatorCurrentLimit() { return 35.0; }
   static constexpr double kDrivetrainSupplyCurrentLimit() { return 60.0; }
 
-  // TODO (maxwell): Make this the real value
-  static constexpr double kFollowerWheelCountsPerRevolution() { return 512.0; }
-  static constexpr double kFollowerWheelEncoderRatio() { return 1.0; }
-  static constexpr double kFollowerWheelRadius() { return 3.25 / 2 * 0.0254; }
-  static constexpr double kDrivetrainEncoderCountsPerRevolution() {
-    return 2048.0;
+  static constexpr double kRotationModuleRatio() {
+    return 9.0 / 24.0 * 14.0 / 72.0;
+  }
+
+  static constexpr double kTranslationModuleRatio() {
+    return 1.0 / 6.75 * 2.0 * .0254;
   }
 
   static constexpr double kMaxDrivetrainEncoderPulsesPerSecond() {
diff --git a/y2024_swerve/wpilib_interface.cc b/y2024_swerve/wpilib_interface.cc
index 445a618..83d431c 100644
--- a/y2024_swerve/wpilib_interface.cc
+++ b/y2024_swerve/wpilib_interface.cc
@@ -257,10 +257,18 @@
             falcon->RefreshNontimesyncedSignals();
           }
 
-          modules.front_left->PopulateCanPosition(builder->add_front_left());
-          modules.front_right->PopulateCanPosition(builder->add_front_right());
-          modules.back_left->PopulateCanPosition(builder->add_back_left());
-          modules.back_right->PopulateCanPosition(builder->add_back_right());
+          const frc971::wpilib::swerve::SwerveModule::ModuleGearRatios
+              gear_ratios{
+                  .rotation = constants::Values::kRotationModuleRatio(),
+                  .translation = constants::Values::kTranslationModuleRatio()};
+          modules.front_left->PopulateCanPosition(builder->add_front_left(),
+                                                  gear_ratios);
+          modules.front_right->PopulateCanPosition(builder->add_front_right(),
+                                                   gear_ratios);
+          modules.back_left->PopulateCanPosition(builder->add_back_left(),
+                                                 gear_ratios);
+          modules.back_right->PopulateCanPosition(builder->add_back_right(),
+                                                  gear_ratios);
 
           builder.CheckOk(builder.Send());
         });