CTRE_Phoenix  5.19.4
ctre::phoenix::sensors::CANCoderConfiguration Struct Reference

#include <CANCoder.h>

Inherits ctre::phoenix::CustomParamConfiguration.

Public Member Functions

 CANCoderConfiguration ()
std::string toString ()
std::string toString (std::string prependString)
- Public Member Functions inherited from ctre::phoenix::CustomParamConfiguration
std::string toString ()
std::string toString (std::string prependString)

Public Attributes

SensorVelocityMeasPeriod velocityMeasurementPeriod = SensorVelocityMeasPeriod::Period_100Ms
int velocityMeasurementWindow = 64
ctre::phoenix::sensors::AbsoluteSensorRange absoluteSensorRange = AbsoluteSensorRange::Unsigned_0_to_360
double magnetOffsetDegrees = 0
bool sensorDirection = false
ctre::phoenix::sensors::SensorInitializationStrategy initializationStrategy = ctre::phoenix::sensors::SensorInitializationStrategy::BootToZero
double sensorCoefficient = 360.0 / 4096.0
std::string unitString = "deg"
ctre::phoenix::sensors::SensorTimeBase sensorTimeBase = ctre::phoenix::sensors::SensorTimeBase::PerSecond
- Public Attributes inherited from ctre::phoenix::CustomParamConfiguration
int customParam0
int customParam1
bool enableOptimizations

Detailed Description

Configurables available to CANCoder

Constructor & Destructor Documentation

◆ CANCoderConfiguration()

ctre::phoenix::sensors::CANCoderConfiguration::CANCoderConfiguration ( )


Member Function Documentation

◆ toString() [1/2]

std::string ctre::phoenix::sensors::CANCoderConfiguration::toString ( )
String representation of configs

◆ toString() [2/2]

std::string ctre::phoenix::sensors::CANCoderConfiguration::toString ( std::string  prependString)
prependStringString to prepend to configs
String representation of configs

Member Data Documentation

◆ absoluteSensorRange

ctre::phoenix::sensors::AbsoluteSensorRange ctre::phoenix::sensors::CANCoderConfiguration::absoluteSensorRange = AbsoluteSensorRange::Unsigned_0_to_360

Desired Sign / Range for the absolute position register. Choose unsigned for an absolute range of[0, +1) rotations, [0, 360) deg, etc. Choose signed for an absolute range of[-0.5, +0.5) rotations, [-180, +180) deg, etc.

◆ initializationStrategy

ctre::phoenix::sensors::SensorInitializationStrategy ctre::phoenix::sensors::CANCoderConfiguration::initializationStrategy = ctre::phoenix::sensors::SensorInitializationStrategy::BootToZero

The sensor initialization strategy to use.This will impact the behavior the next time CANCoder boots up.

Pick the strategy on how to initialize the CANCoder's "Position" register. Depending on the mechanism, it may be desirable to auto set the Position register to match the Absolute Position(swerve for example). Or it may be desired to zero the sensor on boot(drivetrain translation sensor or a relative servo).

TIP: Tuner's self-test feature will report what the boot sensor value will be in the event the CANCoder is reset.

◆ magnetOffsetDegrees

double ctre::phoenix::sensors::CANCoderConfiguration::magnetOffsetDegrees = 0

Adjusts the zero point for the absolute position register. The absolute position of the sensor will always have a discontinuity (360 -> 0 deg) or (+180 -> -180) and a hard-limited mechanism may have such a discontinuity in its functional range. In which case use this config to move the discontinuity outside of the function range.

◆ sensorCoefficient

double ctre::phoenix::sensors::CANCoderConfiguration::sensorCoefficient = 360.0 / 4096.0

Scalar to multiply the CANCoder's native 12-bit resolute sensor. Defaults to 0.087890625 to produce degrees.

◆ sensorDirection

bool ctre::phoenix::sensors::CANCoderConfiguration::sensorDirection = false

Choose which direction is interpreted as positive displacement. This affects both "Position"and "Absolute Position". False(default) means positive rotation occurs when magnet is spun counter - clockwise when observer is facing the LED side of CANCoder.

◆ sensorTimeBase

ctre::phoenix::sensors::SensorTimeBase ctre::phoenix::sensors::CANCoderConfiguration::sensorTimeBase = ctre::phoenix::sensors::SensorTimeBase::PerSecond

Desired denominator to report velocity in. This impacts GetVelocityand the reported velocity in self-test in Tuner. Default is "Per Second".

◆ unitString

std::string ctre::phoenix::sensors::CANCoderConfiguration::unitString = "deg"

String holding the unit to report in. This impacts all routines(except for ConfigMagnetOffset) and the self-test in Tuner. The string value itself is arbitrary.The max number of letters will depend on firmware versioning, but generally CANCoder supports up to eight letters.However, common units such as "centimeters" are supported explicitly despite exceeding the eight-letter limit. Default is "deg"

◆ velocityMeasurementPeriod

SensorVelocityMeasPeriod ctre::phoenix::sensors::CANCoderConfiguration::velocityMeasurementPeriod = SensorVelocityMeasPeriod::Period_100Ms

Velocity measurement period to use

◆ velocityMeasurementWindow

int ctre::phoenix::sensors::CANCoderConfiguration::velocityMeasurementWindow = 64

Velocity measurement window to use

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