Class CoreTalonFX
- All Implemented Interfaces:
CommonDevice,CommonTalon,CommonTalonWithFOC,HasTalonControls,HasTalonSignals,SupportsFOC,SupportsMusic
- Direct Known Subclasses:
TalonFX
// Constants used in TalonFX construction
final int kTalonFXId = 0;
final CANBus kTalonFXCANbus = new CANBus("canivore");
// Construct the TalonFX and control requests
final TalonFX talonfx = new TalonFX(kTalonFXId, kTalonFXCANbus);
final DutyCycleOut dc = new DutyCycleOut(0);
// Configure the TalonFX for basic use
TalonFXConfiguration configs = new TalonFXConfiguration();
// This TalonFX should be configured with a kP of 1, a kI of 0, a kD of 10, and a kV of 2 on slot 0
configs.Slot0.kP = 1;
configs.Slot0.kI = 0;
configs.Slot0.kD = 10;
configs.Slot0.kV = 2;
// Write these configs to the TalonFX
talonfx.getConfigurator().apply(configs);
// Set the position to 0 rotations for initial use
talonfx.setPosition(0);
// Drive at 50% output
talonfx.setControl(dc.withOutput(0.5));
// Get Position and Velocity
var position = talonfx.getPosition();
var velocity = talonfx.getVelocity();
// Refresh and print these values
System.out.println("Position is " + position.refresh().toString());
System.out.println("Velocity is " + velocity.refresh().toString());
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ctre.phoenix6.hardware.ParentDevice
ParentDevice.MapGenerator -
Field Summary
Fields inherited from class com.ctre.phoenix6.hardware.ParentDevice
_emptyControl, deviceIdentifier -
Constructor Summary
ConstructorsConstructorDescriptionCoreTalonFX(int deviceId) Constructs a new Talon FX motor controller object.CoreTalonFX(int deviceId, CANBus canbus) Constructs a new Talon FX motor controller object.CoreTalonFX(int deviceId, String canbus) Deprecated, for removal: This API element is subject to removal in a future version.Constructing devices with a CAN bus string is deprecated for removal in the 2027 season. -
Method Summary
Modifier and TypeMethodDescriptionfinal StatusCodeClear sticky fault: Device boot while detecting the enable signalfinal StatusCodeclearStickyFault_BootDuringEnable(double timeoutSeconds) Clear sticky fault: Device boot while detecting the enable signalfinal StatusCodeClear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.final StatusCodeclearStickyFault_BridgeBrownout(double timeoutSeconds) Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.final StatusCodeClear sticky fault: Device temperature exceeded limitfinal StatusCodeclearStickyFault_DeviceTemp(double timeoutSeconds) Clear sticky fault: Device temperature exceeded limitfinal StatusCodeClear sticky fault: Forward limit switch has been asserted.final StatusCodeclearStickyFault_ForwardHardLimit(double timeoutSeconds) Clear sticky fault: Forward limit switch has been asserted.final StatusCodeClear sticky fault: Forward soft limit has been asserted.final StatusCodeclearStickyFault_ForwardSoftLimit(double timeoutSeconds) Clear sticky fault: Forward soft limit has been asserted.final StatusCodeClear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor.final StatusCodeclearStickyFault_FusedSensorOutOfSync(double timeoutSeconds) Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor.final StatusCodeClear sticky fault: Hardware fault occurredfinal StatusCodeclearStickyFault_Hardware(double timeoutSeconds) Clear sticky fault: Hardware fault occurredfinal StatusCodeClear sticky fault: The remote Talon used for differential control is not present on CAN Bus.final StatusCodeclearStickyFault_MissingDifferentialFX(double timeoutSeconds) Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.final StatusCodeClear sticky fault: The remote limit switch device is not present on CAN Bus.final StatusCodeclearStickyFault_MissingHardLimitRemote(double timeoutSeconds) Clear sticky fault: The remote limit switch device is not present on CAN Bus.final StatusCodeClear sticky fault: The remote soft limit device is not present on CAN Bus.final StatusCodeclearStickyFault_MissingSoftLimitRemote(double timeoutSeconds) Clear sticky fault: The remote soft limit device is not present on CAN Bus.final StatusCodeClear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.final StatusCodeclearStickyFault_OverSupplyV(double timeoutSeconds) Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.final StatusCodeClear sticky fault: Processor temperature exceeded limitfinal StatusCodeclearStickyFault_ProcTemp(double timeoutSeconds) Clear sticky fault: Processor temperature exceeded limitfinal StatusCodeClear sticky fault: The remote sensor's data is no longer trusted.final StatusCodeclearStickyFault_RemoteSensorDataInvalid(double timeoutSeconds) Clear sticky fault: The remote sensor's data is no longer trusted.final StatusCodeClear sticky fault: The remote sensor position has overflowed.final StatusCodeclearStickyFault_RemoteSensorPosOverflow(double timeoutSeconds) Clear sticky fault: The remote sensor position has overflowed.final StatusCodeClear sticky fault: The remote sensor has reset.final StatusCodeclearStickyFault_RemoteSensorReset(double timeoutSeconds) Clear sticky fault: The remote sensor has reset.final StatusCodeClear sticky fault: Reverse limit switch has been asserted.final StatusCodeclearStickyFault_ReverseHardLimit(double timeoutSeconds) Clear sticky fault: Reverse limit switch has been asserted.final StatusCodeClear sticky fault: Reverse soft limit has been asserted.final StatusCodeclearStickyFault_ReverseSoftLimit(double timeoutSeconds) Clear sticky fault: Reverse soft limit has been asserted.final StatusCodeClear sticky fault: Static brake was momentarily disabled due to excessive braking current while disabled.final StatusCodeclearStickyFault_StaticBrakeDisabled(double timeoutSeconds) Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disabled.final StatusCodeClear sticky fault: Stator current limit occured.final StatusCodeclearStickyFault_StatorCurrLimit(double timeoutSeconds) Clear sticky fault: Stator current limit occured.final StatusCodeClear sticky fault: Supply current limit occured.final StatusCodeclearStickyFault_SupplyCurrLimit(double timeoutSeconds) Clear sticky fault: Supply current limit occured.final StatusCodeClear sticky fault: Device supply voltage dropped to near brownout levelsfinal StatusCodeclearStickyFault_Undervoltage(double timeoutSeconds) Clear sticky fault: Device supply voltage dropped to near brownout levelsfinal StatusCodeClear sticky fault: An unlicensed feature is in use, device may not behave as expected.final StatusCodeclearStickyFault_UnlicensedFeatureInUse(double timeoutSeconds) Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.final StatusCodeClear sticky fault: Supply Voltage is unstable.final StatusCodeclearStickyFault_UnstableSupplyV(double timeoutSeconds) Clear sticky fault: Supply Voltage is unstable.final StatusCodeClear sticky fault: Using Fused CANcoder feature while unlicensed.final StatusCodeclearStickyFault_UsingFusedCANcoderWhileUnlicensed(double timeoutSeconds) Clear sticky fault: Using Fused CANcoder feature while unlicensed.final StatusCodeClear the sticky faults in the device.final StatusCodeclearStickyFaults(double timeoutSeconds) Clear the sticky faults in the device.final StatusSignal<AngularAcceleration>Acceleration of the device in mechanism rotations per second².final StatusSignal<AngularAcceleration>getAcceleration(boolean refresh) Acceleration of the device in mechanism rotations per second².final StatusSignal<Temperature>Temperature of device from second sensor.final StatusSignal<Temperature>getAncillaryDeviceTemp(boolean refresh) Temperature of device from second sensor.The applied rotor polarity as seen from the front of the motor.getAppliedRotorPolarity(boolean refresh) The applied rotor polarity as seen from the front of the motor.final StatusSignal<BridgeOutputValue>The applied output of the bridge.final StatusSignal<BridgeOutputValue>getBridgeOutput(boolean refresh) The applied output of the bridge.final StatusSignal<Double>Closed loop derivative component.final StatusSignal<Double>getClosedLoopDerivativeOutput(boolean refresh) Closed loop derivative component.final StatusSignal<Double>The difference between target reference and current measurement.final StatusSignal<Double>getClosedLoopError(boolean refresh) The difference between target reference and current measurement.final StatusSignal<Double>Feedforward passed by the user.final StatusSignal<Double>getClosedLoopFeedForward(boolean refresh) Feedforward passed by the user.final StatusSignal<Double>Closed loop integrated component.final StatusSignal<Double>getClosedLoopIntegratedOutput(boolean refresh) Closed loop integrated component.final StatusSignal<Double>Closed loop total output.final StatusSignal<Double>getClosedLoopOutput(boolean refresh) Closed loop total output.final StatusSignal<Double>Closed loop proportional component.final StatusSignal<Double>getClosedLoopProportionalOutput(boolean refresh) Closed loop proportional component.final StatusSignal<Double>Value that the closed loop is targeting.final StatusSignal<Double>getClosedLoopReference(boolean refresh) Value that the closed loop is targeting.final StatusSignal<Double>Derivative of the target that the closed loop is targeting.final StatusSignal<Double>getClosedLoopReferenceSlope(boolean refresh) Derivative of the target that the closed loop is targeting.final StatusSignal<Integer>The slot that the closed-loop PID is using.final StatusSignal<Integer>getClosedLoopSlot(boolean refresh) The slot that the closed-loop PID is using.final TalonFXConfiguratorGets the configurator to use with this device's configsfinal StatusSignal<ConnectedMotorValue>The type of motor attached to the Talon.final StatusSignal<ConnectedMotorValue>getConnectedMotor(boolean refresh) The type of motor attached to the Talon.final StatusSignal<ControlModeValue>The active control mode of the motor controller.final StatusSignal<ControlModeValue>getControlMode(boolean refresh) The active control mode of the motor controller.final StatusSignal<DeviceEnableValue>Indicates if device is actuator enabled.final StatusSignal<DeviceEnableValue>getDeviceEnable(boolean refresh) Indicates if device is actuator enabled.final StatusSignal<Temperature>Temperature of device.final StatusSignal<Temperature>getDeviceTemp(boolean refresh) Temperature of device.final StatusSignal<Angle>Average component of the differential position of device.final StatusSignal<Angle>getDifferentialAveragePosition(boolean refresh) Average component of the differential position of device.final StatusSignal<AngularVelocity>Average component of the differential velocity of device.final StatusSignal<AngularVelocity>getDifferentialAverageVelocity(boolean refresh) Average component of the differential velocity of device.final StatusSignal<Double>Differential closed loop derivative component.final StatusSignal<Double>getDifferentialClosedLoopDerivativeOutput(boolean refresh) Differential closed loop derivative component.final StatusSignal<Double>The difference between target differential reference and current measurement.final StatusSignal<Double>getDifferentialClosedLoopError(boolean refresh) The difference between target differential reference and current measurement.final StatusSignal<Double>Differential Feedforward passed by the user.final StatusSignal<Double>getDifferentialClosedLoopFeedForward(boolean refresh) Differential Feedforward passed by the user.final StatusSignal<Double>Differential closed loop integrated component.final StatusSignal<Double>getDifferentialClosedLoopIntegratedOutput(boolean refresh) Differential closed loop integrated component.final StatusSignal<Double>Differential closed loop total output.final StatusSignal<Double>getDifferentialClosedLoopOutput(boolean refresh) Differential closed loop total output.final StatusSignal<Double>Differential closed loop proportional component.final StatusSignal<Double>getDifferentialClosedLoopProportionalOutput(boolean refresh) Differential closed loop proportional component.final StatusSignal<Double>Value that the differential closed loop is targeting.final StatusSignal<Double>getDifferentialClosedLoopReference(boolean refresh) Value that the differential closed loop is targeting.final StatusSignal<Double>Derivative of the target that the differential closed loop is targeting.final StatusSignal<Double>getDifferentialClosedLoopReferenceSlope(boolean refresh) Derivative of the target that the differential closed loop is targeting.final StatusSignal<Integer>The slot that the closed-loop differential PID is using.final StatusSignal<Integer>getDifferentialClosedLoopSlot(boolean refresh) The slot that the closed-loop differential PID is using.The active control mode of the differential controller.getDifferentialControlMode(boolean refresh) The active control mode of the differential controller.final StatusSignal<Angle>Difference component of the differential position of device.final StatusSignal<Angle>getDifferentialDifferencePosition(boolean refresh) Difference component of the differential position of device.final StatusSignal<AngularVelocity>Difference component of the differential velocity of device.final StatusSignal<AngularVelocity>getDifferentialDifferenceVelocity(boolean refresh) Difference component of the differential velocity of device.final StatusSignal<Double>The calculated motor output for differential followers.final StatusSignal<Double>getDifferentialOutput(boolean refresh) The calculated motor output for differential followers.final StatusSignal<Double>The applied motor duty cycle.final StatusSignal<Double>getDutyCycle(boolean refresh) The applied motor duty cycle.final StatusSignal<Boolean>Device boot while detecting the enable signal Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getFault_BootDuringEnable(boolean refresh) Device boot while detecting the enable signal Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>Bridge was disabled most likely due to supply voltage dropping too low.final StatusSignal<Boolean>getFault_BridgeBrownout(boolean refresh) Bridge was disabled most likely due to supply voltage dropping too low.final StatusSignal<Boolean>Device temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getFault_DeviceTemp(boolean refresh) Device temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>Forward limit switch has been asserted.final StatusSignal<Boolean>getFault_ForwardHardLimit(boolean refresh) Forward limit switch has been asserted.final StatusSignal<Boolean>Forward soft limit has been asserted.final StatusSignal<Boolean>getFault_ForwardSoftLimit(boolean refresh) Forward soft limit has been asserted.final StatusSignal<Boolean>The remote sensor used for fusion has fallen out of sync to the local sensor.final StatusSignal<Boolean>getFault_FusedSensorOutOfSync(boolean refresh) The remote sensor used for fusion has fallen out of sync to the local sensor.final StatusSignal<Boolean>Hardware fault occurred Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getFault_Hardware(boolean refresh) Hardware fault occurred Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>The remote Talon used for differential control is not present on CAN Bus.final StatusSignal<Boolean>getFault_MissingDifferentialFX(boolean refresh) The remote Talon used for differential control is not present on CAN Bus.final StatusSignal<Boolean>The remote limit switch device is not present on CAN Bus.final StatusSignal<Boolean>getFault_MissingHardLimitRemote(boolean refresh) The remote limit switch device is not present on CAN Bus.final StatusSignal<Boolean>The remote soft limit device is not present on CAN Bus.final StatusSignal<Boolean>getFault_MissingSoftLimitRemote(boolean refresh) The remote soft limit device is not present on CAN Bus.final StatusSignal<Boolean>Supply Voltage has exceeded the maximum voltage rating of device.final StatusSignal<Boolean>getFault_OverSupplyV(boolean refresh) Supply Voltage has exceeded the maximum voltage rating of device.final StatusSignal<Boolean>Processor temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getFault_ProcTemp(boolean refresh) Processor temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>The remote sensor's data is no longer trusted.final StatusSignal<Boolean>getFault_RemoteSensorDataInvalid(boolean refresh) The remote sensor's data is no longer trusted.final StatusSignal<Boolean>The remote sensor position has overflowed.final StatusSignal<Boolean>getFault_RemoteSensorPosOverflow(boolean refresh) The remote sensor position has overflowed.final StatusSignal<Boolean>The remote sensor has reset.final StatusSignal<Boolean>getFault_RemoteSensorReset(boolean refresh) The remote sensor has reset.final StatusSignal<Boolean>Reverse limit switch has been asserted.final StatusSignal<Boolean>getFault_ReverseHardLimit(boolean refresh) Reverse limit switch has been asserted.final StatusSignal<Boolean>Reverse soft limit has been asserted.final StatusSignal<Boolean>getFault_ReverseSoftLimit(boolean refresh) Reverse soft limit has been asserted.final StatusSignal<Boolean>Static brake was momentarily disabled due to excessive braking current while disabled.final StatusSignal<Boolean>getFault_StaticBrakeDisabled(boolean refresh) Static brake was momentarily disabled due to excessive braking current while disabled.final StatusSignal<Boolean>Stator current limit occured.final StatusSignal<Boolean>getFault_StatorCurrLimit(boolean refresh) Stator current limit occured.final StatusSignal<Boolean>Supply current limit occured.final StatusSignal<Boolean>getFault_SupplyCurrLimit(boolean refresh) Supply current limit occured.final StatusSignal<Boolean>Device supply voltage dropped to near brownout levels Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getFault_Undervoltage(boolean refresh) Device supply voltage dropped to near brownout levels Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>An unlicensed feature is in use, device may not behave as expected.final StatusSignal<Boolean>getFault_UnlicensedFeatureInUse(boolean refresh) An unlicensed feature is in use, device may not behave as expected.final StatusSignal<Boolean>Supply Voltage is unstable.final StatusSignal<Boolean>getFault_UnstableSupplyV(boolean refresh) Supply Voltage is unstable.final StatusSignal<Boolean>Using Fused CANcoder feature while unlicensed.final StatusSignal<Boolean>getFault_UsingFusedCANcoderWhileUnlicensed(boolean refresh) Using Fused CANcoder feature while unlicensed.final StatusSignal<Integer>Integer representing all fault flags reported by the device.final StatusSignal<Integer>getFaultField(boolean refresh) Integer representing all fault flags reported by the device.final StatusSignal<ForwardLimitValue>Forward Limit Pin.final StatusSignal<ForwardLimitValue>getForwardLimit(boolean refresh) Forward Limit Pin.final StatusSignal<Boolean>Whether the device is Phoenix Pro licensed.final StatusSignal<Boolean>getIsProLicensed(boolean refresh) Whether the device is Phoenix Pro licensed.final StatusSignal<Boolean>Check if the Motion Magic® profile has reached the target.final StatusSignal<Boolean>getMotionMagicAtTarget(boolean refresh) Check if the Motion Magic® profile has reached the target.final StatusSignal<Boolean>Check if Motion Magic® is running.final StatusSignal<Boolean>getMotionMagicIsRunning(boolean refresh) Check if Motion Magic® is running.final StatusSignal<Per<TorqueUnit,CurrentUnit>> The torque constant (K_T) of the motor.final StatusSignal<Per<TorqueUnit,CurrentUnit>> getMotorKT(boolean refresh) The torque constant (K_T) of the motor.The velocity constant (K_V) of the motor.getMotorKV(boolean refresh) The velocity constant (K_V) of the motor.Assess the status of the motor output with respect to load and supply.getMotorOutputStatus(boolean refresh) Assess the status of the motor output with respect to load and supply.final StatusSignal<Current>The stall current of the motor at 12 V output.final StatusSignal<Current>getMotorStallCurrent(boolean refresh) The stall current of the motor at 12 V output.final StatusSignal<Voltage>The applied (output) motor voltage.final StatusSignal<Voltage>getMotorVoltage(boolean refresh) The applied (output) motor voltage.final StatusSignal<Angle>Position of the device in mechanism rotations.final StatusSignal<Angle>getPosition(boolean refresh) Position of the device in mechanism rotations.final StatusSignal<Temperature>Temperature of the processor.final StatusSignal<Temperature>getProcessorTemp(boolean refresh) Temperature of the processor.final StatusSignal<ReverseLimitValue>Reverse Limit Pin.final StatusSignal<ReverseLimitValue>getReverseLimit(boolean refresh) Reverse Limit Pin.final StatusSignal<RobotEnableValue>Indicates if the robot is enabled.final StatusSignal<RobotEnableValue>getRobotEnable(boolean refresh) Indicates if the robot is enabled.final StatusSignal<Angle>Position of the motor rotor.final StatusSignal<Angle>getRotorPosition(boolean refresh) Position of the motor rotor.final StatusSignal<AngularVelocity>Velocity of the motor rotor.final StatusSignal<AngularVelocity>getRotorVelocity(boolean refresh) Velocity of the motor rotor.final TalonFXSimStateGet the simulation state for this device.final StatusSignal<Current>Current corresponding to the stator windings.final StatusSignal<Current>getStatorCurrent(boolean refresh) Current corresponding to the stator windings.final StatusSignal<Boolean>Device boot while detecting the enable signal Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getStickyFault_BootDuringEnable(boolean refresh) Device boot while detecting the enable signal Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>Bridge was disabled most likely due to supply voltage dropping too low.final StatusSignal<Boolean>getStickyFault_BridgeBrownout(boolean refresh) Bridge was disabled most likely due to supply voltage dropping too low.final StatusSignal<Boolean>Device temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getStickyFault_DeviceTemp(boolean refresh) Device temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>Forward limit switch has been asserted.final StatusSignal<Boolean>getStickyFault_ForwardHardLimit(boolean refresh) Forward limit switch has been asserted.final StatusSignal<Boolean>Forward soft limit has been asserted.final StatusSignal<Boolean>getStickyFault_ForwardSoftLimit(boolean refresh) Forward soft limit has been asserted.final StatusSignal<Boolean>The remote sensor used for fusion has fallen out of sync to the local sensor.final StatusSignal<Boolean>getStickyFault_FusedSensorOutOfSync(boolean refresh) The remote sensor used for fusion has fallen out of sync to the local sensor.final StatusSignal<Boolean>Hardware fault occurred Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getStickyFault_Hardware(boolean refresh) Hardware fault occurred Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>The remote Talon used for differential control is not present on CAN Bus.final StatusSignal<Boolean>getStickyFault_MissingDifferentialFX(boolean refresh) The remote Talon used for differential control is not present on CAN Bus.final StatusSignal<Boolean>The remote limit switch device is not present on CAN Bus.final StatusSignal<Boolean>getStickyFault_MissingHardLimitRemote(boolean refresh) The remote limit switch device is not present on CAN Bus.final StatusSignal<Boolean>The remote soft limit device is not present on CAN Bus.final StatusSignal<Boolean>getStickyFault_MissingSoftLimitRemote(boolean refresh) The remote soft limit device is not present on CAN Bus.final StatusSignal<Boolean>Supply Voltage has exceeded the maximum voltage rating of device.final StatusSignal<Boolean>getStickyFault_OverSupplyV(boolean refresh) Supply Voltage has exceeded the maximum voltage rating of device.final StatusSignal<Boolean>Processor temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getStickyFault_ProcTemp(boolean refresh) Processor temperature exceeded limit Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>The remote sensor's data is no longer trusted.final StatusSignal<Boolean>getStickyFault_RemoteSensorDataInvalid(boolean refresh) The remote sensor's data is no longer trusted.final StatusSignal<Boolean>The remote sensor position has overflowed.final StatusSignal<Boolean>getStickyFault_RemoteSensorPosOverflow(boolean refresh) The remote sensor position has overflowed.final StatusSignal<Boolean>The remote sensor has reset.final StatusSignal<Boolean>getStickyFault_RemoteSensorReset(boolean refresh) The remote sensor has reset.final StatusSignal<Boolean>Reverse limit switch has been asserted.final StatusSignal<Boolean>getStickyFault_ReverseHardLimit(boolean refresh) Reverse limit switch has been asserted.final StatusSignal<Boolean>Reverse soft limit has been asserted.final StatusSignal<Boolean>getStickyFault_ReverseSoftLimit(boolean refresh) Reverse soft limit has been asserted.final StatusSignal<Boolean>Static brake was momentarily disabled due to excessive braking current while disabled.final StatusSignal<Boolean>getStickyFault_StaticBrakeDisabled(boolean refresh) Static brake was momentarily disabled due to excessive braking current while disabled.final StatusSignal<Boolean>Stator current limit occured.final StatusSignal<Boolean>getStickyFault_StatorCurrLimit(boolean refresh) Stator current limit occured.final StatusSignal<Boolean>Supply current limit occured.final StatusSignal<Boolean>getStickyFault_SupplyCurrLimit(boolean refresh) Supply current limit occured.final StatusSignal<Boolean>Device supply voltage dropped to near brownout levels Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>getStickyFault_Undervoltage(boolean refresh) Device supply voltage dropped to near brownout levels Default Value: False Default Rates: CAN: 4.0 Hzfinal StatusSignal<Boolean>An unlicensed feature is in use, device may not behave as expected.final StatusSignal<Boolean>getStickyFault_UnlicensedFeatureInUse(boolean refresh) An unlicensed feature is in use, device may not behave as expected.final StatusSignal<Boolean>Supply Voltage is unstable.final StatusSignal<Boolean>getStickyFault_UnstableSupplyV(boolean refresh) Supply Voltage is unstable.final StatusSignal<Boolean>Using Fused CANcoder feature while unlicensed.final StatusSignal<Boolean>getStickyFault_UsingFusedCANcoderWhileUnlicensed(boolean refresh) Using Fused CANcoder feature while unlicensed.final StatusSignal<Integer>Integer representing all (persistent) sticky fault flags reported by the device.final StatusSignal<Integer>getStickyFaultField(boolean refresh) Integer representing all (persistent) sticky fault flags reported by the device.final StatusSignal<Current>Measured supply side current.final StatusSignal<Current>getSupplyCurrent(boolean refresh) Measured supply side current.final StatusSignal<Voltage>Measured supply voltage to the device.final StatusSignal<Voltage>getSupplyVoltage(boolean refresh) Measured supply voltage to the device.final StatusSignal<Current>Current corresponding to the torque output by the motor.final StatusSignal<Current>getTorqueCurrent(boolean refresh) Current corresponding to the torque output by the motor.final StatusSignal<AngularVelocity>Velocity of the device in mechanism rotations per second.final StatusSignal<AngularVelocity>getVelocity(boolean refresh) Velocity of the device in mechanism rotations per second.final StatusSignal<Integer>Full Version of firmware in device.final StatusSignal<Integer>getVersion(boolean refresh) Full Version of firmware in device.final StatusSignal<Integer>App Bugfix Version number.final StatusSignal<Integer>getVersionBugfix(boolean refresh) App Bugfix Version number.final StatusSignal<Integer>App Build Version number.final StatusSignal<Integer>getVersionBuild(boolean refresh) App Build Version number.final StatusSignal<Integer>App Major Version number.final StatusSignal<Integer>getVersionMajor(boolean refresh) App Major Version number.final StatusSignal<Integer>App Minor Version number.final StatusSignal<Integer>getVersionMinor(boolean refresh) App Minor Version number.final StatusCodesetControl(CoastOut request) Request coast neutral output of actuator.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_DutyCycleOut_Open request) Differential control with duty cycle average target and duty cycle difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_DutyCycleOut_Position request) Differential control with duty cycle average target and position difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_DutyCycleOut_Velocity request) Differential control with duty cycle average target and velocity difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicDutyCycle_Open request) Differential control with Motion Magic® average target and duty cycle difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicDutyCycle_Position request) Differential control with Motion Magic® average target and position difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicDutyCycle_Velocity request) Differential control with Motion Magic® average target and velocity difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoDutyCycle_Open request) Differential control with Motion Magic® Expo average target and duty cycle difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoDutyCycle_Position request) Differential control with Motion Magic® Expo average target and position difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoDutyCycle_Velocity request) Differential control with Motion Magic® Expo average target and velocity difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoTorqueCurrentFOC_Open request) Differential control with Motion Magic® Expo average target and torque current difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoTorqueCurrentFOC_Position request) Differential control with Motion Magic® Expo average target and position difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoTorqueCurrentFOC_Velocity request) Differential control with Motion Magic® Expo average target and velocity difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoVoltage_Open request) Differential control with Motion Magic® Expo average target and voltage difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoVoltage_Position request) Differential control with Motion Magic® Expo average target and position difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoVoltage_Velocity request) Differential control with Motion Magic® Expo average target and velocity difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicTorqueCurrentFOC_Open request) Differential control with Motion Magic® average target and torque current difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicTorqueCurrentFOC_Position request) Differential control with Motion Magic® average target and position difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicTorqueCurrentFOC_Velocity request) Differential control with Motion Magic® average target and velocity difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityDutyCycle_Open request) Differential control with Motion Magic® Velocity average target and duty cycle difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityDutyCycle_Position request) Differential control with Motion Magic® Velocity average target and position difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityDutyCycle_Velocity request) Differential control with Motion Magic® Velocity average target and velocity difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityTorqueCurrentFOC_Open request) Differential control with Motion Magic® Velocity average target and torque current difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityTorqueCurrentFOC_Position request) Differential control with Motion Magic® Velocity average target and position difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityTorqueCurrentFOC_Velocity request) Differential control with Motion Magic® Velocity average target and velocity difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityVoltage_Open request) Differential control with Motion Magic® Velocity average target and voltage difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityVoltage_Position request) Differential control with Motion Magic® Velocity average target and position difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityVoltage_Velocity request) Differential control with Motion Magic® Velocity average target and velocity difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVoltage_Open request) Differential control with Motion Magic® average target and voltage difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVoltage_Position request) Differential control with Motion Magic® average target and position difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVoltage_Velocity request) Differential control with Motion Magic® average target and velocity difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionDutyCycle_Open request) Differential control with position average target and duty cycle difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionDutyCycle_Position request) Differential control with position average target and position difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionDutyCycle_Velocity request) Differential control with position average target and velocity difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionTorqueCurrentFOC_Open request) Differential control with position average target and torque current difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionTorqueCurrentFOC_Position request) Differential control with position average target and position difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionTorqueCurrentFOC_Velocity request) Differential control with position average target and velocity difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionVoltage_Open request) Differential control with position average target and voltage difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionVoltage_Position request) Differential control with position average target and position difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_PositionVoltage_Velocity request) Differential control with position average target and velocity difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_TorqueCurrentFOC_Open request) Differential control with torque current average target and torque current difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_TorqueCurrentFOC_Position request) Differential control with torque current average target and position difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_TorqueCurrentFOC_Velocity request) Differential control with torque current average target and velocity difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityDutyCycle_Open request) Differential control with velocity average target and duty cycle difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityDutyCycle_Position request) Differential control with velocity average target and position difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityDutyCycle_Velocity request) Differential control with velocity average target and velocity difference target using duty cycle control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityTorqueCurrentFOC_Open request) Differential control with velocity average target and torque current difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityTorqueCurrentFOC_Position request) Differential control with velocity average target and position difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityTorqueCurrentFOC_Velocity request) Differential control with velocity average target and velocity difference target using torque current control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityVoltage_Open request) Differential control with velocity average target and voltage difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityVoltage_Position request) Differential control with velocity average target and position difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VelocityVoltage_Velocity request) Differential control with velocity average target and velocity difference target using voltage control.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VoltageOut_Open request) Differential control with voltage average target and voltage difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VoltageOut_Position request) Differential control with voltage average target and position difference target.final StatusCodesetControl(com.ctre.phoenix6.controls.compound.Diff_VoltageOut_Velocity request) Differential control with voltage average target and velocity difference target.final StatusCodesetControl(ControlRequest request) Control device with generic control request object.final StatusCodesetControl(DifferentialDutyCycle request) Request a specified motor duty cycle with a differential position closed-loop.final StatusCodesetControl(DifferentialFollower request) Follow the differential motor output of another Talon.final StatusCodeRequests Motion Magic® to target a final position using a motion profile, and PID to a differential position setpoint.final StatusCodeRequests Motion Magic® to target a final position using an exponential motion profile, and PID to a differential position setpoint.final StatusCodeRequests Motion Magic® to target a final position using an exponential motion profile, and PID to a differential position setpoint.final StatusCodeRequests Motion Magic® to target a final velocity using a motion profile, and PID to a differential position setpoint.final StatusCodeRequests Motion Magic® to target a final velocity using a motion profile, and PID to a differential position setpoint.final StatusCodesetControl(DifferentialMotionMagicVoltage request) Requests Motion Magic® to target a final position using a motion profile, and PID to a differential position setpoint.final StatusCodesetControl(DifferentialPositionDutyCycle request) Request PID to target position with a differential position setpoint.final StatusCodesetControl(DifferentialPositionVoltage request) Request PID to target position with a differential position setpointfinal StatusCodesetControl(DifferentialStrictFollower request) Follow the differential motor output of another Talon while ignoring the leader's invert setting.final StatusCodesetControl(DifferentialVelocityDutyCycle request) Request PID to target velocity with a differential position setpoint.final StatusCodesetControl(DifferentialVelocityVoltage request) Request PID to target velocity with a differential position setpoint.final StatusCodesetControl(DifferentialVoltage request) Request a specified voltage with a differential position closed-loop.final StatusCodesetControl(DutyCycleOut request) Request a specified motor duty cycle.final StatusCodesetControl(DynamicMotionMagicDutyCycle request) Requests Motion Magic® to target a final position using a motion profile.final StatusCodeRequests Motion Magic® Expo to target a final position using an exponential motion profile.final StatusCodeRequests Motion Magic® Expo to target a final position using an exponential motion profile.final StatusCodesetControl(DynamicMotionMagicExpoVoltage request) Requests Motion Magic® Expo to target a final position using an exponential motion profile.final StatusCodeRequests Motion Magic® to target a final position using a motion profile.final StatusCodesetControl(DynamicMotionMagicVoltage request) Requests Motion Magic® to target a final position using a motion profile.final StatusCodesetControl(Follower request) Follow the motor output of another Talon.final StatusCodesetControl(MotionMagicDutyCycle request) Requests Motion Magic® to target a final position using a motion profile.final StatusCodesetControl(MotionMagicExpoDutyCycle request) Requests Motion Magic® to target a final position using an exponential motion profile.final StatusCodeRequests Motion Magic® to target a final position using an exponential motion profile.final StatusCodesetControl(MotionMagicExpoVoltage request) Requests Motion Magic® to target a final position using an exponential motion profile.final StatusCodesetControl(MotionMagicTorqueCurrentFOC request) Requests Motion Magic® to target a final position using a motion profile.final StatusCodesetControl(MotionMagicVelocityDutyCycle request) Requests Motion Magic® to target a final velocity using a motion profile.final StatusCodeRequests Motion Magic® to target a final velocity using a motion profile.final StatusCodesetControl(MotionMagicVelocityVoltage request) Requests Motion Magic® to target a final velocity using a motion profile.final StatusCodesetControl(MotionMagicVoltage request) Requests Motion Magic® to target a final position using a motion profile.final StatusCodesetControl(MusicTone request) Plays a single tone at the user specified frequency.final StatusCodesetControl(NeutralOut request) Request neutral output of actuator.final StatusCodesetControl(PositionDutyCycle request) Request PID to target position with duty cycle feedforward.final StatusCodesetControl(PositionTorqueCurrentFOC request) Request PID to target position with torque current feedforward.final StatusCodesetControl(PositionVoltage request) Request PID to target position with voltage feedforwardfinal StatusCodesetControl(StaticBrake request) Applies full neutral-brake by shorting motor leads together.final StatusCodesetControl(StrictFollower request) Follow the motor output of another Talon while ignoring the leader's invert setting.final StatusCodesetControl(TorqueCurrentFOC request) Request a specified motor current (field oriented control).final StatusCodesetControl(VelocityDutyCycle request) Request PID to target velocity with duty cycle feedforward.final StatusCodesetControl(VelocityTorqueCurrentFOC request) Request PID to target velocity with torque current feedforward.final StatusCodesetControl(VelocityVoltage request) Request PID to target velocity with voltage feedforward.final StatusCodesetControl(VoltageOut request) Request a specified voltage.final StatusCodesetPosition(double newValue) Sets the mechanism position of the device in mechanism rotations.final StatusCodesetPosition(double newValue, double timeoutSeconds) Sets the mechanism position of the device in mechanism rotations.final StatusCodesetPosition(Angle newValue) Sets the mechanism position of the device in mechanism rotations.final StatusCodesetPosition(Angle newValue, double timeoutSeconds) Sets the mechanism position of the device in mechanism rotations.Methods inherited from class com.ctre.phoenix6.hardware.ParentDevice
getAppliedControl, getDeviceHash, getDeviceID, getNetwork, getResetOccurredChecker, hasResetOccurred, isConnected, isConnected, lookupStatusSignal, lookupStatusSignal, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilizationForAll, optimizeBusUtilizationForAll, optimizeBusUtilizationForAll, resetSignalFrequencies, resetSignalFrequencies, resetSignalFrequenciesForAll, setControlPrivateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.ctre.phoenix6.hardware.traits.CommonDevice
getAppliedControl, getDeviceHash, getDeviceID, getNetwork, getResetOccurredChecker, hasResetOccurred, isConnected, isConnected, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, optimizeBusUtilization, resetSignalFrequencies, resetSignalFrequencies
-
Constructor Details
-
CoreTalonFX
Constructs a new Talon FX motor controller object.Constructs the device using the default CAN bus for the system (see
CANBus()).- Parameters:
deviceId- ID of the device, as configured in Phoenix Tuner
-
CoreTalonFX
Deprecated, for removal: This API element is subject to removal in a future version.Constructing devices with a CAN bus string is deprecated for removal in the 2027 season. Construct devices using aCANBusinstance instead.Constructs a new Talon FX motor controller object.- Parameters:
deviceId- ID of the device, as configured in Phoenix Tunercanbus- 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
-
CoreTalonFX
Constructs a new Talon FX motor controller object.- Parameters:
deviceId- ID of the device, as configured in Phoenix Tunercanbus- The CAN bus this device is on
-
-
Method Details
-
getConfigurator
Gets the configurator to use with this device's configs- Returns:
- Configurator for this object
-
getSimState
Get the simulation state for this device.This function reuses an allocated simulation state object, so it is safe to call this function multiple times in a robot loop.
- Returns:
- Simulation state
-
getVersionMajor
App Major Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionMajorin interfaceHasTalonSignals- Returns:
- VersionMajor Status Signal Object
-
getVersionMajor
App Major Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionMajorin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- VersionMajor Status Signal Object
-
getVersionMinor
App Minor Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionMinorin interfaceHasTalonSignals- Returns:
- VersionMinor Status Signal Object
-
getVersionMinor
App Minor Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionMinorin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- VersionMinor Status Signal Object
-
getVersionBugfix
App Bugfix Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionBugfixin interfaceHasTalonSignals- Returns:
- VersionBugfix Status Signal Object
-
getVersionBugfix
App Bugfix Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionBugfixin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- VersionBugfix Status Signal Object
-
getVersionBuild
App Build Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionBuildin interfaceHasTalonSignals- Returns:
- VersionBuild Status Signal Object
-
getVersionBuild
App Build Version number.- Minimum Value: 0
- Maximum Value: 255
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionBuildin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- VersionBuild Status Signal Object
-
getVersion
Full Version of firmware in device. The format is a four byte value.- Minimum Value: 0
- Maximum Value: 4294967295
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionin interfaceHasTalonSignals- Returns:
- Version Status Signal Object
-
getVersion
Full Version of firmware in device. The format is a four byte value.- Minimum Value: 0
- Maximum Value: 4294967295
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVersionin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Version Status Signal Object
-
getFaultField
Integer representing all fault flags reported by the device.These are device specific and are not used directly in typical applications. Use the signal specific GetFault_*() methods instead.
- Minimum Value: 0
- Maximum Value: 4294967295
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFaultFieldin interfaceHasTalonSignals- Returns:
- FaultField Status Signal Object
-
getFaultField
Integer representing all fault flags reported by the device.These are device specific and are not used directly in typical applications. Use the signal specific GetFault_*() methods instead.
- Minimum Value: 0
- Maximum Value: 4294967295
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFaultFieldin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- FaultField Status Signal Object
-
getStickyFaultField
Integer representing all (persistent) sticky fault flags reported by the device.These are device specific and are not used directly in typical applications. Use the signal specific GetStickyFault_*() methods instead.
- Minimum Value: 0
- Maximum Value: 4294967295
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFaultFieldin interfaceHasTalonSignals- Returns:
- StickyFaultField Status Signal Object
-
getStickyFaultField
Integer representing all (persistent) sticky fault flags reported by the device.These are device specific and are not used directly in typical applications. Use the signal specific GetStickyFault_*() methods instead.
- Minimum Value: 0
- Maximum Value: 4294967295
- Default Value: 0
- Units:
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFaultFieldin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFaultField Status Signal Object
-
getMotorVoltage
The applied (output) motor voltage.- Minimum Value: -40.96
- Maximum Value: 40.95
- Default Value: 0
- Units: V
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorVoltagein interfaceHasTalonSignals- Returns:
- MotorVoltage Status Signal Object
-
getMotorVoltage
The applied (output) motor voltage.- Minimum Value: -40.96
- Maximum Value: 40.95
- Default Value: 0
- Units: V
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorVoltagein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotorVoltage Status Signal Object
-
getForwardLimit
Forward Limit Pin. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getForwardLimitin interfaceHasTalonSignals- Returns:
- ForwardLimit Status Signal Object
-
getForwardLimit
Forward Limit Pin. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getForwardLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ForwardLimit Status Signal Object
-
getReverseLimit
Reverse Limit Pin. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getReverseLimitin interfaceHasTalonSignals- Returns:
- ReverseLimit Status Signal Object
-
getReverseLimit
Reverse Limit Pin. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getReverseLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ReverseLimit Status Signal Object
-
getAppliedRotorPolarity
The applied rotor polarity as seen from the front of the motor. This typically is determined by the Inverted config, but can be overridden if using Follower features. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getAppliedRotorPolarityin interfaceHasTalonSignals- Returns:
- AppliedRotorPolarity Status Signal Object
-
getAppliedRotorPolarity
The applied rotor polarity as seen from the front of the motor. This typically is determined by the Inverted config, but can be overridden if using Follower features. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getAppliedRotorPolarityin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- AppliedRotorPolarity Status Signal Object
-
getDutyCycle
The applied motor duty cycle.- Minimum Value: -2.0
- Maximum Value: 1.9990234375
- Default Value: 0
- Units: fractional
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDutyCyclein interfaceHasTalonSignals- Returns:
- DutyCycle Status Signal Object
-
getDutyCycle
The applied motor duty cycle.- Minimum Value: -2.0
- Maximum Value: 1.9990234375
- Default Value: 0
- Units: fractional
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDutyCyclein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DutyCycle Status Signal Object
-
getTorqueCurrent
Current corresponding to the torque output by the motor. Similar to StatorCurrent. Users will likely prefer this current to calculate the applied torque to the rotor.Stator current where positive current means torque is applied in the forward direction as determined by the Inverted setting.
- Minimum Value: -327.68
- Maximum Value: 327.67
- Default Value: 0
- Units: A
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getTorqueCurrentin interfaceHasTalonSignals- Returns:
- TorqueCurrent Status Signal Object
-
getTorqueCurrent
Current corresponding to the torque output by the motor. Similar to StatorCurrent. Users will likely prefer this current to calculate the applied torque to the rotor.Stator current where positive current means torque is applied in the forward direction as determined by the Inverted setting.
- Minimum Value: -327.68
- Maximum Value: 327.67
- Default Value: 0
- Units: A
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getTorqueCurrentin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- TorqueCurrent Status Signal Object
-
getStatorCurrent
Current corresponding to the stator windings. Similar to TorqueCurrent. Users will likely prefer TorqueCurrent over StatorCurrent.Stator current where Positive current indicates motoring regardless of direction. Negative current indicates regenerative braking regardless of direction.
- Minimum Value: -327.68
- Maximum Value: 327.66
- Default Value: 0
- Units: A
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStatorCurrentin interfaceHasTalonSignals- Returns:
- StatorCurrent Status Signal Object
-
getStatorCurrent
Current corresponding to the stator windings. Similar to TorqueCurrent. Users will likely prefer TorqueCurrent over StatorCurrent.Stator current where Positive current indicates motoring regardless of direction. Negative current indicates regenerative braking regardless of direction.
- Minimum Value: -327.68
- Maximum Value: 327.66
- Default Value: 0
- Units: A
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStatorCurrentin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StatorCurrent Status Signal Object
-
getSupplyCurrent
Measured supply side current.- Minimum Value: -327.68
- Maximum Value: 327.66
- Default Value: 0
- Units: A
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getSupplyCurrentin interfaceHasTalonSignals- Returns:
- SupplyCurrent Status Signal Object
-
getSupplyCurrent
Measured supply side current.- Minimum Value: -327.68
- Maximum Value: 327.66
- Default Value: 0
- Units: A
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getSupplyCurrentin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- SupplyCurrent Status Signal Object
-
getSupplyVoltage
Measured supply voltage to the device.- Minimum Value: 4
- Maximum Value: 29.575
- Default Value: 4
- Units: V
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getSupplyVoltagein interfaceHasTalonSignals- Returns:
- SupplyVoltage Status Signal Object
-
getSupplyVoltage
Measured supply voltage to the device.- Minimum Value: 4
- Maximum Value: 29.575
- Default Value: 4
- Units: V
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getSupplyVoltagein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- SupplyVoltage Status Signal Object
-
getDeviceTemp
Temperature of device.This is the temperature that the device measures itself to be at. Similar to Processor Temperature.
- Minimum Value: 0.0
- Maximum Value: 255.0
- Default Value: 0
- Units: ā
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDeviceTempin interfaceHasTalonSignals- Returns:
- DeviceTemp Status Signal Object
-
getDeviceTemp
Temperature of device.This is the temperature that the device measures itself to be at. Similar to Processor Temperature.
- Minimum Value: 0.0
- Maximum Value: 255.0
- Default Value: 0
- Units: ā
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDeviceTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DeviceTemp Status Signal Object
-
getProcessorTemp
Temperature of the processor.This is the temperature that the processor measures itself to be at. Similar to Device Temperature.
- Minimum Value: 0.0
- Maximum Value: 255.0
- Default Value: 0
- Units: ā
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getProcessorTempin interfaceHasTalonSignals- Returns:
- ProcessorTemp Status Signal Object
-
getProcessorTemp
Temperature of the processor.This is the temperature that the processor measures itself to be at. Similar to Device Temperature.
- Minimum Value: 0.0
- Maximum Value: 255.0
- Default Value: 0
- Units: ā
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getProcessorTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ProcessorTemp Status Signal Object
-
getRotorVelocity
Velocity of the motor rotor. This velocity is not affected by any feedback configs.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getRotorVelocityin interfaceHasTalonSignals- Returns:
- RotorVelocity Status Signal Object
-
getRotorVelocity
Velocity of the motor rotor. This velocity is not affected by any feedback configs.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getRotorVelocityin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- RotorVelocity Status Signal Object
-
getRotorPosition
Position of the motor rotor. This position is only affected by the RotorOffset config and calls to setPosition.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getRotorPositionin interfaceHasTalonSignals- Returns:
- RotorPosition Status Signal Object
-
getRotorPosition
Position of the motor rotor. This position is only affected by the RotorOffset config and calls to setPosition.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getRotorPositionin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- RotorPosition Status Signal Object
-
getVelocity
Velocity of the device in mechanism rotations per second. This can be the velocity of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 50.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVelocityin interfaceHasTalonSignals- Returns:
- Velocity Status Signal Object
-
getVelocity
Velocity of the device in mechanism rotations per second. This can be the velocity of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 50.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getVelocityin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Velocity Status Signal Object
-
getPosition
Position of the device in mechanism rotations. This can be the position of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs, as well as calls to setPosition.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 50.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getPositionin interfaceHasTalonSignals- Returns:
- Position Status Signal Object
-
getPosition
Position of the device in mechanism rotations. This can be the position of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs, as well as calls to setPosition.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 50.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getPositionin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Position Status Signal Object
-
getAcceleration
Acceleration of the device in mechanism rotations per second². This can be the acceleration of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.- Minimum Value: -2048.0
- Maximum Value: 2047.75
- Default Value: 0
- Units: rotations per second²
- CAN 2.0: 50.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getAccelerationin interfaceHasTalonSignals- Returns:
- Acceleration Status Signal Object
-
getAcceleration
Acceleration of the device in mechanism rotations per second². This can be the acceleration of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.- Minimum Value: -2048.0
- Maximum Value: 2047.75
- Default Value: 0
- Units: rotations per second²
- CAN 2.0: 50.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getAccelerationin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Acceleration Status Signal Object
-
getControlMode
The active control mode of the motor controller. Default Rates:- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getControlModein interfaceHasTalonSignals- Returns:
- ControlMode Status Signal Object
-
getControlMode
The active control mode of the motor controller. Default Rates:- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getControlModein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ControlMode Status Signal Object
-
getMotionMagicAtTarget
Check if the Motion MagicĀ® profile has reached the target. This is equivalent to checking that MotionMagicIsRunning, the ClosedLoopReference is the target, and the ClosedLoopReferenceSlope is 0.- Default Value: False
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotionMagicAtTargetin interfaceHasTalonSignals- Returns:
- MotionMagicAtTarget Status Signal Object
-
getMotionMagicAtTarget
Check if the Motion MagicĀ® profile has reached the target. This is equivalent to checking that MotionMagicIsRunning, the ClosedLoopReference is the target, and the ClosedLoopReferenceSlope is 0.- Default Value: False
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotionMagicAtTargetin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotionMagicAtTarget Status Signal Object
-
getMotionMagicIsRunning
Check if Motion MagicĀ® is running. This is equivalent to checking that the reported control mode is a Motion MagicĀ® based mode.- Default Value: False
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotionMagicIsRunningin interfaceHasTalonSignals- Returns:
- MotionMagicIsRunning Status Signal Object
-
getMotionMagicIsRunning
Check if Motion MagicĀ® is running. This is equivalent to checking that the reported control mode is a Motion MagicĀ® based mode.- Default Value: False
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotionMagicIsRunningin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotionMagicIsRunning Status Signal Object
-
getRobotEnable
Indicates if the robot is enabled. Default Rates:- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getRobotEnablein interfaceHasTalonSignals- Returns:
- RobotEnable Status Signal Object
-
getRobotEnable
Indicates if the robot is enabled. Default Rates:- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getRobotEnablein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- RobotEnable Status Signal Object
-
getDeviceEnable
Indicates if device is actuator enabled. Default Rates:- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDeviceEnablein interfaceHasTalonSignals- Returns:
- DeviceEnable Status Signal Object
-
getDeviceEnable
Indicates if device is actuator enabled. Default Rates:- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDeviceEnablein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DeviceEnable Status Signal Object
-
getClosedLoopSlot
The slot that the closed-loop PID is using.- Minimum Value: 0
- Maximum Value: 2
- Default Value: 0
- Units:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopSlotin interfaceHasTalonSignals- Returns:
- ClosedLoopSlot Status Signal Object
-
getClosedLoopSlot
The slot that the closed-loop PID is using.- Minimum Value: 0
- Maximum Value: 2
- Default Value: 0
- Units:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopSlotin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopSlot Status Signal Object
-
getMotorOutputStatus
Assess the status of the motor output with respect to load and supply.This routine can be used to determine the general status of motor commutation. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorOutputStatusin interfaceHasTalonSignals- Returns:
- MotorOutputStatus Status Signal Object
-
getMotorOutputStatus
Assess the status of the motor output with respect to load and supply.This routine can be used to determine the general status of motor commutation. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorOutputStatusin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotorOutputStatus Status Signal Object
-
getDifferentialControlMode
The active control mode of the differential controller. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialControlModein interfaceHasTalonSignals- Returns:
- DifferentialControlMode Status Signal Object
-
getDifferentialControlMode
The active control mode of the differential controller. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialControlModein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialControlMode Status Signal Object
-
getDifferentialAverageVelocity
Average component of the differential velocity of device.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialAverageVelocityin interfaceHasTalonSignals- Returns:
- DifferentialAverageVelocity Status Signal Object
-
getDifferentialAverageVelocity
Average component of the differential velocity of device.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialAverageVelocityin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialAverageVelocity Status Signal Object
-
getDifferentialAveragePosition
Average component of the differential position of device.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialAveragePositionin interfaceHasTalonSignals- Returns:
- DifferentialAveragePosition Status Signal Object
-
getDifferentialAveragePosition
Average component of the differential position of device.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialAveragePositionin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialAveragePosition Status Signal Object
-
getDifferentialDifferenceVelocity
Difference component of the differential velocity of device.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialDifferenceVelocityin interfaceHasTalonSignals- Returns:
- DifferentialDifferenceVelocity Status Signal Object
-
getDifferentialDifferenceVelocity
Difference component of the differential velocity of device.- Minimum Value: -512.0
- Maximum Value: 511.998046875
- Default Value: 0
- Units: rotations per second
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialDifferenceVelocityin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialDifferenceVelocity Status Signal Object
-
getDifferentialDifferencePosition
Difference component of the differential position of device.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialDifferencePositionin interfaceHasTalonSignals- Returns:
- DifferentialDifferencePosition Status Signal Object
-
getDifferentialDifferencePosition
Difference component of the differential position of device.- Minimum Value: -16384.0
- Maximum Value: 16383.999755859375
- Default Value: 0
- Units: rotations
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialDifferencePositionin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialDifferencePosition Status Signal Object
-
getDifferentialClosedLoopSlot
The slot that the closed-loop differential PID is using.- Minimum Value: 0
- Maximum Value: 2
- Default Value: 0
- Units:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopSlotin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopSlot Status Signal Object
-
getDifferentialClosedLoopSlot
The slot that the closed-loop differential PID is using.- Minimum Value: 0
- Maximum Value: 2
- Default Value: 0
- Units:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopSlotin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopSlot Status Signal Object
-
getMotorKT
The torque constant (K_T) of the motor.- Minimum Value: 0.0
- Maximum Value: 0.025500000000000002
- Default Value: 0
- Units: Nm/A
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorKTin interfaceHasTalonSignals- Returns:
- MotorKT Status Signal Object
-
getMotorKT
The torque constant (K_T) of the motor.- Minimum Value: 0.0
- Maximum Value: 0.025500000000000002
- Default Value: 0
- Units: Nm/A
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorKTin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotorKT Status Signal Object
-
getMotorKV
The velocity constant (K_V) of the motor.- Minimum Value: 0.0
- Maximum Value: 2047.0
- Default Value: 0
- Units: RPM/V
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorKVin interfaceHasTalonSignals- Returns:
- MotorKV Status Signal Object
-
getMotorKV
The velocity constant (K_V) of the motor.- Minimum Value: 0.0
- Maximum Value: 2047.0
- Default Value: 0
- Units: RPM/V
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorKVin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotorKV Status Signal Object
-
getMotorStallCurrent
The stall current of the motor at 12 V output.- Minimum Value: 0.0
- Maximum Value: 1023.0
- Default Value: 0
- Units: A
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorStallCurrentin interfaceHasTalonSignals- Returns:
- MotorStallCurrent Status Signal Object
-
getMotorStallCurrent
The stall current of the motor at 12 V output.- Minimum Value: 0.0
- Maximum Value: 1023.0
- Default Value: 0
- Units: A
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getMotorStallCurrentin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- MotorStallCurrent Status Signal Object
-
getBridgeOutput
The applied output of the bridge. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getBridgeOutputin interfaceHasTalonSignals- Returns:
- BridgeOutput Status Signal Object
-
getBridgeOutput
The applied output of the bridge. Default Rates:- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getBridgeOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- BridgeOutput Status Signal Object
-
getIsProLicensed
Whether the device is Phoenix Pro licensed.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getIsProLicensedin interfaceHasTalonSignals- Returns:
- IsProLicensed Status Signal Object
-
getIsProLicensed
Whether the device is Phoenix Pro licensed.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getIsProLicensedin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- IsProLicensed Status Signal Object
-
getAncillaryDeviceTemp
Temperature of device from second sensor.Newer versions of Talon have multiple temperature measurement methods.
- Minimum Value: 0.0
- Maximum Value: 255.0
- Default Value: 0
- Units: ā
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getAncillaryDeviceTempin interfaceHasTalonSignals- Returns:
- AncillaryDeviceTemp Status Signal Object
-
getAncillaryDeviceTemp
Temperature of device from second sensor.Newer versions of Talon have multiple temperature measurement methods.
- Minimum Value: 0.0
- Maximum Value: 255.0
- Default Value: 0
- Units: ā
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getAncillaryDeviceTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- AncillaryDeviceTemp Status Signal Object
-
getConnectedMotor
The type of motor attached to the Talon.This can be used to determine what motor is attached to the Talon FX. Return will be "Unknown" if firmware is too old or device is not present. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getConnectedMotorin interfaceHasTalonSignals- Returns:
- ConnectedMotor Status Signal Object
-
getConnectedMotor
The type of motor attached to the Talon.This can be used to determine what motor is attached to the Talon FX. Return will be "Unknown" if firmware is too old or device is not present. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getConnectedMotorin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ConnectedMotor Status Signal Object
-
getFault_Hardware
Hardware fault occurred- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_Hardwarein interfaceHasTalonSignals- Returns:
- Fault_Hardware Status Signal Object
-
getFault_Hardware
Hardware fault occurred- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_Hardwarein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_Hardware Status Signal Object
-
getStickyFault_Hardware
Hardware fault occurred- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_Hardwarein interfaceHasTalonSignals- Returns:
- StickyFault_Hardware Status Signal Object
-
getStickyFault_Hardware
Hardware fault occurred- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_Hardwarein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_Hardware Status Signal Object
-
getFault_ProcTemp
Processor temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ProcTempin interfaceHasTalonSignals- Returns:
- Fault_ProcTemp Status Signal Object
-
getFault_ProcTemp
Processor temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ProcTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_ProcTemp Status Signal Object
-
getStickyFault_ProcTemp
Processor temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ProcTempin interfaceHasTalonSignals- Returns:
- StickyFault_ProcTemp Status Signal Object
-
getStickyFault_ProcTemp
Processor temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ProcTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_ProcTemp Status Signal Object
-
getFault_DeviceTemp
Device temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_DeviceTempin interfaceHasTalonSignals- Returns:
- Fault_DeviceTemp Status Signal Object
-
getFault_DeviceTemp
Device temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_DeviceTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_DeviceTemp Status Signal Object
-
getStickyFault_DeviceTemp
Device temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_DeviceTempin interfaceHasTalonSignals- Returns:
- StickyFault_DeviceTemp Status Signal Object
-
getStickyFault_DeviceTemp
Device temperature exceeded limit- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_DeviceTempin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_DeviceTemp Status Signal Object
-
getFault_Undervoltage
Device supply voltage dropped to near brownout levels- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_Undervoltagein interfaceHasTalonSignals- Returns:
- Fault_Undervoltage Status Signal Object
-
getFault_Undervoltage
Device supply voltage dropped to near brownout levels- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_Undervoltagein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_Undervoltage Status Signal Object
-
getStickyFault_Undervoltage
Device supply voltage dropped to near brownout levels- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_Undervoltagein interfaceHasTalonSignals- Returns:
- StickyFault_Undervoltage Status Signal Object
-
getStickyFault_Undervoltage
Device supply voltage dropped to near brownout levels- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_Undervoltagein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_Undervoltage Status Signal Object
-
getFault_BootDuringEnable
Device boot while detecting the enable signal- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_BootDuringEnablein interfaceHasTalonSignals- Returns:
- Fault_BootDuringEnable Status Signal Object
-
getFault_BootDuringEnable
Device boot while detecting the enable signal- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_BootDuringEnablein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_BootDuringEnable Status Signal Object
-
getStickyFault_BootDuringEnable
Device boot while detecting the enable signal- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_BootDuringEnablein interfaceHasTalonSignals- Returns:
- StickyFault_BootDuringEnable Status Signal Object
-
getStickyFault_BootDuringEnable
Device boot while detecting the enable signal- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_BootDuringEnablein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_BootDuringEnable Status Signal Object
-
getFault_UnlicensedFeatureInUse
An unlicensed feature is in use, device may not behave as expected.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_UnlicensedFeatureInUsein interfaceHasTalonSignals- Returns:
- Fault_UnlicensedFeatureInUse Status Signal Object
-
getFault_UnlicensedFeatureInUse
An unlicensed feature is in use, device may not behave as expected.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_UnlicensedFeatureInUsein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_UnlicensedFeatureInUse Status Signal Object
-
getStickyFault_UnlicensedFeatureInUse
An unlicensed feature is in use, device may not behave as expected.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_UnlicensedFeatureInUsein interfaceHasTalonSignals- Returns:
- StickyFault_UnlicensedFeatureInUse Status Signal Object
-
getStickyFault_UnlicensedFeatureInUse
An unlicensed feature is in use, device may not behave as expected.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_UnlicensedFeatureInUsein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_UnlicensedFeatureInUse Status Signal Object
-
getFault_BridgeBrownout
Bridge was disabled most likely due to supply voltage dropping too low.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_BridgeBrownoutin interfaceHasTalonSignals- Returns:
- Fault_BridgeBrownout Status Signal Object
-
getFault_BridgeBrownout
Bridge was disabled most likely due to supply voltage dropping too low.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_BridgeBrownoutin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_BridgeBrownout Status Signal Object
-
getStickyFault_BridgeBrownout
Bridge was disabled most likely due to supply voltage dropping too low.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_BridgeBrownoutin interfaceHasTalonSignals- Returns:
- StickyFault_BridgeBrownout Status Signal Object
-
getStickyFault_BridgeBrownout
Bridge was disabled most likely due to supply voltage dropping too low.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_BridgeBrownoutin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_BridgeBrownout Status Signal Object
-
getFault_RemoteSensorReset
The remote sensor has reset.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_RemoteSensorResetin interfaceHasTalonSignals- Returns:
- Fault_RemoteSensorReset Status Signal Object
-
getFault_RemoteSensorReset
The remote sensor has reset.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_RemoteSensorResetin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_RemoteSensorReset Status Signal Object
-
getStickyFault_RemoteSensorReset
The remote sensor has reset.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_RemoteSensorResetin interfaceHasTalonSignals- Returns:
- StickyFault_RemoteSensorReset Status Signal Object
-
getStickyFault_RemoteSensorReset
The remote sensor has reset.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_RemoteSensorResetin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_RemoteSensorReset Status Signal Object
-
getFault_MissingDifferentialFX
The remote Talon used for differential control is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_MissingDifferentialFXin interfaceHasTalonSignals- Returns:
- Fault_MissingDifferentialFX Status Signal Object
-
getFault_MissingDifferentialFX
The remote Talon used for differential control is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_MissingDifferentialFXin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_MissingDifferentialFX Status Signal Object
-
getStickyFault_MissingDifferentialFX
The remote Talon used for differential control is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_MissingDifferentialFXin interfaceHasTalonSignals- Returns:
- StickyFault_MissingDifferentialFX Status Signal Object
-
getStickyFault_MissingDifferentialFX
The remote Talon used for differential control is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_MissingDifferentialFXin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_MissingDifferentialFX Status Signal Object
-
getFault_RemoteSensorPosOverflow
The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_RemoteSensorPosOverflowin interfaceHasTalonSignals- Returns:
- Fault_RemoteSensorPosOverflow Status Signal Object
-
getFault_RemoteSensorPosOverflow
The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_RemoteSensorPosOverflowin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_RemoteSensorPosOverflow Status Signal Object
-
getStickyFault_RemoteSensorPosOverflow
The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_RemoteSensorPosOverflowin interfaceHasTalonSignals- Returns:
- StickyFault_RemoteSensorPosOverflow Status Signal Object
-
getStickyFault_RemoteSensorPosOverflow
The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_RemoteSensorPosOverflowin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_RemoteSensorPosOverflow Status Signal Object
-
getFault_OverSupplyV
Supply Voltage has exceeded the maximum voltage rating of device.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_OverSupplyVin interfaceHasTalonSignals- Returns:
- Fault_OverSupplyV Status Signal Object
-
getFault_OverSupplyV
Supply Voltage has exceeded the maximum voltage rating of device.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_OverSupplyVin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_OverSupplyV Status Signal Object
-
getStickyFault_OverSupplyV
Supply Voltage has exceeded the maximum voltage rating of device.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_OverSupplyVin interfaceHasTalonSignals- Returns:
- StickyFault_OverSupplyV Status Signal Object
-
getStickyFault_OverSupplyV
Supply Voltage has exceeded the maximum voltage rating of device.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_OverSupplyVin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_OverSupplyV Status Signal Object
-
getFault_UnstableSupplyV
Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_UnstableSupplyVin interfaceHasTalonSignals- Returns:
- Fault_UnstableSupplyV Status Signal Object
-
getFault_UnstableSupplyV
Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_UnstableSupplyVin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_UnstableSupplyV Status Signal Object
-
getStickyFault_UnstableSupplyV
Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_UnstableSupplyVin interfaceHasTalonSignals- Returns:
- StickyFault_UnstableSupplyV Status Signal Object
-
getStickyFault_UnstableSupplyV
Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_UnstableSupplyVin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_UnstableSupplyV Status Signal Object
-
getFault_ReverseHardLimit
Reverse limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ReverseHardLimitin interfaceHasTalonSignals- Returns:
- Fault_ReverseHardLimit Status Signal Object
-
getFault_ReverseHardLimit
Reverse limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ReverseHardLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_ReverseHardLimit Status Signal Object
-
getStickyFault_ReverseHardLimit
Reverse limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ReverseHardLimitin interfaceHasTalonSignals- Returns:
- StickyFault_ReverseHardLimit Status Signal Object
-
getStickyFault_ReverseHardLimit
Reverse limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ReverseHardLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_ReverseHardLimit Status Signal Object
-
getFault_ForwardHardLimit
Forward limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ForwardHardLimitin interfaceHasTalonSignals- Returns:
- Fault_ForwardHardLimit Status Signal Object
-
getFault_ForwardHardLimit
Forward limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ForwardHardLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_ForwardHardLimit Status Signal Object
-
getStickyFault_ForwardHardLimit
Forward limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ForwardHardLimitin interfaceHasTalonSignals- Returns:
- StickyFault_ForwardHardLimit Status Signal Object
-
getStickyFault_ForwardHardLimit
Forward limit switch has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ForwardHardLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_ForwardHardLimit Status Signal Object
-
getFault_ReverseSoftLimit
Reverse soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ReverseSoftLimitin interfaceHasTalonSignals- Returns:
- Fault_ReverseSoftLimit Status Signal Object
-
getFault_ReverseSoftLimit
Reverse soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ReverseSoftLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_ReverseSoftLimit Status Signal Object
-
getStickyFault_ReverseSoftLimit
Reverse soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ReverseSoftLimitin interfaceHasTalonSignals- Returns:
- StickyFault_ReverseSoftLimit Status Signal Object
-
getStickyFault_ReverseSoftLimit
Reverse soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ReverseSoftLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_ReverseSoftLimit Status Signal Object
-
getFault_ForwardSoftLimit
Forward soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ForwardSoftLimitin interfaceHasTalonSignals- Returns:
- Fault_ForwardSoftLimit Status Signal Object
-
getFault_ForwardSoftLimit
Forward soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_ForwardSoftLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_ForwardSoftLimit Status Signal Object
-
getStickyFault_ForwardSoftLimit
Forward soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ForwardSoftLimitin interfaceHasTalonSignals- Returns:
- StickyFault_ForwardSoftLimit Status Signal Object
-
getStickyFault_ForwardSoftLimit
Forward soft limit has been asserted. Output is set to neutral.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_ForwardSoftLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_ForwardSoftLimit Status Signal Object
-
getFault_MissingSoftLimitRemote
The remote soft limit device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_MissingSoftLimitRemotein interfaceHasTalonSignals- Returns:
- Fault_MissingSoftLimitRemote Status Signal Object
-
getFault_MissingSoftLimitRemote
The remote soft limit device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_MissingSoftLimitRemotein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_MissingSoftLimitRemote Status Signal Object
-
getStickyFault_MissingSoftLimitRemote
The remote soft limit device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_MissingSoftLimitRemotein interfaceHasTalonSignals- Returns:
- StickyFault_MissingSoftLimitRemote Status Signal Object
-
getStickyFault_MissingSoftLimitRemote
The remote soft limit device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_MissingSoftLimitRemotein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_MissingSoftLimitRemote Status Signal Object
-
getFault_MissingHardLimitRemote
The remote limit switch device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_MissingHardLimitRemotein interfaceHasTalonSignals- Returns:
- Fault_MissingHardLimitRemote Status Signal Object
-
getFault_MissingHardLimitRemote
The remote limit switch device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_MissingHardLimitRemotein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_MissingHardLimitRemote Status Signal Object
-
getStickyFault_MissingHardLimitRemote
The remote limit switch device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_MissingHardLimitRemotein interfaceHasTalonSignals- Returns:
- StickyFault_MissingHardLimitRemote Status Signal Object
-
getStickyFault_MissingHardLimitRemote
The remote limit switch device is not present on CAN Bus.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_MissingHardLimitRemotein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_MissingHardLimitRemote Status Signal Object
-
getFault_RemoteSensorDataInvalid
The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the "red" range.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_RemoteSensorDataInvalidin interfaceHasTalonSignals- Returns:
- Fault_RemoteSensorDataInvalid Status Signal Object
-
getFault_RemoteSensorDataInvalid
The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the "red" range.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_RemoteSensorDataInvalidin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_RemoteSensorDataInvalid Status Signal Object
-
getStickyFault_RemoteSensorDataInvalid
The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the "red" range.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_RemoteSensorDataInvalidin interfaceHasTalonSignals- Returns:
- StickyFault_RemoteSensorDataInvalid Status Signal Object
-
getStickyFault_RemoteSensorDataInvalid
The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the "red" range.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_RemoteSensorDataInvalidin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_RemoteSensorDataInvalid Status Signal Object
-
getFault_FusedSensorOutOfSync
The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_FusedSensorOutOfSyncin interfaceHasTalonSignals- Returns:
- Fault_FusedSensorOutOfSync Status Signal Object
-
getFault_FusedSensorOutOfSync
The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_FusedSensorOutOfSyncin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_FusedSensorOutOfSync Status Signal Object
-
getStickyFault_FusedSensorOutOfSync
The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_FusedSensorOutOfSyncin interfaceHasTalonSignals- Returns:
- StickyFault_FusedSensorOutOfSync Status Signal Object
-
getStickyFault_FusedSensorOutOfSync
The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_FusedSensorOutOfSyncin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_FusedSensorOutOfSync Status Signal Object
-
getFault_StatorCurrLimit
Stator current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_StatorCurrLimitin interfaceHasTalonSignals- Returns:
- Fault_StatorCurrLimit Status Signal Object
-
getFault_StatorCurrLimit
Stator current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_StatorCurrLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_StatorCurrLimit Status Signal Object
-
getStickyFault_StatorCurrLimit
Stator current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_StatorCurrLimitin interfaceHasTalonSignals- Returns:
- StickyFault_StatorCurrLimit Status Signal Object
-
getStickyFault_StatorCurrLimit
Stator current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_StatorCurrLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_StatorCurrLimit Status Signal Object
-
getFault_SupplyCurrLimit
Supply current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_SupplyCurrLimitin interfaceHasTalonSignals- Returns:
- Fault_SupplyCurrLimit Status Signal Object
-
getFault_SupplyCurrLimit
Supply current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_SupplyCurrLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_SupplyCurrLimit Status Signal Object
-
getStickyFault_SupplyCurrLimit
Supply current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_SupplyCurrLimitin interfaceHasTalonSignals- Returns:
- StickyFault_SupplyCurrLimit Status Signal Object
-
getStickyFault_SupplyCurrLimit
Supply current limit occured.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_SupplyCurrLimitin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_SupplyCurrLimit Status Signal Object
-
getFault_UsingFusedCANcoderWhileUnlicensed
Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_UsingFusedCANcoderWhileUnlicensedin interfaceHasTalonSignals- Returns:
- Fault_UsingFusedCANcoderWhileUnlicensed Status Signal Object
-
getFault_UsingFusedCANcoderWhileUnlicensed
Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_UsingFusedCANcoderWhileUnlicensedin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_UsingFusedCANcoderWhileUnlicensed Status Signal Object
-
getStickyFault_UsingFusedCANcoderWhileUnlicensed
Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_UsingFusedCANcoderWhileUnlicensedin interfaceHasTalonSignals- Returns:
- StickyFault_UsingFusedCANcoderWhileUnlicensed Status Signal Object
-
getStickyFault_UsingFusedCANcoderWhileUnlicensed
public final StatusSignal<Boolean> getStickyFault_UsingFusedCANcoderWhileUnlicensed(boolean refresh) Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_UsingFusedCANcoderWhileUnlicensedin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_UsingFusedCANcoderWhileUnlicensed Status Signal Object
-
getFault_StaticBrakeDisabled
Static brake was momentarily disabled due to excessive braking current while disabled.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_StaticBrakeDisabledin interfaceHasTalonSignals- Returns:
- Fault_StaticBrakeDisabled Status Signal Object
-
getFault_StaticBrakeDisabled
Static brake was momentarily disabled due to excessive braking current while disabled.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getFault_StaticBrakeDisabledin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- Fault_StaticBrakeDisabled Status Signal Object
-
getStickyFault_StaticBrakeDisabled
Static brake was momentarily disabled due to excessive braking current while disabled.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_StaticBrakeDisabledin interfaceHasTalonSignals- Returns:
- StickyFault_StaticBrakeDisabled Status Signal Object
-
getStickyFault_StaticBrakeDisabled
Static brake was momentarily disabled due to excessive braking current while disabled.- Default Value: False
- CAN: 4.0 Hz
This refreshes and returns a cached StatusSignal object.
- Specified by:
getStickyFault_StaticBrakeDisabledin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- StickyFault_StaticBrakeDisabled Status Signal Object
-
getClosedLoopProportionalOutput
Closed loop proportional component.The portion of the closed loop output that is proportional to the error. Alternatively, the kP contribution of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopProportionalOutputin interfaceHasTalonSignals- Returns:
- ClosedLoopProportionalOutput Status Signal object
-
getClosedLoopProportionalOutput
Closed loop proportional component.The portion of the closed loop output that is proportional to the error. Alternatively, the kP contribution of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopProportionalOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopProportionalOutput Status Signal object
-
getClosedLoopIntegratedOutput
Closed loop integrated component.The portion of the closed loop output that is proportional to the integrated error. Alternatively, the kI contribution of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopIntegratedOutputin interfaceHasTalonSignals- Returns:
- ClosedLoopIntegratedOutput Status Signal object
-
getClosedLoopIntegratedOutput
Closed loop integrated component.The portion of the closed loop output that is proportional to the integrated error. Alternatively, the kI contribution of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopIntegratedOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopIntegratedOutput Status Signal object
-
getClosedLoopFeedForward
Feedforward passed by the user.This is the general feedforward that the user provides for the closed loop.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopFeedForwardin interfaceHasTalonSignals- Returns:
- ClosedLoopFeedForward Status Signal object
-
getClosedLoopFeedForward
Feedforward passed by the user.This is the general feedforward that the user provides for the closed loop.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopFeedForwardin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopFeedForward Status Signal object
-
getClosedLoopDerivativeOutput
Closed loop derivative component.The portion of the closed loop output that is proportional to the deriviative of error. Alternatively, the kD contribution of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopDerivativeOutputin interfaceHasTalonSignals- Returns:
- ClosedLoopDerivativeOutput Status Signal object
-
getClosedLoopDerivativeOutput
Closed loop derivative component.The portion of the closed loop output that is proportional to the deriviative of error. Alternatively, the kD contribution of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopDerivativeOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopDerivativeOutput Status Signal object
-
getClosedLoopOutput
Closed loop total output.The total output of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopOutputin interfaceHasTalonSignals- Returns:
- ClosedLoopOutput Status Signal object
-
getClosedLoopOutput
Closed loop total output.The total output of the closed loop output.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopOutput Status Signal object
-
getClosedLoopReference
Value that the closed loop is targeting.This is the value that the closed loop PID controller targets.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopReferencein interfaceHasTalonSignals- Returns:
- ClosedLoopReference Status Signal object
-
getClosedLoopReference
Value that the closed loop is targeting.This is the value that the closed loop PID controller targets.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopReferencein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopReference Status Signal object
-
getClosedLoopReferenceSlope
Derivative of the target that the closed loop is targeting.This is the change in the closed loop reference. This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion MagicĀ®.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopReferenceSlopein interfaceHasTalonSignals- Returns:
- ClosedLoopReferenceSlope Status Signal object
-
getClosedLoopReferenceSlope
Derivative of the target that the closed loop is targeting.This is the change in the closed loop reference. This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion MagicĀ®.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopReferenceSlopein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopReferenceSlope Status Signal object
-
getClosedLoopError
The difference between target reference and current measurement.This is the value that is treated as the error in the PID loop.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopErrorin interfaceHasTalonSignals- Returns:
- ClosedLoopError Status Signal object
-
getClosedLoopError
The difference between target reference and current measurement.This is the value that is treated as the error in the PID loop.
When using differential control, this applies to the average axis. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getClosedLoopErrorin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- ClosedLoopError Status Signal object
-
getDifferentialOutput
The calculated motor output for differential followers.This is a torque request when using the TorqueCurrentFOC control output type, a voltage request when using the Voltage control output type, and a duty cycle when using the DutyCycle control output type. Default Rates:
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialOutputin interfaceHasTalonSignals- Returns:
- DifferentialOutput Status Signal object
-
getDifferentialOutput
The calculated motor output for differential followers.This is a torque request when using the TorqueCurrentFOC control output type, a voltage request when using the Voltage control output type, and a duty cycle when using the DutyCycle control output type. Default Rates:
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialOutput Status Signal object
-
getDifferentialClosedLoopProportionalOutput
Differential closed loop proportional component.The portion of the differential closed loop output (on the difference axis) that is proportional to the error. Alternatively, the kP contribution of the closed loop output. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopProportionalOutputin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopProportionalOutput Status Signal object
-
getDifferentialClosedLoopProportionalOutput
Differential closed loop proportional component.The portion of the differential closed loop output (on the difference axis) that is proportional to the error. Alternatively, the kP contribution of the closed loop output. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopProportionalOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopProportionalOutput Status Signal object
-
getDifferentialClosedLoopIntegratedOutput
Differential closed loop integrated component.The portion of the differential closed loop output (on the difference axis) that is proportional to the integrated error. Alternatively, the kI contribution of the closed loop output. Default Rates:
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopIntegratedOutputin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopIntegratedOutput Status Signal object
-
getDifferentialClosedLoopIntegratedOutput
Differential closed loop integrated component.The portion of the differential closed loop output (on the difference axis) that is proportional to the integrated error. Alternatively, the kI contribution of the closed loop output. Default Rates:
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopIntegratedOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopIntegratedOutput Status Signal object
-
getDifferentialClosedLoopFeedForward
Differential Feedforward passed by the user.This is the general feedforward that the user provides for the differential closed loop (on the difference axis). Default Rates:
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopFeedForwardin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopFeedForward Status Signal object
-
getDifferentialClosedLoopFeedForward
Differential Feedforward passed by the user.This is the general feedforward that the user provides for the differential closed loop (on the difference axis). Default Rates:
- CAN 2.0: 100.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopFeedForwardin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopFeedForward Status Signal object
-
getDifferentialClosedLoopDerivativeOutput
Differential closed loop derivative component.The portion of the differential closed loop output (on the difference axis) that is proportional to the deriviative of error. Alternatively, the kD contribution of the closed loop output. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopDerivativeOutputin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopDerivativeOutput Status Signal object
-
getDifferentialClosedLoopDerivativeOutput
Differential closed loop derivative component.The portion of the differential closed loop output (on the difference axis) that is proportional to the deriviative of error. Alternatively, the kD contribution of the closed loop output. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopDerivativeOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopDerivativeOutput Status Signal object
-
getDifferentialClosedLoopOutput
Differential closed loop total output.The total output of the differential closed loop output (on the difference axis). Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopOutputin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopOutput Status Signal object
-
getDifferentialClosedLoopOutput
Differential closed loop total output.The total output of the differential closed loop output (on the difference axis). Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopOutputin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopOutput Status Signal object
-
getDifferentialClosedLoopReference
Value that the differential closed loop is targeting.This is the value that the differential closed loop PID controller targets (on the difference axis). Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopReferencein interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopReference Status Signal object
-
getDifferentialClosedLoopReference
Value that the differential closed loop is targeting.This is the value that the differential closed loop PID controller targets (on the difference axis). Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopReferencein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopReference Status Signal object
-
getDifferentialClosedLoopReferenceSlope
Derivative of the target that the differential closed loop is targeting.This is the change in the closed loop reference (on the difference axis). This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion MagicĀ®. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopReferenceSlopein interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopReferenceSlope Status Signal object
-
getDifferentialClosedLoopReferenceSlope
Derivative of the target that the differential closed loop is targeting.This is the change in the closed loop reference (on the difference axis). This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion MagicĀ®. Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopReferenceSlopein interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopReferenceSlope Status Signal object
-
getDifferentialClosedLoopError
The difference between target differential reference and current measurement.This is the value that is treated as the error in the differential PID loop (on the difference axis). Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopErrorin interfaceHasTalonSignals- Returns:
- DifferentialClosedLoopError Status Signal object
-
getDifferentialClosedLoopError
The difference between target differential reference and current measurement.This is the value that is treated as the error in the differential PID loop (on the difference axis). Default Rates:
- CAN 2.0: 4.0 Hz
- CAN FD: 100.0 Hz (TimeSynced with Pro)
This refreshes and returns a cached StatusSignal object.
- Specified by:
getDifferentialClosedLoopErrorin interfaceHasTalonSignals- Parameters:
refresh- Whether to refresh the StatusSignal before returning it; defaults to true- Returns:
- DifferentialClosedLoopError Status Signal object
-
setControl
Request a specified motor duty cycle.This control mode will output a proportion of the supplied voltage which is supplied by the user.
- DutyCycleOut Parameters:
- Output: Proportion of supply voltage to apply in fractional units between -1 and +1
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DutyCycleOut Parameters:
-
setControl
Request a specified motor current (field oriented control).This control request will drive the motor to the requested motor (stator) current value. This leverages field oriented control (FOC), which means greater peak power than what is documented. This scales to torque based on Motor's kT constant.
- TorqueCurrentFOC Parameters:
- Output: Amount of motor current in Amperes
- MaxAbsDutyCycle: The maximum absolute motor output that can be applied, which effectively limits the velocity. For example, 0.50 means no more than 50% output in either direction. This is useful for preventing the motor from spinning to its terminal velocity when there is no external torque applied unto the rotor. Note this is absolute maximum, so the value should be between zero and one.
- Deadband: Deadband in Amperes. If torque request is within deadband, the bridge output is neutral. If deadband is set to zero then there is effectively no deadband. Note if deadband is zero, a free spinning motor will spin for quite a while as the firmware attempts to hold the motor's bemf. If user expects motor to cease spinning quickly with a demand of zero, we recommend a deadband of one Ampere. This value will be converted to an integral value of amps.
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- TorqueCurrentFOC Parameters:
-
setControl
Request a specified voltage.This control mode will attempt to apply the specified voltage to the motor. If the supply voltage is below the requested voltage, the motor controller will output the supply voltage.
- VoltageOut Parameters:
- Output: Voltage to attempt to drive at
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- VoltageOut Parameters:
-
setControl
Request PID to target position with duty cycle feedforward.This control mode will set the motor's position setpoint to the position specified by the user. In addition, it will apply an additional duty cycle as an arbitrary feedforward value.
- PositionDutyCycle Parameters:
- Position: Position to drive toward in rotations.
- Velocity: Velocity to drive toward in rotations per second. This is typically used for motion profiles generated by the robot program.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- PositionDutyCycle Parameters:
-
setControl
Request PID to target position with voltage feedforwardThis control mode will set the motor's position setpoint to the position specified by the user. In addition, it will apply an additional voltage as an arbitrary feedforward value.
- PositionVoltage Parameters:
- Position: Position to drive toward in rotations.
- Velocity: Velocity to drive toward in rotations per second. This is typically used for motion profiles generated by the robot program.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- PositionVoltage Parameters:
-
setControl
Request PID to target position with torque current feedforward.This control mode will set the motor's position setpoint to the position specified by the user. In addition, it will apply an additional torque current as an arbitrary feedforward value.
- PositionTorqueCurrentFOC Parameters:
- Position: Position to drive toward in rotations.
- Velocity: Velocity to drive toward in rotations per second. This is typically used for motion profiles generated by the robot program.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- PositionTorqueCurrentFOC Parameters:
-
setControl
Request PID to target velocity with duty cycle feedforward.This control mode will set the motor's velocity setpoint to the velocity specified by the user. In addition, it will apply an additional voltage as an arbitrary feedforward value.
- VelocityDutyCycle Parameters:
- Velocity: Velocity to drive toward in rotations per second.
- Acceleration: Acceleration to drive toward in rotations per second squared. This is typically used for motion profiles generated by the robot program.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- VelocityDutyCycle Parameters:
-
setControl
Request PID to target velocity with voltage feedforward.This control mode will set the motor's velocity setpoint to the velocity specified by the user. In addition, it will apply an additional voltage as an arbitrary feedforward value.
- VelocityVoltage Parameters:
- Velocity: Velocity to drive toward in rotations per second.
- Acceleration: Acceleration to drive toward in rotations per second squared. This is typically used for motion profiles generated by the robot program.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- VelocityVoltage Parameters:
-
setControl
Request PID to target velocity with torque current feedforward.This control mode will set the motor's velocity setpoint to the velocity specified by the user. In addition, it will apply an additional torque current as an arbitrary feedforward value.
- VelocityTorqueCurrentFOC Parameters:
- Velocity: Velocity to drive toward in rotations per second.
- Acceleration: Acceleration to drive toward in rotations per second squared. This is typically used for motion profiles generated by the robot program.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- VelocityTorqueCurrentFOC Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile. Users can optionally provide a duty cycle feedforward.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the Cruise Velocity, Acceleration, and (optional) Jerk specified via the Motion MagicĀ® configuration values. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- MotionMagicDutyCycle Parameters:
- Position: Position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile. Users can optionally provide a voltage feedforward.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the Cruise Velocity, Acceleration, and (optional) Jerk specified via the Motion MagicĀ® configuration values. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- MotionMagicVoltage Parameters:
- Position: Position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile. Users can optionally provide a torque current feedforward.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the Cruise Velocity, Acceleration, and (optional) Jerk specified via the Motion MagicĀ® configuration values. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is based on torque current, so relevant closed-loop gains will use Amperes for the numerator.
- MotionMagicTorqueCurrentFOC Parameters:
- Position: Position to drive toward in rotations.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicTorqueCurrentFOC Parameters:
-
setControl
Request a specified motor duty cycle with a differential position closed-loop.This control mode will output a proportion of the supplied voltage which is supplied by the user. It will also set the motor's differential position setpoint to the specified position.
- DifferentialDutyCycle Parameters:
- AverageOutput: Proportion of supply voltage to apply on the Average axis in fractional units between -1 and +1.
- DifferentialPosition: Differential position to drive towards in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialDutyCycle Parameters:
-
setControl
Request a specified voltage with a differential position closed-loop.This control mode will attempt to apply the specified voltage to the motor. If the supply voltage is below the requested voltage, the motor controller will output the supply voltage. It will also set the motor's differential position setpoint to the specified position.
- DifferentialVoltage Parameters:
- AverageOutput: Voltage to attempt to drive at on the Average axis.
- DifferentialPosition: Differential position to drive towards in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialVoltage Parameters:
-
setControl
Request PID to target position with a differential position setpoint.This control mode will set the motor's position setpoint to the position specified by the user. It will also set the motor's differential position setpoint to the specified position.
- DifferentialPositionDutyCycle Parameters:
- AveragePosition: Average position to drive toward in rotations.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialPositionDutyCycle Parameters:
-
setControl
Request PID to target position with a differential position setpointThis control mode will set the motor's position setpoint to the position specified by the user. It will also set the motor's differential position setpoint to the specified position.
- DifferentialPositionVoltage Parameters:
- AveragePosition: Average position to drive toward in rotations.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialPositionVoltage Parameters:
-
setControl
Request PID to target velocity with a differential position setpoint.This control mode will set the motor's velocity setpoint to the velocity specified by the user. It will also set the motor's differential position setpoint to the specified position.
- DifferentialVelocityDutyCycle Parameters:
- AverageVelocity: Average velocity to drive toward in rotations per second.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialVelocityDutyCycle Parameters:
-
setControl
Request PID to target velocity with a differential position setpoint.This control mode will set the motor's velocity setpoint to the velocity specified by the user. It will also set the motor's differential position setpoint to the specified position.
- DifferentialVelocityVoltage Parameters:
- AverageVelocity: Average velocity to drive toward in rotations per second.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialVelocityVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile, and PID to a differential position setpoint.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the Cruise Velocity, Acceleration, and (optional) Jerk specified via the Motion MagicĀ® configuration values. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- DifferentialMotionMagicDutyCycle Parameters:
- AveragePosition: Average position to drive toward in rotations.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialMotionMagicDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile, and PID to a differential position setpoint.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the Cruise Velocity, Acceleration, and (optional) Jerk specified via the Motion MagicĀ® configuration values. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- DifferentialMotionMagicVoltage Parameters:
- AveragePosition: Average position to drive toward in rotations.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialMotionMagicVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using an exponential motion profile, and PID to a differential position setpoint.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the Cruise Velocity (optional) and the mechanism kV and kA, specified via the Motion MagicĀ® configuration values. Note that unlike the slot gains, the Expo_kV and Expo_kA configs are always in output units of Volts.
Setting Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- DifferentialMotionMagicExpoDutyCycle Parameters:
- AveragePosition: Average position to drive toward in rotations.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialMotionMagicExpoDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using an exponential motion profile, and PID to a differential position setpoint.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the Cruise Velocity (optional) and the mechanism kV and kA, specified via the Motion MagicĀ® configuration values. Note that unlike the slot gains, the Expo_kV and Expo_kA configs are always in output units of Volts.
Setting Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- DifferentialMotionMagicExpoVoltage Parameters:
- AveragePosition: Average position to drive toward in rotations.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialMotionMagicExpoVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final velocity using a motion profile, and PID to a differential position setpoint. This allows smooth transitions between velocity set points.Motion MagicĀ® Velocity produces a motion profile in real-time while attempting to honor the specified Acceleration and (optional) Jerk. This control mode does not use the CruiseVelocity, Expo_kV, or Expo_kA configs.
Acceleration and jerk are specified in the Motion MagicĀ® persistent configuration values. If Jerk is set to zero, Motion MagicĀ® will produce a trapezoidal acceleration profile.
Target velocity can also be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- DifferentialMotionMagicVelocityDutyCycle Parameters:
- AverageVelocity: Average velocity to drive toward in rotations per second.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialMotionMagicVelocityDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final velocity using a motion profile, and PID to a differential position setpoint. This allows smooth transitions between velocity set points.Motion MagicĀ® Velocity produces a motion profile in real-time while attempting to honor the specified Acceleration and (optional) Jerk. This control mode does not use the CruiseVelocity, Expo_kV, or Expo_kA configs.
Acceleration and jerk are specified in the Motion MagicĀ® persistent configuration values. If Jerk is set to zero, Motion MagicĀ® will produce a trapezoidal acceleration profile.
Target velocity can also be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- DifferentialMotionMagicVelocityVoltage Parameters:
- AverageVelocity: Average velocity to drive toward in rotations per second.
- DifferentialPosition: Differential position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- AverageSlot: Select which gains are applied to the average controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- DifferentialSlot: Select which gains are applied to the differential controller by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialMotionMagicVelocityVoltage Parameters:
-
setControl
Follow the motor output of another Talon.If Talon is in torque control, the torque is copied - which will increase the total torque applied. If Talon is in duty cycle output control, the duty cycle is matched. If Talon is in voltage output control, the motor voltage is matched. Motor direction either matches the leader's configured direction or opposes it based on the MotorAlignment.
The leader must enable the status signal corresponding to its control output type (DutyCycle, MotorVoltage, TorqueCurrent). The update rate of the status signal determines the update rate of the follower's output and should be no slower than 20 Hz.
- Follower Parameters:
- LeaderID: Device ID of the leader to follow.
- MotorAlignment: Set to Aligned for motor invert to match the leader's configured Invert - which is typical when leader and follower are mechanically linked and spin in the same direction. Set to Opposed for motor invert to oppose the leader's configured Invert - this is typical where the leader and follower mechanically spin in opposite directions.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Follower Parameters:
-
setControl
Follow the motor output of another Talon while ignoring the leader's invert setting.If Talon is in torque control, the torque is copied - which will increase the total torque applied. If Talon is in duty cycle output control, the duty cycle is matched. If Talon is in voltage output control, the motor voltage is matched. Motor direction is strictly determined by the configured invert and not the leader. If you want motor direction to match or oppose the leader, use Follower instead.
The leader must enable the status signal corresponding to its control output type (DutyCycle, MotorVoltage, TorqueCurrent). The update rate of the status signal determines the update rate of the follower's output and should be no slower than 20 Hz.
- StrictFollower Parameters:
- LeaderID: Device ID of the leader to follow.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- StrictFollower Parameters:
-
setControl
Follow the differential motor output of another Talon.If Talon is in torque control, the differential torque is copied - which will increase the total torque applied. If Talon is in duty cycle output control, the differential duty cycle is matched. If Talon is in voltage output control, the differential motor voltage is matched. Motor direction either matches leader's configured direction or opposes it based on the MotorAlignment.
The leader must enable its DifferentialOutput status signal. The update rate of the status signal determines the update rate of the follower's output and should be no slower than 20 Hz.
- DifferentialFollower Parameters:
- LeaderID: Device ID of the differential leader to follow.
- MotorAlignment: Set to Aligned for motor invert to match the leader's configured Invert - which is typical when leader and follower are mechanically linked and spin in the same direction. Set to Opposed for motor invert to oppose the leader's configured Invert - this is typical where the leader and follower mechanically spin in opposite directions.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialFollower Parameters:
-
setControl
Follow the differential motor output of another Talon while ignoring the leader's invert setting.If Talon is in torque control, the differential torque is copied - which will increase the total torque applied. If Talon is in duty cycle output control, the differential duty cycle is matched. If Talon is in voltage output control, the differential motor voltage is matched. Motor direction is strictly determined by the configured invert and not the leader. If you want motor direction to match or oppose the leader, use DifferentialFollower instead.
The leader must enable its DifferentialOutput status signal. The update rate of the status signal determines the update rate of the follower's output and should be no slower than 20 Hz.
- DifferentialStrictFollower Parameters:
- LeaderID: Device ID of the differential leader to follow.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DifferentialStrictFollower Parameters:
-
setControl
Request neutral output of actuator. The applied brake type is determined by the NeutralMode configuration.- NeutralOut Parameters:
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- NeutralOut Parameters:
-
setControl
Request coast neutral output of actuator. The bridge is disabled and the rotor is allowed to coast.- CoastOut Parameters:
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- CoastOut Parameters:
-
setControl
Applies full neutral-brake by shorting motor leads together.- StaticBrake Parameters:
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- StaticBrake Parameters:
-
setControl
Plays a single tone at the user specified frequency.- MusicTone Parameters:
- AudioFrequency: Sound frequency to play. A value of zero will silence the device. The effective frequency range is 10-20000 Hz. Any nonzero frequency less than 10 Hz will be capped to 10 Hz. Any frequency above 20 kHz will be capped to 20 kHz.
- Specified by:
setControlin interfaceSupportsMusic- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MusicTone Parameters:
-
setControl
Requests Motion MagicĀ® to target a final velocity using a motion profile. This allows smooth transitions between velocity set points. Users can optionally provide a duty cycle feedforward.Motion MagicĀ® Velocity produces a motion profile in real-time while attempting to honor the specified Acceleration and (optional) Jerk. This control mode does not use the CruiseVelocity, Expo_kV, or Expo_kA configs.
If the specified acceleration is zero, the Acceleration under Motion MagicĀ® configuration parameter is used instead. This allows for runtime adjustment of acceleration for advanced users. Jerk is also specified in the Motion MagicĀ® persistent configuration values. If Jerk is set to zero, Motion MagicĀ® will produce a trapezoidal acceleration profile.
Target velocity can also be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- MotionMagicVelocityDutyCycle Parameters:
- Velocity: Target velocity to drive toward in rotations per second. This can be changed on-the fly.
- Acceleration: This is the absolute Acceleration to use generating the profile. If this parameter is zero, the Acceleration persistent configuration parameter is used instead. Acceleration is in rotations per second squared. If nonzero, the signage does not matter as the absolute value is used.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicVelocityDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final velocity using a motion profile. This allows smooth transitions between velocity set points. Users can optionally provide a torque feedforward.Motion MagicĀ® Velocity produces a motion profile in real-time while attempting to honor the specified Acceleration and (optional) Jerk. This control mode does not use the CruiseVelocity, Expo_kV, or Expo_kA configs.
If the specified acceleration is zero, the Acceleration under Motion MagicĀ® configuration parameter is used instead. This allows for runtime adjustment of acceleration for advanced users. Jerk is also specified in the Motion MagicĀ® persistent configuration values. If Jerk is set to zero, Motion MagicĀ® will produce a trapezoidal acceleration profile.
Target velocity can also be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is based on torque current, so relevant closed-loop gains will use Amperes for the numerator.
- MotionMagicVelocityTorqueCurrentFOC Parameters:
- Velocity: Target velocity to drive toward in rotations per second. This can be changed on-the fly.
- Acceleration: This is the absolute Acceleration to use generating the profile. If this parameter is zero, the Acceleration persistent configuration parameter is used instead. Acceleration is in rotations per second squared. If nonzero, the signage does not matter as the absolute value is used.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicVelocityTorqueCurrentFOC Parameters:
-
setControl
Requests Motion MagicĀ® to target a final velocity using a motion profile. This allows smooth transitions between velocity set points. Users can optionally provide a voltage feedforward.Motion MagicĀ® Velocity produces a motion profile in real-time while attempting to honor the specified Acceleration and (optional) Jerk. This control mode does not use the CruiseVelocity, Expo_kV, or Expo_kA configs.
If the specified acceleration is zero, the Acceleration under Motion MagicĀ® configuration parameter is used instead. This allows for runtime adjustment of acceleration for advanced users. Jerk is also specified in the Motion MagicĀ® persistent configuration values. If Jerk is set to zero, Motion MagicĀ® will produce a trapezoidal acceleration profile.
Target velocity can also be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- MotionMagicVelocityVoltage Parameters:
- Velocity: Target velocity to drive toward in rotations per second. This can be changed on-the fly.
- Acceleration: This is the absolute Acceleration to use generating the profile. If this parameter is zero, the Acceleration persistent configuration parameter is used instead. Acceleration is in rotations per second squared. If nonzero, the signage does not matter as the absolute value is used.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicVelocityVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using an exponential motion profile. Users can optionally provide a duty cycle feedforward.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the Cruise Velocity (optional) and the mechanism kV and kA, specified via the Motion MagicĀ® configuration values. Note that unlike the slot gains, the Expo_kV and Expo_kA configs are always in output units of Volts.
Setting Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- MotionMagicExpoDutyCycle Parameters:
- Position: Position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicExpoDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using an exponential motion profile. Users can optionally provide a voltage feedforward.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the Cruise Velocity (optional) and the mechanism kV and kA, specified via the Motion MagicĀ® configuration values. Note that unlike the slot gains, the Expo_kV and Expo_kA configs are always in output units of Volts.
Setting Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- MotionMagicExpoVoltage Parameters:
- Position: Position to drive toward in rotations.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicExpoVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using an exponential motion profile. Users can optionally provide a torque current feedforward.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the Cruise Velocity (optional) and the mechanism kV and kA, specified via the Motion MagicĀ® configuration values. Note that unlike the slot gains, the Expo_kV and Expo_kA configs are always in output units of Volts.
Setting Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is based on torque current, so relevant closed-loop gains will use Amperes for the numerator.
- MotionMagicExpoTorqueCurrentFOC Parameters:
- Position: Position to drive toward in rotations.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- MotionMagicExpoTorqueCurrentFOC Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile. This dynamic request allows runtime changes to Cruise Velocity, Acceleration, and (optional) Jerk. Users can optionally provide a duty cycle feedforward.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the specified Cruise Velocity, Acceleration, and (optional) Jerk. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- DynamicMotionMagicDutyCycle Parameters:
- Position: Position to drive toward in rotations.
- Velocity: Cruise velocity for profiling. The signage does not matter as the device will use the absolute value for profile generation.
- Acceleration: Acceleration for profiling. The signage does not matter as the device will use the absolute value for profile generation
- Jerk: Jerk for profiling. The signage does not matter as the
device will use the absolute value for profile
generation.
Jerk is optional; if this is set to zero, then Motion MagicĀ® will not apply a Jerk limit.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DynamicMotionMagicDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile. This dynamic request allows runtime changes to Cruise Velocity, Acceleration, and (optional) Jerk. Users can optionally provide a voltage feedforward.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the specified Cruise Velocity, Acceleration, and (optional) Jerk. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- DynamicMotionMagicVoltage Parameters:
- Position: Position to drive toward in rotations.
- Velocity: Cruise velocity for profiling. The signage does not matter as the device will use the absolute value for profile generation.
- Acceleration: Acceleration for profiling. The signage does not matter as the device will use the absolute value for profile generation.
- Jerk: Jerk for profiling. The signage does not matter as the
device will use the absolute value for profile
generation.
Jerk is optional; if this is set to zero, then Motion MagicĀ® will not apply a Jerk limit.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DynamicMotionMagicVoltage Parameters:
-
setControl
Requests Motion MagicĀ® to target a final position using a motion profile. This dynamic request allows runtime changes to Cruise Velocity, Acceleration, and (optional) Jerk. Users can optionally provide a torque current feedforward.Motion MagicĀ® produces a motion profile in real-time while attempting to honor the specified Cruise Velocity, Acceleration, and (optional) Jerk. This control mode does not use the Expo_kV or Expo_kA configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is based on torque current, so relevant closed-loop gains will use Amperes for the numerator.
- DynamicMotionMagicTorqueCurrentFOC Parameters:
- Position: Position to drive toward in rotations.
- Velocity: Cruise velocity for profiling. The signage does not matter as the device will use the absolute value for profile generation.
- Acceleration: Acceleration for profiling. The signage does not matter as the device will use the absolute value for profile generation.
- Jerk: Jerk for profiling. The signage does not matter as the
device will use the absolute value for profile
generation.
Jerk is optional; if this is set to zero, then Motion MagicĀ® will not apply a Jerk limit.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DynamicMotionMagicTorqueCurrentFOC Parameters:
-
setControl
Requests Motion MagicĀ® Expo to target a final position using an exponential motion profile. This dynamic request allows runtime changes to the profile kV, kA, and (optional) Cruise Velocity. Users can optionally provide a duty cycle feedforward.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the specified Cruise Velocity (optional) and the mechanism kV and kA. Note that unlike the slot gains, the Expo_kV and Expo_kA parameters are always in output units of Volts.
Setting the Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is duty cycle based, so relevant closed-loop gains will use fractional duty cycle for the numerator: +1.0 represents full forward output.
- DynamicMotionMagicExpoDutyCycle Parameters:
- Position: Position to drive toward in rotations.
- kV: Mechanism kV for profiling. Unlike the kV slot gain,
this is always in units of V/rps.
This represents the amount of voltage necessary to hold a velocity. In terms of the Motion MagicĀ® Expo profile, a higher kV results in a slower maximum velocity.
- kA: Mechanism kA for profiling. Unlike the kA slot gain,
this is always in units of V/rps².
This represents the amount of voltage necessary to achieve an acceleration. In terms of the Motion MagicĀ® Expo profile, a higher kA results in a slower acceleration.
- Velocity: Cruise velocity for profiling. The signage does not matter as the device will use the absolute value for profile generation. Setting this to 0 will allow the profile to run to the max possible velocity based on Expo_kV.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in fractional units between -1 and +1. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DynamicMotionMagicExpoDutyCycle Parameters:
-
setControl
Requests Motion MagicĀ® Expo to target a final position using an exponential motion profile. This dynamic request allows runtime changes to the profile kV, kA, and (optional) Cruise Velocity. Users can optionally provide a voltage feedforward.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the specified Cruise Velocity (optional) and the mechanism kV and kA. Note that unlike the slot gains, the Expo_kV and Expo_kA parameters are always in output units of Volts.
Setting the Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is voltage-based, so relevant closed-loop gains will use Volts for the numerator.
- DynamicMotionMagicExpoVoltage Parameters:
- Position: Position to drive toward in rotations.
- kV: Mechanism kV for profiling. Unlike the kV slot gain,
this is always in units of V/rps.
This represents the amount of voltage necessary to hold a velocity. In terms of the Motion MagicĀ® Expo profile, a higher kV results in a slower maximum velocity.
- kA: Mechanism kA for profiling. Unlike the kA slot gain,
this is always in units of V/rps².
This represents the amount of voltage necessary to achieve an acceleration. In terms of the Motion MagicĀ® Expo profile, a higher kA results in a slower acceleration.
- Velocity: Cruise velocity for profiling. The signage does not matter as the device will use the absolute value for profile generation. Setting this to 0 will allow the profile to run to the max possible velocity based on Expo_kV.
- EnableFOC: Set to true to use FOC commutation (requires
Phoenix Pro), which increases peak power by ~15%
on supported devices (see
SupportsFOC). Set to false to use trapezoidal commutation.FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.
- FeedForward: Feedforward to apply in volts. This is added to the output of the onboard feedforward terms.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideBrakeDurNeutral: Set to true to static-brake the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DynamicMotionMagicExpoVoltage Parameters:
-
setControl
Requests Motion MagicĀ® Expo to target a final position using an exponential motion profile. This dynamic request allows runtime changes to the profile kV, kA, and (optional) Cruise Velocity. Users can optionally provide a torque current feedforward.Motion MagicĀ® Expo produces a motion profile in real-time while attempting to honor the specified Cruise Velocity (optional) and the mechanism kV and kA. Note that unlike the slot gains, the Expo_kV and Expo_kA parameters are always in output units of Volts.
Setting the Cruise Velocity to 0 will allow the profile to run to the max possible velocity based on Expo_kV. This control mode does not use the Acceleration or Jerk configs.
Target position can be changed on-the-fly and Motion MagicĀ® will do its best to adjust the profile. This control mode is based on torque current, so relevant closed-loop gains will use Amperes for the numerator.
- DynamicMotionMagicExpoTorqueCurrentFOC Parameters:
- Position: Position to drive toward in rotations.
- kV: Mechanism kV for profiling. Unlike the kV slot gain,
this is always in units of V/rps.
This represents the amount of voltage necessary to hold a velocity. In terms of the Motion MagicĀ® Expo profile, a higher kV results in a slower maximum velocity.
- kA: Mechanism kA for profiling. Unlike the kA slot gain,
this is always in units of V/rps².
This represents the amount of voltage necessary to achieve an acceleration. In terms of the Motion MagicĀ® Expo profile, a higher kA results in a slower acceleration.
- Velocity: Cruise velocity for profiling. The signage does not matter as the device will use the absolute value for profile generation. Setting this to 0 will allow the profile to run to the max possible velocity based on Expo_kV.
- FeedForward: Feedforward to apply in torque current in
Amperes. This is added to the output of the
onboard feedforward terms.
User can use motor's kT to scale Newton-meter to Amperes.
- Slot: Select which gains are applied by selecting the slot. Use the configuration api to set the gain values for the selected slot before enabling this feature. Slot must be within [0,2].
- OverrideCoastDurNeutral: Set to true to coast the rotor when output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0A (zero torque).
- LimitForwardMotion: Set to true to force forward limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- LimitReverseMotion: Set to true to force reverse limiting. This allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.
- IgnoreHardwareLimits: Set to true to ignore hardware limit
switches and the LimitForwardMotion and
LimitReverseMotion parameters, instead
allowing motion.
This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.
The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.
- IgnoreSoftwareLimits: Set to true to ignore software limits,
instead allowing motion.
This can be useful when calibrating the zero point of a mechanism such as an elevator.
The software limit faults will still report the values of the software limits regardless of this parameter.
- UseTimesync: Set to true to delay applying this control
request until a timesync boundary (requires
Phoenix Pro and CANivore). This eliminates the
impact of nondeterministic network delays in
exchange for a larger but deterministic control
latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- DynamicMotionMagicExpoTorqueCurrentFOC Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_DutyCycleOut_Position request) Differential control with duty cycle average target and position difference target.- Diff_DutyCycleOut_Position Parameters:
- AverageRequest: Average DutyCycleOut request of the mechanism.
- DifferentialRequest: Differential PositionDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_DutyCycleOut_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionDutyCycle_Position request) Differential control with position average target and position difference target using duty cycle control.- Diff_PositionDutyCycle_Position Parameters:
- AverageRequest: Average PositionDutyCycle request of the mechanism.
- DifferentialRequest: Differential PositionDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionDutyCycle_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityDutyCycle_Position request) Differential control with velocity average target and position difference target using duty cycle control.- Diff_VelocityDutyCycle_Position Parameters:
- AverageRequest: Average VelocityDutyCYcle request of the mechanism.
- DifferentialRequest: Differential PositionDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityDutyCycle_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicDutyCycle_Position request) Differential control with Motion MagicĀ® average target and position difference target using duty cycle control.- Diff_MotionMagicDutyCycle_Position Parameters:
- AverageRequest: Average MotionMagicDutyCycle request of the mechanism.
- DifferentialRequest: Differential PositionDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicDutyCycle_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoDutyCycle_Position request) Differential control with Motion MagicĀ® Expo average target and position difference target using duty cycle control.- Diff_MotionMagicExpoDutyCycle_Position Parameters:
- AverageRequest: Average MotionMagicExpoDutyCycle request of the mechanism.
- DifferentialRequest: Differential PositionDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoDutyCycle_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityDutyCycle_Position request) Differential control with Motion MagicĀ® Velocity average target and position difference target using duty cycle control.- Diff_MotionMagicVelocityDutyCycle_Position Parameters:
- AverageRequest: Average MotionMagicVelocityDutyCycle request of the mechanism.
- DifferentialRequest: Differential PositionDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityDutyCycle_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_DutyCycleOut_Velocity request) Differential control with duty cycle average target and velocity difference target.- Diff_DutyCycleOut_Velocity Parameters:
- AverageRequest: Average DutyCycleOut request of the mechanism.
- DifferentialRequest: Differential VelocityDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_DutyCycleOut_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionDutyCycle_Velocity request) Differential control with position average target and velocity difference target using duty cycle control.- Diff_PositionDutyCycle_Velocity Parameters:
- AverageRequest: Average PositionDutyCycle request of the mechanism.
- DifferentialRequest: Differential VelocityDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionDutyCycle_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityDutyCycle_Velocity request) Differential control with velocity average target and velocity difference target using duty cycle control.- Diff_VelocityDutyCycle_Velocity Parameters:
- AverageRequest: Average VelocityDutyCycle request of the mechanism.
- DifferentialRequest: Differential VelocityDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityDutyCycle_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicDutyCycle_Velocity request) Differential control with Motion MagicĀ® average target and velocity difference target using duty cycle control.- Diff_MotionMagicDutyCycle_Velocity Parameters:
- AverageRequest: Average MotionMagicDutyCycle request of the mechanism.
- DifferentialRequest: Differential VelocityDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicDutyCycle_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoDutyCycle_Velocity request) Differential control with Motion MagicĀ® Expo average target and velocity difference target using duty cycle control.- Diff_MotionMagicExpoDutyCycle_Velocity Parameters:
- AverageRequest: Average MotionMagicExpoDutyCycle request of the mechanism.
- DifferentialRequest: Differential VelocityDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoDutyCycle_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityDutyCycle_Velocity request) Differential control with Motion MagicĀ® Velocity average target and velocity difference target using duty cycle control.- Diff_MotionMagicVelocityDutyCycle_Velocity Parameters:
- AverageRequest: Average MotionMagicVelocityDutyCycle request of the mechanism.
- DifferentialRequest: Differential VelocityDutyCycle request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityDutyCycle_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_DutyCycleOut_Open request) Differential control with duty cycle average target and duty cycle difference target.- Diff_DutyCycleOut_Open Parameters:
- AverageRequest: Average DutyCycleOut request of the mechanism.
- DifferentialRequest: Differential DutyCycleOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_DutyCycleOut_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionDutyCycle_Open request) Differential control with position average target and duty cycle difference target.- Diff_PositionDutyCycle_Open Parameters:
- AverageRequest: Average PositionDutyCycle request of the mechanism.
- DifferentialRequest: Differential DutyCycleOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionDutyCycle_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityDutyCycle_Open request) Differential control with velocity average target and duty cycle difference target.- Diff_VelocityDutyCycle_Open Parameters:
- AverageRequest: Average VelocityDutyCYcle request of the mechanism.
- DifferentialRequest: Differential DutyCycleOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityDutyCycle_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicDutyCycle_Open request) Differential control with Motion MagicĀ® average target and duty cycle difference target.- Diff_MotionMagicDutyCycle_Open Parameters:
- AverageRequest: Average MotionMagicDutyCycle request of the mechanism.
- DifferentialRequest: Differential DutyCycleOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicDutyCycle_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoDutyCycle_Open request) Differential control with Motion MagicĀ® Expo average target and duty cycle difference target.- Diff_MotionMagicExpoDutyCycle_Open Parameters:
- AverageRequest: Average MotionMagicExpoDutyCycle request of the mechanism.
- DifferentialRequest: Differential DutyCycleOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoDutyCycle_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityDutyCycle_Open request) Differential control with Motion MagicĀ® Velocity average target and duty cycle difference target.- Diff_MotionMagicVelocityDutyCycle_Open Parameters:
- AverageRequest: Average MotionMagicVelocityDutyCycle request of the mechanism.
- DifferentialRequest: Differential DutyCycleOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityDutyCycle_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VoltageOut_Position request) Differential control with voltage average target and position difference target.- Diff_VoltageOut_Position Parameters:
- AverageRequest: Average VoltageOut request of the mechanism.
- DifferentialRequest: Differential PositionVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VoltageOut_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionVoltage_Position request) Differential control with position average target and position difference target using voltage control.- Diff_PositionVoltage_Position Parameters:
- AverageRequest: Average PositionVoltage request of the mechanism.
- DifferentialRequest: Differential PositionVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionVoltage_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityVoltage_Position request) Differential control with velocity average target and position difference target using voltage control.- Diff_VelocityVoltage_Position Parameters:
- AverageRequest: Average VelocityVoltage request of the mechanism.
- DifferentialRequest: Differential PositionVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityVoltage_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVoltage_Position request) Differential control with Motion MagicĀ® average target and position difference target using voltage control.- Diff_MotionMagicVoltage_Position Parameters:
- AverageRequest: Average MotionMagicVoltage request of the mechanism.
- DifferentialRequest: Differential PositionVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVoltage_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoVoltage_Position request) Differential control with Motion MagicĀ® Expo average target and position difference target using voltage control.- Diff_MotionMagicExpoVoltage_Position Parameters:
- AverageRequest: Average MotionMagicExpoVoltage request of the mechanism.
- DifferentialRequest: Differential PositionVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoVoltage_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityVoltage_Position request) Differential control with Motion MagicĀ® Velocity average target and position difference target using voltage control.- Diff_MotionMagicVelocityVoltage_Position Parameters:
- AverageRequest: Average MotionMagicVelocityVoltage request of the mechanism.
- DifferentialRequest: Differential PositionVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityVoltage_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VoltageOut_Velocity request) Differential control with voltage average target and velocity difference target.- Diff_VoltageOut_Velocity Parameters:
- AverageRequest: Average VoltageOut request of the mechanism.
- DifferentialRequest: Differential VelocityVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VoltageOut_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionVoltage_Velocity request) Differential control with position average target and velocity difference target using voltage control.- Diff_PositionVoltage_Velocity Parameters:
- AverageRequest: Average PositionVoltage request of the mechanism.
- DifferentialRequest: Differential VelocityVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionVoltage_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityVoltage_Velocity request) Differential control with velocity average target and velocity difference target using voltage control.- Diff_VelocityVoltage_Velocity Parameters:
- AverageRequest: Average VelocityVoltage request of the mechanism.
- DifferentialRequest: Differential VelocityVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityVoltage_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVoltage_Velocity request) Differential control with Motion MagicĀ® average target and velocity difference target using voltage control.- Diff_MotionMagicVoltage_Velocity Parameters:
- AverageRequest: Average MotionMagicVoltage request of the mechanism.
- DifferentialRequest: Differential VelocityVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVoltage_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoVoltage_Velocity request) Differential control with Motion MagicĀ® Expo average target and velocity difference target using voltage control.- Diff_MotionMagicExpoVoltage_Velocity Parameters:
- AverageRequest: Average MotionMagicExpoVoltage request of the mechanism.
- DifferentialRequest: Differential VelocityVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoVoltage_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityVoltage_Velocity request) Differential control with Motion MagicĀ® Velocity average target and velocity difference target using voltage control.- Diff_MotionMagicVelocityVoltage_Velocity Parameters:
- AverageRequest: Average MotionMagicVelocityVoltage request of the mechanism.
- DifferentialRequest: Differential VelocityVoltage request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityVoltage_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VoltageOut_Open request) Differential control with voltage average target and voltage difference target.- Diff_VoltageOut_Open Parameters:
- AverageRequest: Average VoltageOut request of the mechanism.
- DifferentialRequest: Differential VoltageOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VoltageOut_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionVoltage_Open request) Differential control with position average target and voltage difference target.- Diff_PositionVoltage_Open Parameters:
- AverageRequest: Average PositionVoltage request of the mechanism.
- DifferentialRequest: Differential VoltageOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionVoltage_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityVoltage_Open request) Differential control with velocity average target and voltage difference target.- Diff_VelocityVoltage_Open Parameters:
- AverageRequest: Average VelocityVoltage request of the mechanism.
- DifferentialRequest: Differential VoltageOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityVoltage_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVoltage_Open request) Differential control with Motion MagicĀ® average target and voltage difference target.- Diff_MotionMagicVoltage_Open Parameters:
- AverageRequest: Average MotionMagicVoltage request of the mechanism.
- DifferentialRequest: Differential VoltageOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVoltage_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoVoltage_Open request) Differential control with Motion MagicĀ® Expo average target and voltage difference target.- Diff_MotionMagicExpoVoltage_Open Parameters:
- AverageRequest: Average MotionMagicExpoVoltage request of the mechanism.
- DifferentialRequest: Differential VoltageOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoVoltage_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityVoltage_Open request) Differential control with Motion MagicĀ® Velocity average target and voltage difference target.- Diff_MotionMagicVelocityVoltage_Open Parameters:
- AverageRequest: Average MotionMagicVelocityVoltage request of the mechanism.
- DifferentialRequest: Differential VoltageOut request of the mechanism.
- Specified by:
setControlin interfaceHasTalonControls- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityVoltage_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_TorqueCurrentFOC_Position request) Differential control with torque current average target and position difference target.- Diff_TorqueCurrentFOC_Position Parameters:
- AverageRequest: Average TorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential PositionTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_TorqueCurrentFOC_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionTorqueCurrentFOC_Position request) Differential control with position average target and position difference target using torque current control.- Diff_PositionTorqueCurrentFOC_Position Parameters:
- AverageRequest: Average PositionTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential PositionTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionTorqueCurrentFOC_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityTorqueCurrentFOC_Position request) Differential control with velocity average target and position difference target using torque current control.- Diff_VelocityTorqueCurrentFOC_Position Parameters:
- AverageRequest: Average VelocityTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential PositionTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityTorqueCurrentFOC_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicTorqueCurrentFOC_Position request) Differential control with Motion MagicĀ® average target and position difference target using torque current control.- Diff_MotionMagicTorqueCurrentFOC_Position Parameters:
- AverageRequest: Average MotionMagicTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential PositionTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicTorqueCurrentFOC_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoTorqueCurrentFOC_Position request) Differential control with Motion MagicĀ® Expo average target and position difference target using torque current control.- Diff_MotionMagicExpoTorqueCurrentFOC_Position Parameters:
- AverageRequest: Average MotionMagicExpoTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential PositionTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoTorqueCurrentFOC_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityTorqueCurrentFOC_Position request) Differential control with Motion MagicĀ® Velocity average target and position difference target using torque current control.- Diff_MotionMagicVelocityTorqueCurrentFOC_Position Parameters:
- AverageRequest: Average MotionMagicVelocityTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential PositionTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityTorqueCurrentFOC_Position Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_TorqueCurrentFOC_Velocity request) Differential control with torque current average target and velocity difference target.- Diff_TorqueCurrentFOC_Velocity Parameters:
- AverageRequest: Average TorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential VelocityTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_TorqueCurrentFOC_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionTorqueCurrentFOC_Velocity request) Differential control with position average target and velocity difference target using torque current control.- Diff_PositionTorqueCurrentFOC_Velocity Parameters:
- AverageRequest: Average PositionTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential VelocityTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionTorqueCurrentFOC_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityTorqueCurrentFOC_Velocity request) Differential control with velocity average target and velocity difference target using torque current control.- Diff_VelocityTorqueCurrentFOC_Velocity Parameters:
- AverageRequest: Average VelocityTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential VelocityTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityTorqueCurrentFOC_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicTorqueCurrentFOC_Velocity request) Differential control with Motion MagicĀ® average target and velocity difference target using torque current control.- Diff_MotionMagicTorqueCurrentFOC_Velocity Parameters:
- AverageRequest: Average MotionMagicTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential VelocityTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicTorqueCurrentFOC_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoTorqueCurrentFOC_Velocity request) Differential control with Motion MagicĀ® Expo average target and velocity difference target using torque current control.- Diff_MotionMagicExpoTorqueCurrentFOC_Velocity Parameters:
- AverageRequest: Average MotionMagicExpoTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential VelocityTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoTorqueCurrentFOC_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityTorqueCurrentFOC_Velocity request) Differential control with Motion MagicĀ® Velocity average target and velocity difference target using torque current control.- Diff_MotionMagicVelocityTorqueCurrentFOC_Velocity Parameters:
- AverageRequest: Average MotionMagicVelocityTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential VelocityTorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityTorqueCurrentFOC_Velocity Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_TorqueCurrentFOC_Open request) Differential control with torque current average target and torque current difference target.- Diff_TorqueCurrentFOC_Open Parameters:
- AverageRequest: Average TorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential TorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_TorqueCurrentFOC_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_PositionTorqueCurrentFOC_Open request) Differential control with position average target and torque current difference target.- Diff_PositionTorqueCurrentFOC_Open Parameters:
- AverageRequest: Average PositionTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential TorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_PositionTorqueCurrentFOC_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_VelocityTorqueCurrentFOC_Open request) Differential control with velocity average target and torque current difference target.- Diff_VelocityTorqueCurrentFOC_Open Parameters:
- AverageRequest: Average VelocityTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential TorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_VelocityTorqueCurrentFOC_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicTorqueCurrentFOC_Open request) Differential control with Motion MagicĀ® average target and torque current difference target.- Diff_MotionMagicTorqueCurrentFOC_Open Parameters:
- AverageRequest: Average MotionMagicTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential TorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicTorqueCurrentFOC_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicExpoTorqueCurrentFOC_Open request) Differential control with Motion MagicĀ® Expo average target and torque current difference target.- Diff_MotionMagicExpoTorqueCurrentFOC_Open Parameters:
- AverageRequest: Average MotionMagicExpoTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential TorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicExpoTorqueCurrentFOC_Open Parameters:
-
setControl
public final StatusCode setControl(com.ctre.phoenix6.controls.compound.Diff_MotionMagicVelocityTorqueCurrentFOC_Open request) Differential control with Motion MagicĀ® Velocity average target and torque current difference target.- Diff_MotionMagicVelocityTorqueCurrentFOC_Open Parameters:
- AverageRequest: Average MotionMagicVelocityTorqueCurrentFOC request of the mechanism.
- DifferentialRequest: Differential TorqueCurrentFOC request of the mechanism.
- Specified by:
setControlin interfaceSupportsFOC- Parameters:
request- Control object to request of the device- Returns:
- Code response of the request
- Diff_MotionMagicVelocityTorqueCurrentFOC_Open Parameters:
-
setControl
Control device with generic control request object.User must make sure the specified object is castable to a valid control request, otherwise this function will fail at run-time and return the NotSupported StatusCode
- Specified by:
setControlin interfaceHasTalonControls- Specified by:
setControlin interfaceSupportsFOC- Specified by:
setControlin interfaceSupportsMusic- Parameters:
request- Control object to request of the device- Returns:
- Status Code of the request, 0 is OK
-
setPosition
Sets the mechanism position of the device in mechanism rotations.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
setPositionin interfaceHasTalonSignals- Parameters:
newValue- Value to set to. Units are in rotations.- Returns:
- StatusCode of the set command
-
setPosition
Sets the mechanism position of the device in mechanism rotations.- Specified by:
setPositionin interfaceHasTalonSignals- Parameters:
newValue- Value to set to. Units are in rotations.timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
setPosition
Sets the mechanism position of the device in mechanism rotations.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
setPositionin interfaceHasTalonSignals- Parameters:
newValue- Value to set to. Units are in rotations.- Returns:
- StatusCode of the set command
-
setPosition
Sets the mechanism position of the device in mechanism rotations.- Specified by:
setPositionin interfaceHasTalonSignals- Parameters:
newValue- Value to set to. Units are in rotations.timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFaults
Clear the sticky faults in the device.This typically has no impact on the device functionality. Instead, it just clears telemetry faults that are accessible via API and Tuner Self-Test.
This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFaultsin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFaults
Clear the sticky faults in the device.This typically has no impact on the device functionality. Instead, it just clears telemetry faults that are accessible via API and Tuner Self-Test.
- Specified by:
clearStickyFaultsin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_Hardware
Clear sticky fault: Hardware fault occurredThis will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_Hardwarein interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_Hardware
Clear sticky fault: Hardware fault occurred- Specified by:
clearStickyFault_Hardwarein interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_ProcTemp
Clear sticky fault: Processor temperature exceeded limitThis will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_ProcTempin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_ProcTemp
Clear sticky fault: Processor temperature exceeded limit- Specified by:
clearStickyFault_ProcTempin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_DeviceTemp
Clear sticky fault: Device temperature exceeded limitThis will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_DeviceTempin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_DeviceTemp
Clear sticky fault: Device temperature exceeded limit- Specified by:
clearStickyFault_DeviceTempin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_Undervoltage
Clear sticky fault: Device supply voltage dropped to near brownout levelsThis will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_Undervoltagein interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_Undervoltage
Clear sticky fault: Device supply voltage dropped to near brownout levels- Specified by:
clearStickyFault_Undervoltagein interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_BootDuringEnable
Clear sticky fault: Device boot while detecting the enable signalThis will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_BootDuringEnablein interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_BootDuringEnable
Clear sticky fault: Device boot while detecting the enable signal- Specified by:
clearStickyFault_BootDuringEnablein interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_UnlicensedFeatureInUse
Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_UnlicensedFeatureInUsein interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_UnlicensedFeatureInUse
Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.- Specified by:
clearStickyFault_UnlicensedFeatureInUsein interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_BridgeBrownout
Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_BridgeBrownoutin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_BridgeBrownout
Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.- Specified by:
clearStickyFault_BridgeBrownoutin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_RemoteSensorReset
Clear sticky fault: The remote sensor has reset.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_RemoteSensorResetin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_RemoteSensorReset
Clear sticky fault: The remote sensor has reset.- Specified by:
clearStickyFault_RemoteSensorResetin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_MissingDifferentialFX
Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_MissingDifferentialFXin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_MissingDifferentialFX
Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.- Specified by:
clearStickyFault_MissingDifferentialFXin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_RemoteSensorPosOverflow
Clear sticky fault: The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_RemoteSensorPosOverflowin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_RemoteSensorPosOverflow
Clear sticky fault: The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.- Specified by:
clearStickyFault_RemoteSensorPosOverflowin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_OverSupplyV
Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_OverSupplyVin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_OverSupplyV
Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.- Specified by:
clearStickyFault_OverSupplyVin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_UnstableSupplyV
Clear sticky fault: Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_UnstableSupplyVin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_UnstableSupplyV
Clear sticky fault: Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.- Specified by:
clearStickyFault_UnstableSupplyVin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_ReverseHardLimit
Clear sticky fault: Reverse limit switch has been asserted. Output is set to neutral.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_ReverseHardLimitin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_ReverseHardLimit
Clear sticky fault: Reverse limit switch has been asserted. Output is set to neutral.- Specified by:
clearStickyFault_ReverseHardLimitin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_ForwardHardLimit
Clear sticky fault: Forward limit switch has been asserted. Output is set to neutral.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_ForwardHardLimitin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_ForwardHardLimit
Clear sticky fault: Forward limit switch has been asserted. Output is set to neutral.- Specified by:
clearStickyFault_ForwardHardLimitin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_ReverseSoftLimit
Clear sticky fault: Reverse soft limit has been asserted. Output is set to neutral.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_ReverseSoftLimitin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_ReverseSoftLimit
Clear sticky fault: Reverse soft limit has been asserted. Output is set to neutral.- Specified by:
clearStickyFault_ReverseSoftLimitin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_ForwardSoftLimit
Clear sticky fault: Forward soft limit has been asserted. Output is set to neutral.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_ForwardSoftLimitin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_ForwardSoftLimit
Clear sticky fault: Forward soft limit has been asserted. Output is set to neutral.- Specified by:
clearStickyFault_ForwardSoftLimitin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_MissingSoftLimitRemote
Clear sticky fault: The remote soft limit device is not present on CAN Bus.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_MissingSoftLimitRemotein interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_MissingSoftLimitRemote
Clear sticky fault: The remote soft limit device is not present on CAN Bus.- Specified by:
clearStickyFault_MissingSoftLimitRemotein interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_MissingHardLimitRemote
Clear sticky fault: The remote limit switch device is not present on CAN Bus.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_MissingHardLimitRemotein interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_MissingHardLimitRemote
Clear sticky fault: The remote limit switch device is not present on CAN Bus.- Specified by:
clearStickyFault_MissingHardLimitRemotein interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_RemoteSensorDataInvalid
Clear sticky fault: The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the "red" range.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_RemoteSensorDataInvalidin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_RemoteSensorDataInvalid
Clear sticky fault: The remote sensor's data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder's magnet strength falls into the "red" range.- Specified by:
clearStickyFault_RemoteSensorDataInvalidin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_FusedSensorOutOfSync
Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_FusedSensorOutOfSyncin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_FusedSensorOutOfSync
Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.- Specified by:
clearStickyFault_FusedSensorOutOfSyncin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_StatorCurrLimit
Clear sticky fault: Stator current limit occured.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_StatorCurrLimitin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_StatorCurrLimit
Clear sticky fault: Stator current limit occured.- Specified by:
clearStickyFault_StatorCurrLimitin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_SupplyCurrLimit
Clear sticky fault: Supply current limit occured.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_SupplyCurrLimitin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_SupplyCurrLimit
Clear sticky fault: Supply current limit occured.- Specified by:
clearStickyFault_SupplyCurrLimitin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_UsingFusedCANcoderWhileUnlicensed
Clear sticky fault: Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_UsingFusedCANcoderWhileUnlicensedin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_UsingFusedCANcoderWhileUnlicensed
Clear sticky fault: Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.- Specified by:
clearStickyFault_UsingFusedCANcoderWhileUnlicensedin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-
clearStickyFault_StaticBrakeDisabled
Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disabled.This will wait up to 0.100 seconds (100ms) by default.
- Specified by:
clearStickyFault_StaticBrakeDisabledin interfaceHasTalonSignals- Returns:
- StatusCode of the set command
-
clearStickyFault_StaticBrakeDisabled
Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disabled.- Specified by:
clearStickyFault_StaticBrakeDisabledin interfaceHasTalonSignals- Parameters:
timeoutSeconds- Maximum time to wait up to in seconds.- Returns:
- StatusCode of the set command
-