CANCoderSimCollection

class phoenix5.sensors.CANCoderSimCollection(canCoder: phoenix5._ctre.sensors.CANCoder)

Bases: pybind11_object

Collection of simulation functions available to a CANCoder.

Use the getSimCollection() function in your CANCoder object 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 CANCoderSimCollection

Parameters:

canCoder – CANCoder to connect Collection to

addPosition(dPos: int) phoenix5._ctre.ErrorCode

Adds to the simulated position of the CANCoder.

Parameters:

dPos – the change in position in native units

Returns:

error code

setBusVoltage(vbat: float) phoenix5._ctre.ErrorCode

Sets the simulated bus voltage of the CANCoder.

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

setRawPosition(newPos: int) phoenix5._ctre.ErrorCode

Sets the simulated raw position of the CANCoder.

The CANCoder integrates this to calculate the true reported 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 setPosition() will be accounted for in the calculation.

Parameters:

newPos – the new raw position in native units

Returns:

error code

setVelocity(newVel: int) phoenix5._ctre.ErrorCode

Sets the simulated velocity of the CANCoder.

Parameters:

newVel – the new velocity in native units per 100ms

Returns:

error code