Class Tachometer

  • All Implemented Interfaces:
    Sendable, AutoCloseable

    public class Tachometer
    extends Object
    implements Sendable, AutoCloseable
    Tachometer.

    The Tachometer class measures the time between digital pulses to determine the rotation speed of a mechanism. Examples of devices that could be used with the tachometer class are a hall effect sensor, break beam sensor, or optical sensor detecting tape on a shooter wheel. Unlike encoders, this class only needs a single digital input.

    • Constructor Detail

      • Tachometer

        public Tachometer​(DigitalSource source)
        Constructs a new tachometer.
        Parameters:
        source - The DigitalSource (e.g. DigitalInput) of the Tachometer.
    • Method Detail

      • getPeriod

        public double getPeriod()
        Gets the tachometer period.
        Returns:
        Current period (in seconds).
      • getFrequency

        public double getFrequency()
        Gets the tachometer frequency.
        Returns:
        Current frequency (in hertz).
      • getEdgesPerRevolution

        public int getEdgesPerRevolution()
        Gets the number of edges per revolution.
        Returns:
        Edges per revolution.
      • setEdgesPerRevolution

        public void setEdgesPerRevolution​(int edgesPerRevolution)
        Sets the number of edges per revolution.
        Parameters:
        edgesPerRevolution - Edges per revolution.
      • getRevolutionsPerSecond

        public double getRevolutionsPerSecond()
        Gets the current tachometer revolutions per second.

        setEdgesPerRevolution must be set with a non 0 value for this to return valid values.

        Returns:
        Current RPS.
      • getRevolutionsPerMinute

        public double getRevolutionsPerMinute()
        Gets the current tachometer revolutions per minute.

        setEdgesPerRevolution must be set with a non 0 value for this to return valid values.

        Returns:
        Current RPM.
      • getStopped

        public boolean getStopped()
        Gets if the tachometer is stopped.
        Returns:
        True if the tachometer is stopped.
      • getSamplesToAverage

        public int getSamplesToAverage()
        Gets the number of samples to average.
        Returns:
        Samples to average.
      • setSamplesToAverage

        public void setSamplesToAverage​(int samplesToAverage)
        Sets the number of samples to average.
        Parameters:
        samplesToAverage - Samples to average.
      • setMaxPeriod

        public void setMaxPeriod​(double maxPeriod)
        Sets the maximum period before the tachometer is considered stopped.
        Parameters:
        maxPeriod - The max period (in seconds).
      • setUpdateWhenEmpty

        public void setUpdateWhenEmpty​(boolean updateWhenEmpty)
        Sets if to update when empty.
        Parameters:
        updateWhenEmpty - Update when empty if true.