mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
[wpilib] Rewrite DutyCycleEncoder and AnalogEncoder (#6398)
This commit is contained in:
@@ -17,12 +17,10 @@
|
||||
|
||||
TEST(AnalogEncoderSimTest, Basic) {
|
||||
frc::AnalogInput ai(0);
|
||||
frc::AnalogEncoder encoder{ai};
|
||||
frc::AnalogEncoder encoder{ai, 360, 0};
|
||||
frc::sim::AnalogEncoderSim encoderSim{encoder};
|
||||
|
||||
encoderSim.SetPosition(180_deg);
|
||||
EXPECT_NEAR(encoder.Get().value(), 0.5, 1E-8);
|
||||
EXPECT_NEAR(encoderSim.GetTurns().value(), 0.5, 1E-8);
|
||||
EXPECT_NEAR(encoderSim.GetPosition().Radians().value(), std::numbers::pi,
|
||||
1E-8);
|
||||
encoderSim.Set(180);
|
||||
EXPECT_NEAR(encoder.Get(), 180, 1E-8);
|
||||
EXPECT_NEAR(encoderSim.Get(), 180, 1E-8);
|
||||
}
|
||||
|
||||
@@ -15,42 +15,14 @@ namespace frc::sim {
|
||||
TEST(DutyCycleEncoderSimTest, Set) {
|
||||
HAL_Initialize(500, 0);
|
||||
|
||||
DutyCycleEncoder enc{0};
|
||||
DutyCycleEncoder enc{0, 10, 0};
|
||||
DutyCycleEncoderSim sim(enc);
|
||||
|
||||
constexpr units::turn_t kTestValue{5.67};
|
||||
constexpr double kTestValue{5.67};
|
||||
sim.Set(kTestValue);
|
||||
EXPECT_EQ(kTestValue, enc.Get());
|
||||
}
|
||||
|
||||
TEST(DutyCycleEncoderSimTest, SetDistance) {
|
||||
HAL_Initialize(500, 0);
|
||||
|
||||
DutyCycleEncoder enc{0};
|
||||
DutyCycleEncoderSim sim(enc);
|
||||
sim.SetDistance(19.1);
|
||||
EXPECT_EQ(19.1, enc.GetDistance());
|
||||
}
|
||||
|
||||
TEST(DutyCycleEncoderSimTest, SetDistancePerRotation) {
|
||||
HAL_Initialize(500, 0);
|
||||
|
||||
DutyCycleEncoder enc{0};
|
||||
DutyCycleEncoderSim sim(enc);
|
||||
sim.Set(units::turn_t{1.5});
|
||||
enc.SetDistancePerRotation(42);
|
||||
EXPECT_EQ(63, enc.GetDistance());
|
||||
}
|
||||
|
||||
TEST(DutyCycleEncoderSimTest, SetAbsolutePosition) {
|
||||
HAL_Initialize(500, 0);
|
||||
|
||||
DutyCycleEncoder enc{0};
|
||||
DutyCycleEncoderSim sim(enc);
|
||||
sim.SetAbsolutePosition(0.75);
|
||||
EXPECT_EQ(0.75, enc.GetAbsolutePosition());
|
||||
}
|
||||
|
||||
TEST(DutyCycleEncoderSimTest, SetIsConnected) {
|
||||
HAL_Initialize(500, 0);
|
||||
|
||||
@@ -62,15 +34,4 @@ TEST(DutyCycleEncoderSimTest, SetIsConnected) {
|
||||
EXPECT_FALSE(enc.IsConnected());
|
||||
}
|
||||
|
||||
TEST(DutyCycleEncoderSimTest, Reset) {
|
||||
HAL_Initialize(500, 0);
|
||||
|
||||
DutyCycleEncoder enc{0};
|
||||
DutyCycleEncoderSim sim(enc);
|
||||
sim.SetDistance(2.5);
|
||||
EXPECT_EQ(2.5, enc.GetDistance());
|
||||
enc.Reset();
|
||||
EXPECT_EQ(0, enc.GetDistance());
|
||||
}
|
||||
|
||||
} // namespace frc::sim
|
||||
|
||||
Reference in New Issue
Block a user