TalonFXSensorCollection

class phoenix5.TalonFXSensorCollection(motorController: phoenix5._ctre.BaseTalon)

Bases: pybind11_object

Collection of sensors available to the Talon FX.

For best performance and update-rate, we recommend using the configSelectedFeedbackSensor() and getSelectedSensor*() routines. However there are occasions where accessing raw sensor values may be useful or convenient. Particularly if you are seeding one sensor based on another, or need to circumvent sensor-phase.

Use the GetTalonFXSensorCollection() routine inside your motor controller to create a sensor collection.

If the Phoenix 5 API must be used for this device, the device must have 22.X firmware. This firmware is available in Tuner X after selecting Phoenix 5 in the firmware year dropdown.

Deprecated:

This device’s Phoenix 5 API is deprecated for removal in the 2025 season. Users should update to Phoenix 6 firmware and migrate to the Phoenix 6 API. A migration guide is available at https://v6.docs.ctr-electronics.com/en/stable/docs/migration/migration-guide/index.html.

Constructor for TalonFXSensorCollection

Parameters:

motorController – Talon Motor Controller to connect Collection to

getIntegratedSensorAbsolutePosition() float

Get the IntegratedSensor absolute position of the Talon FX, regardless of whether it is actually being used for feedback. This will be within one rotation (2048 units). The signage and range will depend on the configuration. * Note : Future versions of software may support scaling features (rotations, radians, degrees, etc) depending on the configuration.

This method relies on the Status 21 message, which has a default period of 240ms. For more information, see: https://phoenix-documentation.readthedocs.io/en/latest/ch18_CommonAPI.html

Returns:

the IntegratedSensor absolute position.

getIntegratedSensorPosition() float
getIntegratedSensorVelocity() float

Get the IntegratedSensor velocity of the Talon FX, regardless of whether it is actually being used for feedback. One unit represents one position unit per 100ms (2048 position units per 100ms). The signage and range will depend on the configuration. * Note : Future versions of software may support scaling features (rotations, radians, degrees, etc) depending on the configuration.

This method relies on the Status 21 message, which has a default period of 240ms. For more information, see: https://phoenix-documentation.readthedocs.io/en/latest/ch18_CommonAPI.html

Returns:

the IntegratedSensor velocity.

isFwdLimitSwitchClosed() int
isRevLimitSwitchClosed() int
setIntegratedSensorPosition(newPosition: float, timeoutMs: int = 0) phoenix5._ctre.ErrorCode

Set the IntegratedSensor reported position. Typically this is used to “zero” the sensor. This only works with IntegratedSensor. To set the selected sensor position regardless of what type it is, see SetSelectedSensorPosition in the motor controller class.

Parameters:
  • newPosition – The position value to apply to the sensor.

  • timeoutMs – Timeout value in ms. If nonzero, function will wait for config success and report an error if it times out. If zero, no blocking or checking is performed.

Returns:

error code.

setIntegratedSensorPositionToAbsolute(timeoutMs: int = 0) phoenix5._ctre.ErrorCode

Set the IntegratedSensor reported position based on the absolute position. This can also be done automatically on power boot depending on configuration.

Parameters:

timeoutMs – Timeout value in ms. If nonzero, function will wait for config success and report an error if it times out. If zero, no blocking or checking is performed.

Returns:

error code.