phoenix6.hardware.core

Submodules

Package Contents

class phoenix6.hardware.core.CoreTalonFX(device_id: int, canbus: str | phoenix6.canbus.CANBus = '')

Bases: phoenix6.hardware.parent_device.ParentDevice, phoenix6.hardware.traits.common_talon_with_foc.CommonTalonWithFOC

Constructs a new Talon FX motor controller object.

Parameters:
  • device_id (int) – ID of the device, as configured in Phoenix Tuner.

  • canbus (str | CANBus, optional) –

    Name of the CAN bus this device is on. Possible CAN bus strings are:

    • ”rio” for the native roboRIO CAN bus

    • CANivore name or serial number

    • SocketCAN interface (non-FRC Linux only)

    • ”*” for any CANivore seen by the program

    • empty string (default) to select the default for the system:

      • ”rio” on roboRIO

      • ”can0” on Linux

      • ”*” on Windows

property sim_state: phoenix6.sim.talon_fx_sim_state.TalonFXSimState

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

Return type:

TalonFXSimState

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMajor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMinor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBugfix Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBuild Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Version Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFaultField Status Signal Object

Return type:

StatusSignal[int]

get_motor_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

The applied (output) motor voltage.

  • Minimum Value: -40.96

  • Maximum Value: 40.95

  • Default Value: 0

  • Units: V

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_forward_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ForwardLimitValue]

Forward Limit Pin.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ForwardLimit Status Signal Object

Return type:

StatusSignal[ForwardLimitValue]

get_reverse_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ReverseLimitValue]

Reverse Limit Pin.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ReverseLimit Status Signal Object

Return type:

StatusSignal[ReverseLimitValue]

get_applied_rotor_polarity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.AppliedRotorPolarityValue]

The applied rotor polarity as seen from the front of the motor. This typically is determined by the Inverted config, but can be overridden if using Follower features.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AppliedRotorPolarity Status Signal Object

Return type:

StatusSignal[AppliedRotorPolarityValue]

get_duty_cycle(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The applied motor duty cycle.

  • Minimum Value: -2.0

  • Maximum Value: 1.9990234375

  • Default Value: 0

  • Units: fractional

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DutyCycle Status Signal Object

Return type:

StatusSignal[float]

get_torque_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Current corresponding to the torque output by the motor. Similar to StatorCurrent. Users will likely prefer this current to calculate the applied torque to the rotor.

Stator current where positive current means torque is applied in the forward direction as determined by the Inverted setting.

  • Minimum Value: -327.68

  • Maximum Value: 327.67

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

TorqueCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_stator_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Current corresponding to the stator windings. Similar to TorqueCurrent. Users will likely prefer TorqueCurrent over StatorCurrent.

Stator current where Positive current indicates motoring regardless of direction. Negative current indicates regenerative braking regardless of direction.

  • Minimum Value: -327.68

  • Maximum Value: 327.66

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StatorCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_supply_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Measured supply side current.

  • Minimum Value: -327.68

  • Maximum Value: 327.66

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_supply_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

Measured supply voltage to the device.

  • Minimum Value: 4

  • Maximum Value: 29.575

  • Default Value: 4

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of device.

This is the temperature that the device measures itself to be at. Similar to Processor Temperature.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DeviceTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_processor_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of the processor.

This is the temperature that the processor measures itself to be at. Similar to Device Temperature.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ProcessorTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_rotor_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Velocity of the motor rotor. This velocity is not affected by any feedback configs.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RotorVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_rotor_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Position of the motor rotor. This position is only affected by the RotorOffset config and calls to setPosition.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RotorPosition Status Signal Object

Return type:

StatusSignal[rotation]

get_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Velocity of the device in mechanism rotations per second. This can be the velocity of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 50.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Velocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Position of the device in mechanism rotations. This can be the position of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs, as well as calls to setPosition.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 50.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Position Status Signal Object

Return type:

StatusSignal[rotation]

get_acceleration(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second_squared]

Acceleration of the device in mechanism rotations per second². This can be the acceleration of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.

  • Minimum Value: -2048.0

  • Maximum Value: 2047.75

  • Default Value: 0

  • Units: rotations per second²

Default Rates:
  • CAN 2.0: 50.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Acceleration Status Signal Object

Return type:

StatusSignal[rotations_per_second_squared]

get_control_mode(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ControlModeValue]

The active control mode of the motor controller.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ControlMode Status Signal Object

Return type:

StatusSignal[ControlModeValue]

get_motion_magic_is_running(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.MotionMagicIsRunningValue]

Check if Motion Magic® is running. This is equivalent to checking that the reported control mode is a Motion Magic® based mode.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotionMagicIsRunning Status Signal Object

Return type:

StatusSignal[MotionMagicIsRunningValue]

get_device_enable(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.DeviceEnableValue]

Indicates if device is actuator enabled.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DeviceEnable Status Signal Object

Return type:

StatusSignal[DeviceEnableValue]

get_closed_loop_slot(refresh: bool = True) phoenix6.status_signal.StatusSignal[int]

The slot that the closed-loop PID is using.

  • Minimum Value: 0

  • Maximum Value: 2

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopSlot Status Signal Object

Return type:

StatusSignal[int]

get_motor_output_status(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.MotorOutputStatusValue]

Assess the status of the motor output with respect to load and supply.

This routine can be used to determine the general status of motor commutation.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorOutputStatus Status Signal Object

Return type:

StatusSignal[MotorOutputStatusValue]

get_differential_control_mode(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.DifferentialControlModeValue]

The active control mode of the differential controller.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialControlMode Status Signal Object

Return type:

StatusSignal[DifferentialControlModeValue]

get_differential_average_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Average component of the differential velocity of device.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialAverageVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_differential_average_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Average component of the differential position of device.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialAveragePosition Status Signal Object

Return type:

StatusSignal[rotation]

get_differential_difference_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Difference component of the differential velocity of device.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialDifferenceVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_differential_difference_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Difference component of the differential position of device.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialDifferencePosition Status Signal Object

Return type:

StatusSignal[rotation]

get_differential_closed_loop_slot(refresh: bool = True) phoenix6.status_signal.StatusSignal[int]

The slot that the closed-loop differential PID is using.

  • Minimum Value: 0

  • Maximum Value: 2

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopSlot Status Signal Object

Return type:

StatusSignal[int]

get_motor_kt(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.newton_meters_per_ampere]

The torque constant (K_T) of the motor.

  • Minimum Value: 0.0

  • Maximum Value: 0.025500000000000002

  • Default Value: 0

  • Units: Nm/A

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorKT Status Signal Object

Return type:

StatusSignal[newton_meters_per_ampere]

get_motor_kv(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rpm_per_volt]

The velocity constant (K_V) of the motor.

  • Minimum Value: 0.0

  • Maximum Value: 2047.0

  • Default Value: 0

  • Units: RPM/V

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorKV Status Signal Object

Return type:

StatusSignal[rpm_per_volt]

get_motor_stall_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

The stall current of the motor at 12 V output.

  • Minimum Value: 0.0

  • Maximum Value: 1023.0

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorStallCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_bridge_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.BridgeOutputValue]

The applied output of the bridge.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

BridgeOutput Status Signal Object

Return type:

StatusSignal[BridgeOutputValue]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsProLicensed Status Signal Object

Return type:

StatusSignal[bool]

get_ancillary_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of device from second sensor.

Newer versions of Talon have multiple temperature measurement methods.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AncillaryDeviceTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_connected_motor(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ConnectedMotorValue]

The type of motor attached to the Talon.

This can be used to determine what motor is attached to the Talon FX. Return will be “Unknown” if firmware is too old or device is not present.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ConnectedMotor Status Signal Object

Return type:

StatusSignal[ConnectedMotorValue]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

get_fault_proc_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Processor temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ProcTemp Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_proc_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Processor temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ProcTemp Status Signal Object

Return type:

StatusSignal[bool]

get_fault_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Device temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_DeviceTemp Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Device temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_DeviceTemp Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

get_fault_bridge_brownout(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Bridge was disabled most likely due to supply voltage dropping too low.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BridgeBrownout Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_bridge_brownout(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Bridge was disabled most likely due to supply voltage dropping too low.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BridgeBrownout Status Signal Object

Return type:

StatusSignal[bool]

get_fault_remote_sensor_reset(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor has reset.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_RemoteSensorReset Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_remote_sensor_reset(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor has reset.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_RemoteSensorReset Status Signal Object

Return type:

StatusSignal[bool]

get_fault_missing_differential_fx(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote Talon used for differential control is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MissingDifferentialFX Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_missing_differential_fx(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote Talon used for differential control is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MissingDifferentialFX Status Signal Object

Return type:

StatusSignal[bool]

get_fault_remote_sensor_pos_overflow(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_RemoteSensorPosOverflow Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_remote_sensor_pos_overflow(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_RemoteSensorPosOverflow Status Signal Object

Return type:

StatusSignal[bool]

get_fault_over_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage has exceeded the maximum voltage rating of device.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_OverSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_over_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage has exceeded the maximum voltage rating of device.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_OverSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_fault_unstable_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnstableSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_unstable_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnstableSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_fault_reverse_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ReverseHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_reverse_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ReverseHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_forward_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ForwardHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_forward_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ForwardHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_reverse_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ReverseSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_reverse_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ReverseSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_forward_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ForwardSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_forward_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ForwardSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_missing_soft_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote soft limit device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MissingSoftLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_missing_soft_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote soft limit device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MissingSoftLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_fault_missing_hard_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote limit switch device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MissingHardLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_missing_hard_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote limit switch device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MissingHardLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_fault_remote_sensor_data_invalid(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor’s data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder’s magnet strength falls into the “red” range.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_RemoteSensorDataInvalid Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_remote_sensor_data_invalid(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor’s data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder’s magnet strength falls into the “red” range.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_RemoteSensorDataInvalid Status Signal Object

Return type:

StatusSignal[bool]

get_fault_fused_sensor_out_of_sync(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_FusedSensorOutOfSync Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_fused_sensor_out_of_sync(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_FusedSensorOutOfSync Status Signal Object

Return type:

StatusSignal[bool]

get_fault_stator_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Stator current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_StatorCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_stator_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Stator current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_StatorCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_supply_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_SupplyCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_supply_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_SupplyCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_using_fused_cancoder_while_unlicensed(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UsingFusedCANcoderWhileUnlicensed Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_using_fused_cancoder_while_unlicensed(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UsingFusedCANcoderWhileUnlicensed Status Signal Object

Return type:

StatusSignal[bool]

get_fault_static_brake_disabled(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Static brake was momentarily disabled due to excessive braking current while disabled.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_StaticBrakeDisabled Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_static_brake_disabled(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Static brake was momentarily disabled due to excessive braking current while disabled.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_StaticBrakeDisabled Status Signal Object

Return type:

StatusSignal[bool]

get_closed_loop_proportional_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop proportional component

The portion of the closed loop output that is the proportional to the error. Alternatively, the p-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopProportionalOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_integrated_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop integrated component

The portion of the closed loop output that is proportional to the integrated error. Alternatively, the i-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopIntegratedOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_feed_forward(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Feedforward passed by the user

This is the general feedforward that the user provides for the closed loop.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopFeedForward Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_derivative_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop derivative component

The portion of the closed loop output that is the proportional to the deriviative the error. Alternatively, the d-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopDerivativeOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop total output

The total output of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_reference(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Value that the closed loop is targeting

This is the value that the closed loop PID controller targets.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopReference Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_reference_slope(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Derivative of the target that the closed loop is targeting

This is the change in the closed loop reference. This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion Magic®.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopReferenceSlope Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_error(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The difference between target reference and current measurement

This is the value that is treated as the error in the PID loop.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopError Status Signal object

Return type:

StatusSignal[float]

get_differential_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The calculated motor output for differential followers.

This is a torque request when using the TorqueCurrentFOC control output type, and a duty cycle in all other control types.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_proportional_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop proportional component

The portion of the differential closed loop output that is the proportional to the error. Alternatively, the p-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopProportionalOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_integrated_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop integrated component

The portion of the differential closed loop output that is proportional to the integrated error. Alternatively, the i-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopIntegratedOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_feed_forward(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential Feedforward passed by the user

This is the general feedforward that the user provides for the differential closed loop.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopFeedForward Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_derivative_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop derivative component

The portion of the differential closed loop output that is the proportional to the deriviative the error. Alternatively, the d-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopDerivativeOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop total output

The total output of the differential closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_reference(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Value that the differential closed loop is targeting

This is the value that the differential closed loop PID controller targets.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopReference Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_reference_slope(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Derivative of the target that the differential closed loop is targeting

This is the change in the closed loop reference. This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion Magic®.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopReferenceSlope Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_error(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The difference between target differential reference and current measurement

This is the value that is treated as the error in the differential PID loop.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopError Status Signal object

Return type:

StatusSignal[float]

set_control(request: phoenix6.controls.duty_cycle_out.DutyCycleOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.torque_current_foc.TorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.voltage_out.VoltageOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.position_duty_cycle.PositionDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.position_voltage.PositionVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.position_torque_current_foc.PositionTorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.velocity_duty_cycle.VelocityDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.velocity_voltage.VelocityVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.velocity_torque_current_foc.VelocityTorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_duty_cycle.MotionMagicDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_voltage.MotionMagicVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_torque_current_foc.MotionMagicTorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_duty_cycle.DifferentialDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_voltage.DifferentialVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_position_duty_cycle.DifferentialPositionDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_position_voltage.DifferentialPositionVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_velocity_duty_cycle.DifferentialVelocityDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_velocity_voltage.DifferentialVelocityVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_motion_magic_duty_cycle.DifferentialMotionMagicDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_motion_magic_voltage.DifferentialMotionMagicVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.follower.Follower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.strict_follower.StrictFollower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_follower.DifferentialFollower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_strict_follower.DifferentialStrictFollower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.neutral_out.NeutralOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.coast_out.CoastOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.static_brake.StaticBrake) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.music_tone.MusicTone) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_velocity_duty_cycle.MotionMagicVelocityDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_velocity_torque_current_foc.MotionMagicVelocityTorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_velocity_voltage.MotionMagicVelocityVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_expo_duty_cycle.MotionMagicExpoDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_expo_voltage.MotionMagicExpoVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_expo_torque_current_foc.MotionMagicExpoTorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.dynamic_motion_magic_duty_cycle.DynamicMotionMagicDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.dynamic_motion_magic_voltage.DynamicMotionMagicVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.dynamic_motion_magic_torque_current_foc.DynamicMotionMagicTorqueCurrentFOC) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_duty_cycle_out_position.Diff_DutyCycleOut_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_duty_cycle_position.Diff_PositionDutyCycle_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_duty_cycle_position.Diff_VelocityDutyCycle_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_duty_cycle_position.Diff_MotionMagicDutyCycle_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_duty_cycle_out_velocity.Diff_DutyCycleOut_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_duty_cycle_velocity.Diff_PositionDutyCycle_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_duty_cycle_velocity.Diff_VelocityDutyCycle_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_duty_cycle_velocity.Diff_MotionMagicDutyCycle_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_voltage_out_position.Diff_VoltageOut_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_voltage_position.Diff_PositionVoltage_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_voltage_position.Diff_VelocityVoltage_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_voltage_position.Diff_MotionMagicVoltage_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_voltage_out_velocity.Diff_VoltageOut_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_voltage_velocity.Diff_PositionVoltage_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_voltage_velocity.Diff_VelocityVoltage_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_voltage_velocity.Diff_MotionMagicVoltage_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_torque_current_foc_position.Diff_TorqueCurrentFOC_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_torque_current_foc_position.Diff_PositionTorqueCurrentFOC_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_torque_current_foc_position.Diff_VelocityTorqueCurrentFOC_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_torque_current_foc_position.Diff_MotionMagicTorqueCurrentFOC_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_torque_current_foc_velocity.Diff_TorqueCurrentFOC_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_torque_current_foc_velocity.Diff_PositionTorqueCurrentFOC_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_torque_current_foc_velocity.Diff_VelocityTorqueCurrentFOC_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_torque_current_foc_velocity.Diff_MotionMagicTorqueCurrentFOC_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.hardware.parent_device.SupportsSendRequest) phoenix6.status_signal.StatusCode

Request a specified motor duty cycle.

This control mode will output a proportion of the supplied voltage which is supplied by the user.

  • DutyCycleOut Parameters:
    • output: Proportion of supply voltage to apply in fractional units

      between -1 and +1

    • enable_foc: Set to true to use FOC commutation (requires Phoenix Pro),

      which increases peak power by ~15%. Set to false to use trapezoidal commutation.

      FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.

    • override_brake_dur_neutral: Set to true to static-brake the rotor when

      output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.

    • limit_forward_motion: Set to true to force forward limiting. This

      allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.

    • limit_reverse_motion: Set to true to force reverse limiting. This

      allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.

    • ignore_hardware_limits: Set to true to ignore hardware limit switches

      and the LimitForwardMotion and LimitReverseMotion parameters, instead allowing motion.

      This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.

      The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.

    • use_timesync: Set to true to delay applying this control request until

      a timesync boundary (requires Phoenix Pro and CANivore). This eliminates the impact of nondeterministic network delays in exchange for a larger but deterministic control latency.

      This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.

Parameters:

request (DutyCycleOut) – Control object to request of the device

Returns:

Code response of the request

Return type:

StatusCode

set_position(new_value: phoenix6.units.rotation, timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Sets the mechanism position of the device in mechanism rotations.

Parameters:
  • new_value (rotation) – Value to set to. Units are in rotations.

  • timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.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.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hardware fault occurred

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_proc_temp(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Processor temperature exceeded limit

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_device_temp(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device temperature exceeded limit

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device supply voltage dropped to near brownout levels

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device boot while detecting the enable signal

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bridge_brownout(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_remote_sensor_reset(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor has reset.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_missing_differential_fx(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_remote_sensor_pos_overflow(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_over_supply_v(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unstable_supply_v(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_reverse_hard_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Reverse limit switch has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_forward_hard_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Forward limit switch has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_reverse_soft_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Reverse soft limit has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_forward_soft_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Forward soft limit has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_missing_soft_limit_remote(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote soft limit device is not present on CAN Bus.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_missing_hard_limit_remote(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote limit switch device is not present on CAN Bus.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_remote_sensor_data_invalid(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor’s data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder’s magnet strength falls into the “red” range.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_fused_sensor_out_of_sync(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_stator_curr_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Stator current limit occured.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_supply_curr_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Supply current limit occured.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_using_fused_cancoder_while_unlicensed(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_static_brake_disabled(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disabled.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

class phoenix6.hardware.core.CoreCANcoder(device_id: int, canbus: str | phoenix6.canbus.CANBus = '')

Bases: phoenix6.hardware.parent_device.ParentDevice

Constructs a new CANcoder object.

Parameters:
  • device_id (int) – ID of the device, as configured in Phoenix Tuner.

  • canbus (str | CANBus, optional) –

    Name of the CAN bus this device is on. Possible CAN bus strings are:

    • ”rio” for the native roboRIO CAN bus

    • CANivore name or serial number

    • SocketCAN interface (non-FRC Linux only)

    • ”*” for any CANivore seen by the program

    • empty string (default) to select the default for the system:

      • ”rio” on roboRIO

      • ”can0” on Linux

      • ”*” on Windows

property sim_state: phoenix6.sim.cancoder_sim_state.CANcoderSimState

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

Return type:

CANcoderSimState

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMajor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMinor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBugfix Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBuild Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Version Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFaultField Status Signal Object

Return type:

StatusSignal[int]

get_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Velocity of the device.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Velocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Position of the device. This is initialized to the absolute position on boot.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Position Status Signal Object

Return type:

StatusSignal[rotation]

get_absolute_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Absolute Position of the device. The possible range is documented below; however, the exact expected range is determined by the AbsoluteSensorDiscontinuityPoint. This position is only affected by the MagnetSensor configs.

  • Minimum Value: -1.0

  • Maximum Value: 0.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AbsolutePosition Status Signal Object

Return type:

StatusSignal[rotation]

get_unfiltered_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

The unfiltered velocity reported by CANcoder.

This is the unfiltered velocity reported by CANcoder. This signal does not use the fusing algorithm.

  • Minimum Value: -8000.0

  • Maximum Value: 7999.755859375

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

UnfilteredVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_position_since_boot(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

The relative position reported by the CANcoder since boot.

This is the total displacement reported by CANcoder since power up. This signal is relative and is not influenced by the fusing algorithm.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PositionSinceBoot Status Signal Object

Return type:

StatusSignal[rotation]

get_supply_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

Measured supply voltage to the CANcoder.

  • Minimum Value: 4

  • Maximum Value: 16.75

  • Default Value: 4

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_magnet_health(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.MagnetHealthValue]

Magnet health as measured by CANcoder.

Red indicates too close or too far, Orange is adequate but with reduced accuracy, green is ideal. Invalid means the accuracy cannot be determined.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MagnetHealth Status Signal Object

Return type:

StatusSignal[MagnetHealthValue]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsProLicensed Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

get_fault_bad_magnet(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The magnet distance is not correct or magnet is missing

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BadMagnet Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_bad_magnet(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The magnet distance is not correct or magnet is missing

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BadMagnet Status Signal Object

Return type:

StatusSignal[bool]

set_control(request: phoenix6.hardware.parent_device.SupportsSendRequest) phoenix6.status_signal.StatusCode
set_position(new_value: phoenix6.units.rotation, timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Sets the current position of the device.

Parameters:
  • new_value (rotation) – Value to set to. Units are in rotations.

  • timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.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.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hardware fault occurred

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device supply voltage dropped to near brownout levels

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device boot while detecting the enable signal

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bad_magnet(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The magnet distance is not correct or magnet is missing

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

class phoenix6.hardware.core.CorePigeon2(device_id: int, canbus: str | phoenix6.canbus.CANBus = '')

Bases: phoenix6.hardware.parent_device.ParentDevice

Constructs a new Pigeon 2 sensor object.

Parameters:
  • device_id (int) – ID of the device, as configured in Phoenix Tuner.

  • canbus (str | CANBus, optional) –

    Name of the CAN bus this device is on. Possible CAN bus strings are:

    • ”rio” for the native roboRIO CAN bus

    • CANivore name or serial number

    • SocketCAN interface (non-FRC Linux only)

    • ”*” for any CANivore seen by the program

    • empty string (default) to select the default for the system:

      • ”rio” on roboRIO

      • ”can0” on Linux

      • ”*” on Windows

property sim_state: 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

Return type:

Pigeon2SimState

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMajor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMinor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBugfix Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBuild Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Version Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Yaw Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Pitch Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Roll Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

QuatW Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

QuatX Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

QuatY Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

QuatZ Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

GravityVectorX Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

GravityVectorY Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

GravityVectorZ Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Temperature Status Signal Object

Return type:

StatusSignal[celsius]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

NoMotionEnabled Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

NoMotionCount Status Signal Object

Return type:

StatusSignal[float]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

TemperatureCompensationDisabled Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

UpTime Status Signal Object

Return type:

StatusSignal[second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AccumGyroX Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AccumGyroY Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AccumGyroZ Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AngularVelocityXWorld Status Signal Object

Return type:

StatusSignal[degrees_per_second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AngularVelocityYWorld Status Signal Object

Return type:

StatusSignal[degrees_per_second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AngularVelocityZWorld Status Signal Object

Return type:

StatusSignal[degrees_per_second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AccelerationX Status Signal Object

Return type:

StatusSignal[g]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AccelerationY Status Signal Object

Return type:

StatusSignal[g]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AccelerationZ Status Signal Object

Return type:

StatusSignal[g]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyVoltage Status Signal Object

Return type:

StatusSignal[volt]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AngularVelocityXDevice Status Signal Object

Return type:

StatusSignal[degrees_per_second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AngularVelocityYDevice Status Signal Object

Return type:

StatusSignal[degrees_per_second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AngularVelocityZDevice Status Signal Object

Return type:

StatusSignal[degrees_per_second]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MagneticFieldX Status Signal Object

Return type:

StatusSignal[microtesla]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MagneticFieldY Status Signal Object

Return type:

StatusSignal[microtesla]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MagneticFieldZ Status Signal Object

Return type:

StatusSignal[microtesla]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RawMagneticFieldX Status Signal Object

Return type:

StatusSignal[microtesla]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RawMagneticFieldY Status Signal Object

Return type:

StatusSignal[microtesla]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RawMagneticFieldZ Status Signal Object

Return type:

StatusSignal[microtesla]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsProLicensed Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootupAccelerometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootupAccelerometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootupGyroscope Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootupGyroscope Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootupMagnetometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootupMagnetometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootIntoMotion Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootIntoMotion Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_DataAcquiredLate Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_DataAcquiredLate Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_LoopTimeSlow Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_LoopTimeSlow Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_SaturatedMagnetometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_SaturatedMagnetometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_SaturatedAccelerometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_SaturatedAccelerometer Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_SaturatedGyroscope Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_SaturatedGyroscope Status Signal Object

Return type:

StatusSignal[bool]

set_control(request: phoenix6.hardware.parent_device.SupportsSendRequest) phoenix6.status_signal.StatusCode
set_yaw(new_value: phoenix6.units.degree, timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

The yaw to set the Pigeon2 to right now.

Parameters:
  • new_value (degree) – Value to set to. Units are in deg.

  • timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.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.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hardware fault occurred

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device supply voltage dropped to near brownout levels

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device boot while detecting the enable signal

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bootup_accelerometer(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Bootup checks failed: Accelerometer

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bootup_gyroscope(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Bootup checks failed: Gyroscope

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bootup_magnetometer(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Bootup checks failed: Magnetometer

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_into_motion(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Motion Detected during bootup.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_data_acquired_late(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Motion stack data acquisition was slower than expected

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_loop_time_slow(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Motion stack loop time was slower than expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_saturated_magnetometer(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Magnetometer values are saturated

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_saturated_accelerometer(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Accelerometer values are saturated

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_saturated_gyroscope(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Gyroscope values are saturated

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

class phoenix6.hardware.core.CoreTalonFXS(device_id: int, canbus: str | phoenix6.canbus.CANBus = '')

Bases: phoenix6.hardware.parent_device.ParentDevice, phoenix6.hardware.traits.common_talon_with_external_motor.CommonTalonWithExternalMotor

Constructs a new Talon FXS motor controller object.

Parameters:
  • device_id (int) – ID of the device, as configured in Phoenix Tuner.

  • canbus (str | CANBus, optional) –

    Name of the CAN bus this device is on. Possible CAN bus strings are:

    • ”rio” for the native roboRIO CAN bus

    • CANivore name or serial number

    • SocketCAN interface (non-FRC Linux only)

    • ”*” for any CANivore seen by the program

    • empty string (default) to select the default for the system:

      • ”rio” on roboRIO

      • ”can0” on Linux

      • ”*” on Windows

property sim_state: phoenix6.sim.talon_fxs_sim_state.TalonFXSSimState

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

Return type:

TalonFXSSimState

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMajor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMinor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBugfix Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBuild Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Version Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFaultField Status Signal Object

Return type:

StatusSignal[int]

get_motor_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

The applied (output) motor voltage.

  • Minimum Value: -40.96

  • Maximum Value: 40.95

  • Default Value: 0

  • Units: V

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_forward_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ForwardLimitValue]

Forward Limit Pin.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ForwardLimit Status Signal Object

Return type:

StatusSignal[ForwardLimitValue]

get_reverse_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ReverseLimitValue]

Reverse Limit Pin.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ReverseLimit Status Signal Object

Return type:

StatusSignal[ReverseLimitValue]

get_applied_rotor_polarity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.AppliedRotorPolarityValue]

The applied rotor polarity as seen from the front of the motor. This typically is determined by the Inverted config, but can be overridden if using Follower features.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AppliedRotorPolarity Status Signal Object

Return type:

StatusSignal[AppliedRotorPolarityValue]

get_duty_cycle(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The applied motor duty cycle.

  • Minimum Value: -2.0

  • Maximum Value: 1.9990234375

  • Default Value: 0

  • Units: fractional

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DutyCycle Status Signal Object

Return type:

StatusSignal[float]

get_torque_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Current corresponding to the torque output by the motor. Similar to StatorCurrent. Users will likely prefer this current to calculate the applied torque to the rotor.

Stator current where positive current means torque is applied in the forward direction as determined by the Inverted setting.

  • Minimum Value: -327.68

  • Maximum Value: 327.67

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

TorqueCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_stator_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Current corresponding to the stator windings. Similar to TorqueCurrent. Users will likely prefer TorqueCurrent over StatorCurrent.

Stator current where Positive current indicates motoring regardless of direction. Negative current indicates regenerative braking regardless of direction.

  • Minimum Value: -327.68

  • Maximum Value: 327.66

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StatorCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_supply_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Measured supply side current.

  • Minimum Value: -327.68

  • Maximum Value: 327.66

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_supply_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

Measured supply voltage to the device.

  • Minimum Value: 4

  • Maximum Value: 29.575

  • Default Value: 4

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of device.

This is the temperature that the device measures itself to be at. Similar to Processor Temperature.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DeviceTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_processor_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of the processor.

This is the temperature that the processor measures itself to be at. Similar to Device Temperature.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ProcessorTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_rotor_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Velocity of the motor rotor. This velocity is not affected by any feedback configs.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RotorVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_rotor_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Position of the motor rotor. This position is only affected by the RotorOffset config and calls to setPosition.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RotorPosition Status Signal Object

Return type:

StatusSignal[rotation]

get_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Velocity of the device in mechanism rotations per second. This can be the velocity of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 50.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Velocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Position of the device in mechanism rotations. This can be the position of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs, as well as calls to setPosition.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 50.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Position Status Signal Object

Return type:

StatusSignal[rotation]

get_acceleration(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second_squared]

Acceleration of the device in mechanism rotations per second². This can be the acceleration of a remote sensor and is affected by the RotorToSensorRatio and SensorToMechanismRatio configs.

  • Minimum Value: -2048.0

  • Maximum Value: 2047.75

  • Default Value: 0

  • Units: rotations per second²

Default Rates:
  • CAN 2.0: 50.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Acceleration Status Signal Object

Return type:

StatusSignal[rotations_per_second_squared]

get_control_mode(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ControlModeValue]

The active control mode of the motor controller.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ControlMode Status Signal Object

Return type:

StatusSignal[ControlModeValue]

get_external_motor_temp_status(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ExternalMotorTempStatusValue]

Status of the temperature sensor of the external motor.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ExternalMotorTempStatus Status Signal Object

Return type:

StatusSignal[ExternalMotorTempStatusValue]

get_external_motor_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of the external motor.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ExternalMotorTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_motion_magic_is_running(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.MotionMagicIsRunningValue]

Check if Motion Magic® is running. This is equivalent to checking that the reported control mode is a Motion Magic® based mode.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotionMagicIsRunning Status Signal Object

Return type:

StatusSignal[MotionMagicIsRunningValue]

get_device_enable(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.DeviceEnableValue]

Indicates if device is actuator enabled.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DeviceEnable Status Signal Object

Return type:

StatusSignal[DeviceEnableValue]

get_closed_loop_slot(refresh: bool = True) phoenix6.status_signal.StatusSignal[int]

The slot that the closed-loop PID is using.

  • Minimum Value: 0

  • Maximum Value: 2

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopSlot Status Signal Object

Return type:

StatusSignal[int]

get_motor_output_status(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.MotorOutputStatusValue]

Assess the status of the motor output with respect to load and supply.

This routine can be used to determine the general status of motor commutation.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorOutputStatus Status Signal Object

Return type:

StatusSignal[MotorOutputStatusValue]

get_differential_control_mode(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.DifferentialControlModeValue]

The active control mode of the differential controller.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialControlMode Status Signal Object

Return type:

StatusSignal[DifferentialControlModeValue]

get_differential_average_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Average component of the differential velocity of device.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialAverageVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_differential_average_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Average component of the differential position of device.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialAveragePosition Status Signal Object

Return type:

StatusSignal[rotation]

get_differential_difference_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Difference component of the differential velocity of device.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialDifferenceVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_differential_difference_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Difference component of the differential position of device.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialDifferencePosition Status Signal Object

Return type:

StatusSignal[rotation]

get_differential_closed_loop_slot(refresh: bool = True) phoenix6.status_signal.StatusSignal[int]

The slot that the closed-loop differential PID is using.

  • Minimum Value: 0

  • Maximum Value: 2

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopSlot Status Signal Object

Return type:

StatusSignal[int]

get_motor_kt(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.newton_meters_per_ampere]

The torque constant (K_T) of the motor.

  • Minimum Value: 0.0

  • Maximum Value: 0.025500000000000002

  • Default Value: 0

  • Units: Nm/A

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorKT Status Signal Object

Return type:

StatusSignal[newton_meters_per_ampere]

get_motor_kv(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rpm_per_volt]

The velocity constant (K_V) of the motor.

  • Minimum Value: 0.0

  • Maximum Value: 2047.0

  • Default Value: 0

  • Units: RPM/V

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorKV Status Signal Object

Return type:

StatusSignal[rpm_per_volt]

get_motor_stall_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

The stall current of the motor at 12 V output.

  • Minimum Value: 0.0

  • Maximum Value: 1023.0

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MotorStallCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_bridge_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.BridgeOutputValue]

The applied output of the bridge.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

BridgeOutput Status Signal Object

Return type:

StatusSignal[BridgeOutputValue]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsProLicensed Status Signal Object

Return type:

StatusSignal[bool]

get_ancillary_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.celsius]

Temperature of device from second sensor.

Newer versions of Talon have multiple temperature measurement methods.

  • Minimum Value: 0.0

  • Maximum Value: 255.0

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AncillaryDeviceTemp Status Signal Object

Return type:

StatusSignal[celsius]

get_connected_motor(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.ConnectedMotorValue]

The type of motor attached to the Talon.

This can be used to determine what motor is attached to the Talon FX. Return will be “Unknown” if firmware is too old or device is not present.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ConnectedMotor Status Signal Object

Return type:

StatusSignal[ConnectedMotorValue]

get_five_v_rail_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

The measured voltage of the 5V rail available on the JST and dataport connectors.

  • Minimum Value: 0.0

  • Maximum Value: 40.95

  • Default Value: 0

  • Units: Volts

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FiveVRailVoltage Status Signal Object

Return type:

StatusSignal[volt]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

get_fault_proc_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Processor temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ProcTemp Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_proc_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Processor temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ProcTemp Status Signal Object

Return type:

StatusSignal[bool]

get_fault_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Device temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_DeviceTemp Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_device_temp(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Device temperature exceeded limit

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_DeviceTemp Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

get_fault_bridge_brownout(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Bridge was disabled most likely due to supply voltage dropping too low.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BridgeBrownout Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_bridge_brownout(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Bridge was disabled most likely due to supply voltage dropping too low.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BridgeBrownout Status Signal Object

Return type:

StatusSignal[bool]

get_fault_remote_sensor_reset(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor has reset.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_RemoteSensorReset Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_remote_sensor_reset(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor has reset.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_RemoteSensorReset Status Signal Object

Return type:

StatusSignal[bool]

get_fault_missing_differential_fx(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote Talon used for differential control is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MissingDifferentialFX Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_missing_differential_fx(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote Talon used for differential control is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MissingDifferentialFX Status Signal Object

Return type:

StatusSignal[bool]

get_fault_remote_sensor_pos_overflow(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_RemoteSensorPosOverflow Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_remote_sensor_pos_overflow(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_RemoteSensorPosOverflow Status Signal Object

Return type:

StatusSignal[bool]

get_fault_over_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage has exceeded the maximum voltage rating of device.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_OverSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_over_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage has exceeded the maximum voltage rating of device.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_OverSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_fault_unstable_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnstableSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_unstable_supply_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnstableSupplyV Status Signal Object

Return type:

StatusSignal[bool]

get_fault_reverse_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ReverseHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_reverse_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ReverseHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_forward_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ForwardHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_forward_hard_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward limit switch has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ForwardHardLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_reverse_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ReverseSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_reverse_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Reverse soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ReverseSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_forward_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_ForwardSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_forward_soft_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Forward soft limit has been asserted. Output is set to neutral.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_ForwardSoftLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_missing_soft_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote soft limit device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MissingSoftLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_missing_soft_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote soft limit device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MissingSoftLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_fault_missing_hard_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote limit switch device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MissingHardLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_missing_hard_limit_remote(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote limit switch device is not present on CAN Bus.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MissingHardLimitRemote Status Signal Object

Return type:

StatusSignal[bool]

get_fault_remote_sensor_data_invalid(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor’s data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder’s magnet strength falls into the “red” range.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_RemoteSensorDataInvalid Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_remote_sensor_data_invalid(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor’s data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder’s magnet strength falls into the “red” range.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_RemoteSensorDataInvalid Status Signal Object

Return type:

StatusSignal[bool]

get_fault_fused_sensor_out_of_sync(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_FusedSensorOutOfSync Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_fused_sensor_out_of_sync(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_FusedSensorOutOfSync Status Signal Object

Return type:

StatusSignal[bool]

get_fault_stator_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Stator current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_StatorCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_stator_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Stator current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_StatorCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_supply_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_SupplyCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_supply_curr_limit(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Supply current limit occured.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_SupplyCurrLimit Status Signal Object

Return type:

StatusSignal[bool]

get_fault_using_fused_cancoder_while_unlicensed(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UsingFusedCANcoderWhileUnlicensed Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_using_fused_cancoder_while_unlicensed(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UsingFusedCANcoderWhileUnlicensed Status Signal Object

Return type:

StatusSignal[bool]

get_fault_static_brake_disabled(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Static brake was momentarily disabled due to excessive braking current while disabled.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_StaticBrakeDisabled Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_static_brake_disabled(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Static brake was momentarily disabled due to excessive braking current while disabled.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_StaticBrakeDisabled Status Signal Object

Return type:

StatusSignal[bool]

get_fault_bridge_short(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Bridge was disabled most likely due to a short in the motor leads.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BridgeShort Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_bridge_short(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Bridge was disabled most likely due to a short in the motor leads.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BridgeShort Status Signal Object

Return type:

StatusSignal[bool]

get_fault_hall_sensor_missing(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Hall sensor signals are invalid. Check hall sensor and cabling. This fault can be used to detect when hall cable is unplugged.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_HallSensorMissing Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_hall_sensor_missing(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Hall sensor signals are invalid. Check hall sensor and cabling. This fault can be used to detect when hall cable is unplugged.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_HallSensorMissing Status Signal Object

Return type:

StatusSignal[bool]

get_fault_drive_disabled_hall_sensor(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Hall sensor signals are invalid during motor drive, so motor was disabled. Check hall sensor and cabling.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_DriveDisabledHallSensor Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_drive_disabled_hall_sensor(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Hall sensor signals are invalid during motor drive, so motor was disabled. Check hall sensor and cabling.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_DriveDisabledHallSensor Status Signal Object

Return type:

StatusSignal[bool]

get_fault_motor_temp_sensor_missing(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Motor temperature signal appears to not be connected.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MotorTempSensorMissing Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_motor_temp_sensor_missing(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Motor temperature signal appears to not be connected.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MotorTempSensorMissing Status Signal Object

Return type:

StatusSignal[bool]

get_fault_motor_temp_sensor_too_hot(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Motor temperature signal indicates motor is too hot.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_MotorTempSensorTooHot Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_motor_temp_sensor_too_hot(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Motor temperature signal indicates motor is too hot.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_MotorTempSensorTooHot Status Signal Object

Return type:

StatusSignal[bool]

get_closed_loop_proportional_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop proportional component

The portion of the closed loop output that is the proportional to the error. Alternatively, the p-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopProportionalOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_integrated_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop integrated component

The portion of the closed loop output that is proportional to the integrated error. Alternatively, the i-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopIntegratedOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_feed_forward(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Feedforward passed by the user

This is the general feedforward that the user provides for the closed loop.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopFeedForward Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_derivative_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop derivative component

The portion of the closed loop output that is the proportional to the deriviative the error. Alternatively, the d-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopDerivativeOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Closed loop total output

The total output of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopOutput Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_reference(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Value that the closed loop is targeting

This is the value that the closed loop PID controller targets.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopReference Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_reference_slope(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Derivative of the target that the closed loop is targeting

This is the change in the closed loop reference. This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion Magic®.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopReferenceSlope Status Signal object

Return type:

StatusSignal[float]

get_closed_loop_error(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The difference between target reference and current measurement

This is the value that is treated as the error in the PID loop.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

ClosedLoopError Status Signal object

Return type:

StatusSignal[float]

get_differential_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The calculated motor output for differential followers.

This is a torque request when using the TorqueCurrentFOC control output type, and a duty cycle in all other control types.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_proportional_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop proportional component

The portion of the differential closed loop output that is the proportional to the error. Alternatively, the p-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopProportionalOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_integrated_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop integrated component

The portion of the differential closed loop output that is proportional to the integrated error. Alternatively, the i-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopIntegratedOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_feed_forward(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential Feedforward passed by the user

This is the general feedforward that the user provides for the differential closed loop.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopFeedForward Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_derivative_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop derivative component

The portion of the differential closed loop output that is the proportional to the deriviative the error. Alternatively, the d-Contribution of the closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopDerivativeOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_output(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Differential closed loop total output

The total output of the differential closed loop output.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopOutput Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_reference(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Value that the differential closed loop is targeting

This is the value that the differential closed loop PID controller targets.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopReference Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_reference_slope(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Derivative of the target that the differential closed loop is targeting

This is the change in the closed loop reference. This may be used in the feed-forward calculation, the derivative-error, or in application of the signage for kS. Typically, this represents the target velocity during Motion Magic®.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopReferenceSlope Status Signal object

Return type:

StatusSignal[float]

get_differential_closed_loop_error(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The difference between target differential reference and current measurement

This is the value that is treated as the error in the differential PID loop.

Default Rates:
  • CAN 2.0: 4.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DifferentialClosedLoopError Status Signal object

Return type:

StatusSignal[float]

set_control(request: phoenix6.controls.duty_cycle_out.DutyCycleOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.voltage_out.VoltageOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.position_duty_cycle.PositionDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.position_voltage.PositionVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.velocity_duty_cycle.VelocityDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.velocity_voltage.VelocityVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_duty_cycle.MotionMagicDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_voltage.MotionMagicVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_duty_cycle.DifferentialDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_voltage.DifferentialVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_position_duty_cycle.DifferentialPositionDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_position_voltage.DifferentialPositionVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_velocity_duty_cycle.DifferentialVelocityDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_velocity_voltage.DifferentialVelocityVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_motion_magic_duty_cycle.DifferentialMotionMagicDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_motion_magic_voltage.DifferentialMotionMagicVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.follower.Follower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.strict_follower.StrictFollower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_follower.DifferentialFollower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.differential_strict_follower.DifferentialStrictFollower) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.neutral_out.NeutralOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.coast_out.CoastOut) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.static_brake.StaticBrake) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_velocity_duty_cycle.MotionMagicVelocityDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_velocity_voltage.MotionMagicVelocityVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_expo_duty_cycle.MotionMagicExpoDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.motion_magic_expo_voltage.MotionMagicExpoVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.dynamic_motion_magic_duty_cycle.DynamicMotionMagicDutyCycle) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.dynamic_motion_magic_voltage.DynamicMotionMagicVoltage) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_duty_cycle_out_position.Diff_DutyCycleOut_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_duty_cycle_position.Diff_PositionDutyCycle_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_duty_cycle_position.Diff_VelocityDutyCycle_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_duty_cycle_position.Diff_MotionMagicDutyCycle_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_duty_cycle_out_velocity.Diff_DutyCycleOut_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_duty_cycle_velocity.Diff_PositionDutyCycle_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_duty_cycle_velocity.Diff_VelocityDutyCycle_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_duty_cycle_velocity.Diff_MotionMagicDutyCycle_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_voltage_out_position.Diff_VoltageOut_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_voltage_position.Diff_PositionVoltage_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_voltage_position.Diff_VelocityVoltage_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_voltage_position.Diff_MotionMagicVoltage_Position) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_voltage_out_velocity.Diff_VoltageOut_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_position_voltage_velocity.Diff_PositionVoltage_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_velocity_voltage_velocity.Diff_VelocityVoltage_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.controls.compound.diff_motion_magic_voltage_velocity.Diff_MotionMagicVoltage_Velocity) phoenix6.status_signal.StatusCode
set_control(request: phoenix6.hardware.parent_device.SupportsSendRequest) phoenix6.status_signal.StatusCode

Request a specified motor duty cycle.

This control mode will output a proportion of the supplied voltage which is supplied by the user.

  • DutyCycleOut Parameters:
    • output: Proportion of supply voltage to apply in fractional units

      between -1 and +1

    • enable_foc: Set to true to use FOC commutation (requires Phoenix Pro),

      which increases peak power by ~15%. Set to false to use trapezoidal commutation.

      FOC improves motor performance by leveraging torque (current) control. However, this may be inconvenient for applications that require specifying duty cycle or voltage. CTR-Electronics has developed a hybrid method that combines the performances gains of FOC while still allowing applications to provide duty cycle or voltage demand. This not to be confused with simple sinusoidal control or phase voltage control which lacks the performance gains.

    • override_brake_dur_neutral: Set to true to static-brake the rotor when

      output is zero (or within deadband). Set to false to use the NeutralMode configuration setting (default). This flag exists to provide the fundamental behavior of this control when output is zero, which is to provide 0V to the motor.

    • limit_forward_motion: Set to true to force forward limiting. This

      allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.

    • limit_reverse_motion: Set to true to force reverse limiting. This

      allows users to use other limit switch sensors connected to robot controller. This also allows use of active sensors that require external power.

    • ignore_hardware_limits: Set to true to ignore hardware limit switches

      and the LimitForwardMotion and LimitReverseMotion parameters, instead allowing motion.

      This can be useful on mechanisms such as an intake/feeder, where a limit switch stops motion while intaking but should be ignored when feeding to a shooter.

      The hardware limit faults and Forward/ReverseLimit signals will still report the values of the limit switches regardless of this parameter.

    • use_timesync: Set to true to delay applying this control request until

      a timesync boundary (requires Phoenix Pro and CANivore). This eliminates the impact of nondeterministic network delays in exchange for a larger but deterministic control latency.

      This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.

Parameters:

request (DutyCycleOut) – Control object to request of the device

Returns:

Code response of the request

Return type:

StatusCode

set_position(new_value: phoenix6.units.rotation, timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Sets the mechanism position of the device in mechanism rotations.

Parameters:
  • new_value (rotation) – Value to set to. Units are in rotations.

  • timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.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.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hardware fault occurred

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_proc_temp(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Processor temperature exceeded limit

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_device_temp(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device temperature exceeded limit

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device supply voltage dropped to near brownout levels

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device boot while detecting the enable signal

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bridge_brownout(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_remote_sensor_reset(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor has reset.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_missing_differential_fx(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote Talon used for differential control is not present on CAN Bus.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_remote_sensor_pos_overflow(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor position has overflowed. Because of the nature of remote sensors, it is possible for the remote sensor position to overflow beyond what is supported by the status signal frame. However, this is rare and cannot occur over the course of an FRC match under normal use.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_over_supply_v(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unstable_supply_v(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_reverse_hard_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Reverse limit switch has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_forward_hard_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Forward limit switch has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_reverse_soft_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Reverse soft limit has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_forward_soft_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Forward soft limit has been asserted. Output is set to neutral.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_missing_soft_limit_remote(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote soft limit device is not present on CAN Bus.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_missing_hard_limit_remote(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote limit switch device is not present on CAN Bus.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_remote_sensor_data_invalid(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor’s data is no longer trusted. This can happen if the remote sensor disappears from the CAN bus or if the remote sensor indicates its data is no longer valid, such as when a CANcoder’s magnet strength falls into the “red” range.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_fused_sensor_out_of_sync(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: The remote sensor used for fusion has fallen out of sync to the local sensor. A re-synchronization has occurred, which may cause a discontinuity. This typically happens if there is significant slop in the mechanism, or if the RotorToSensorRatio configuration parameter is incorrect.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_stator_curr_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Stator current limit occured.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_supply_curr_limit(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Supply current limit occured.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_using_fused_cancoder_while_unlicensed(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Using Fused CANcoder feature while unlicensed. Device has fallen back to remote CANcoder.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_static_brake_disabled(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Static brake was momentarily disabled due to excessive braking current while disabled.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_bridge_short(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Bridge was disabled most likely due to a short in the motor leads.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hall_sensor_missing(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hall sensor signals are invalid. Check hall sensor and cabling. This fault can be used to detect when hall cable is unplugged.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_drive_disabled_hall_sensor(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hall sensor signals are invalid during motor drive, so motor was disabled. Check hall sensor and cabling.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_motor_temp_sensor_missing(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Motor temperature signal appears to not be connected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_motor_temp_sensor_too_hot(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Motor temperature signal indicates motor is too hot.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

class phoenix6.hardware.core.CoreCANrange(device_id: int, canbus: str | phoenix6.canbus.CANBus = '')

Bases: phoenix6.hardware.parent_device.ParentDevice

Constructs a new CANrange object.

Parameters:
  • device_id (int) – ID of the device, as configured in Phoenix Tuner.

  • canbus (str | CANBus, optional) –

    Name of the CAN bus this device is on. Possible CAN bus strings are:

    • ”rio” for the native roboRIO CAN bus

    • CANivore name or serial number

    • SocketCAN interface (non-FRC Linux only)

    • ”*” for any CANivore seen by the program

    • empty string (default) to select the default for the system:

      • ”rio” on roboRIO

      • ”can0” on Linux

      • ”*” on Windows

property sim_state: phoenix6.sim.canrange_sim_state.CANrangeSimState

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

Return type:

CANrangeSimState

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMajor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMinor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBugfix Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBuild Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Version Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsProLicensed Status Signal Object

Return type:

StatusSignal[bool]

get_supply_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

Measured supply voltage to the CANrange.

  • Minimum Value: 4

  • Maximum Value: 16.75

  • Default Value: 4

  • Units: V

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_distance(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.meter]

Distance to the nearest object in the configured field of view of the CANrange.

  • Minimum Value: 0.0

  • Maximum Value: 65.535

  • Default Value: 0

  • Units: m

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Distance Status Signal Object

Return type:

StatusSignal[meter]

get_measurement_time(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.second]

Timestamp of the most recent measurements. This is not synchronized to any other clock source.

Users can use this to check when the measurements are updated.

  • Minimum Value: 0.0

  • Maximum Value: 65.535

  • Default Value: 0

  • Units: s

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MeasurementTime Status Signal Object

Return type:

StatusSignal[second]

get_signal_strength(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

Approximate signal strength of the measurement. A higher value indicates a higher strength of signal.

A value of ~2500 is typical when detecting an object under short-range conditions.

  • Minimum Value: 0

  • Maximum Value: 65535

  • Default Value: 0

  • Units:

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SignalStrength Status Signal Object

Return type:

StatusSignal[float]

get_is_detected(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

Whether the CANrange detects an object using the configured proximity parameters.

  • Default Value: 0

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsDetected Status Signal Object

Return type:

StatusSignal[bool]

get_measurement_health(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.MeasurementHealthValue]

Health of the distance measurement.

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

MeasurementHealth Status Signal Object

Return type:

StatusSignal[MeasurementHealthValue]

get_ambient_signal(refresh: bool = True) phoenix6.status_signal.StatusSignal[float]

The amount of ambient infrared light that the sensor is detecting. For ideal operation, this should be as low as possible.

Short-range mode reduces the influence of ambient infrared light.

  • Minimum Value: 0

  • Maximum Value: 65535

  • Default Value: 0

  • Units:

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

AmbientSignal Status Signal Object

Return type:

StatusSignal[float]

get_distance_std_dev(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.meter]

Standard Deviation of the distance measurement.

  • Minimum Value: 0.0

  • Maximum Value: 1.3107000000000002

  • Default Value: 0

  • Units: m

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

DistanceStdDev Status Signal Object

Return type:

StatusSignal[meter]

get_real_fov_center_x(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.degree]

The actual center of the FOV in the X direction. This takes into account the user-configured FOVCenterX and FOVRangeX.

  • Minimum Value: -16.0

  • Maximum Value: 15.875

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RealFOVCenterX Status Signal Object

Return type:

StatusSignal[degree]

get_real_fov_center_y(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.degree]

The actual center of the FOV in the Y direction. This takes into account the user-configured FOVCenterY and FOVRangeY.

  • Minimum Value: -16.0

  • Maximum Value: 15.875

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RealFOVCenterY Status Signal Object

Return type:

StatusSignal[degree]

get_real_fov_range_x(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.degree]

The actual range of the FOV in the X direction. This takes into account the user-configured FOVRangeX.

  • Minimum Value: 0.0

  • Maximum Value: 31.875

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RealFOVRangeX Status Signal Object

Return type:

StatusSignal[degree]

get_real_fov_range_y(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.degree]

The actual range of the FOV in the Y direction. This takes into account the user-configured FOVRangeY.

  • Minimum Value: 0.0

  • Maximum Value: 31.875

  • 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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

RealFOVRangeY Status Signal Object

Return type:

StatusSignal[degree]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

set_control(request: phoenix6.hardware.parent_device.SupportsSendRequest) phoenix6.status_signal.StatusCode
clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.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.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hardware fault occurred

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device supply voltage dropped to near brownout levels

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device boot while detecting the enable signal

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

class phoenix6.hardware.core.CoreCANdi(device_id: int, canbus: str | phoenix6.canbus.CANBus = '')

Bases: phoenix6.hardware.parent_device.ParentDevice

Constructs a new CANdi object.

Parameters:
  • device_id (int) – ID of the device, as configured in Phoenix Tuner.

  • canbus (str | CANBus, optional) –

    Name of the CAN bus this device is on. Possible CAN bus strings are:

    • ”rio” for the native roboRIO CAN bus

    • CANivore name or serial number

    • SocketCAN interface (non-FRC Linux only)

    • ”*” for any CANivore seen by the program

    • empty string (default) to select the default for the system:

      • ”rio” on roboRIO

      • ”can0” on Linux

      • ”*” on Windows

property sim_state: phoenix6.sim.candi_sim_state.CANdiSimState

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

Return type:

CANdiSimState

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMajor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionMinor Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBugfix Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

VersionBuild Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Version Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

FaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFaultField Status Signal Object

Return type:

StatusSignal[int]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

IsProLicensed Status Signal Object

Return type:

StatusSignal[bool]

get_s1_state(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.S1StateValue]

State of the Signal 1 input (S1IN).

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

S1State Status Signal Object

Return type:

StatusSignal[S1StateValue]

get_s2_state(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.signals.spn_enums.S2StateValue]

State of the Signal 2 input (S2IN).

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

S2State Status Signal Object

Return type:

StatusSignal[S2StateValue]

get_quadrature_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Position from a quadrature encoder sensor connected to both the S1IN and S2IN inputs.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

QuadraturePosition Status Signal Object

Return type:

StatusSignal[rotation]

get_pwm1_rise_to_rise(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.microsecond]

Measured rise to rise time of the PWM signal at the S1 input of CANdi.

  • Minimum Value: 0

  • Maximum Value: 131070

  • Default Value: 0

  • Units: us

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PWM1RiseToRise Status Signal Object

Return type:

StatusSignal[microsecond]

get_pwm1_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Measured position of the PWM sensor at the S1 input of CANdi.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PWM1Position Status Signal Object

Return type:

StatusSignal[rotation]

get_pwm1_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Measured velocity of the PWM sensor at the S1 input of CANdi.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PWM1Velocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_pwm2_rise_to_rise(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.microsecond]

Measured rise to rise time of the PWM signal at the S2 input of CANdi.

  • Minimum Value: 0

  • Maximum Value: 131070

  • Default Value: 0

  • Units: us

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PWM2RiseToRise Status Signal Object

Return type:

StatusSignal[microsecond]

get_pwm2_position(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotation]

Measured position of the PWM sensor at the S2 input of CANdi.

  • Minimum Value: -16384.0

  • Maximum Value: 16383.999755859375

  • Default Value: 0

  • Units: rotations

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PWM2Position Status Signal Object

Return type:

StatusSignal[rotation]

get_overcurrent(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

True when the CANdi is in overcurrent protection mode. This may be due to either overcurrent or a short-circuit.

  • Default Value: 0

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Overcurrent Status Signal Object

Return type:

StatusSignal[bool]

get_supply_voltage(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.volt]

Measured supply voltage to the CANdi.

  • Minimum Value: 4.0

  • Maximum Value: 29.5

  • Default Value: 0

  • Units: V

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

SupplyVoltage Status Signal Object

Return type:

StatusSignal[volt]

get_output_current(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.ampere]

Measured output current. This includes both Vbat and 5V output current.

  • Minimum Value: 0.0

  • Maximum Value: 0.51

  • Default Value: 0

  • Units: A

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

OutputCurrent Status Signal Object

Return type:

StatusSignal[ampere]

get_pwm2_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Measured velocity of the PWM sensor at the S2 input of CANdi.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

PWM2Velocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_quadrature_velocity(refresh: bool = True) phoenix6.status_signal.StatusSignal[phoenix6.units.rotations_per_second]

Velocity from a quadrature encoder sensor connected to both the S1IN and S2IN inputs.

  • Minimum Value: -512.0

  • Maximum Value: 511.998046875

  • Default Value: 0

  • Units: rotations per second

Default Rates:
  • CAN 2.0: 20.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

QuadratureVelocity Status Signal Object

Return type:

StatusSignal[rotations_per_second]

get_s1_closed(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

True if the Signal 1 input (S1IN) matches the configured S1 Closed State.

Configure the S1 closed state in the Digitals configuration object to change when this is asserted.

  • Default Value: False

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

S1Closed Status Signal Object

Return type:

StatusSignal[bool]

get_s2_closed(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

True if the Signal 2 input (S2IN) matches the configured S2 Closed State.

Configure the S2 closed state in the Digitals configuration object to change when this is asserted.

  • Default Value: False

Default Rates:
  • CAN 2.0: 100.0 Hz

  • CAN FD: 100.0 Hz (TimeSynced with Pro)

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

S2Closed Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Hardware Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_Undervoltage Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_BootDuringEnable Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

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.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_UnlicensedFeatureInUse Status Signal Object

Return type:

StatusSignal[bool]

get_fault_5_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

CANdi has detected a 5V fault. This may be due to overcurrent or a short-circuit.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

Fault_5V Status Signal Object

Return type:

StatusSignal[bool]

get_sticky_fault_5_v(refresh: bool = True) phoenix6.status_signal.StatusSignal[bool]

CANdi has detected a 5V fault. This may be due to overcurrent or a short-circuit.

  • Default Value: False

Default Rates:
  • CAN: 4.0 Hz

This refreshes and returns a cached StatusSignal object.

Parameters:

refresh (bool) – Whether to refresh the StatusSignal before returning it; defaults to true

Returns:

StickyFault_5V Status Signal Object

Return type:

StatusSignal[bool]

set_control(request: phoenix6.hardware.parent_device.SupportsSendRequest) phoenix6.status_signal.StatusCode
set_quadrature_position(new_value: phoenix6.units.rotation, timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Sets the position of the quadrature input.

Parameters:
  • new_value (rotation) – Value to set to. Units are in rotations.

  • timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.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.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Hardware fault occurred

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device supply voltage dropped to near brownout levels

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: Device boot while detecting the enable signal

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_unlicensed_feature_in_use(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode

clear_sticky_fault_5_v(timeout_seconds: phoenix6.units.second = 0.1) phoenix6.status_signal.StatusCode

Clear sticky fault: CANdi has detected a 5V fault. This may be due to overcurrent or a short-circuit.

Parameters:

timeout_seconds (second) – Maximum time to wait up to in seconds.

Returns:

StatusCode of the set command

Return type:

StatusCode