diff --git a/wpilibc/src/main/native/cpp/AnalogEncoder.cpp b/wpilibc/src/main/native/cpp/AnalogEncoder.cpp index 20fb1b57ba..f82c929b74 100644 --- a/wpilibc/src/main/native/cpp/AnalogEncoder.cpp +++ b/wpilibc/src/main/native/cpp/AnalogEncoder.cpp @@ -12,6 +12,9 @@ using namespace frc; +AnalogEncoder::AnalogEncoder(int channel) + : AnalogEncoder(std::make_shared(channel)) {} + AnalogEncoder::AnalogEncoder(AnalogInput& analogInput) : m_analogInput{&analogInput, NullDeleter{}}, m_analogTrigger{m_analogInput.get()}, diff --git a/wpilibc/src/main/native/include/frc/AnalogEncoder.h b/wpilibc/src/main/native/include/frc/AnalogEncoder.h index 40438e6460..61959f89ab 100644 --- a/wpilibc/src/main/native/include/frc/AnalogEncoder.h +++ b/wpilibc/src/main/native/include/frc/AnalogEncoder.h @@ -26,6 +26,13 @@ class AnalogEncoder : public ErrorBase, public Sendable, public SendableHelper { public: + /** + * Construct a new AnalogEncoder attached to a specific AnalogIn channel. + * + * @param channel the analog input channel to attach to + */ + explicit AnalogEncoder(int channel); + /** * Construct a new AnalogEncoder attached to a specific AnalogInput. * diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/AnalogEncoder.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/AnalogEncoder.java index dbbe72bd27..c5dc5a2946 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/AnalogEncoder.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/AnalogEncoder.java @@ -23,6 +23,15 @@ public class AnalogEncoder implements Sendable, AutoCloseable { protected SimDevice m_simDevice; protected SimDouble m_simPosition; + /** + * Construct a new AnalogEncoder attached to a specific AnalogIn channel. + * + * @param channel the analog input channel to attach to + */ + public AnalogEncoder(int channel) { + this(new AnalogInput(channel)); + } + /** * Construct a new AnalogEncoder attached to a specific AnalogInput. *