BasePigeonSimCollection

class phoenix5.sensors.BasePigeonSimCollection(pigeon: phoenix5._ctre.sensors.BasePigeon, isRibbonCable: bool)

Bases: pybind11_object

Collection of simulation functions available to a Pigeon IMU. Use the getSimCollection() function in your BasePigeon object to create the respective sim collection.

Parameters:

pigeon – Pigeon IMU to connect so sim collection

addHeading(dHeading: float) phoenix5._ctre.ErrorCode

Adds to the simulated heading of the Pigeon IMU

Parameters:

dHeading – the change in heading in degrees

Returns:

error code

setRawHeading(newHeading: float) phoenix5._ctre.ErrorCode

Sets the simulated input heading position of the Pigeon IMU.

The Pigeon IMU integrates the delta between each new raw heading value and uses this to calculate the true reported yaw and fused heading.

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

Inputs to this function over time should be continuous, as user calls of setYaw() or setFusedHeading() will be accounted for in the calculation.

Parameters:

newHeading – the new input heading in degrees

Returns:

error code