CTRE Phoenix C++ 5.33.0
ctre::phoenix::motorcontrol::can::SlotConfiguration Struct Reference

Configurables available to a slot. More...

#include <ctre/phoenix/motorcontrol/can/BaseMotorController.h>

Public Member Functions

 SlotConfiguration ()
 
std::string toString ()
 
std::string toString (std::string prependString)
 

Public Attributes

double kP
 P Gain. More...
 
double kI
 I Gain. More...
 
double kD
 D Gain. More...
 
double kF
 F Gain. More...
 
double integralZone
 Integral zone (in native units) More...
 
double allowableClosedloopError
 Allowable closed loop error to neutral (in native units) More...
 
double maxIntegralAccumulator
 Max integral accumulator (in native units) More...
 
double closedLoopPeakOutput
 Peak output from closed loop [0,1]. More...
 
int closedLoopPeriod
 Desired period of closed loop [1,64]ms. More...
 

Detailed Description

Configurables available to a slot.

Constructor & Destructor Documentation

◆ SlotConfiguration()

ctre::phoenix::motorcontrol::can::SlotConfiguration::SlotConfiguration ( )
inline

Member Function Documentation

◆ toString() [1/2]

std::string ctre::phoenix::motorcontrol::can::SlotConfiguration::toString ( )
inline
Returns
String representation of configs

◆ toString() [2/2]

std::string ctre::phoenix::motorcontrol::can::SlotConfiguration::toString ( std::string  prependString)
inline
Parameters
prependStringString to prepend to configs
Returns
String representation of configs

Member Data Documentation

◆ allowableClosedloopError

double ctre::phoenix::motorcontrol::can::SlotConfiguration::allowableClosedloopError

Allowable closed loop error to neutral (in native units)

◆ closedLoopPeakOutput

double ctre::phoenix::motorcontrol::can::SlotConfiguration::closedLoopPeakOutput

Peak output from closed loop [0,1].

◆ closedLoopPeriod

int ctre::phoenix::motorcontrol::can::SlotConfiguration::closedLoopPeriod

Desired period of closed loop [1,64]ms.

◆ integralZone

double ctre::phoenix::motorcontrol::can::SlotConfiguration::integralZone

Integral zone (in native units)

If the (absolute) closed-loop error is outside of this zone, integral accumulator is automatically cleared. This ensures than integral wind up events will stop after the sensor gets far enough from its target.

◆ kD

double ctre::phoenix::motorcontrol::can::SlotConfiguration::kD

D Gain.

This is multiplied by derivative error (sensor units per PID loop, typically 1ms). Note the closed loop output interprets a final value of 1023 as full output. So use a gain of '250' to get full output if derr is 4096u (Mag Encoder 1 rotation) per 1000 loops (typ 1 sec)

◆ kF

double ctre::phoenix::motorcontrol::can::SlotConfiguration::kF

F Gain.

See documentation for calculation details. If using velocity, motion magic, or motion profile, use (1023 * duty-cycle / sensor-velocity-sensor-units-per-100ms).

◆ kI

double ctre::phoenix::motorcontrol::can::SlotConfiguration::kI

I Gain.

This is multiplied by accumulated closed loop error in sensor units every PID Loop. Note the closed loop output interprets a final value of 1023 as full output. So use a gain of '0.00025' to get full output if err is 4096u for 1000 loops (accumulater holds 4,096,000), [which is equivalent to one CTRE mag encoder rotation for 1000 milliseconds].

◆ kP

double ctre::phoenix::motorcontrol::can::SlotConfiguration::kP

P Gain.

This is multiplied by closed loop error in sensor units. Note the closed loop output interprets a final value of 1023 as full output. So use a gain of '0.25' to get full output if err is 4096u (Mag Encoder 1 rotation)

◆ maxIntegralAccumulator

double ctre::phoenix::motorcontrol::can::SlotConfiguration::maxIntegralAccumulator

Max integral accumulator (in native units)


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