Make drivetrain current limits use the constants
Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: I3be805941a01ec42a7ee2bc1095d131661e22668
diff --git a/y2024/constants.h b/y2024/constants.h
index ddcf0a4..2462bd5 100644
--- a/y2024/constants.h
+++ b/y2024/constants.h
@@ -38,9 +38,6 @@
kDrivetrainEncoderCountsPerRevolution();
}
- static constexpr double kDrivetrainSupplyCurrentLimit() { return 35.0; }
- static constexpr double kDrivetrainStatorCurrentLimit() { return 60.0; }
-
static double DrivetrainEncoderToMeters(int32_t in) {
return ((static_cast<double>(in) /
kDrivetrainEncoderCountsPerRevolution()) *
diff --git a/y2024/constants/common.json b/y2024/constants/common.json
index 2e89bfa..3da88fe 100644
--- a/y2024/constants/common.json
+++ b/y2024/constants/common.json
@@ -45,7 +45,9 @@
"intake_roller_supply_current_limit": 35,
"intake_roller_stator_current_limit": 60,
"transfer_roller_supply_current_limit": 35,
- "transfer_roller_stator_current_limit": 60
+ "transfer_roller_stator_current_limit": 60,
+ "drivetrain_supply_current_limit": 35,
+ "drivetrain_stator_current_limit": 60
},
"transfer_roller_voltages": {
"transfer_in": 12.0,
diff --git a/y2024/constants/constants.fbs b/y2024/constants/constants.fbs
index 54e6925..4a40487 100644
--- a/y2024/constants/constants.fbs
+++ b/y2024/constants/constants.fbs
@@ -50,6 +50,8 @@
intake_roller_stator_current_limit:double (id: 3);
transfer_roller_supply_current_limit:double (id: 4);
transfer_roller_stator_current_limit:double (id: 5);
+ drivetrain_supply_current_limit:double (id: 6);
+ drivetrain_stator_current_limit:double (id: 7);
}
table TransferRollerVoltages {
diff --git a/y2024/wpilib_interface.cc b/y2024/wpilib_interface.cc
index b708266..a5f7ffa 100644
--- a/y2024/wpilib_interface.cc
+++ b/y2024/wpilib_interface.cc
@@ -290,46 +290,38 @@
std::vector<ctre::phoenix6::BaseStatusSignal *> signals_registry;
+ const CurrentLimits *current_limits =
+ robot_constants->common()->current_limits();
+
std::shared_ptr<TalonFX> right_front = std::make_shared<TalonFX>(
0, false, "Drivetrain Bus", &signals_registry,
- constants::Values::kDrivetrainStatorCurrentLimit(),
- constants::Values::kDrivetrainSupplyCurrentLimit());
+ current_limits->drivetrain_supply_current_limit(),
+ current_limits->drivetrain_stator_current_limit());
std::shared_ptr<TalonFX> right_back = std::make_shared<TalonFX>(
1, false, "Drivetrain Bus", &signals_registry,
- constants::Values::kDrivetrainStatorCurrentLimit(),
- constants::Values::kDrivetrainSupplyCurrentLimit());
+ current_limits->drivetrain_supply_current_limit(),
+ current_limits->drivetrain_stator_current_limit());
std::shared_ptr<TalonFX> left_front = std::make_shared<TalonFX>(
2, false, "Drivetrain Bus", &signals_registry,
- constants::Values::kDrivetrainStatorCurrentLimit(),
- constants::Values::kDrivetrainSupplyCurrentLimit());
+ current_limits->drivetrain_supply_current_limit(),
+ current_limits->drivetrain_stator_current_limit());
std::shared_ptr<TalonFX> left_back = std::make_shared<TalonFX>(
3, false, "Drivetrain Bus", &signals_registry,
- constants::Values::kDrivetrainStatorCurrentLimit(),
- constants::Values::kDrivetrainSupplyCurrentLimit());
- std::shared_ptr<TalonFX> intake_pivot =
- std::make_shared<TalonFX>(4, false, "Drivetrain Bus", &signals_registry,
- robot_constants->common()
- ->current_limits()
- ->intake_pivot_stator_current_limit(),
- robot_constants->common()
- ->current_limits()
- ->intake_pivot_supply_current_limit());
- std::shared_ptr<TalonFX> intake_roller =
- std::make_shared<TalonFX>(5, false, "Drivetrain Bus", &signals_registry,
- robot_constants->common()
- ->current_limits()
- ->intake_roller_stator_current_limit(),
- robot_constants->common()
- ->current_limits()
- ->intake_roller_supply_current_limit());
- std::shared_ptr<TalonFX> transfer_roller =
- std::make_shared<TalonFX>(6, false, "Drivetrain Bus", &signals_registry,
- robot_constants->common()
- ->current_limits()
- ->transfer_roller_stator_current_limit(),
- robot_constants->common()
- ->current_limits()
- ->transfer_roller_supply_current_limit());
+ current_limits->drivetrain_supply_current_limit(),
+ current_limits->drivetrain_stator_current_limit());
+ std::shared_ptr<TalonFX> intake_pivot = std::make_shared<TalonFX>(
+ 4, false, "Drivetrain Bus", &signals_registry,
+ current_limits->intake_pivot_stator_current_limit(),
+ current_limits->intake_pivot_supply_current_limit());
+ std::shared_ptr<TalonFX> intake_roller = std::make_shared<TalonFX>(
+ 5, false, "Drivetrain Bus", &signals_registry,
+ current_limits->intake_roller_stator_current_limit(),
+ current_limits->intake_roller_supply_current_limit());
+ std::shared_ptr<TalonFX> transfer_roller = std::make_shared<TalonFX>(
+ 6, false, "Drivetrain Bus", &signals_registry,
+ current_limits->transfer_roller_stator_current_limit(),
+ current_limits->transfer_roller_supply_current_limit());
+
ctre::phoenix::platform::can::CANComm_SetRxSchedPriority(
constants::Values::kDrivetrainRxPriority, true, "Drivetrain Bus");
ctre::phoenix::platform::can::CANComm_SetTxSchedPriority(