CTRE Phoenix 6 C++ 24.3.0
ctre::phoenix6::configs::HardwareLimitSwitchConfigs Class Reference

Configs that change how the motor controller behaves under different limit switch states. More...

#include <ctre/phoenix6/configs/Configs.hpp>

Inheritance diagram for ctre::phoenix6::configs::HardwareLimitSwitchConfigs:
ctre::phoenix6::configs::ParentConfiguration ctre::phoenix6::ISerializable

Public Member Functions

HardwareLimitSwitchConfigsWithForwardLimitType (signals::ForwardLimitTypeValue newForwardLimitType)
 Modifies this configuration's ForwardLimitType parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithForwardLimitAutosetPositionEnable (bool newForwardLimitAutosetPositionEnable)
 Modifies this configuration's ForwardLimitAutosetPositionEnable parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithForwardLimitAutosetPositionValue (double newForwardLimitAutosetPositionValue)
 Modifies this configuration's ForwardLimitAutosetPositionValue parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithForwardLimitEnable (bool newForwardLimitEnable)
 Modifies this configuration's ForwardLimitEnable parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithForwardLimitSource (signals::ForwardLimitSourceValue newForwardLimitSource)
 Modifies this configuration's ForwardLimitSource parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithForwardLimitRemoteSensorID (int newForwardLimitRemoteSensorID)
 Modifies this configuration's ForwardLimitRemoteSensorID parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithReverseLimitType (signals::ReverseLimitTypeValue newReverseLimitType)
 Modifies this configuration's ReverseLimitType parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithReverseLimitAutosetPositionEnable (bool newReverseLimitAutosetPositionEnable)
 Modifies this configuration's ReverseLimitAutosetPositionEnable parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithReverseLimitAutosetPositionValue (double newReverseLimitAutosetPositionValue)
 Modifies this configuration's ReverseLimitAutosetPositionValue parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithReverseLimitEnable (bool newReverseLimitEnable)
 Modifies this configuration's ReverseLimitEnable parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithReverseLimitSource (signals::ReverseLimitSourceValue newReverseLimitSource)
 Modifies this configuration's ReverseLimitSource parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithReverseLimitRemoteSensorID (int newReverseLimitRemoteSensorID)
 Modifies this configuration's ReverseLimitRemoteSensorID parameter and returns itself for method-chaining and easier to use config API. More...
 
HardwareLimitSwitchConfigsWithForwardLimitRemoteTalonFX (const hardware::core::CoreTalonFX &device)
 Helper method to configure this feedback group to use RemoteTalonFX forward limit switch by passing in the TalonFX object. More...
 
HardwareLimitSwitchConfigsWithForwardLimitRemoteCANcoder (const hardware::core::CoreCANcoder &device)
 Helper method to configure this feedback group to use RemoteCANcoder forward limit switch by passing in the CANcoder object. More...
 
HardwareLimitSwitchConfigsWithReverseLimitRemoteTalonFX (const hardware::core::CoreTalonFX &device)
 Helper method to configure this feedback group to use RemoteTalonFX reverse limit switch by passing in the TalonFX object. More...
 
HardwareLimitSwitchConfigsWithReverseLimitRemoteCANcoder (const hardware::core::CoreCANcoder &device)
 Helper method to configure this feedback group to use RemoteCANcoder reverse limit switch by passing in the CANcoder object. More...
 
std::string ToString () const override
 
std::string Serialize () const override
 
ctre::phoenix::StatusCode Deserialize (const std::string &to_deserialize) override
 
virtual std::string ToString () const =0
 
virtual ctre::phoenix::StatusCode Deserialize (const std::string &string)=0
 
virtual std::string Serialize () const =0
 

Public Attributes

signals::ForwardLimitTypeValue ForwardLimitType = signals::ForwardLimitTypeValue::NormallyOpen
 Determines if the forward limit switch is normally-open (default) or normally-closed. More...
 
bool ForwardLimitAutosetPositionEnable = false
 If enabled, the position is automatically set to a specific value, specified by ForwardLimitAutosetPositionValue, when the forward limit switch is asserted. More...
 
double ForwardLimitAutosetPositionValue = 0
 The value to automatically set the position to when the forward limit switch is asserted. More...
 
bool ForwardLimitEnable = true
 If enabled, motor output is set to neutral when the forward limit switch is asserted and positive output is requested. More...
 
signals::ForwardLimitSourceValue ForwardLimitSource = signals::ForwardLimitSourceValue::LimitSwitchPin
 Determines where to poll the forward limit switch. More...
 
int ForwardLimitRemoteSensorID = 0
 Device ID of the remote device if using remote limit switch features for the forward limit switch. More...
 
signals::ReverseLimitTypeValue ReverseLimitType = signals::ReverseLimitTypeValue::NormallyOpen
 Determines if the reverse limit switch is normally-open (default) or normally-closed. More...
 
bool ReverseLimitAutosetPositionEnable = false
 If enabled, the position is automatically set to a specific value, specified by ReverseLimitAutosetPositionValue, when the reverse limit switch is asserted. More...
 
double ReverseLimitAutosetPositionValue = 0
 The value to automatically set the position to when the reverse limit switch is asserted. More...
 
bool ReverseLimitEnable = true
 If enabled, motor output is set to neutral when reverse limit switch is asseted and negative output is requested. More...
 
signals::ReverseLimitSourceValue ReverseLimitSource = signals::ReverseLimitSourceValue::LimitSwitchPin
 Determines where to poll the reverse limit switch. More...
 
int ReverseLimitRemoteSensorID = 0
 Device ID of the remote device if using remote limit switch features for the reverse limit switch. More...
 

Detailed Description

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.

Member Function Documentation

◆ Deserialize()

ctre::phoenix::StatusCode ctre::phoenix6::configs::HardwareLimitSwitchConfigs::Deserialize ( const std::string &  to_deserialize)
inlineoverridevirtual

◆ Serialize()

std::string ctre::phoenix6::configs::HardwareLimitSwitchConfigs::Serialize ( ) const
inlineoverridevirtual

◆ ToString()

std::string ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ToString ( ) const
inlineoverridevirtual

◆ WithForwardLimitAutosetPositionEnable()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitAutosetPositionEnable ( bool  newForwardLimitAutosetPositionEnable)
inline

Modifies this configuration's ForwardLimitAutosetPositionEnable parameter and returns itself for method-chaining and easier to use config API.

If enabled, the position is automatically set to a specific value, specified by ForwardLimitAutosetPositionValue, when the forward limit switch is asserted.

  • Default Value: False
Parameters
newForwardLimitAutosetPositionEnableParameter to modify
Returns
Itself

◆ WithForwardLimitAutosetPositionValue()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitAutosetPositionValue ( double  newForwardLimitAutosetPositionValue)
inline

Modifies this configuration's ForwardLimitAutosetPositionValue parameter and returns itself for method-chaining and easier to use config API.

The value to automatically set the position to when the forward limit switch is asserted. This has no effect if ForwardLimitAutosetPositionEnable is false.

  • Minimum Value: -3.4e+38
  • Maximum Value: 3.4e+38
  • Default Value: 0
  • Units: rotations
Parameters
newForwardLimitAutosetPositionValueParameter to modify
Returns
Itself

◆ WithForwardLimitEnable()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitEnable ( bool  newForwardLimitEnable)
inline

Modifies this configuration's ForwardLimitEnable parameter and returns itself for method-chaining and easier to use config API.

If enabled, motor output is set to neutral when the forward limit switch is asserted and positive output is requested.

  • Default Value: True
Parameters
newForwardLimitEnableParameter to modify
Returns
Itself

◆ WithForwardLimitRemoteCANcoder()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitRemoteCANcoder ( const hardware::core::CoreCANcoder device)

Helper method to configure this feedback group to use RemoteCANcoder forward limit switch by passing in the CANcoder object.

When using RemoteCANcoder, the Talon FX will use another CANcoder on the same CAN bus. The forward limit will assert when the CANcoder magnet strength changes from BAD (red) to ADEQUATE (orange) or GOOD (green).

Parameters
deviceCANcoder reference to use for RemoteCANcoder forward limit switch
Returns
Itself

◆ WithForwardLimitRemoteSensorID()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitRemoteSensorID ( int  newForwardLimitRemoteSensorID)
inline

Modifies this configuration's ForwardLimitRemoteSensorID parameter and returns itself for method-chaining and easier to use config API.

Device ID of the remote device if using remote limit switch features for the forward limit switch.

  • Minimum Value: 0
  • Maximum Value: 62
  • Default Value: 0
  • Units:
Parameters
newForwardLimitRemoteSensorIDParameter to modify
Returns
Itself

◆ WithForwardLimitRemoteTalonFX()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitRemoteTalonFX ( const hardware::core::CoreTalonFX device)

Helper method to configure this feedback group to use RemoteTalonFX forward limit switch by passing in the TalonFX object.

When using RemoteTalonFX, the Talon FX will use the forward limit switch attached to another Talon FX on the same CAN bus.

Parameters
deviceTalonFX reference to use for RemoteTalonFX forward limit switch
Returns
Itself

◆ WithForwardLimitSource()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitSource ( signals::ForwardLimitSourceValue  newForwardLimitSource)
inline

Modifies this configuration's ForwardLimitSource parameter and returns itself for method-chaining and easier to use config API.

Determines where to poll the forward limit switch. This defaults to the forward limit switch pin on the limit switch connector.

Choose RemoteTalonFX to use the forward limit switch attached to another Talon FX on the same CAN bus (this also requires setting ForwardLimitRemoteSensorID).

Choose RemoteCANifier to use the forward limit switch attached to another CANifier on the same CAN bus (this also requires setting ForwardLimitRemoteSensorID).

Choose RemoteCANcoder to use another CANcoder on the same CAN bus (this also requires setting ForwardLimitRemoteSensorID). The forward limit will assert when the CANcoder magnet strength changes from BAD (red) to ADEQUATE (orange) or GOOD (green).

Parameters
newForwardLimitSourceParameter to modify
Returns
Itself

◆ WithForwardLimitType()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithForwardLimitType ( signals::ForwardLimitTypeValue  newForwardLimitType)
inline

Modifies this configuration's ForwardLimitType parameter and returns itself for method-chaining and easier to use config API.

Determines if the forward limit switch is normally-open (default) or normally-closed.

Parameters
newForwardLimitTypeParameter to modify
Returns
Itself

◆ WithReverseLimitAutosetPositionEnable()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitAutosetPositionEnable ( bool  newReverseLimitAutosetPositionEnable)
inline

Modifies this configuration's ReverseLimitAutosetPositionEnable parameter and returns itself for method-chaining and easier to use config API.

If enabled, the position is automatically set to a specific value, specified by ReverseLimitAutosetPositionValue, when the reverse limit switch is asserted.

  • Default Value: False
Parameters
newReverseLimitAutosetPositionEnableParameter to modify
Returns
Itself

◆ WithReverseLimitAutosetPositionValue()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitAutosetPositionValue ( double  newReverseLimitAutosetPositionValue)
inline

Modifies this configuration's ReverseLimitAutosetPositionValue parameter and returns itself for method-chaining and easier to use config API.

The value to automatically set the position to when the reverse limit switch is asserted. This has no effect if ReverseLimitAutosetPositionEnable is false.

  • Minimum Value: -3.4e+38
  • Maximum Value: 3.4e+38
  • Default Value: 0
  • Units: rotations
Parameters
newReverseLimitAutosetPositionValueParameter to modify
Returns
Itself

◆ WithReverseLimitEnable()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitEnable ( bool  newReverseLimitEnable)
inline

Modifies this configuration's ReverseLimitEnable parameter and returns itself for method-chaining and easier to use config API.

If enabled, motor output is set to neutral when reverse limit switch is asseted and negative output is requested.

  • Default Value: True
Parameters
newReverseLimitEnableParameter to modify
Returns
Itself

◆ WithReverseLimitRemoteCANcoder()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitRemoteCANcoder ( const hardware::core::CoreCANcoder device)

Helper method to configure this feedback group to use RemoteCANcoder reverse limit switch by passing in the CANcoder object.

When using RemoteCANcoder, the Talon FX will use another CANcoder on the same CAN bus. The reverse limit will assert when the CANcoder magnet strength changes from BAD (red) to ADEQUATE (orange) or GOOD (green).

Parameters
deviceCANcoder reference to use for RemoteCANcoder reverse limit switch
Returns
Itself

◆ WithReverseLimitRemoteSensorID()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitRemoteSensorID ( int  newReverseLimitRemoteSensorID)
inline

Modifies this configuration's ReverseLimitRemoteSensorID parameter and returns itself for method-chaining and easier to use config API.

Device ID of the remote device if using remote limit switch features for the reverse limit switch.

  • Minimum Value: 0
  • Maximum Value: 62
  • Default Value: 0
  • Units:
Parameters
newReverseLimitRemoteSensorIDParameter to modify
Returns
Itself

◆ WithReverseLimitRemoteTalonFX()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitRemoteTalonFX ( const hardware::core::CoreTalonFX device)

Helper method to configure this feedback group to use RemoteTalonFX reverse limit switch by passing in the TalonFX object.

When using RemoteTalonFX, the Talon FX will use the reverse limit switch attached to another Talon FX on the same CAN bus.

Parameters
deviceTalonFX reference to use for RemoteTalonFX reverse limit switch
Returns
Itself

◆ WithReverseLimitSource()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitSource ( signals::ReverseLimitSourceValue  newReverseLimitSource)
inline

Modifies this configuration's ReverseLimitSource parameter and returns itself for method-chaining and easier to use config API.

Determines where to poll the reverse limit switch. This defaults to the reverse limit switch pin on the limit switch connector.

Choose RemoteTalonFX to use the reverse limit switch attached to another Talon FX on the same CAN bus (this also requires setting ReverseLimitRemoteSensorID).

Choose RemoteCANifier to use the reverse limit switch attached to another CANifier on the same CAN bus (this also requires setting ReverseLimitRemoteSensorID).

Choose RemoteCANcoder to use another CANcoder on the same CAN bus (this also requires setting ReverseLimitRemoteSensorID). The reverse limit will assert when the CANcoder magnet strength changes from BAD (red) to ADEQUATE (orange) or GOOD (green).

Parameters
newReverseLimitSourceParameter to modify
Returns
Itself

◆ WithReverseLimitType()

HardwareLimitSwitchConfigs & ctre::phoenix6::configs::HardwareLimitSwitchConfigs::WithReverseLimitType ( signals::ReverseLimitTypeValue  newReverseLimitType)
inline

Modifies this configuration's ReverseLimitType parameter and returns itself for method-chaining and easier to use config API.

Determines if the reverse limit switch is normally-open (default) or normally-closed.

Parameters
newReverseLimitTypeParameter to modify
Returns
Itself

Member Data Documentation

◆ ForwardLimitAutosetPositionEnable

bool ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ForwardLimitAutosetPositionEnable = false

If enabled, the position is automatically set to a specific value, specified by ForwardLimitAutosetPositionValue, when the forward limit switch is asserted.

  • Default Value: False

◆ ForwardLimitAutosetPositionValue

double ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ForwardLimitAutosetPositionValue = 0

The value to automatically set the position to when the forward limit switch is asserted.

This has no effect if ForwardLimitAutosetPositionEnable is false.

  • Minimum Value: -3.4e+38
  • Maximum Value: 3.4e+38
  • Default Value: 0
  • Units: rotations

◆ ForwardLimitEnable

bool ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ForwardLimitEnable = true

If enabled, motor output is set to neutral when the forward limit switch is asserted and positive output is requested.

  • Default Value: True

◆ ForwardLimitRemoteSensorID

int ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ForwardLimitRemoteSensorID = 0

Device ID of the remote device if using remote limit switch features for the forward limit switch.

  • Minimum Value: 0
  • Maximum Value: 62
  • Default Value: 0
  • Units:

◆ ForwardLimitSource

signals::ForwardLimitSourceValue ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ForwardLimitSource = signals::ForwardLimitSourceValue::LimitSwitchPin

Determines where to poll the forward limit switch.

This defaults to the forward limit switch pin on the limit switch connector.

Choose RemoteTalonFX to use the forward limit switch attached to another Talon FX on the same CAN bus (this also requires setting ForwardLimitRemoteSensorID).

Choose RemoteCANifier to use the forward limit switch attached to another CANifier on the same CAN bus (this also requires setting ForwardLimitRemoteSensorID).

Choose RemoteCANcoder to use another CANcoder on the same CAN bus (this also requires setting ForwardLimitRemoteSensorID). The forward limit will assert when the CANcoder magnet strength changes from BAD (red) to ADEQUATE (orange) or GOOD (green).

◆ ForwardLimitType

signals::ForwardLimitTypeValue ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ForwardLimitType = signals::ForwardLimitTypeValue::NormallyOpen

Determines if the forward limit switch is normally-open (default) or normally-closed.

◆ ReverseLimitAutosetPositionEnable

bool ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ReverseLimitAutosetPositionEnable = false

If enabled, the position is automatically set to a specific value, specified by ReverseLimitAutosetPositionValue, when the reverse limit switch is asserted.

  • Default Value: False

◆ ReverseLimitAutosetPositionValue

double ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ReverseLimitAutosetPositionValue = 0

The value to automatically set the position to when the reverse limit switch is asserted.

This has no effect if ReverseLimitAutosetPositionEnable is false.

  • Minimum Value: -3.4e+38
  • Maximum Value: 3.4e+38
  • Default Value: 0
  • Units: rotations

◆ ReverseLimitEnable

bool ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ReverseLimitEnable = true

If enabled, motor output is set to neutral when reverse limit switch is asseted and negative output is requested.

  • Default Value: True

◆ ReverseLimitRemoteSensorID

int ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ReverseLimitRemoteSensorID = 0

Device ID of the remote device if using remote limit switch features for the reverse limit switch.

  • Minimum Value: 0
  • Maximum Value: 62
  • Default Value: 0
  • Units:

◆ ReverseLimitSource

signals::ReverseLimitSourceValue ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ReverseLimitSource = signals::ReverseLimitSourceValue::LimitSwitchPin

Determines where to poll the reverse limit switch.

This defaults to the reverse limit switch pin on the limit switch connector.

Choose RemoteTalonFX to use the reverse limit switch attached to another Talon FX on the same CAN bus (this also requires setting ReverseLimitRemoteSensorID).

Choose RemoteCANifier to use the reverse limit switch attached to another CANifier on the same CAN bus (this also requires setting ReverseLimitRemoteSensorID).

Choose RemoteCANcoder to use another CANcoder on the same CAN bus (this also requires setting ReverseLimitRemoteSensorID). The reverse limit will assert when the CANcoder magnet strength changes from BAD (red) to ADEQUATE (orange) or GOOD (green).

◆ ReverseLimitType

signals::ReverseLimitTypeValue ctre::phoenix6::configs::HardwareLimitSwitchConfigs::ReverseLimitType = signals::ReverseLimitTypeValue::NormallyOpen

Determines if the reverse limit switch is normally-open (default) or normally-closed.


The documentation for this class was generated from the following file: