Class AnalogPotentiometer
- java.lang.Object
-
- edu.wpi.first.wpilibj.SendableBase
-
- edu.wpi.first.wpilibj.AnalogPotentiometer
-
- All Implemented Interfaces:
Potentiometer
,PIDSource
,Sendable
,AutoCloseable
public class AnalogPotentiometer extends SendableBase implements Potentiometer
Class for reading analog potentiometers. Analog potentiometers read in an analog voltage that corresponds to a position. The position is in whichever units you choose, by way of the scaling and offset constants passed to the constructor.
-
-
Field Summary
Fields Modifier and Type Field Description protected PIDSourceType
m_pidSource
-
Constructor Summary
Constructors Constructor Description AnalogPotentiometer(int channel)
AnalogPotentiometer constructor.AnalogPotentiometer(int channel, double scale)
AnalogPotentiometer constructor.AnalogPotentiometer(int channel, double fullRange, double offset)
AnalogPotentiometer constructor.AnalogPotentiometer(AnalogInput input)
AnalogPotentiometer constructor.AnalogPotentiometer(AnalogInput input, double scale)
AnalogPotentiometer constructor.AnalogPotentiometer(AnalogInput input, double fullRange, double offset)
AnalogPotentiometer constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
double
get()
Get the current reading of the potentiometer.PIDSourceType
getPIDSourceType()
Get which parameter of the device you are using as a process control variable.void
initSendable(SendableBuilder builder)
Initializes thisSendable
object.double
pidGet()
Implement the PIDSource interface.void
setPIDSourceType(PIDSourceType pidSource)
Set which parameter of the device you are using as a process control variable.-
Methods inherited from class edu.wpi.first.wpilibj.SendableBase
addChild, free, getName, getSubsystem, setName, setName, setName, setSubsystem
-
-
-
-
Field Detail
-
m_pidSource
protected PIDSourceType m_pidSource
-
-
Constructor Detail
-
AnalogPotentiometer
public AnalogPotentiometer(int channel, double fullRange, double offset)
AnalogPotentiometer constructor.Use the fullRange and offset values so that the output produces meaningful values. I.E: you have a 270 degree potentiometer and you want the output to be degrees with the halfway point as 0 degrees. The fullRange value is 270.0(degrees) and the offset is -135.0 since the halfway point after scaling is 135 degrees. This will calculate the result from the fullRange times the fraction of the supply voltage, plus the offset.
- Parameters:
channel
- The analog channel this potentiometer is plugged into.fullRange
- The scaling to multiply the fraction by to get a meaningful unit.offset
- The offset to add to the scaled value for controlling the zero value
-
AnalogPotentiometer
public AnalogPotentiometer(AnalogInput input, double fullRange, double offset)
AnalogPotentiometer constructor.Use the fullRange and offset values so that the output produces meaningful values. I.E: you have a 270 degree potentiometer and you want the output to be degrees with the halfway point as 0 degrees. The fullRange value is 270.0(degrees) and the offset is -135.0 since the halfway point after scaling is 135 degrees. This will calculate the result from the fullRange times the fraction of the supply voltage, plus the offset.
- Parameters:
input
- TheAnalogInput
this potentiometer is plugged into.fullRange
- The scaling to multiply the fraction by to get a meaningful unit.offset
- The offset to add to the scaled value for controlling the zero value
-
AnalogPotentiometer
public AnalogPotentiometer(int channel, double scale)
AnalogPotentiometer constructor.Use the fullRange and offset values so that the output produces meaningful values. I.E: you have a 270 degree potentiometer and you want the output to be degrees with the halfway point as 0 degrees. The fullRange value is 270.0(degrees) and the offset is -135.0 since the halfway point after scaling is 135 degrees.
- Parameters:
channel
- The analog channel this potentiometer is plugged into.scale
- The scaling to multiply the voltage by to get a meaningful unit.
-
AnalogPotentiometer
public AnalogPotentiometer(AnalogInput input, double scale)
AnalogPotentiometer constructor.Use the fullRange and offset values so that the output produces meaningful values. I.E: you have a 270 degree potentiometer and you want the output to be degrees with the halfway point as 0 degrees. The fullRange value is 270.0(degrees) and the offset is -135.0 since the halfway point after scaling is 135 degrees.
- Parameters:
input
- TheAnalogInput
this potentiometer is plugged into.scale
- The scaling to multiply the voltage by to get a meaningful unit.
-
AnalogPotentiometer
public AnalogPotentiometer(int channel)
AnalogPotentiometer constructor.- Parameters:
channel
- The analog channel this potentiometer is plugged into.
-
AnalogPotentiometer
public AnalogPotentiometer(AnalogInput input)
AnalogPotentiometer constructor.- Parameters:
input
- TheAnalogInput
this potentiometer is plugged into.
-
-
Method Detail
-
get
public double get()
Get the current reading of the potentiometer.- Specified by:
get
in interfacePotentiometer
- Returns:
- The current position of the potentiometer.
-
setPIDSourceType
public void setPIDSourceType(PIDSourceType pidSource)
Description copied from interface:PIDSource
Set which parameter of the device you are using as a process control variable.- Specified by:
setPIDSourceType
in interfacePIDSource
- Parameters:
pidSource
- An enum to select the parameter.
-
getPIDSourceType
public PIDSourceType getPIDSourceType()
Description copied from interface:PIDSource
Get which parameter of the device you are using as a process control variable.- Specified by:
getPIDSourceType
in interfacePIDSource
- Returns:
- the currently selected PID source parameter
-
pidGet
public double pidGet()
Implement the PIDSource interface.
-
initSendable
public void initSendable(SendableBuilder builder)
Description copied from interface:Sendable
Initializes thisSendable
object.- Specified by:
initSendable
in interfaceSendable
- Parameters:
builder
- sendable builder
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classSendableBase
-
-