Package edu.wpi.first.wpilibj.counter
Class Tachometer
java.lang.Object
edu.wpi.first.wpilibj.counter.Tachometer
- All Implemented Interfaces:
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 Summary
ConstructorsConstructorDescriptionTachometer(int channel, EdgeConfiguration configuration) Constructs a new tachometer. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()intGets the number of edges per revolution.doubleGets the tachometer frequency.doubleGets the tachometer period.doubleGets the current tachometer revolutions per minute.doubleGets the current tachometer revolutions per second.booleanGets if the tachometer is stopped.voidinitSendable(SendableBuilder builder) Initializes thisSendableobject.voidsetEdgesPerRevolution(int edgesPerRevolution) Sets the number of edges per revolution.voidsetMaxPeriod(double maxPeriod) Sets the maximum period before the tachometer is considered stopped.
-
Constructor Details
-
Tachometer
Constructs a new tachometer.- Parameters:
channel- The channel of the Tachometer.configuration- The edge configuration
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable
-
getPeriod
Gets the tachometer period.- Returns:
- Current period (in seconds).
-
getFrequency
Gets the tachometer frequency.- Returns:
- Current frequency (in hertz).
-
getEdgesPerRevolution
Gets the number of edges per revolution.- Returns:
- Edges per revolution.
-
setEdgesPerRevolution
Sets the number of edges per revolution.- Parameters:
edgesPerRevolution- Edges per revolution.
-
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
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
Gets if the tachometer is stopped.- Returns:
- True if the tachometer is stopped.
-
setMaxPeriod
Sets the maximum period before the tachometer is considered stopped.- Parameters:
maxPeriod- The max period (in seconds).
-
initSendable
Description copied from interface:SendableInitializes thisSendableobject.- Specified by:
initSendablein interfaceSendable- Parameters:
builder- sendable builder
-