Remove Encoder from Climber
Signed-off-by: Niko Sohmers <nikolai@sohmers.com>
Change-Id: Ia219b303a500c46fdd72aad592053fe81e807f2b
diff --git a/y2024/wpilib_interface.cc b/y2024/wpilib_interface.cc
index eb419e6..0abedec 100644
--- a/y2024/wpilib_interface.cc
+++ b/y2024/wpilib_interface.cc
@@ -79,7 +79,7 @@
constexpr double kMaxBringupPower = 12.0;
double climber_pot_translate(double voltage) {
- return -1 * voltage * Values::kClimberPotMetersPerVolt();
+ return voltage * Values::kClimberPotMetersPerVolt();
}
double extend_pot_translate(double voltage) {
@@ -108,7 +108,6 @@
constexpr double kMaxFastEncoderPulsesPerSecond = std::max({
Values::kMaxDrivetrainEncoderPulsesPerSecond(),
Values::kMaxIntakePivotEncoderPulsesPerSecond(),
- Values::kMaxClimberEncoderPulsesPerSecond(),
Values::kMaxExtendEncoderPulsesPerSecond(),
Values::kMaxCatapultEncoderPulsesPerSecond(),
});
@@ -167,13 +166,9 @@
Values::kIntakePivotEncoderCountsPerRevolution(),
Values::kIntakePivotEncoderRatio(), /* reversed: */ false);
- CopyPosition(climber_encoder_, builder->add_climber(),
- Values::kClimberEncoderCountsPerRevolution(),
- Values::kClimberEncoderMetersPerRadian(),
+ CopyPosition(*climber_potentiometer_, builder->add_climber(),
climber_pot_translate, false,
- robot_constants_->robot()
- ->climber_constants()
- ->potentiometer_offset());
+ robot_constants_->robot()->climber_potentiometer_offset());
CopyPosition(extend_encoder_, builder->add_extend(),
Values::kExtendEncoderCountsPerRevolution(),
@@ -266,6 +261,11 @@
}
}
+ void set_climber_potentiometer(
+ ::std::unique_ptr<frc::AnalogInput> potentiometer) {
+ climber_potentiometer_ = ::std::move(potentiometer);
+ }
+
void set_intake_pivot(::std::unique_ptr<frc::Encoder> encoder,
::std::unique_ptr<frc::DigitalInput> absolute_pwm) {
fast_encoder_filter_.Add(encoder.get());
@@ -285,15 +285,6 @@
catapult_beam_break_ = ::std::move(sensor);
}
- void set_climber(::std::unique_ptr<frc::Encoder> encoder,
- ::std::unique_ptr<frc::DigitalInput> absolute_pwm,
- ::std::unique_ptr<frc::AnalogInput> potentiometer) {
- fast_encoder_filter_.Add(encoder.get());
- climber_encoder_.set_encoder(::std::move(encoder));
- climber_encoder_.set_absolute_pwm(::std::move(absolute_pwm));
- climber_encoder_.set_potentiometer(::std::move(potentiometer));
- }
-
void set_extend(::std::unique_ptr<frc::Encoder> encoder,
::std::unique_ptr<frc::DigitalInput> absolute_pwm,
::std::unique_ptr<frc::AnalogInput> potentiometer) {
@@ -344,9 +335,11 @@
std::unique_ptr<frc::DigitalInput> imu_yaw_rate_input_, transfer_beam_break_,
extend_beam_break_, catapult_beam_break_;
+ std::unique_ptr<frc::AnalogInput> climber_potentiometer_;
+
frc971::wpilib::AbsoluteEncoder intake_pivot_encoder_;
- frc971::wpilib::AbsoluteEncoderAndPotentiometer climber_encoder_,
- catapult_encoder_, extend_encoder_;
+ frc971::wpilib::AbsoluteEncoderAndPotentiometer catapult_encoder_,
+ extend_encoder_;
frc971::wpilib::DMAPulseWidthReader imu_yaw_rate_reader_;
@@ -437,10 +430,7 @@
sensor_reader.set_transfer_beambreak(make_unique<frc::DigitalInput>(23));
sensor_reader.set_extend_beambreak(make_unique<frc::DigitalInput>(24));
sensor_reader.set_catapult_beambreak(make_unique<frc::DigitalInput>(22));
-
- sensor_reader.set_climber(make_encoder(4),
- make_unique<frc::DigitalInput>(4),
- make_unique<frc::AnalogInput>(4));
+ sensor_reader.set_climber_potentiometer(make_unique<frc::AnalogInput>(4));
sensor_reader.set_extend(make_encoder(5),
make_unique<frc::DigitalInput>(5),
make_unique<frc::AnalogInput>(5));