Package com.ctre.phoenix6.hardware
Class TalonFX
java.lang.Object
com.ctre.phoenix6.jni.CtreJniWrapper
com.ctre.phoenix6.hardware.ParentDevice
com.ctre.phoenix6.hardware.core.CoreTalonFX
com.ctre.phoenix6.hardware.TalonFX
- All Implemented Interfaces:
Sendable
,MotorController
,AutoCloseable
public class TalonFX extends CoreTalonFX implements MotorController, Sendable, AutoCloseable
WPILib-integrated version of
CoreTalonFX
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ctre.phoenix6.hardware.ParentDevice
ParentDevice.MapGenerator<T>
-
Field Summary
Fields Modifier and Type Field Description static double
kDefaultSafetyExpiration
The default motor safety timeout IF calling application enables the feature. -
Constructor Summary
-
Method Summary
Modifier and Type Method Description void
close()
void
disable()
Common interface for disabling a motor controller.void
feed()
Feed the motor safety object.double
get()
Common interface for getting the current set speed of a motor controller.String
getDescription()
double
getExpiration()
Retrieve the timeout value for the corresponding motor safety object.boolean
getInverted()
Common interface for returning the inversion state of a motor controller.void
initSendable(SendableBuilder builder)
boolean
isAlive()
Determine of the motor is still operating or has timed out.boolean
isSafetyEnabled()
Return the state of the motor safety enabled flag.void
set(double speed)
Common interface for setting the speed of a motor controller.protected StatusCode
setControlPrivate(ControlRequest request)
void
setExpiration(double expirationTime)
Set the expiration time for the corresponding motor safety object.void
setInverted(boolean isInverted)
Common interface for inverting direction of a motor controller.void
setNeutralMode(NeutralModeValue neutralMode)
Sets the mode of operation when output is neutral or disabled.void
setSafetyEnabled(boolean enabled)
Enable/disable motor safety for this device.void
setVoltage(double volts)
Common interface for seting the direct voltage output of a motor controller.void
stopMotor()
Common interface to stop motor movement until set is called again.Methods inherited from class com.ctre.phoenix6.hardware.core.CoreTalonFX
clearStickyFault_BootDuringEnable, clearStickyFault_BootDuringEnable, clearStickyFault_BridgeBrownout, clearStickyFault_BridgeBrownout, clearStickyFault_DeviceTemp, clearStickyFault_DeviceTemp, clearStickyFault_ForwardHardLimit, clearStickyFault_ForwardHardLimit, clearStickyFault_ForwardSoftLimit, clearStickyFault_ForwardSoftLimit, clearStickyFault_FusedSensorOutOfSync, clearStickyFault_FusedSensorOutOfSync, clearStickyFault_Hardware, clearStickyFault_Hardware, clearStickyFault_MissingDifferentialFX, clearStickyFault_MissingDifferentialFX, clearStickyFault_OverSupplyV, clearStickyFault_OverSupplyV, clearStickyFault_ProcTemp, clearStickyFault_ProcTemp, clearStickyFault_RemoteSensorDataInvalid, clearStickyFault_RemoteSensorDataInvalid, clearStickyFault_RemoteSensorPosOverflow, clearStickyFault_RemoteSensorPosOverflow, clearStickyFault_RemoteSensorReset, clearStickyFault_RemoteSensorReset, clearStickyFault_ReverseHardLimit, clearStickyFault_ReverseHardLimit, clearStickyFault_ReverseSoftLimit, clearStickyFault_ReverseSoftLimit, clearStickyFault_StatorCurrLimit, clearStickyFault_StatorCurrLimit, clearStickyFault_SupplyCurrLimit, clearStickyFault_SupplyCurrLimit, clearStickyFault_Undervoltage, clearStickyFault_Undervoltage, clearStickyFault_UnstableSupplyV, clearStickyFault_UnstableSupplyV, clearStickyFaults, clearStickyFaults, getAcceleration, getAncillaryDeviceTemp, getAppliedRotorPolarity, getBridgeOutput, getClosedLoopDerivativeOutput, getClosedLoopError, getClosedLoopFeedForward, getClosedLoopIntegratedOutput, getClosedLoopOutput, getClosedLoopProportionalOutput, getClosedLoopReference, getClosedLoopReferenceSlope, getClosedLoopSlot, getConfigurator, getControlMode, getDeviceEnable, getDeviceTemp, getDifferentialAveragePosition, getDifferentialAverageVelocity, getDifferentialClosedLoopDerivativeOutput, getDifferentialClosedLoopError, getDifferentialClosedLoopFeedForward, getDifferentialClosedLoopIntegratedOutput, getDifferentialClosedLoopOutput, getDifferentialClosedLoopProportionalOutput, getDifferentialClosedLoopReference, getDifferentialClosedLoopReferenceSlope, getDifferentialClosedLoopSlot, getDifferentialControlMode, getDifferentialDifferencePosition, getDifferentialDifferenceVelocity, getDifferentialOutput, getDutyCycle, getFault_BootDuringEnable, getFault_BridgeBrownout, getFault_DeviceTemp, getFault_ForwardHardLimit, getFault_ForwardSoftLimit, getFault_FusedSensorOutOfSync, getFault_Hardware, getFault_MissingDifferentialFX, getFault_OverSupplyV, getFault_ProcTemp, getFault_RemoteSensorDataInvalid, getFault_RemoteSensorPosOverflow, getFault_RemoteSensorReset, getFault_ReverseHardLimit, getFault_ReverseSoftLimit, getFault_StaticBrakeDisabled, getFault_StatorCurrLimit, getFault_SupplyCurrLimit, getFault_Undervoltage, getFault_UnlicensedFeatureInUse, getFault_UnstableSupplyV, getFault_UsingFusedCANcoderWhileUnlicensed, getFaultField, getForwardLimit, getIsProLicensed, getMotionMagicIsRunning, getMotorOutputStatus, getMotorType, getMotorVoltage, getPosition, getProcessorTemp, getReverseLimit, getRotorPosition, getRotorVelocity, getSimState, getStatorCurrent, getStickyFault_BootDuringEnable, getStickyFault_BridgeBrownout, getStickyFault_DeviceTemp, getStickyFault_ForwardHardLimit, getStickyFault_ForwardSoftLimit, getStickyFault_FusedSensorOutOfSync, getStickyFault_Hardware, getStickyFault_MissingDifferentialFX, getStickyFault_OverSupplyV, getStickyFault_ProcTemp, getStickyFault_RemoteSensorDataInvalid, getStickyFault_RemoteSensorPosOverflow, getStickyFault_RemoteSensorReset, getStickyFault_ReverseHardLimit, getStickyFault_ReverseSoftLimit, getStickyFault_StaticBrakeDisabled, getStickyFault_StatorCurrLimit, getStickyFault_SupplyCurrLimit, getStickyFault_Undervoltage, getStickyFault_UnlicensedFeatureInUse, getStickyFault_UnstableSupplyV, getStickyFault_UsingFusedCANcoderWhileUnlicensed, getStickyFaultField, getSupplyCurrent, getSupplyVoltage, getTorqueCurrent, getVelocity, getVersion, getVersionBugfix, getVersionBuild, getVersionMajor, getVersionMinor, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setControl, setPosition, setPosition
Methods inherited from class com.ctre.phoenix6.hardware.ParentDevice
getAppliedControl, getDeviceHash, getDeviceID, getNetwork, getResetOccurredChecker, hasResetOccurred, lookupStatusSignal, lookupStatusSignal, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilizationForAll, optimizeBusUtilizationForAll
-
Field Details
-
kDefaultSafetyExpiration
The default motor safety timeout IF calling application enables the feature.- See Also:
- Constant Field Values
-
-
Constructor Details
-
TalonFX
Constructs a new Talon FX motor controller object.Constructs the device using the default CAN bus for the system:
- "rio" on roboRIO
- "can0" on Linux
- "*" on Windows
- Parameters:
deviceId
- ID of the device, as configured in Phoenix Tuner.
-
TalonFX
Constructs a new Talon FX motor controller object.- Parameters:
deviceId
- ID of the device, as configured in Phoenix Tuner.canbus
- Name of the CAN bus this device is on. Possible CAN bus strings are:- "rio" for the native roboRIO CAN bus
- CANivore name or serial number
- SocketCAN interface (non-FRC Linux only)
- "*" for any CANivore seen by the program
- empty string (default) to select the default for the
system:
- "rio" on roboRIO
- "can0" on Linux
- "*" on Windows
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
-
set
Common interface for setting the speed of a motor controller.- Specified by:
set
in interfaceMotorController
- Parameters:
speed
- The speed to set. Value should be between -1.0 and 1.0.
-
setVoltage
Common interface for seting the direct voltage output of a motor controller.- Specified by:
setVoltage
in interfaceMotorController
- Parameters:
volts
- The voltage to output.
-
get
Common interface for getting the current set speed of a motor controller.- Specified by:
get
in interfaceMotorController
- Returns:
- The current set speed. Value is between -1.0 and 1.0.
-
setControlPrivate
- Overrides:
setControlPrivate
in classParentDevice
-
disable
Common interface for disabling a motor controller.- Specified by:
disable
in interfaceMotorController
-
stopMotor
Common interface to stop motor movement until set is called again.- Specified by:
stopMotor
in interfaceMotorController
-
setInverted
Common interface for inverting direction of a motor controller.Since invert is a config, this API is blocking. We recommend that users avoid calling this API periodically.
- Specified by:
setInverted
in interfaceMotorController
- Parameters:
isInverted
- The state of inversion, true is inverted.
-
getInverted
Common interface for returning the inversion state of a motor controller.Since invert is a config, this API is blocking. We recommend that users avoid calling this API periodically.
- Specified by:
getInverted
in interfaceMotorController
- Returns:
- The state of the inversion, true is inverted.
-
setNeutralMode
Sets the mode of operation when output is neutral or disabled.Since neutral mode is a config, this API is blocking. We recommend that users avoid calling this API periodically.
- Parameters:
neutralMode
- The state of the motor controller bridge when output is neutral or disabled
-
initSendable
- Specified by:
initSendable
in interfaceSendable
-
getDescription
- Returns:
- Description of motor controller
-
feed
Feed the motor safety object.Resets the timer on this object that is used to do the timeouts.
-
setExpiration
Set the expiration time for the corresponding motor safety object.- Parameters:
expirationTime
- The timeout value in seconds.
-
getExpiration
Retrieve the timeout value for the corresponding motor safety object.- Returns:
- the timeout value in seconds.
-
isAlive
Determine of the motor is still operating or has timed out.- Returns:
- a true value if the motor is still operating normally and hasn't timed out.
-
setSafetyEnabled
Enable/disable motor safety for this device.Turn on and off the motor safety option for this object.
- Parameters:
enabled
- True if motor safety is enforced for this object.
-
isSafetyEnabled
Return the state of the motor safety enabled flag.Return if the motor safety is currently enabled for this device.
- Returns:
- True if motor safety is enforced for this device
-