phoenix6.configs.talon_fx_configs
#
Module Contents#
- class phoenix6.configs.talon_fx_configs.TalonFXConfiguration#
Class description for the Talon FX integrated motor controller.
This handles the configurations for TalonFX
- future_proof_configs: bool = True#
True if we should factory default newer unsupported configs, false to leave newer unsupported configs alone.
This flag addresses a corner case where the device may have firmware with newer configs that didn’t exist when this version of the API was built. If this occurs and this flag is true, unsupported new configs will be factory defaulted to avoid unexpected behavior.
This is also the behavior in Phoenix 5, so this flag is defaulted to true to match.
- motor_output: phoenix6.configs.config_groups.MotorOutputConfigs#
Configs that directly affect motor output.
Includes motor invert, neutral mode, and other features related to motor output.
- current_limits: phoenix6.configs.config_groups.CurrentLimitsConfigs#
Configs that directly affect current limiting features.
Contains the supply/stator current limit thresholds and whether to enable them.
- voltage: phoenix6.configs.config_groups.VoltageConfigs#
Configs that affect Voltage control types.
Includes peak output voltages and other configs affecting voltage measurements.
- torque_current: phoenix6.configs.config_groups.TorqueCurrentConfigs#
Configs that affect Torque Current control types.
Includes the maximum and minimum applied torque output and the neutral deadband used during TorqueCurrentFOC requests.
- feedback: phoenix6.configs.config_groups.FeedbackConfigs#
Configs that affect the feedback of this motor controller.
Includes feedback sensor source, any offsets for the feedback sensor, and various ratios to describe the relationship between the sensor and the mechanism for closed looping.
- differential_sensors: phoenix6.configs.config_groups.DifferentialSensorsConfigs#
Configs related to sensors used for differential control of a mechanism.
Includes the differential sensor sources and IDs.
- differential_constants: phoenix6.configs.config_groups.DifferentialConstantsConfigs#
Configs related to constants used for differential control of a mechanism.
Includes the differential peak outputs.
- open_loop_ramps: phoenix6.configs.config_groups.OpenLoopRampsConfigs#
Configs that affect the open-loop control of this motor controller.
Open-loop ramp rates for the various control types.
- closed_loop_ramps: phoenix6.configs.config_groups.ClosedLoopRampsConfigs#
Configs that affect the closed-loop control of this motor controller.
Closed-loop ramp rates for the various control types.
- hardware_limit_switch: phoenix6.configs.config_groups.HardwareLimitSwitchConfigs#
Configs that change how the motor controller behaves under different limit switch states.
Includes configs such as enabling limit switches, configuring the remote sensor ID, the source, and the position to set on limit.
- audio: phoenix6.configs.config_groups.AudioConfigs#
Configs that affect audible components of the device.
Includes configuration for the beep on boot.
- software_limit_switch: phoenix6.configs.config_groups.SoftwareLimitSwitchConfigs#
Configs that affect how software-limit switches behave.
Includes enabling software-limit switches and the threshold at which they are tripped.
- motion_magic: phoenix6.configs.config_groups.MotionMagicConfigs#
Configs for Motion Magic®.
Includes Velocity, Acceleration, Jerk, and Expo parameters.
- custom_params: phoenix6.configs.config_groups.CustomParamsConfigs#
Custom Params.
Custom paramaters that have no real impact on controller.
- closed_loop_general: phoenix6.configs.config_groups.ClosedLoopGeneralConfigs#
Configs that affect general behavior during closed-looping.
Includes Continuous Wrap features.
- slot0: phoenix6.configs.config_groups.Slot0Configs#
Gains for the specified slot.
If this slot is selected, these gains are used in closed loop control requests.
- slot1: phoenix6.configs.config_groups.Slot1Configs#
Gains for the specified slot.
If this slot is selected, these gains are used in closed loop control requests.
- slot2: phoenix6.configs.config_groups.Slot2Configs#
Gains for the specified slot.
If this slot is selected, these gains are used in closed loop control requests.
- with_motor_output(new_motor_output: phoenix6.configs.config_groups.MotorOutputConfigs) TalonFXConfiguration #
Modifies this configuration’s motor_output parameter and returns itself for method-chaining and easier to use config API.
Configs that directly affect motor output.
Includes motor invert, neutral mode, and other features related to motor output.
- Parameters:
new_motor_output (MotorOutputConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_current_limits(new_current_limits: phoenix6.configs.config_groups.CurrentLimitsConfigs) TalonFXConfiguration #
Modifies this configuration’s current_limits parameter and returns itself for method-chaining and easier to use config API.
Configs that directly affect current limiting features.
Contains the supply/stator current limit thresholds and whether to enable them.
- Parameters:
new_current_limits (CurrentLimitsConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_voltage(new_voltage: phoenix6.configs.config_groups.VoltageConfigs) TalonFXConfiguration #
Modifies this configuration’s voltage parameter and returns itself for method-chaining and easier to use config API.
Configs that affect Voltage control types.
Includes peak output voltages and other configs affecting voltage measurements.
- Parameters:
new_voltage (VoltageConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_torque_current(new_torque_current: phoenix6.configs.config_groups.TorqueCurrentConfigs) TalonFXConfiguration #
Modifies this configuration’s torque_current parameter and returns itself for method-chaining and easier to use config API.
Configs that affect Torque Current control types.
Includes the maximum and minimum applied torque output and the neutral deadband used during TorqueCurrentFOC requests.
- Parameters:
new_torque_current (TorqueCurrentConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_feedback(new_feedback: phoenix6.configs.config_groups.FeedbackConfigs) TalonFXConfiguration #
Modifies this configuration’s feedback parameter and returns itself for method-chaining and easier to use config API.
Configs that affect the feedback of this motor controller.
Includes feedback sensor source, any offsets for the feedback sensor, and various ratios to describe the relationship between the sensor and the mechanism for closed looping.
- Parameters:
new_feedback (FeedbackConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_differential_sensors(new_differential_sensors: phoenix6.configs.config_groups.DifferentialSensorsConfigs) TalonFXConfiguration #
Modifies this configuration’s differential_sensors parameter and returns itself for method-chaining and easier to use config API.
Configs related to sensors used for differential control of a mechanism.
Includes the differential sensor sources and IDs.
- Parameters:
new_differential_sensors (DifferentialSensorsConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_differential_constants(new_differential_constants: phoenix6.configs.config_groups.DifferentialConstantsConfigs) TalonFXConfiguration #
Modifies this configuration’s differential_constants parameter and returns itself for method-chaining and easier to use config API.
Configs related to constants used for differential control of a mechanism.
Includes the differential peak outputs.
- Parameters:
new_differential_constants (DifferentialConstantsConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_open_loop_ramps(new_open_loop_ramps: phoenix6.configs.config_groups.OpenLoopRampsConfigs) TalonFXConfiguration #
Modifies this configuration’s open_loop_ramps parameter and returns itself for method-chaining and easier to use config API.
Configs that affect the open-loop control of this motor controller.
Open-loop ramp rates for the various control types.
- Parameters:
new_open_loop_ramps (OpenLoopRampsConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_closed_loop_ramps(new_closed_loop_ramps: phoenix6.configs.config_groups.ClosedLoopRampsConfigs) TalonFXConfiguration #
Modifies this configuration’s closed_loop_ramps parameter and returns itself for method-chaining and easier to use config API.
Configs that affect the closed-loop control of this motor controller.
Closed-loop ramp rates for the various control types.
- Parameters:
new_closed_loop_ramps (ClosedLoopRampsConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_hardware_limit_switch(new_hardware_limit_switch: phoenix6.configs.config_groups.HardwareLimitSwitchConfigs) TalonFXConfiguration #
Modifies this configuration’s hardware_limit_switch parameter and returns itself for method-chaining and easier to use config API.
Configs that change how the motor controller behaves under different limit switch states.
Includes configs such as enabling limit switches, configuring the remote sensor ID, the source, and the position to set on limit.
- Parameters:
new_hardware_limit_switch (HardwareLimitSwitchConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_audio(new_audio: phoenix6.configs.config_groups.AudioConfigs) TalonFXConfiguration #
Modifies this configuration’s audio parameter and returns itself for method-chaining and easier to use config API.
Configs that affect audible components of the device.
Includes configuration for the beep on boot.
- Parameters:
new_audio (AudioConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_software_limit_switch(new_software_limit_switch: phoenix6.configs.config_groups.SoftwareLimitSwitchConfigs) TalonFXConfiguration #
Modifies this configuration’s software_limit_switch parameter and returns itself for method-chaining and easier to use config API.
Configs that affect how software-limit switches behave.
Includes enabling software-limit switches and the threshold at which they are tripped.
- Parameters:
new_software_limit_switch (SoftwareLimitSwitchConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_motion_magic(new_motion_magic: phoenix6.configs.config_groups.MotionMagicConfigs) TalonFXConfiguration #
Modifies this configuration’s motion_magic parameter and returns itself for method-chaining and easier to use config API.
Configs for Motion Magic®.
Includes Velocity, Acceleration, Jerk, and Expo parameters.
- Parameters:
new_motion_magic (MotionMagicConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_custom_params(new_custom_params: phoenix6.configs.config_groups.CustomParamsConfigs) TalonFXConfiguration #
Modifies this configuration’s custom_params parameter and returns itself for method-chaining and easier to use config API.
Custom Params.
Custom paramaters that have no real impact on controller.
- Parameters:
new_custom_params (CustomParamsConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_closed_loop_general(new_closed_loop_general: phoenix6.configs.config_groups.ClosedLoopGeneralConfigs) TalonFXConfiguration #
Modifies this configuration’s closed_loop_general parameter and returns itself for method-chaining and easier to use config API.
Configs that affect general behavior during closed-looping.
Includes Continuous Wrap features.
- Parameters:
new_closed_loop_general (ClosedLoopGeneralConfigs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_slot0(new_slot0: phoenix6.configs.config_groups.Slot0Configs) TalonFXConfiguration #
Modifies this configuration’s slot0 parameter and returns itself for method-chaining and easier to use config API.
Gains for the specified slot.
If this slot is selected, these gains are used in closed loop control requests.
- Parameters:
new_slot0 (Slot0Configs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_slot1(new_slot1: phoenix6.configs.config_groups.Slot1Configs) TalonFXConfiguration #
Modifies this configuration’s slot1 parameter and returns itself for method-chaining and easier to use config API.
Gains for the specified slot.
If this slot is selected, these gains are used in closed loop control requests.
- Parameters:
new_slot1 (Slot1Configs) – Parameter to modify
- Returns:
Itself
- Return type:
- with_slot2(new_slot2: phoenix6.configs.config_groups.Slot2Configs) TalonFXConfiguration #
Modifies this configuration’s slot2 parameter and returns itself for method-chaining and easier to use config API.
Gains for the specified slot.
If this slot is selected, these gains are used in closed loop control requests.
- Parameters:
new_slot2 (Slot2Configs) – Parameter to modify
- Returns:
Itself
- Return type:
- serialize() str #
Get the serialized form of this configuration
- Returns:
Serialized form of this config group
- Return type:
str
- deserialize(to_deserialize: str) phoenix6.status_code.StatusCode #
Take a string and deserialize it to this configuration
- Returns:
Return code of the deserialize method
- Return type:
str
- class phoenix6.configs.talon_fx_configs.TalonFXConfigurator(id: phoenix6.hardware.device_identifier.DeviceIdentifier)#
Bases:
phoenix6.configs.parent_configurator.ParentConfigurator
Class description for the Talon FX integrated motor controller.
This handles the configurations for TalonFX
- refresh(configs: phoenix6.configs.config_groups.SupportsSerialization, timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Refreshes the values of the specified config group.
Call to refresh the selected configs from the device.
- Parameters:
configs (name) – The configs to refresh
timeout_seconds (second) – Maximum amount of time to wait when performing configuration
- Returns:
StatusCode of refreshing the configs
- Return type:
- apply(configs: phoenix6.configs.config_groups.SupportsSerialization, timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Applies the contents of the specified config to the device.
Call to apply the selected configs.
- Parameters:
configs (SupportsSerialization) – Configs to apply
timeout_seconds (second) – Maximum amount of time to wait when performing configuration
- Returns:
StatusCode of the apply method
- Return type:
- set_position(new_value: phoenix6.units.rotation, timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Sets the mechanism position of the device in mechanism rotations.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- 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:
- clear_sticky_faults(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear the sticky faults in the device.
This typically has no impact on the device functionality. Instead, it just clears telemetry faults that are accessible via API and Tuner Self-Test.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_hardware(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Hardware fault occurred
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_proc_temp(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Processor temperature exceeded limit
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_device_temp(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Device temperature exceeded limit
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_undervoltage(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Device supply voltage dropped to near brownout levels
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_boot_during_enable(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Device boot while detecting the enable signal
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_bridge_brownout(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Bridge was disabled most likely due to supply voltage dropping too low.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_remote_sensor_reset(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: The remote sensor has reset.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_missing_differential_fx(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: The remote Talon FX used for differential control is not present on CAN Bus.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_remote_sensor_pos_overflow(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.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.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_over_supply_v(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Supply Voltage has exceeded the maximum voltage rating of device.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_unstable_supply_v(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Supply Voltage is unstable. Ensure you are using a battery and current limited power supply.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_reverse_hard_limit(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Reverse limit switch has been asserted. Output is set to neutral.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_forward_hard_limit(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Forward limit switch has been asserted. Output is set to neutral.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_reverse_soft_limit(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Reverse soft limit has been asserted. Output is set to neutral.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_forward_soft_limit(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Forward soft limit has been asserted. Output is set to neutral.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_remote_sensor_data_invalid(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.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.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_fused_sensor_out_of_sync(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.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.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_stator_curr_limit(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Stator current limit occured.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type:
- clear_sticky_fault_supply_curr_limit(timeout_seconds: phoenix6.units.second = 0.05) phoenix6.status_code.StatusCode #
Clear sticky fault: Supply current limit occured.
This is available in the configurator in case the user wants to initialize their device entirely without passing a device reference down to the code that performs the initialization. In this case, the user passes down the configurator object and performs all the initialization code on the object.
- Parameters:
timeout_seconds (second) – Maximum time to wait up to in seconds.
- Returns:
StatusCode of the set command
- Return type: