Package frc.lib5k.components.motors
Class VictorSPXCollection
- java.lang.Object
-
- edu.wpi.first.wpilibj.SpeedControllerGroup
-
- frc.lib5k.components.motors.VictorSPXCollection
-
- All Implemented Interfaces:
edu.wpi.first.wpilibj.PIDOutput,edu.wpi.first.wpilibj.Sendable,edu.wpi.first.wpilibj.SpeedController,IMotorCollection,IMotorGroupSafety,IRampRateController,IVoltageOutputController,IEncoderProvider,Loggable,java.lang.AutoCloseable
public class VictorSPXCollection extends edu.wpi.first.wpilibj.SpeedControllerGroup implements IMotorCollection, IEncoderProvider, IMotorGroupSafety, IVoltageOutputController, IRampRateController, Loggable
-
-
Constructor Summary
Constructors Constructor Description VictorSPXCollection(com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX master, com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX... slaves)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidenableRampRateLimiting(boolean enabled)Set if ramp rate limiting should be enabled for the controllervoidforEachSlave(java.util.function.Consumer<com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX> consumer)For-Each over each slave controllerEncoderBasegetDefaultEncoder()Get the default encoderEncoderBasegetEncoder(int id, boolean phase)Get an encoder of a specific ID.doublegetEstimatedVoltage()Estimate controller output voltage from speedcom.ctre.phoenix.motorcontrol.can.WPI_VictorSPXgetMaster()Get the master VictorSPXdoublegetRampRate()Get the configured ramp ratevoidlogStatus()Log all component data with RobotLoggervoidpidWrite(double output)voidset(double speed)voidsetBuffer(double speed)Only set on new datavoidsetInverted(boolean isInverted)voidsetMasterMotorSafety(boolean enabled)Set the motorsafety mode of the master motor controllervoidsetRampRate(double secondsToFull)Set the controller ramp rate.voidsetVoltage(double volts)Set desired controller output in volts.voidupdateTelemetry()Push telemetry data to NetworkTables-
Methods inherited from class edu.wpi.first.wpilibj.SpeedControllerGroup
close, disable, get, getInverted, initSendable, stopMotor
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Method Detail
-
set
public void set(double speed)
- Specified by:
setin interfaceedu.wpi.first.wpilibj.SpeedController- Overrides:
setin classedu.wpi.first.wpilibj.SpeedControllerGroup
-
setBuffer
public void setBuffer(double speed)
Description copied from interface:IMotorCollectionOnly set on new data- Specified by:
setBufferin interfaceIMotorCollection- Parameters:
speed- Motor speed
-
setInverted
public void setInverted(boolean isInverted)
- Specified by:
setInvertedin interfaceedu.wpi.first.wpilibj.SpeedController- Overrides:
setInvertedin classedu.wpi.first.wpilibj.SpeedControllerGroup
-
pidWrite
public void pidWrite(double output)
- Specified by:
pidWritein interfaceedu.wpi.first.wpilibj.PIDOutput- Overrides:
pidWritein classedu.wpi.first.wpilibj.SpeedControllerGroup
-
setVoltage
public void setVoltage(double volts)
Description copied from interface:IVoltageOutputControllerSet desired controller output in volts. Negative voltage will result in reverse output- Specified by:
setVoltagein interfaceIVoltageOutputController- Specified by:
setVoltagein interfaceedu.wpi.first.wpilibj.SpeedController- Parameters:
volts- Controller output
-
getEstimatedVoltage
public double getEstimatedVoltage()
Description copied from interface:IVoltageOutputControllerEstimate controller output voltage from speed- Specified by:
getEstimatedVoltagein interfaceIVoltageOutputController- Returns:
- Controller output voltage
-
setRampRate
public void setRampRate(double secondsToFull)
Description copied from interface:IRampRateControllerSet the controller ramp rate.- Specified by:
setRampRatein interfaceIRampRateController- Parameters:
secondsToFull- Minimum desired time to go from neutral to full output.
-
getRampRate
public double getRampRate()
Description copied from interface:IRampRateControllerGet the configured ramp rate- Specified by:
getRampRatein interfaceIRampRateController- Returns:
- Configured rate in seconds
-
enableRampRateLimiting
public void enableRampRateLimiting(boolean enabled)
Description copied from interface:IRampRateControllerSet if ramp rate limiting should be enabled for the controller- Specified by:
enableRampRateLimitingin interfaceIRampRateController- Parameters:
enabled- Should enable limiting?
-
setMasterMotorSafety
public void setMasterMotorSafety(boolean enabled)
Description copied from interface:IMotorGroupSafetySet the motorsafety mode of the master motor controller- Specified by:
setMasterMotorSafetyin interfaceIMotorGroupSafety- Parameters:
enabled- MotorSafety enabled
-
getMaster
public com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX getMaster()
Get the master VictorSPX- Returns:
- Master
-
forEachSlave
public void forEachSlave(java.util.function.Consumer<com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX> consumer)
For-Each over each slave controller- Parameters:
consumer- Method to run
-
getDefaultEncoder
public EncoderBase getDefaultEncoder()
Description copied from interface:IEncoderProviderGet the default encoder- Specified by:
getDefaultEncoderin interfaceIEncoderProvider- Returns:
- Default encoder
-
getEncoder
public EncoderBase getEncoder(int id, boolean phase)
Description copied from interface:IEncoderProviderGet an encoder of a specific ID. This is useful if a system has more than one sensor, or if it has more than one input, but only one sensor. If the system only has one sensor, this should probably just return getDefaultEncoder()- Specified by:
getEncoderin interfaceIEncoderProvider- Parameters:
id- Encoder ID- Returns:
- Encoder
-
logStatus
public void logStatus()
Log all component data with RobotLogger
-
updateTelemetry
public void updateTelemetry()
Description copied from interface:LoggablePush telemetry data to NetworkTables- Specified by:
updateTelemetryin interfaceLoggable
-
-