126 double expectedZero);
136 double expectedZero);
146 double expectedZero);
156 double fullRange,
double expectedZero);
248 void Init(
double fullRange,
double expectedZero);
249 double MapSensorRange(
double pos)
const;
251 std::shared_ptr<DutyCycle> m_dutyCycle;
252 int m_frequencyThreshold = 100;
254 double m_expectedZero;
255 units::second_t m_period{0_s};
256 double m_sensorMin{0.0};
257 double m_sensorMax{1.0};
258 bool m_isInverted{
false};
DigitalSource Interface.
Definition DigitalSource.h:22
Class for supporting duty cycle/PWM encoders, such as the US Digital MA3 with PWM Output,...
Definition DutyCycleEncoder.h:26
double Get() const
Get the encoder value.
DutyCycleEncoder(std::shared_ptr< DigitalSource > digitalSource)
Construct a new DutyCycleEncoder attached to a DigitalSource object.
DutyCycleEncoder(DutyCycle &dutyCycle)
Construct a new DutyCycleEncoder attached to an existing DutyCycle object.
DutyCycleEncoder(int channel, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder on a specific channel.
DutyCycleEncoder(DutyCycle *dutyCycle)
Construct a new DutyCycleEncoder attached to an existing DutyCycle object.
DutyCycleEncoder(DutyCycle *dutyCycle, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder attached to an existing DutyCycle object.
bool IsConnected() const
Get if the sensor is connected.
DutyCycleEncoder(DigitalSource &digitalSource)
Construct a new DutyCycleEncoder attached to a DigitalSource object.
DutyCycleEncoder(DigitalSource *digitalSource)
Construct a new DutyCycleEncoder attached to a DigitalSource object.
~DutyCycleEncoder() override=default
int GetFrequency() const
Get the frequency in Hz of the duty cycle signal from the encoder.
int GetSourceChannel() const
Get the channel of the source.
void SetInverted(bool inverted)
Set if this encoder is inverted.
int GetFPGAIndex() const
Get the FPGA index for the DutyCycleEncoder.
DutyCycleEncoder(std::shared_ptr< DigitalSource > digitalSource, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder attached to a DigitalSource object.
DutyCycleEncoder(std::shared_ptr< DutyCycle > dutyCycle)
Construct a new DutyCycleEncoder attached to an existing DutyCycle object.
void InitSendable(wpi::SendableBuilder &builder) override
Initializes this Sendable object.
DutyCycleEncoder(DigitalSource *digitalSource, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder attached to a DigitalSource object.
DutyCycleEncoder & operator=(DutyCycleEncoder &&)=default
DutyCycleEncoder(DigitalSource &digitalSource, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder attached to a DigitalSource object.
DutyCycleEncoder(DutyCycle &dutyCycle, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder attached to an existing DutyCycle object.
void SetAssumedFrequency(units::hertz_t frequency)
Sets the assumed frequency of the connected device.
void SetDutyCycleRange(double min, double max)
Set the encoder duty cycle range.
void SetConnectedFrequencyThreshold(int frequency)
Change the frequency threshold for detecting connection used by IsConnected.
DutyCycleEncoder(int channel)
Construct a new DutyCycleEncoder on a specific channel.
DutyCycleEncoder(std::shared_ptr< DutyCycle > dutyCycle, double fullRange, double expectedZero)
Construct a new DutyCycleEncoder attached to an existing DutyCycle object.
DutyCycleEncoder(DutyCycleEncoder &&)=default
Class to read a duty cycle PWM input.
Definition DutyCycle.h:32
C++ wrapper around a HAL simulator boolean value handle.
Definition SimDevice.h:611
A move-only C++ wrapper around a HAL simulator device handle.
Definition SimDevice.h:645
C++ wrapper around a HAL simulator double value handle.
Definition SimDevice.h:536
Helper class for building Sendable dashboard representations.
Definition SendableBuilder.h:21
A helper class for use with objects that add themselves to SendableRegistry.
Definition SendableHelper.h:21
Interface for Sendable objects.
Definition Sendable.h:16