Class DutyCycle

java.lang.Object
edu.wpi.first.wpilibj.DutyCycle
All Implemented Interfaces:
Sendable, AutoCloseable

public class DutyCycle extends Object implements Sendable, AutoCloseable
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 SmartIO Channel.

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

  • Constructor Details

    • DutyCycle

      public DutyCycle(int channel)
      Constructs a DutyCycle input from a smartio channel.
      Parameters:
      channel - The channel to use.
  • Method Details

    • close

      public void close()
      Close the DutyCycle and free all resources.
      Specified by:
      close in interface AutoCloseable
    • getFrequency

      public double getFrequency()
      Get the frequency of the duty cycle signal.
      Returns:
      frequency in Hertz
    • getOutput

      public double getOutput()
      Get the output ratio of the duty cycle signal.

      0 means always low, 1 means always high.

      Returns:
      output ratio between 0 and 1
    • getHighTimeNanoseconds

      public int getHighTimeNanoseconds()
      Get the raw high time of the duty cycle signal.
      Returns:
      high time of last pulse in nanoseconds
    • getSourceChannel

      public int getSourceChannel()
      Get the channel of the source.
      Returns:
      the source channel
    • initSendable

      public void initSendable(SendableBuilder builder)
      Description copied from interface: Sendable
      Initializes this Sendable object.
      Specified by:
      initSendable in interface Sendable
      Parameters:
      builder - sendable builder