[wpilib] Add DutyCycleEncoderSim (#2798)

This commit is contained in:
Tyler Veness
2020-10-23 20:18:49 -07:00
committed by GitHub
parent 4422904a2e
commit 1069019fd2
6 changed files with 158 additions and 0 deletions

View File

@@ -58,6 +58,8 @@ void DutyCycleEncoder::Init() {
if (m_simDevice) {
m_simPosition = m_simDevice.CreateDouble("Position", false, 0.0);
m_simDistancePerRotation =
m_simDevice.CreateDouble("DistancePerRotation", false, 1.0);
m_simIsConnected = m_simDevice.CreateBoolean("Connected", false, true);
} else {
m_analogTrigger = std::make_unique<AnalogTrigger>(m_dutyCycle.get());
@@ -98,6 +100,7 @@ units::turn_t DutyCycleEncoder::Get() const {
void DutyCycleEncoder::SetDistancePerRotation(double distancePerRotation) {
m_distancePerRotation = distancePerRotation;
m_simDistancePerRotation.Set(distancePerRotation);
}
double DutyCycleEncoder::GetDistancePerRotation() const {
@@ -129,6 +132,10 @@ void DutyCycleEncoder::SetConnectedFrequencyThreshold(int frequency) {
m_frequencyThreshold = frequency;
}
int DutyCycleEncoder::GetSourceChannel() const {
return m_dutyCycle->GetSourceChannel();
}
void DutyCycleEncoder::InitSendable(SendableBuilder& builder) {
builder.SetSmartDashboardType("AbsoluteEncoder");
builder.AddDoubleProperty(