class wpilib.DutyCycle(source: wpilib._wpilib.DigitalSource)

Bases: Sendable

Class to read a duty cycle PWM input.

PWM input signals are specified with a frequency and a ratio of high to low in that frequency. There are 8 of these in the roboRIO, and they can be attached to any DigitalSource.

These can be combined as the input of an AnalogTrigger to a Counter in order to implement rollover checking.

Constructs a DutyCycle input from a DigitalSource input.

This class does not own the inputted source.


source – The DigitalSource to use.

getFPGAIndex() int

Get the FPGA index for the DutyCycle.


the FPGA index

getFrequency() int

Get the frequency of the duty cycle signal.


frequency in Hertz

getHighTime() wpimath.units.seconds

Get the raw high time of the duty cycle signal.


high time of last pulse

getOutput() float

Get the output ratio of the duty cycle signal.

0 means always low, 1 means always high.


output ratio between 0 and 1

getSourceChannel() int

Get the channel of the source.


the source channel