CTRE Phoenix Pro C++ 23.0.12
ctre::phoenixpro::configs::Slot0Configs Class Reference

What the gains for slot 0 are. More...

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

Inheritance diagram for ctre::phoenixpro::configs::Slot0Configs:
ctre::phoenixpro::configs::ParentConfiguration ctre::phoenixpro::ISerializable

Public Member Functions

std::string ToString () const
 
std::string Serialize () const
 
ctre::phoenix::StatusCode Deserialize (const std::string &string)
 
virtual std::string ToString () const =0
 
virtual ctre::phoenix::StatusCode Deserialize (const std::string &string)=0
 
virtual std::string Serialize () const =0
 

Public Attributes

double kP = 0
 Proportional Gain. More...
 
double kI = 0
 Integral Gain. More...
 
double kD = 0
 Derivative Gain. More...
 
double kV = 0
 Velocity Feed Forward Gain. More...
 
double kS = 0
 Static Constant. More...
 

Detailed Description

What the gains for slot 0 are.

If this slot is selected, these gains are used in closed loop control requests.

Member Function Documentation

◆ Deserialize()

ctre::phoenix::StatusCode ctre::phoenixpro::configs::Slot0Configs::Deserialize ( const std::string &  string)
inlinevirtual

◆ Serialize()

std::string ctre::phoenixpro::configs::Slot0Configs::Serialize ( ) const
inlinevirtual

◆ ToString()

std::string ctre::phoenixpro::configs::Slot0Configs::ToString ( ) const
inlinevirtual

Member Data Documentation

◆ kD

double ctre::phoenixpro::configs::Slot0Configs::kD = 0

Derivative Gain.

The units for this gain is dependent on the control mode. Since this gain is multiplied by the derivative of error in the input with respect to time (in units of seconds), the units should be defined as units of output per unit of the differentiated input error. For example, when controlling velocity using a duty cycle closed loop, the derivative of velocity with respect to time is rps/s, which is acceleration. Therefore, the units for the derivative gain will be duty cycle per unit of acceleration error, or 1/(rps/s).

Minimum Value: 0 Maximum Value: 3.4e+38 Default Value: 0 Units:

◆ kI

double ctre::phoenixpro::configs::Slot0Configs::kI = 0

Integral Gain.

The units for this gain is dependent on the control mode. Since this gain is multiplied by error in the input integrated over time (in units of seconds), the units should be defined as units of output per unit of integrated input error. For example, when controlling velocity using a duty cycle closed loop, integrating velocity over time results in rps * s = rotations. Therefore, the units for the integral gain will be duty cycle per rotation of accumulated error, or 1/rot.

Minimum Value: 0 Maximum Value: 3.4e+38 Default Value: 0 Units:

◆ kP

double ctre::phoenixpro::configs::Slot0Configs::kP = 0

Proportional Gain.

The units for this gain is dependent on the control mode. Since this gain is multiplied by error in the input, the units should be defined as units of output per unit of input error. For example, when controlling velocity using a duty cycle closed loop, the units for the proportional gain will be duty cycle per rps of error, or 1/rps.

Minimum Value: 0 Maximum Value: 3.4e+38 Default Value: 0 Units:

◆ kS

double ctre::phoenixpro::configs::Slot0Configs::kS = 0

Static Constant.

This is added to the closed loop output. The sign is determined by target velocity. The unit for this constant is dependent on the control mode, typically fractional duty cycle, voltage, or torque current.

Minimum Value: -512 Maximum Value: 511 Default Value: 0 Units:

◆ kV

double ctre::phoenixpro::configs::Slot0Configs::kV = 0

Velocity Feed Forward Gain.

The units for this gain is dependent on the control mode. Since this gain is multiplied by the requested velocity, the units should be defined as units of output per unit of requested input velocity. For example, when controlling velocity using a duty cycle closed loop, the units for the velocity feed foward gain will be duty cycle per requested rps, or 1/rps.

Minimum Value: 0 Maximum Value: 3.4e+38 Default Value: 0 Units:


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