phoenix6.sim
#
Submodules#
Package Contents#
- class phoenix6.sim.ChassisReference(*args, **kwds)#
Bases:
enum.Enum
Represents the orientation of a device relative to the robot chassis.
- CounterClockwise_Positive = 1#
The device should read a counter-clockwise rotation as positive motion.
- Clockwise_Positive#
The device should read a clockwise rotation as positive motion.
- class phoenix6.sim.TalonFXSimState(device: phoenix6.hardware.core.core_talon_fx.CoreTalonFX, orientation: phoenix6.sim.chassis_reference.ChassisReference = ChassisReference.CounterClockwise_Positive)#
Creates an object to control the state of a simulated TalonFX.
Note the recommended method of accessing simulation features is to use TalonFX.sim_state.
- Parameters:
device (CoreTalonFX) – Device to which this simulation state is attached
orientation (ChassisReference) – Orientation of the device relative to the robot chassis
- property last_status_code: phoenix6.status_code.StatusCode#
Gets the last status code generated by a simulation function.
Not all functions return a status code but can potentially report errors. This function can be used to retrieve those status codes.
- Returns:
Last status code generated by a simulation function
- Return type:
- property motor_voltage: phoenix6.units.volt#
Gets the simulated output voltage of the motor.
- Returns:
Voltage applied to the motor in Volts
- Return type:
volt
- property torque_current: phoenix6.units.ampere#
Gets the simulated output torque current of the motor.
Phoenix 6 simulation automatically calculates current.
- Returns:
Torque current applied to the motor in Amperes
- Return type:
ampere
- property supply_current: phoenix6.units.ampere#
Gets the simulated supply current of the TalonFX.
Phoenix 6 simulation automatically calculates current.
- Returns:
Supply current of the TalonFX in Amperes
- Return type:
ampere
- orientation#
The orientation of the TalonFX relative to the robot chassis.
This value should not be changed based on the TalonFX invert. Rather, this value should be changed when the mechanical linkage between the TalonFX and the robot changes.
- set_supply_voltage(volts: phoenix6.units.volt) phoenix6.status_code.StatusCode #
Sets the simulated supply voltage of the TalonFX.
The minimum allowed supply voltage is 4 V - values below this will be promoted to 4 V.
- Parameters:
volts (volt) – The supply voltage in Volts
- Returns:
Status code
- Return type:
- set_forward_limit(closed: bool) phoenix6.status_code.StatusCode #
Sets the simulated forward limit switch of the TalonFX.
- Parameters:
closed (bool) – Whether the limit switch is closed
- Returns:
Status code
- Return type:
- set_reverse_limit(closed: bool) phoenix6.status_code.StatusCode #
Sets the simulated reverse limit switch of the TalonFX.
- Parameters:
closed (bool) – Whether the limit switch is closed
- Returns:
Status code
- Return type:
- set_raw_rotor_position(rotations: phoenix6.units.rotation) phoenix6.status_code.StatusCode #
Sets the simulated raw rotor position of the TalonFX.
Inputs to this function over time should be continuous, as user calls of TalonFX.set_position will be accounted for in the callee.
The TalonFX integrates this to calculate the true reported rotor position.
When using the WPI Sim GUI, you will notice a readonly position and settable rawPositionInput. The readonly signal is the emulated position which will match self-test in Tuner and the hardware API. Changes to rawPositionInput will be integrated into the emulated position. This way a simulator can modify the position without overriding hardware API calls for home-ing the sensor.
- Parameters:
rotations (rotation) – The raw position in rotations
- Returns:
Status code
- Return type:
- add_rotor_position(drotations: phoenix6.units.rotation) phoenix6.status_code.StatusCode #
Adds to the simulated rotor position of the TalonFX.
- Parameters:
drotations (rotation) – The change in position in rotations
- Returns:
Status code
- Return type:
- set_rotor_velocity(rps: phoenix6.units.rotations_per_second) phoenix6.status_code.StatusCode #
Sets the simulated rotor velocity of the TalonFX.
- Parameters:
rps (rotations_per_second) – The new velocity in rotations per second
- Returns:
Status code
- Return type:
- set_rotor_acceleration(rpss: phoenix6.units.rotations_per_second_squared) phoenix6.status_code.StatusCode #
Sets the simulated rotor acceleration of the TalonFX.
- Parameters:
rpss (rotations_per_second_squared) – The new acceleration in rotations per second²
- Returns:
Status code
- Return type:
- class phoenix6.sim.CANcoderSimState(device: phoenix6.hardware.core.core_cancoder.CoreCANcoder, orientation: phoenix6.sim.chassis_reference.ChassisReference = ChassisReference.CounterClockwise_Positive)#
Creates an object to control the state of a simulated CANcoder.
Note the recommended method of accessing simulation features is to use CANcoder.sim_state.
- Parameters:
device (CoreCANcoder) – Device to which this simulation state is attached
orientation (ChassisReference) – Orientation of the device relative to the robot chassis
- orientation#
The orientation of the CANcoder relative to the robot chassis.
This value should not be changed based on the CANcoder invert. Rather, this value should be changed when the mechanical linkage between the CANcoder and the robot changes.
- set_supply_voltage(volts: phoenix6.units.volt) phoenix6.status_code.StatusCode #
Sets the simulated supply voltage of the CANcoder.
The minimum allowed supply voltage is 4 V - values below this will be promoted to 4 V.
- Parameters:
volts (volt) – The supply voltage in Volts
- Returns:
Status code
- Return type:
- set_raw_position(rotations: phoenix6.units.rotation) phoenix6.status_code.StatusCode #
Sets the simulated raw position of the CANcoder.
Inputs to this function over time should be continuous, as user calls of CANcoder.set_position will be accounted for in the callee.
The CANcoder integrates this to calculate the true reported position.
When using the WPI Sim GUI, you will notice a readonly position and settable rawPositionInput. The readonly signal is the emulated position which will match self-test in Tuner and the hardware API. Changes to rawPositionInput will be integrated into the emulated position. This way a simulator can modify the position without overriding hardware API calls for home-ing the sensor.
- Parameters:
rotations (rotation) – The raw position in rotations
- Returns:
Status code
- Return type:
- add_position(drotations: phoenix6.units.rotation) phoenix6.status_code.StatusCode #
Adds to the simulated position of the CANcoder.
- Parameters:
drotations (rotation) – The change in position in rotations
- Returns:
Status code
- Return type:
- set_velocity(rps: phoenix6.units.rotations_per_second) phoenix6.status_code.StatusCode #
Sets the simulated velocity of the CANcoder.
- Parameters:
rps (rotations_per_second) – The new velocity in rotations per second
- Returns:
Status code
- Return type:
- set_magnet_health(value: phoenix6.signals.spn_enums.MagnetHealthValue) phoenix6.status_code.StatusCode #
Sets the simulated magnet health of the CANcoder.
- Parameters:
value (MagnetHealthValue) – The magnet health to simulate. This directly correlates to the red/green/orange state of the simulated LED.
- Returns:
Status code
- Return type:
- class phoenix6.sim.Pigeon2SimState(device: phoenix6.hardware.core.core_pigeon2.CorePigeon2)#
Creates an object to control the state of a simulated Pigeon2.
Note the recommended method of accessing simulation features is to use Pigeon2.sim_state.
- Parameters:
device (CorePigeon2) – Device to which this simulation state is attached
- set_supply_voltage(volts: phoenix6.units.volt) phoenix6.status_code.StatusCode #
Sets the simulated supply voltage of the Pigeon2.
The minimum allowed supply voltage is 4 V - values below this will be promoted to 4 V.
- Parameters:
volts (volt) – The supply voltage in Volts
- Returns:
Status code
- Return type:
- set_raw_yaw(deg: phoenix6.units.degree) phoenix6.status_code.StatusCode #
Sets the simulated raw yaw of the Pigeon2.
Inputs to this function over time should be continuous, as user calls of Pigeon2.set_yaw will be accounted for in the callee.
The Pigeon2 integrates this to calculate the true reported yaw.
When using the WPI Sim GUI, you will notice a readonly yaw and settable rawYawInput. The readonly signal is the emulated yaw which will match self-test in Tuner and the hardware API. Changes to rawYawInput will be integrated into the emulated yaw. This way a simulator can modify the yaw without overriding hardware API calls for home-ing the sensor.
- Parameters:
deg (degree) – The yaw in degrees
- Returns:
Status code
- Return type:
- add_yaw(ddeg: phoenix6.units.degree) phoenix6.status_code.StatusCode #
Adds to the simulated yaw of the Pigeon2.
- Parameters:
ddeg (degree) – The change in position in rotations
- Returns:
Status code
- Return type:
- set_pitch(deg: phoenix6.units.degree) phoenix6.status_code.StatusCode #
Sets the simulated pitch of the Pigeon2.
- Parameters:
deg (degree) – The pitch in degrees
- Returns:
Status code
- Return type:
- set_roll(deg: phoenix6.units.degree) phoenix6.status_code.StatusCode #
Sets the simulated roll of the Pigeon2.
- Parameters:
deg (degree) – The roll in degrees
- Returns:
Status code
- Return type: