CoreTalonFXSetControl(DifferentialVelocityDutyCycle) Method
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
- TargetVelocity – 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%. 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.
- TargetSlot – Select which gains are applied to the
primary 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.
Namespace: CTRE.Phoenix6.Hardware.CoreAssembly: Phoenix6 (in Phoenix6.dll) Version: 1.0.0
public StatusCode SetControl(
DifferentialVelocityDutyCycle request
)
member SetControl :
request : DifferentialVelocityDutyCycle -> StatusCode
- request DifferentialVelocityDutyCycle
- Control object to request of the device
StatusCodeCode response of the request