:py:mod:`phoenix6.hardware.core.core_pigeon2` ============================================= .. py:module:: phoenix6.hardware.core.core_pigeon2 Module Contents --------------- .. py:class:: CorePigeon2(device_id: int, canbus: phoenix6.canbus.CANBus) Bases: :py:obj:`phoenix6.hardware.parent_device.ParentDevice` Class description for the Pigeon 2 IMU sensor that measures orientation. Constructs a new Pigeon 2 sensor object. :param device_id: ID of the device, as configured in Phoenix Tuner :type device_id: int :param canbus: The CAN bus this device is on :type canbus: CANBus .. py:property:: sim_state :type: phoenix6.sim.pigeon2_sim_state.Pigeon2SimState Get the simulation state for this device. This function reuses an allocated simulation state object, so it is safe to call this function multiple times in a robot loop. :returns: Simulation state :rtype: Pigeon2SimState .. py:attribute:: Configuration The configuration class for this device. .. py:attribute:: configurator .. py:method:: none() :classmethod: Constructs a stubbed-out CorePigeon2, where all status signals, controls, configs, etc. perform no action and immediately return OK. This can be used to silence error messages for devices that have been completely removed from the robot. :returns: Stubbed-out CorePigeon2 :rtype: CorePigeon2 .. py:method:: get_version_major(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] App Major Version number. - Minimum Value: 0 - Maximum Value: 255 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: VersionMajor Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_version_minor(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] App Minor Version number. - Minimum Value: 0 - Maximum Value: 255 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: VersionMinor Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_version_bugfix(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] App Bugfix Version number. - Minimum Value: 0 - Maximum Value: 255 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: VersionBugfix Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_version_build(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] App Build Version number. - Minimum Value: 0 - Maximum Value: 255 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: VersionBuild Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_version(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] Full Version of firmware in device. The format is a four byte value. - Minimum Value: 0 - Maximum Value: 4294967295 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Version Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_fault_field(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] Integer representing all fault flags reported by the device. These are device specific and are not used directly in typical applications. Use the signal specific GetFault_*() methods instead. - Minimum Value: 0 - Maximum Value: 4294967295 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: FaultField Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_sticky_fault_field(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[int] Integer representing all (persistent) sticky fault flags reported by the device. These are device specific and are not used directly in typical applications. Use the signal specific GetStickyFault_*() methods instead. - Minimum Value: 0 - Maximum Value: 4294967295 - Default Value: 0 - Units: Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFaultField Status Signal Object :rtype: StatusSignal[int] .. py:method:: get_yaw(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degree] Current reported yaw of the Pigeon2. - Minimum Value: -368640.0 - Maximum Value: 368639.99725341797 - Default Value: 0 - Units: deg Default Rates: - CAN 2.0: 100.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Yaw Status Signal Object :rtype: StatusSignal[degree] .. py:method:: get_pitch(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degree] Current reported pitch of the Pigeon2. - Minimum Value: -90.0 - Maximum Value: 89.9560546875 - Default Value: 0 - Units: deg Default Rates: - CAN 2.0: 100.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Pitch Status Signal Object :rtype: StatusSignal[degree] .. py:method:: get_roll(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degree] Current reported roll of the Pigeon2. - Minimum Value: -180.0 - Maximum Value: 179.9560546875 - Default Value: 0 - Units: deg Default Rates: - CAN 2.0: 100.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Roll Status Signal Object :rtype: StatusSignal[degree] .. py:method:: get_quat_w(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The W component of the reported Quaternion. - Minimum Value: -1.0001220852154804 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 50.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: QuatW Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_quat_x(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The X component of the reported Quaternion. - Minimum Value: -1.0001220852154804 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 50.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: QuatX Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_quat_y(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The Y component of the reported Quaternion. - Minimum Value: -1.0001220852154804 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 50.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: QuatY Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_quat_z(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The Z component of the reported Quaternion. - Minimum Value: -1.0001220852154804 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 50.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: QuatZ Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_gravity_vector_x(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The X component of the gravity vector. This is the X component of the reported gravity-vector. The gravity vector is not the acceleration experienced by the Pigeon2, rather it is where the Pigeon2 believes "Down" is. This can be used for mechanisms that are linearly related to gravity, such as an arm pivoting about a point, as the contribution of gravity to the arm is directly proportional to the contribution of gravity about one of these primary axis. - Minimum Value: -1.000030518509476 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: GravityVectorX Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_gravity_vector_y(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The Y component of the gravity vector. This is the X component of the reported gravity-vector. The gravity vector is not the acceleration experienced by the Pigeon2, rather it is where the Pigeon2 believes "Down" is. This can be used for mechanisms that are linearly related to gravity, such as an arm pivoting about a point, as the contribution of gravity to the arm is directly proportional to the contribution of gravity about one of these primary axis. - Minimum Value: -1.000030518509476 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: GravityVectorY Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_gravity_vector_z(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The Z component of the gravity vector. This is the Z component of the reported gravity-vector. The gravity vector is not the acceleration experienced by the Pigeon2, rather it is where the Pigeon2 believes "Down" is. This can be used for mechanisms that are linearly related to gravity, such as an arm pivoting about a point, as the contribution of gravity to the arm is directly proportional to the contribution of gravity about one of these primary axis. - Minimum Value: -1.000030518509476 - Maximum Value: 1.0 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: GravityVectorZ Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_temperature(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.celsius] Temperature of the Pigeon 2. - Minimum Value: -128.0 - Maximum Value: 127.99609375 - Default Value: 0 - Units: ℃ Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Temperature Status Signal Object :rtype: StatusSignal[celsius] .. py:method:: get_no_motion_enabled(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Whether the no-motion calibration feature is enabled. - Default Value: 0 Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: NoMotionEnabled Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_no_motion_count(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[float] The number of times a no-motion event occurred, wraps at 15. - Minimum Value: 0 - Maximum Value: 15 - Default Value: 0 - Units: Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: NoMotionCount Status Signal Object :rtype: StatusSignal[float] .. py:method:: get_temperature_compensation_disabled(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Whether the temperature-compensation feature is disabled. - Default Value: 0 Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: TemperatureCompensationDisabled Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_up_time(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.second] How long the Pigeon 2's been up in seconds, caps at 255 seconds. - Minimum Value: 0 - Maximum Value: 255 - Default Value: 0 - Units: s Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: UpTime Status Signal Object :rtype: StatusSignal[second] .. py:method:: get_accum_gyro_x(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degree] The accumulated gyro about the X axis without any sensor fusing. - Minimum Value: -23040.0 - Maximum Value: 23039.9560546875 - Default Value: 0 - Units: deg Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AccumGyroX Status Signal Object :rtype: StatusSignal[degree] .. py:method:: get_accum_gyro_y(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degree] The accumulated gyro about the Y axis without any sensor fusing. - Minimum Value: -23040.0 - Maximum Value: 23039.9560546875 - Default Value: 0 - Units: deg Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AccumGyroY Status Signal Object :rtype: StatusSignal[degree] .. py:method:: get_accum_gyro_z(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degree] The accumulated gyro about the Z axis without any sensor fusing. - Minimum Value: -23040.0 - Maximum Value: 23039.9560546875 - Default Value: 0 - Units: deg Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AccumGyroZ Status Signal Object :rtype: StatusSignal[degree] .. py:method:: get_angular_velocity_x_world(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degrees_per_second] The angular velocity (ω) of the Pigeon 2 about the X axis with respect to the world frame. This value is mount-calibrated. - Minimum Value: -2048.0 - Maximum Value: 2047.99609375 - Default Value: 0 - Units: dps Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AngularVelocityXWorld Status Signal Object :rtype: StatusSignal[degrees_per_second] .. py:method:: get_angular_velocity_y_world(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degrees_per_second] The angular velocity (ω) of the Pigeon 2 about the Y axis with respect to the world frame. This value is mount-calibrated. - Minimum Value: -2048.0 - Maximum Value: 2047.99609375 - Default Value: 0 - Units: dps Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AngularVelocityYWorld Status Signal Object :rtype: StatusSignal[degrees_per_second] .. py:method:: get_angular_velocity_z_world(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degrees_per_second] The angular velocity (ω) of the Pigeon 2 about the Z axis with respect to the world frame. This value is mount-calibrated. - Minimum Value: -2048.0 - Maximum Value: 2047.99609375 - Default Value: 0 - Units: dps Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AngularVelocityZWorld Status Signal Object :rtype: StatusSignal[degrees_per_second] .. py:method:: get_acceleration_x(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.g] The acceleration measured by Pigeon2 in the X direction. This value includes the acceleration due to gravity. If this is undesirable, get the gravity vector and subtract out the contribution in this direction. - Minimum Value: -2.0 - Maximum Value: 1.99993896484375 - Default Value: 0 - Units: g Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AccelerationX Status Signal Object :rtype: StatusSignal[g] .. py:method:: get_acceleration_y(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.g] The acceleration measured by Pigeon2 in the Y direction. This value includes the acceleration due to gravity. If this is undesirable, get the gravity vector and subtract out the contribution in this direction. - Minimum Value: -2.0 - Maximum Value: 1.99993896484375 - Default Value: 0 - Units: g Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AccelerationY Status Signal Object :rtype: StatusSignal[g] .. py:method:: get_acceleration_z(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.g] The acceleration measured by Pigeon2 in the Z direction. This value includes the acceleration due to gravity. If this is undesirable, get the gravity vector and subtract out the contribution in this direction. - Minimum Value: -2.0 - Maximum Value: 1.99993896484375 - Default Value: 0 - Units: g Default Rates: - CAN 2.0: 10.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AccelerationZ Status Signal Object :rtype: StatusSignal[g] .. py:method:: get_supply_voltage(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.volt] Measured supply voltage to the Pigeon2. - Minimum Value: 0.0 - Maximum Value: 31.99951171875 - Default Value: 0 - Units: V Default Rates: - CAN 2.0: 4.0 Hz - CAN FD: 100.0 Hz (TimeSynced with Pro) This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: SupplyVoltage Status Signal Object :rtype: StatusSignal[volt] .. py:method:: get_angular_velocity_x_device(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degrees_per_second] The angular velocity (ω) of the Pigeon 2 about the device's X axis. This value is not mount-calibrated. - Minimum Value: -1998.048780487805 - Maximum Value: 1997.987804878049 - Default Value: 0 - Units: dps Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AngularVelocityXDevice Status Signal Object :rtype: StatusSignal[degrees_per_second] .. py:method:: get_angular_velocity_y_device(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degrees_per_second] The angular velocity (ω) of the Pigeon 2 about the device's Y axis. This value is not mount-calibrated. - Minimum Value: -1998.048780487805 - Maximum Value: 1997.987804878049 - Default Value: 0 - Units: dps Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AngularVelocityYDevice Status Signal Object :rtype: StatusSignal[degrees_per_second] .. py:method:: get_angular_velocity_z_device(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.degrees_per_second] The angular velocity (ω) of the Pigeon 2 about the device's Z axis. This value is not mount-calibrated. - Minimum Value: -1998.048780487805 - Maximum Value: 1997.987804878049 - Default Value: 0 - Units: dps Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: AngularVelocityZDevice Status Signal Object :rtype: StatusSignal[degrees_per_second] .. py:method:: get_magnetic_field_x(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.microtesla] The biased magnitude of the magnetic field measured by the Pigeon 2 in the X direction. This is only valid after performing a magnetometer calibration. - Minimum Value: -19660.8 - Maximum Value: 19660.2 - Default Value: 0 - Units: uT Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: MagneticFieldX Status Signal Object :rtype: StatusSignal[microtesla] .. py:method:: get_magnetic_field_y(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.microtesla] The biased magnitude of the magnetic field measured by the Pigeon 2 in the Y direction. This is only valid after performing a magnetometer calibration. - Minimum Value: -19660.8 - Maximum Value: 19660.2 - Default Value: 0 - Units: uT Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: MagneticFieldY Status Signal Object :rtype: StatusSignal[microtesla] .. py:method:: get_magnetic_field_z(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.microtesla] The biased magnitude of the magnetic field measured by the Pigeon 2 in the Z direction. This is only valid after performing a magnetometer calibration. - Minimum Value: -19660.8 - Maximum Value: 19660.2 - Default Value: 0 - Units: uT Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: MagneticFieldZ Status Signal Object :rtype: StatusSignal[microtesla] .. py:method:: get_raw_magnetic_field_x(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.microtesla] The raw magnitude of the magnetic field measured by the Pigeon 2 in the X direction. This is only valid after performing a magnetometer calibration. - Minimum Value: -19660.8 - Maximum Value: 19660.2 - Default Value: 0 - Units: uT Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: RawMagneticFieldX Status Signal Object :rtype: StatusSignal[microtesla] .. py:method:: get_raw_magnetic_field_y(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.microtesla] The raw magnitude of the magnetic field measured by the Pigeon 2 in the Y direction. This is only valid after performing a magnetometer calibration. - Minimum Value: -19660.8 - Maximum Value: 19660.2 - Default Value: 0 - Units: uT Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: RawMagneticFieldY Status Signal Object :rtype: StatusSignal[microtesla] .. py:method:: get_raw_magnetic_field_z(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[phoenix6.units.microtesla] The raw magnitude of the magnetic field measured by the Pigeon 2 in the Z direction. This is only valid after performing a magnetometer calibration. - Minimum Value: -19660.8 - Maximum Value: 19660.2 - Default Value: 0 - Units: uT Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: RawMagneticFieldZ Status Signal Object :rtype: StatusSignal[microtesla] .. py:method:: get_is_pro_licensed(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Whether the device is Phoenix Pro licensed. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: IsProLicensed Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_hardware(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Hardware fault occurred - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_Hardware Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_hardware(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Hardware fault occurred - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_Hardware Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_undervoltage(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Device supply voltage dropped to near brownout levels - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_Undervoltage Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_undervoltage(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Device supply voltage dropped to near brownout levels - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_Undervoltage Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_boot_during_enable(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Device boot while detecting the enable signal - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_BootDuringEnable Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_boot_during_enable(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Device boot while detecting the enable signal - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_BootDuringEnable Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_unlicensed_feature_in_use(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] An unlicensed feature is in use, device may not behave as expected. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_UnlicensedFeatureInUse Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_unlicensed_feature_in_use(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] An unlicensed feature is in use, device may not behave as expected. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_UnlicensedFeatureInUse Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_bootup_accelerometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Bootup checks failed: Accelerometer - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_BootupAccelerometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_bootup_accelerometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Bootup checks failed: Accelerometer - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_BootupAccelerometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_bootup_gyroscope(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Bootup checks failed: Gyroscope - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_BootupGyroscope Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_bootup_gyroscope(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Bootup checks failed: Gyroscope - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_BootupGyroscope Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_bootup_magnetometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Bootup checks failed: Magnetometer - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_BootupMagnetometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_bootup_magnetometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Bootup checks failed: Magnetometer - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_BootupMagnetometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_boot_into_motion(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Motion Detected during bootup. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_BootIntoMotion Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_boot_into_motion(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Motion Detected during bootup. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_BootIntoMotion Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_data_acquired_late(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Motion stack data acquisition was slower than expected - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_DataAcquiredLate Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_data_acquired_late(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Motion stack data acquisition was slower than expected - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_DataAcquiredLate Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_loop_time_slow(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Motion stack loop time was slower than expected. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_LoopTimeSlow Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_loop_time_slow(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Motion stack loop time was slower than expected. - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_LoopTimeSlow Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_saturated_magnetometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Magnetometer values are saturated - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_SaturatedMagnetometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_saturated_magnetometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Magnetometer values are saturated - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_SaturatedMagnetometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_saturated_accelerometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Accelerometer values are saturated - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_SaturatedAccelerometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_saturated_accelerometer(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Accelerometer values are saturated - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_SaturatedAccelerometer Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_fault_saturated_gyroscope(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Gyroscope values are saturated - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: Fault_SaturatedGyroscope Status Signal Object :rtype: StatusSignal[bool] .. py:method:: get_sticky_fault_saturated_gyroscope(refresh: bool = True) -> phoenix6.status_signal.StatusSignal[bool] Gyroscope values are saturated - Default Value: False Default Rates: - CAN: 4.0 Hz This refreshes and returns a cached StatusSignal object. :param refresh: Whether to refresh the StatusSignal before returning it; defaults to true :type refresh: bool :returns: StickyFault_SaturatedGyroscope Status Signal Object :rtype: StatusSignal[bool] .. py:method:: set_yaw(new_value: phoenix6.units.degree, timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode The yaw to set the Pigeon2 to right now. :param new_value: Value to set to. Units are in deg. :type new_value: degree :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear the sticky faults in the device. This typically has no impact on the device functionality. Instead, it just clears telemetry faults that are accessible via API and Tuner Self-Test. :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Hardware fault occurred :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Device supply voltage dropped to near brownout levels :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Device boot while detecting the enable signal :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: An unlicensed feature is in use, device may not behave as expected. :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_bootup_accelerometer(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Bootup checks failed: Accelerometer :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_bootup_gyroscope(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Bootup checks failed: Gyroscope :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_bootup_magnetometer(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Bootup checks failed: Magnetometer :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_boot_into_motion(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Motion Detected during bootup. :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_data_acquired_late(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Motion stack data acquisition was slower than expected :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_loop_time_slow(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Motion stack loop time was slower than expected. :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_saturated_magnetometer(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Magnetometer values are saturated :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_saturated_accelerometer(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Accelerometer values are saturated :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode .. py:method:: clear_sticky_fault_saturated_gyroscope(timeout_seconds: phoenix6.units.second = 0.1) -> phoenix6.status_code.StatusCode Clear sticky fault: Gyroscope values are saturated :param timeout_seconds: Maximum time to wait up to in seconds. :type timeout_seconds: second :returns: StatusCode of the set command :rtype: StatusCode