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());
});