Package frc.lib5k.components.sensors
Class EncoderBase
- java.lang.Object
-
- frc.lib5k.components.sensors.EncoderBase
-
- All Implemented Interfaces:
PeriodicComponent
- Direct Known Subclasses:
MockEncoder
,TalonEncoder
,VictorEncoder
public abstract class EncoderBase extends java.lang.Object implements PeriodicComponent
Base for encoders
-
-
Constructor Summary
Constructors Constructor Description EncoderBase()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
fullReset()
Reset the encoder "0" positiondouble
getAverageSpeed()
double
getMeters(int tpr, double wheel_circumference)
Get sensor distance traveled in metersdouble
getMetersPerCycle(int tpr, double wheel_circumference)
Get sensor distance traveled in meters since last cycleint
getRawTicks()
Get the raw sensor reading from encoderprotected abstract int
getSensorReading()
int
getSpeed()
Get the speed of the encoder in Ticks per cycle (usually 20ms)int
getTicks()
Get sensor reading accounting for offsetsvoid
initSimulationDevice(edu.wpi.first.wpilibj.SpeedController controller, int tpr, double gearbox_ratio, double max_rpm, double ramp_time)
void
update()
Method to be called periodically.void
zero()
Set the current encoder position as "0"
-
-
-
Method Detail
-
initSimulationDevice
public void initSimulationDevice(edu.wpi.first.wpilibj.SpeedController controller, int tpr, double gearbox_ratio, double max_rpm, double ramp_time)
-
getSensorReading
protected abstract int getSensorReading()
-
getRawTicks
public int getRawTicks()
Get the raw sensor reading from encoder- Returns:
- Raw sensor reading
-
getTicks
public int getTicks()
Get sensor reading accounting for offsets- Returns:
- Sensor reading
-
getMeters
public double getMeters(int tpr, double wheel_circumference)
Get sensor distance traveled in meters- Parameters:
tpr
- Encoder ticks per revolutionwheel_circumference
- Circumference of wheel (or gear) attached to encoder- Returns:
- Meters traveled
-
getMetersPerCycle
public double getMetersPerCycle(int tpr, double wheel_circumference)
Get sensor distance traveled in meters since last cycle- Parameters:
tpr
- Encoder ticks per revolutionwheel_circumference
- Circumference of wheel (or gear) attached to encoder- Returns:
- Meters traveled in last cycle
-
zero
public void zero()
Set the current encoder position as "0"
-
fullReset
public void fullReset()
Reset the encoder "0" position
-
getSpeed
public int getSpeed()
Get the speed of the encoder in Ticks per cycle (usually 20ms)- Returns:
- Rotation speed
-
getAverageSpeed
public double getAverageSpeed()
-
update
public void update()
Description copied from interface:PeriodicComponent
Method to be called periodically. Usually in the main robot loop (once per 20ms)- Specified by:
update
in interfacePeriodicComponent
-
-