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:
@@ -14,18 +14,10 @@ AnalogEncoderSim::AnalogEncoderSim(const frc::AnalogEncoder& encoder) {
|
||||
m_positionSim = deviceSim.GetDouble("Position");
|
||||
}
|
||||
|
||||
void AnalogEncoderSim::SetPosition(frc::Rotation2d angle) {
|
||||
SetTurns(angle.Degrees());
|
||||
void AnalogEncoderSim::Set(double value) {
|
||||
m_positionSim.Set(value);
|
||||
}
|
||||
|
||||
void AnalogEncoderSim::SetTurns(units::turn_t turns) {
|
||||
m_positionSim.Set(turns.value());
|
||||
}
|
||||
|
||||
units::turn_t AnalogEncoderSim::GetTurns() {
|
||||
return units::turn_t{m_positionSim.Get()};
|
||||
}
|
||||
|
||||
frc::Rotation2d AnalogEncoderSim::GetPosition() {
|
||||
return units::radian_t{GetTurns()};
|
||||
double AnalogEncoderSim::Get() {
|
||||
return m_positionSim.Get();
|
||||
}
|
||||
|
||||
@@ -14,38 +14,16 @@ DutyCycleEncoderSim::DutyCycleEncoderSim(const frc::DutyCycleEncoder& encoder)
|
||||
|
||||
DutyCycleEncoderSim::DutyCycleEncoderSim(int channel) {
|
||||
frc::sim::SimDeviceSim deviceSim{"DutyCycle:DutyCycleEncoder", channel};
|
||||
m_simPosition = deviceSim.GetDouble("position");
|
||||
m_simDistancePerRotation = deviceSim.GetDouble("distance_per_rot");
|
||||
m_simAbsolutePosition = deviceSim.GetDouble("absPosition");
|
||||
m_simIsConnected = deviceSim.GetBoolean("connected");
|
||||
m_simPosition = deviceSim.GetDouble("Position");
|
||||
m_simIsConnected = deviceSim.GetBoolean("Connected");
|
||||
}
|
||||
|
||||
double DutyCycleEncoderSim::Get() {
|
||||
return m_simPosition.Get();
|
||||
}
|
||||
|
||||
void DutyCycleEncoderSim::Set(units::turn_t turns) {
|
||||
m_simPosition.Set(turns.value());
|
||||
}
|
||||
|
||||
double DutyCycleEncoderSim::GetDistance() {
|
||||
return m_simPosition.Get() * m_simDistancePerRotation.Get();
|
||||
}
|
||||
|
||||
void DutyCycleEncoderSim::SetDistance(double distance) {
|
||||
m_simPosition.Set(distance / m_simDistancePerRotation.Get());
|
||||
}
|
||||
|
||||
double DutyCycleEncoderSim::GetAbsolutePosition() {
|
||||
return m_simAbsolutePosition.Get();
|
||||
}
|
||||
|
||||
void DutyCycleEncoderSim::SetAbsolutePosition(double position) {
|
||||
m_simAbsolutePosition.Set(position);
|
||||
}
|
||||
|
||||
double DutyCycleEncoderSim::GetDistancePerRotation() {
|
||||
return m_simDistancePerRotation.Get();
|
||||
void DutyCycleEncoderSim::Set(double value) {
|
||||
m_simPosition.Set(value);
|
||||
}
|
||||
|
||||
bool DutyCycleEncoderSim::IsConnected() {
|
||||
|
||||
Reference in New Issue
Block a user