TalonFXSimCollection

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

Bases: pybind11_object

Collection of simulation commands available to a TalonFX motor controller.

Use the getSimCollection() routine inside your motor controller to create the respective sim 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 TalonFXSimCollection

Parameters:

motorController – TalonFX Motor Controller to connect Collection to

addIntegratedSensorPosition(dPos: int) phoenix5._ctre.ErrorCode

Adds to the simulated integrated sensor position of the TalonFX.

Parameters:

dPos – the change in position in native units

Returns:

error code

getLastError() phoenix5._ctre.ErrorCode

Gets the last error generated by this object. Not all functions return an error code but can potentially report errors. This function can be used to retrieve those error codes.

Returns:

Last Error Code generated by a function.

getMotorOutputLeadVoltage() float

Gets the simulated output voltage across M+ and M- for the motor.

Returns:

applied voltage to the motor in volts

setBusVoltage(vbat: float) phoenix5._ctre.ErrorCode

Sets the simulated bus voltage of the TalonFX.

The minimum allowed bus voltage is 4 V - values below this will be promoted to 4 V.

Parameters:

vbat – the bus voltage in volts

Returns:

error code

setIntegratedSensorRawPosition(newPos: int) phoenix5._ctre.ErrorCode

Sets the simulated raw integrated sensor position of the TalonFX.

The TalonFX integrates this to calculate the true reported integrated sensor position.

When using the WPI Sim GUI, you will notice a readonly ‘position’ and settable ‘rawPositionInput’. The readonly signal is the emulated position which will match self-test in Tuner and the hardware API. Changes to ‘rawPositionInput’ will be integrated into the emulated position. This way a simulator can modify the position without overriding your hardware API calls for home-ing your sensor.

Inputs to this function over time should be continuous, as user calls of SetSelectedSensorPosition() and SetIntegratedSensorPosition() will be accounted for in the calculation.

Parameters:

newPos – the new raw position in native units

Returns:

error code

setIntegratedSensorVelocity(newVel: int) phoenix5._ctre.ErrorCode

Sets the simulated integrated sensor velocity of the TalonFX.

Parameters:

newVel – the new velocity in native units per 100ms

Returns:

error code

setLimitFwd(isClosed: bool) phoenix5._ctre.ErrorCode

Sets the simulated forward limit switch of the TalonFX.

Parameters:

isClosed – true if the limit switch is closed

Returns:

error code

setLimitRev(isClosed: bool) phoenix5._ctre.ErrorCode

Sets the simulated reverse limit switch of the TalonFX.

Parameters:

isClosed – true if the limit switch is closed

Returns:

error code

setStatorCurrent(currA: float) phoenix5._ctre.ErrorCode

Sets the simulated stator current of the TalonFX.

Parameters:

currA – the stator current in amps

Returns:

error code

setSupplyCurrent(currA: float) phoenix5._ctre.ErrorCode

Sets the simulated supply current of the TalonFX.

Parameters:

currA – the supply current in amps

Returns:

error code