Update sensor numbers in wpilib_interface
Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: Ia0f9d41c5ecf6cf7ed4a1171677cc43fc3c0090d
diff --git a/y2024/constants.h b/y2024/constants.h
index 3afc62c..925f8db 100644
--- a/y2024/constants.h
+++ b/y2024/constants.h
@@ -79,8 +79,9 @@
return 16 * 0.25 * 0.0254;
}
- static constexpr double kClimberEncoderMetersPerRevolution() {
- return kClimberEncoderRatio() * kClimberPotMetersPerRevolution();
+ static constexpr double kClimberEncoderMetersPerRadian() {
+ return kClimberEncoderRatio() * kClimberPotMetersPerRevolution() / 2.0 /
+ M_PI;
}
static constexpr double kClimberPotMetersPerVolt() {
@@ -119,8 +120,8 @@
static constexpr double kExtendPotMetersPerRevolution() {
return 36 * 0.005 * kExtendEncoderRatio();
}
- static constexpr double kExtendEncoderMetersPerRevolution() {
- return kExtendPotMetersPerRevolution();
+ static constexpr double kExtendEncoderMetersPerRadian() {
+ return kExtendPotMetersPerRevolution() / 2.0 / M_PI;
}
static constexpr double kExtendPotMetersPerVolt() {
return kExtendPotMetersPerRevolution() * (5.0 /*turns*/ / 5.0 /*volts*/);
diff --git a/y2024/wpilib_interface.cc b/y2024/wpilib_interface.cc
index 6e75387..7e55780 100644
--- a/y2024/wpilib_interface.cc
+++ b/y2024/wpilib_interface.cc
@@ -166,15 +166,15 @@
CopyPosition(climber_encoder_, builder->add_climber(),
Values::kClimberEncoderCountsPerRevolution(),
- Values::kClimberEncoderMetersPerRevolution(),
- climber_pot_translate, true,
+ Values::kClimberEncoderMetersPerRadian(),
+ climber_pot_translate, false,
robot_constants_->robot()
->climber_constants()
->potentiometer_offset());
CopyPosition(extend_encoder_, builder->add_extend(),
- Values::kClimberEncoderCountsPerRevolution(),
- Values::kClimberEncoderMetersPerRevolution(),
+ Values::kExtendEncoderCountsPerRevolution(),
+ Values::kExtendEncoderMetersPerRadian(),
extend_pot_translate, true,
robot_constants_->robot()
->extend_constants()
@@ -209,7 +209,7 @@
SendDrivetrainPosition(drivetrain_position_sender_.MakeStaticBuilder(),
drivetrain_velocity_translate,
- constants::Values::DrivetrainEncoderToMeters, false,
+ constants::Values::DrivetrainEncoderToMeters, true,
false);
{
@@ -407,27 +407,28 @@
::aos::ShmEventLoop sensor_reader_event_loop(&config.message());
SensorReader sensor_reader(&sensor_reader_event_loop, robot_constants);
sensor_reader.set_pwm_trigger(true);
- sensor_reader.set_drivetrain_left_encoder(make_encoder(1));
- sensor_reader.set_drivetrain_right_encoder(make_encoder(0));
- sensor_reader.set_yaw_rate_input(make_unique<frc::DigitalInput>(0));
- // TODO: (niko) change values once robot is wired
- sensor_reader.set_intake_pivot(make_encoder(4),
- make_unique<frc::DigitalInput>(4));
- sensor_reader.set_transfer_beambreak(make_unique<frc::DigitalInput>(7));
+ sensor_reader.set_drivetrain_left_encoder(
+ std::make_unique<frc::Encoder>(6, 7));
+ sensor_reader.set_drivetrain_right_encoder(
+ std::make_unique<frc::Encoder>(8, 9));
+ sensor_reader.set_yaw_rate_input(make_unique<frc::DigitalInput>(25));
+ sensor_reader.set_intake_pivot(make_encoder(3),
+ make_unique<frc::DigitalInput>(3));
+ sensor_reader.set_transfer_beambreak(make_unique<frc::DigitalInput>(23));
sensor_reader.set_climber(make_encoder(5),
make_unique<frc::DigitalInput>(5),
make_unique<frc::AnalogInput>(5));
- sensor_reader.set_extend(make_encoder(7), make_unique<frc::DigitalInput>(7),
- make_unique<frc::AnalogInput>(7));
- sensor_reader.set_catapult(make_encoder(2),
- make_unique<frc::DigitalInput>(2),
- make_unique<frc::AnalogInput>(2));
- sensor_reader.set_turret(make_encoder(3), make_unique<frc::DigitalInput>(3),
- make_unique<frc::AnalogInput>(3));
- sensor_reader.set_altitude(make_encoder(6),
- make_unique<frc::DigitalInput>(6),
- make_unique<frc::AnalogInput>(6));
+ sensor_reader.set_extend(make_encoder(4), make_unique<frc::DigitalInput>(4),
+ make_unique<frc::AnalogInput>(4));
+ sensor_reader.set_catapult(make_encoder(0),
+ make_unique<frc::DigitalInput>(0),
+ make_unique<frc::AnalogInput>(0));
+ sensor_reader.set_turret(make_encoder(2), make_unique<frc::DigitalInput>(2),
+ make_unique<frc::AnalogInput>(2));
+ sensor_reader.set_altitude(make_encoder(1),
+ make_unique<frc::DigitalInput>(1),
+ make_unique<frc::AnalogInput>(1));
AddLoop(&sensor_reader_event_loop);