15#include <units/angle.h>
16#include <units/angular_acceleration.h>
17#include <units/angular_jerk.h>
18#include <units/angular_velocity.h>
19#include <units/current.h>
20#include <units/dimensionless.h>
21#include <units/frequency.h>
22#include <units/length.h>
23#include <units/voltage.h>
31namespace hardware {
namespace core {
class CoreCANcoder; } }
32namespace hardware {
namespace core {
class CoreTalonFX; } }
33namespace configs {
class SlotConfigs; }
202 std::stringstream ss;
203 ss <<
"Config Group: MagnetSensor" << std::endl;
205 ss <<
" MagnetOffset: " <<
MagnetOffset.to<
double>() <<
" rotations" << std::endl;
212 std::stringstream ss;
222 const char *string_c_str = to_deserialize.c_str();
223 size_t string_length = to_deserialize.length();
229 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_AbsoluteSensorDiscontinuityPoint, string_c_str, string_length, &AbsoluteSensorDiscontinuityPointVal);
340 std::stringstream ss;
341 ss <<
"Config Group: MountPose" << std::endl;
342 ss <<
" MountPoseYaw: " <<
MountPoseYaw.to<
double>() <<
" deg" << std::endl;
343 ss <<
" MountPosePitch: " <<
MountPosePitch.to<
double>() <<
" deg" << std::endl;
344 ss <<
" MountPoseRoll: " <<
MountPoseRoll.to<
double>() <<
" deg" << std::endl;
350 std::stringstream ss;
360 const char *string_c_str = to_deserialize.c_str();
361 size_t string_length = to_deserialize.length();
482 std::stringstream ss;
483 ss <<
"Config Group: GyroTrim" << std::endl;
484 ss <<
" GyroScalarX: " <<
GyroScalarX.to<
double>() <<
" deg per rotation" << std::endl;
485 ss <<
" GyroScalarY: " <<
GyroScalarY.to<
double>() <<
" deg per rotation" << std::endl;
486 ss <<
" GyroScalarZ: " <<
GyroScalarZ.to<
double>() <<
" deg per rotation" << std::endl;
492 std::stringstream ss;
502 const char *string_c_str = to_deserialize.c_str();
503 size_t string_length = to_deserialize.length();
506 GyroScalarX = units::dimensionless::scalar_t{GyroScalarXVal};
509 GyroScalarY = units::dimensionless::scalar_t{GyroScalarYVal};
512 GyroScalarZ = units::dimensionless::scalar_t{GyroScalarZVal};
608 std::stringstream ss;
609 ss <<
"Config Group: Pigeon2Features" << std::endl;
618 std::stringstream ss;
628 const char *string_c_str = to_deserialize.c_str();
629 size_t string_length = to_deserialize.length();
832 std::stringstream ss;
833 ss <<
"Config Group: MotorOutput" << std::endl;
834 ss <<
" Inverted: " <<
Inverted << std::endl;
835 ss <<
" NeutralMode: " <<
NeutralMode << std::endl;
837 ss <<
" PeakForwardDutyCycle: " <<
PeakForwardDutyCycle.to<
double>() <<
" fractional" << std::endl;
838 ss <<
" PeakReverseDutyCycle: " <<
PeakReverseDutyCycle.to<
double>() <<
" fractional" << std::endl;
845 std::stringstream ss;
858 const char *string_c_str = to_deserialize.c_str();
859 size_t string_length = to_deserialize.length();
1136 std::stringstream ss;
1137 ss <<
"Config Group: CurrentLimits" << std::endl;
1138 ss <<
" StatorCurrentLimit: " <<
StatorCurrentLimit.to<
double>() <<
" A" << std::endl;
1140 ss <<
" SupplyCurrentLimit: " <<
SupplyCurrentLimit.to<
double>() <<
" A" << std::endl;
1149 std::stringstream ss;
1162 const char *string_c_str = to_deserialize.c_str();
1163 size_t string_length = to_deserialize.length();
1296 std::stringstream ss;
1297 ss <<
"Config Group: Voltage" << std::endl;
1299 ss <<
" PeakForwardVoltage: " <<
PeakForwardVoltage.to<
double>() <<
" V" << std::endl;
1300 ss <<
" PeakReverseVoltage: " <<
PeakReverseVoltage.to<
double>() <<
" V" << std::endl;
1306 std::stringstream ss;
1316 const char *string_c_str = to_deserialize.c_str();
1317 size_t string_length = to_deserialize.length();
1440 std::stringstream ss;
1441 ss <<
"Config Group: TorqueCurrent" << std::endl;
1450 std::stringstream ss;
1460 const char *string_c_str = to_deserialize.c_str();
1461 size_t string_length = to_deserialize.length();
1839 std::stringstream ss;
1840 ss <<
"Config Group: Feedback" << std::endl;
1841 ss <<
" FeedbackRotorOffset: " <<
FeedbackRotorOffset.to<
double>() <<
" rotations" << std::endl;
1843 ss <<
" RotorToSensorRatio: " <<
RotorToSensorRatio.to<
double>() <<
" scalar" << std::endl;
1852 std::stringstream ss;
1865 const char *string_c_str = to_deserialize.c_str();
1866 size_t string_length = to_deserialize.length();
2448 std::stringstream ss;
2449 ss <<
"Config Group: ExternalFeedback" << std::endl;
2451 ss <<
" RotorToSensorRatio: " <<
RotorToSensorRatio.to<
double>() <<
" scalar" << std::endl;
2454 ss <<
" AbsoluteSensorOffset: " <<
AbsoluteSensorOffset.to<
double>() <<
" rotations" << std::endl;
2456 ss <<
" SensorPhase: " <<
SensorPhase << std::endl;
2464 std::stringstream ss;
2480 const char *string_c_str = to_deserialize.c_str();
2481 size_t string_length = to_deserialize.length();
2499 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_AbsoluteSensorDiscontinuityPoint, string_c_str, string_length, &AbsoluteSensorDiscontinuityPointVal);
2655 std::stringstream ss;
2656 ss <<
"Config Group: DifferentialSensors" << std::endl;
2665 std::stringstream ss;
2675 const char *string_c_str = to_deserialize.c_str();
2676 size_t string_length = to_deserialize.length();
2794 std::stringstream ss;
2795 ss <<
"Config Group: DifferentialConstants" << std::endl;
2804 std::stringstream ss;
2814 const char *string_c_str = to_deserialize.c_str();
2815 size_t string_length = to_deserialize.length();
2961 std::stringstream ss;
2962 ss <<
"Config Group: OpenLoopRamps" << std::endl;
2971 std::stringstream ss;
2981 const char *string_c_str = to_deserialize.c_str();
2982 size_t string_length = to_deserialize.length();
2984 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_DutyCycleOpenLoopRampPeriod, string_c_str, string_length, &DutyCycleOpenLoopRampPeriodVal);
3154 std::stringstream ss;
3155 ss <<
"Config Group: ClosedLoopRamps" << std::endl;
3164 std::stringstream ss;
3174 const char *string_c_str = to_deserialize.c_str();
3175 size_t string_length = to_deserialize.length();
3177 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_DutyCycleClosedLoopRampPeriod, string_c_str, string_length, &DutyCycleClosedLoopRampPeriodVal);
3180 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_VoltageClosedLoopRampPeriod, string_c_str, string_length, &VoltageClosedLoopRampPeriodVal);
3636 std::stringstream ss;
3637 ss <<
"Config Group: HardwareLimitSwitch" << std::endl;
3655 std::stringstream ss;
3674 const char *string_c_str = to_deserialize.c_str();
3675 size_t string_length = to_deserialize.length();
3679 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_ForwardLimitAutosetPosValue, string_c_str, string_length, &ForwardLimitAutosetPositionValueVal);
3687 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_ReverseLimitAutosetPosValue, string_c_str, string_length, &ReverseLimitAutosetPositionValueVal);
3800 std::stringstream ss;
3801 ss <<
"Config Group: Audio" << std::endl;
3802 ss <<
" BeepOnBoot: " <<
BeepOnBoot << std::endl;
3810 std::stringstream ss;
3820 const char *string_c_str = to_deserialize.c_str();
3821 size_t string_length = to_deserialize.length();
3958 std::stringstream ss;
3959 ss <<
"Config Group: SoftwareLimitSwitch" << std::endl;
3969 std::stringstream ss;
3980 const char *string_c_str = to_deserialize.c_str();
3981 size_t string_length = to_deserialize.length();
4206 std::stringstream ss;
4207 ss <<
"Config Group: MotionMagic" << std::endl;
4210 ss <<
" MotionMagicJerk: " <<
MotionMagicJerk.to<
double>() <<
" rot per sec³" << std::endl;
4211 ss <<
" MotionMagicExpo_kV: " <<
MotionMagicExpo_kV.to<
double>() <<
" V/rps" << std::endl;
4212 ss <<
" MotionMagicExpo_kA: " <<
MotionMagicExpo_kA.to<
double>() <<
" V/rps²" << std::endl;
4218 std::stringstream ss;
4230 const char *string_c_str = to_deserialize.c_str();
4231 size_t string_length = to_deserialize.length();
4237 MotionMagicAcceleration = units::angular_acceleration::turns_per_second_squared_t{MotionMagicAccelerationVal};
4240 MotionMagicJerk = units::angular_jerk::turns_per_second_cubed_t{MotionMagicJerkVal};
4246 MotionMagicExpo_kA = ctre::unit::volts_per_turn_per_second_squared_t{MotionMagicExpo_kAVal};
4329 std::stringstream ss;
4330 ss <<
"Config Group: CustomParams" << std::endl;
4338 std::stringstream ss;
4347 const char *string_c_str = to_deserialize.c_str();
4348 size_t string_length = to_deserialize.length();
4408 std::stringstream ss;
4409 ss <<
"Config Group: ClosedLoopGeneral" << std::endl;
4416 std::stringstream ss;
4424 const char *string_c_str = to_deserialize.c_str();
4425 size_t string_length = to_deserialize.length();
4503 std::stringstream ss;
4504 ss <<
"Config Group: ToFParams" << std::endl;
4505 ss <<
" UpdateMode: " <<
UpdateMode << std::endl;
4506 ss <<
" UpdateFrequency: " <<
UpdateFrequency.to<
double>() <<
" Hz" << std::endl;
4512 std::stringstream ss;
4521 const char *string_c_str = to_deserialize.c_str();
4522 size_t string_length = to_deserialize.length();
4665 std::stringstream ss;
4666 ss <<
"Config Group: ProximityParams" << std::endl;
4667 ss <<
" ProximityThreshold: " <<
ProximityThreshold.to<
double>() <<
" m" << std::endl;
4675 std::stringstream ss;
4685 const char *string_c_str = to_deserialize.c_str();
4686 size_t string_length = to_deserialize.length();
4694 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::CANrange_MinSigStrengthForValidMeas, string_c_str, string_length, &MinSignalStrengthForValidMeasurementVal);
4872 std::stringstream ss;
4873 ss <<
"Config Group: FovParams" << std::endl;
4874 ss <<
" FOVCenterX: " <<
FOVCenterX.to<
double>() <<
" deg" << std::endl;
4875 ss <<
" FOVCenterY: " <<
FOVCenterY.to<
double>() <<
" deg" << std::endl;
4876 ss <<
" FOVRangeX: " <<
FOVRangeX.to<
double>() <<
" deg" << std::endl;
4877 ss <<
" FOVRangeY: " <<
FOVRangeY.to<
double>() <<
" deg" << std::endl;
4883 std::stringstream ss;
4894 const char *string_c_str = to_deserialize.c_str();
4895 size_t string_length = to_deserialize.length();
4896 double FOVCenterXVal =
FOVCenterX.to<
double>();
4898 FOVCenterX = units::angle::degree_t{FOVCenterXVal};
4899 double FOVCenterYVal =
FOVCenterY.to<
double>();
4901 FOVCenterY = units::angle::degree_t{FOVCenterYVal};
4902 double FOVRangeXVal =
FOVRangeX.to<
double>();
4904 FOVRangeX = units::angle::degree_t{FOVRangeXVal};
4905 double FOVRangeYVal =
FOVRangeY.to<
double>();
4907 FOVRangeY = units::angle::degree_t{FOVRangeYVal};
5016 std::stringstream ss;
5017 ss <<
"Config Group: Commutation" << std::endl;
5026 std::stringstream ss;
5036 const char *string_c_str = to_deserialize.c_str();
5037 size_t string_length = to_deserialize.length();
5162 std::stringstream ss;
5163 ss <<
"Config Group: DigitalInputs" << std::endl;
5173 std::stringstream ss;
5184 const char *string_c_str = to_deserialize.c_str();
5185 size_t string_length = to_deserialize.length();
5295 std::stringstream ss;
5296 ss <<
"Config Group: Quadrature" << std::endl;
5304 std::stringstream ss;
5313 const char *string_c_str = to_deserialize.c_str();
5314 size_t string_length = to_deserialize.length();
5479 std::stringstream ss;
5480 ss <<
"Config Group: PWM1" << std::endl;
5481 ss <<
" AbsoluteSensorOffset: " <<
AbsoluteSensorOffset.to<
double>() <<
" rotations" << std::endl;
5489 std::stringstream ss;
5499 const char *string_c_str = to_deserialize.c_str();
5500 size_t string_length = to_deserialize.length();
5505 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_PWM1_AbsoluteSensorDiscontinuityPoint, string_c_str, string_length, &AbsoluteSensorDiscontinuityPointVal);
5670 std::stringstream ss;
5671 ss <<
"Config Group: PWM2" << std::endl;
5672 ss <<
" AbsoluteSensorOffset: " <<
AbsoluteSensorOffset.to<
double>() <<
" rotations" << std::endl;
5680 std::stringstream ss;
5690 const char *string_c_str = to_deserialize.c_str();
5691 size_t string_length = to_deserialize.length();
5696 c_ctre_phoenix6_deserialize_double(ctre::phoenix6::spns::SpnValue::Config_PWM2_AbsoluteSensorDiscontinuityPoint, string_c_str, string_length, &AbsoluteSensorDiscontinuityPointVal);
5730 units::dimensionless::scalar_t
kP = 0;
5748 units::dimensionless::scalar_t
kI = 0;
5767 units::dimensionless::scalar_t
kD = 0;
5789 units::dimensionless::scalar_t
kS = 0;
5805 units::dimensionless::scalar_t
kV = 0;
5822 units::dimensionless::scalar_t
kA = 0;
5836 units::dimensionless::scalar_t
kG = 0;
5898 kP = std::move(newKP);
5927 kI = std::move(newKI);
5957 kD = std::move(newKD);
5990 kS = std::move(newKS);
6017 kV = std::move(newKV);
6045 kA = std::move(newKA);
6070 kG = std::move(newKG);
6137 std::stringstream ss;
6138 ss <<
"Config Group: Slot0" << std::endl;
6139 ss <<
" kP: " <<
kP.to<
double>() << std::endl;
6140 ss <<
" kI: " <<
kI.to<
double>() << std::endl;
6141 ss <<
" kD: " <<
kD.to<
double>() << std::endl;
6142 ss <<
" kS: " <<
kS.to<
double>() << std::endl;
6143 ss <<
" kV: " <<
kV.to<
double>() << std::endl;
6144 ss <<
" kA: " <<
kA.to<
double>() << std::endl;
6145 ss <<
" kG: " <<
kG.to<
double>() << std::endl;
6146 ss <<
" GravityType: " <<
GravityType << std::endl;
6153 std::stringstream ss;
6169 const char *string_c_str = to_deserialize.c_str();
6170 size_t string_length = to_deserialize.length();
6171 double kPVal =
kP.to<
double>();
6173 kP = units::dimensionless::scalar_t{kPVal};
6174 double kIVal =
kI.to<
double>();
6176 kI = units::dimensionless::scalar_t{kIVal};
6177 double kDVal =
kD.to<
double>();
6179 kD = units::dimensionless::scalar_t{kDVal};
6180 double kSVal =
kS.to<
double>();
6182 kS = units::dimensionless::scalar_t{kSVal};
6183 double kVVal =
kV.to<
double>();
6185 kV = units::dimensionless::scalar_t{kVVal};
6186 double kAVal =
kA.to<
double>();
6188 kA = units::dimensionless::scalar_t{kAVal};
6189 double kGVal =
kG.to<
double>();
6191 kG = units::dimensionless::scalar_t{kGVal};
6225 units::dimensionless::scalar_t
kP = 0;
6243 units::dimensionless::scalar_t
kI = 0;
6262 units::dimensionless::scalar_t
kD = 0;
6284 units::dimensionless::scalar_t
kS = 0;
6300 units::dimensionless::scalar_t
kV = 0;
6317 units::dimensionless::scalar_t
kA = 0;
6331 units::dimensionless::scalar_t
kG = 0;
6393 kP = std::move(newKP);
6422 kI = std::move(newKI);
6452 kD = std::move(newKD);
6485 kS = std::move(newKS);
6512 kV = std::move(newKV);
6540 kA = std::move(newKA);
6565 kG = std::move(newKG);
6632 std::stringstream ss;
6633 ss <<
"Config Group: Slot1" << std::endl;
6634 ss <<
" kP: " <<
kP.to<
double>() << std::endl;
6635 ss <<
" kI: " <<
kI.to<
double>() << std::endl;
6636 ss <<
" kD: " <<
kD.to<
double>() << std::endl;
6637 ss <<
" kS: " <<
kS.to<
double>() << std::endl;
6638 ss <<
" kV: " <<
kV.to<
double>() << std::endl;
6639 ss <<
" kA: " <<
kA.to<
double>() << std::endl;
6640 ss <<
" kG: " <<
kG.to<
double>() << std::endl;
6641 ss <<
" GravityType: " <<
GravityType << std::endl;
6648 std::stringstream ss;
6664 const char *string_c_str = to_deserialize.c_str();
6665 size_t string_length = to_deserialize.length();
6666 double kPVal =
kP.to<
double>();
6668 kP = units::dimensionless::scalar_t{kPVal};
6669 double kIVal =
kI.to<
double>();
6671 kI = units::dimensionless::scalar_t{kIVal};
6672 double kDVal =
kD.to<
double>();
6674 kD = units::dimensionless::scalar_t{kDVal};
6675 double kSVal =
kS.to<
double>();
6677 kS = units::dimensionless::scalar_t{kSVal};
6678 double kVVal =
kV.to<
double>();
6680 kV = units::dimensionless::scalar_t{kVVal};
6681 double kAVal =
kA.to<
double>();
6683 kA = units::dimensionless::scalar_t{kAVal};
6684 double kGVal =
kG.to<
double>();
6686 kG = units::dimensionless::scalar_t{kGVal};
6720 units::dimensionless::scalar_t
kP = 0;
6738 units::dimensionless::scalar_t
kI = 0;
6757 units::dimensionless::scalar_t
kD = 0;
6779 units::dimensionless::scalar_t
kS = 0;
6795 units::dimensionless::scalar_t
kV = 0;
6812 units::dimensionless::scalar_t
kA = 0;
6826 units::dimensionless::scalar_t
kG = 0;
6888 kP = std::move(newKP);
6917 kI = std::move(newKI);
6947 kD = std::move(newKD);
6980 kS = std::move(newKS);
7007 kV = std::move(newKV);
7035 kA = std::move(newKA);
7060 kG = std::move(newKG);
7127 std::stringstream ss;
7128 ss <<
"Config Group: Slot2" << std::endl;
7129 ss <<
" kP: " <<
kP.to<
double>() << std::endl;
7130 ss <<
" kI: " <<
kI.to<
double>() << std::endl;
7131 ss <<
" kD: " <<
kD.to<
double>() << std::endl;
7132 ss <<
" kS: " <<
kS.to<
double>() << std::endl;
7133 ss <<
" kV: " <<
kV.to<
double>() << std::endl;
7134 ss <<
" kA: " <<
kA.to<
double>() << std::endl;
7135 ss <<
" kG: " <<
kG.to<
double>() << std::endl;
7136 ss <<
" GravityType: " <<
GravityType << std::endl;
7143 std::stringstream ss;
7159 const char *string_c_str = to_deserialize.c_str();
7160 size_t string_length = to_deserialize.length();
7161 double kPVal =
kP.to<
double>();
7163 kP = units::dimensionless::scalar_t{kPVal};
7164 double kIVal =
kI.to<
double>();
7166 kI = units::dimensionless::scalar_t{kIVal};
7167 double kDVal =
kD.to<
double>();
7169 kD = units::dimensionless::scalar_t{kDVal};
7170 double kSVal =
kS.to<
double>();
7172 kS = units::dimensionless::scalar_t{kSVal};
7173 double kVVal =
kV.to<
double>();
7175 kV = units::dimensionless::scalar_t{kVVal};
7176 double kAVal =
kA.to<
double>();
7178 kA = units::dimensionless::scalar_t{kAVal};
7179 double kGVal =
kG.to<
double>();
7181 kG = units::dimensionless::scalar_t{kGVal};
7206 int StaticFeedforwardSignSpn;
7209 static inline std::map<int, SlotSpns>
const genericMap{
7211 ctre::phoenix6::spns::SpnValue::Slot0_kP,
7212 ctre::phoenix6::spns::SpnValue::Slot0_kI,
7213 ctre::phoenix6::spns::SpnValue::Slot0_kD,
7214 ctre::phoenix6::spns::SpnValue::Slot0_kS,
7215 ctre::phoenix6::spns::SpnValue::Slot0_kV,
7216 ctre::phoenix6::spns::SpnValue::Slot0_kA,
7217 ctre::phoenix6::spns::SpnValue::Slot0_kG,
7218 ctre::phoenix6::spns::SpnValue::Slot0_kG_Type,
7219 ctre::phoenix6::spns::SpnValue::Slot0_kS_Sign,
7223 ctre::phoenix6::spns::SpnValue::Slot1_kP,
7224 ctre::phoenix6::spns::SpnValue::Slot1_kI,
7225 ctre::phoenix6::spns::SpnValue::Slot1_kD,
7226 ctre::phoenix6::spns::SpnValue::Slot1_kS,
7227 ctre::phoenix6::spns::SpnValue::Slot1_kV,
7228 ctre::phoenix6::spns::SpnValue::Slot1_kA,
7229 ctre::phoenix6::spns::SpnValue::Slot1_kG,
7230 ctre::phoenix6::spns::SpnValue::Slot1_kG_Type,
7231 ctre::phoenix6::spns::SpnValue::Slot1_kS_Sign,
7235 ctre::phoenix6::spns::SpnValue::Slot2_kP,
7236 ctre::phoenix6::spns::SpnValue::Slot2_kI,
7237 ctre::phoenix6::spns::SpnValue::Slot2_kD,
7238 ctre::phoenix6::spns::SpnValue::Slot2_kS,
7239 ctre::phoenix6::spns::SpnValue::Slot2_kV,
7240 ctre::phoenix6::spns::SpnValue::Slot2_kA,
7241 ctre::phoenix6::spns::SpnValue::Slot2_kG,
7242 ctre::phoenix6::spns::SpnValue::Slot2_kG_Type,
7243 ctre::phoenix6::spns::SpnValue::Slot2_kS_Sign,
7266 units::dimensionless::scalar_t
kP = 0;
7284 units::dimensionless::scalar_t
kI = 0;
7303 units::dimensionless::scalar_t
kD = 0;
7325 units::dimensionless::scalar_t
kS = 0;
7341 units::dimensionless::scalar_t
kV = 0;
7358 units::dimensionless::scalar_t
kA = 0;
7372 units::dimensionless::scalar_t
kG = 0;
7434 kP = std::move(newKP);
7463 kI = std::move(newKI);
7493 kD = std::move(newKD);
7526 kS = std::move(newKS);
7553 kV = std::move(newKV);
7581 kA = std::move(newKA);
7606 kG = std::move(newKG);
7681 std::stringstream ss;
7682 ss <<
"Config Group: Slot" << std::endl;
7683 ss <<
" kP: " <<
kP.to<
double>() << std::endl;
7684 ss <<
" kI: " <<
kI.to<
double>() << std::endl;
7685 ss <<
" kD: " <<
kD.to<
double>() << std::endl;
7686 ss <<
" kS: " <<
kS.to<
double>() << std::endl;
7687 ss <<
" kV: " <<
kV.to<
double>() << std::endl;
7688 ss <<
" kA: " <<
kA.to<
double>() << std::endl;
7689 ss <<
" kG: " <<
kG.to<
double>() << std::endl;
7690 ss <<
" GravityType: " <<
GravityType << std::endl;
7697 std::stringstream ss;
7698 SlotSpns currentSpns = genericMap.at(
SlotNumber);
7714 const char *string_c_str = to_deserialize.c_str();
7715 size_t string_length = to_deserialize.length();
7716 SlotSpns currentSpns = genericMap.at(
SlotNumber);
7717 double kPVal =
kP.to<
double>();
7719 kP = units::dimensionless::scalar_t{kPVal};
7720 double kIVal =
kI.to<
double>();
7722 kI = units::dimensionless::scalar_t{kIVal};
7723 double kDVal =
kD.to<
double>();
7725 kD = units::dimensionless::scalar_t{kDVal};
7726 double kSVal =
kS.to<
double>();
7728 kS = units::dimensionless::scalar_t{kSVal};
7729 double kVVal =
kV.to<
double>();
7731 kV = units::dimensionless::scalar_t{kVVal};
7732 double kAVal =
kA.to<
double>();
7734 kA = units::dimensionless::scalar_t{kAVal};
7735 double kGVal =
kG.to<
double>();
7737 kG = units::dimensionless::scalar_t{kGVal};
ii that the Software will be uninterrupted or error free
Definition CTRE_LICENSE.txt:251
CTREXPORT int c_ctre_phoenix6_deserialize_double(int spn, const char *str, uint32_t strlen, double *val)
CTREXPORT int c_ctre_phoenix6_serialize_int(int spn, int value, char **str)
CTREXPORT int c_ctre_phoenix6_serialize_bool(int spn, bool value, char **str)
CTREXPORT int c_ctre_phoenix6_deserialize_bool(int spn, const char *str, uint32_t strlen, bool *val)
CTREXPORT int c_ctre_phoenix6_deserialize_int(int spn, const char *str, uint32_t strlen, int *val)
CTREXPORT int c_ctre_phoenix6_serialize_double(int spn, double value, char **str)
Definition Serializable.hpp:15
Configs that affect audible components of the device.
Definition Configs.hpp:3703
bool BeepOnConfig
If true, the TalonFX will beep during configuration API calls if device is disabled.
Definition Configs.hpp:3724
bool AllowMusicDurDisable
If true, the TalonFX will allow Orchestra and MusicTone requests during disabled state.
Definition Configs.hpp:3734
constexpr AudioConfigs()=default
std::string Serialize() const override
Definition Configs.hpp:3808
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:3818
std::string ToString() const override
Definition Configs.hpp:3798
constexpr AudioConfigs & WithBeepOnBoot(bool newBeepOnBoot)
Modifies this configuration's BeepOnBoot parameter and returns itself for method-chaining and easier ...
Definition Configs.hpp:3749
constexpr AudioConfigs & WithAllowMusicDurDisable(bool newAllowMusicDurDisable)
Modifies this configuration's AllowMusicDurDisable parameter and returns itself for method-chaining a...
Definition Configs.hpp:3790
constexpr AudioConfigs & WithBeepOnConfig(bool newBeepOnConfig)
Modifies this configuration's BeepOnConfig parameter and returns itself for method-chaining and easie...
Definition Configs.hpp:3769
bool BeepOnBoot
If true, the TalonFX will beep during boot-up.
Definition Configs.hpp:3715
Configs that affect general behavior during closed-looping.
Definition Configs.hpp:4362
bool ContinuousWrap
Wrap position error within [-0.5,+0.5) mechanism rotations.
Definition Configs.hpp:4378
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:4422
constexpr ClosedLoopGeneralConfigs & WithContinuousWrap(bool newContinuousWrap)
Modifies this configuration's ContinuousWrap parameter and returns itself for method-chaining and eas...
Definition Configs.hpp:4398
std::string ToString() const override
Definition Configs.hpp:4406
std::string Serialize() const override
Definition Configs.hpp:4414
constexpr ClosedLoopGeneralConfigs()=default
Configs that affect the closed-loop control of this motor controller.
Definition Configs.hpp:3004
constexpr ClosedLoopRampsConfigs & WithDutyCycleClosedLoopRampPeriod(units::time::second_t newDutyCycleClosedLoopRampPeriod)
Modifies this configuration's DutyCycleClosedLoopRampPeriod parameter and returns itself for method-c...
Definition Configs.hpp:3085
std::string Serialize() const override
Definition Configs.hpp:3162
units::time::second_t DutyCycleClosedLoopRampPeriod
If non-zero, this determines how much time to ramp from 0% output to 100% during the closed-loop Duty...
Definition Configs.hpp:3024
constexpr ClosedLoopRampsConfigs & WithTorqueClosedLoopRampPeriod(units::time::second_t newTorqueClosedLoopRampPeriod)
Modifies this configuration's TorqueClosedLoopRampPeriod parameter and returns itself for method-chai...
Definition Configs.hpp:3144
constexpr ClosedLoopRampsConfigs()=default
constexpr ClosedLoopRampsConfigs & WithVoltageClosedLoopRampPeriod(units::time::second_t newVoltageClosedLoopRampPeriod)
Modifies this configuration's VoltageClosedLoopRampPeriod parameter and returns itself for method-cha...
Definition Configs.hpp:3113
units::time::second_t TorqueClosedLoopRampPeriod
If non-zero, this determines how much time to ramp from 0A output to 300A during the closed-loop Torq...
Definition Configs.hpp:3061
units::time::second_t VoltageClosedLoopRampPeriod
If non-zero, this determines how much time to ramp from 0V output to 12V during the closed-loop Volta...
Definition Configs.hpp:3041
std::string ToString() const override
Definition Configs.hpp:3152
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:3172
Configs that determine motor selection and commutation.
Definition Configs.hpp:4920
std::string ToString() const override
Definition Configs.hpp:5014
constexpr CommutationConfigs & WithAdvancedHallSupport(signals::AdvancedHallSupportValue newAdvancedHallSupport)
Modifies this configuration's AdvancedHallSupport parameter and returns itself for method-chaining an...
Definition Configs.hpp:4966
signals::BrushedMotorWiringValue BrushedMotorWiring
If a brushed motor is selected with Motor Arrangement, this config determines which of three leads to...
Definition Configs.hpp:4950
signals::AdvancedHallSupportValue AdvancedHallSupport
Requires Phoenix Pro; Improves commutation and velocity measurement for motors with hall sensors.
Definition Configs.hpp:4932
std::string Serialize() const override
Definition Configs.hpp:5024
signals::MotorArrangementValue MotorArrangement
Selects the motor and motor connections used with Talon.
Definition Configs.hpp:4944
constexpr CommutationConfigs()=default
constexpr CommutationConfigs & WithBrushedMotorWiring(signals::BrushedMotorWiringValue newBrushedMotorWiring)
Modifies this configuration's BrushedMotorWiring parameter and returns itself for method-chaining and...
Definition Configs.hpp:5006
constexpr CommutationConfigs & WithMotorArrangement(signals::MotorArrangementValue newMotorArrangement)
Modifies this configuration's MotorArrangement parameter and returns itself for method-chaining and e...
Definition Configs.hpp:4989
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:5034
Configs that directly affect current limiting features.
Definition Configs.hpp:886
bool StatorCurrentLimitEnable
Enable motor stator current limiting.
Definition Configs.hpp:922
std::string Serialize() const override
Definition Configs.hpp:1147
constexpr CurrentLimitsConfigs & WithSupplyCurrentLimitEnable(bool newSupplyCurrentLimitEnable)
Modifies this configuration's SupplyCurrentLimitEnable parameter and returns itself for method-chaini...
Definition Configs.hpp:1079
constexpr CurrentLimitsConfigs & WithSupplyCurrentLimit(units::current::ampere_t newSupplyCurrentLimit)
Modifies this configuration's SupplyCurrentLimit parameter and returns itself for method-chaining and...
Definition Configs.hpp:1062
units::current::ampere_t SupplyCurrentLimit
The absolute maximum amount of supply current allowed.
Definition Configs.hpp:946
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:1160
units::current::ampere_t StatorCurrentLimit
The amount of current allowed in the motor (motoring and regen current).
Definition Configs.hpp:916
constexpr CurrentLimitsConfigs & WithSupplyCurrentLowerTime(units::time::second_t newSupplyCurrentLowerTime)
Modifies this configuration's SupplyCurrentLowerTime parameter and returns itself for method-chaining...
Definition Configs.hpp:1126
constexpr CurrentLimitsConfigs & WithSupplyCurrentLowerLimit(units::current::ampere_t newSupplyCurrentLowerLimit)
Modifies this configuration's SupplyCurrentLowerLimit parameter and returns itself for method-chainin...
Definition Configs.hpp:1104
constexpr CurrentLimitsConfigs()=default
constexpr CurrentLimitsConfigs & WithStatorCurrentLimit(units::current::ampere_t newStatorCurrentLimit)
Modifies this configuration's StatorCurrentLimit parameter and returns itself for method-chaining and...
Definition Configs.hpp:1010
units::current::ampere_t SupplyCurrentLowerLimit
The amount of supply current allowed after the regular SupplyCurrentLimit is active for longer than S...
Definition Configs.hpp:966
std::string ToString() const override
Definition Configs.hpp:1134
bool SupplyCurrentLimitEnable
Enable motor supply current limiting.
Definition Configs.hpp:952
constexpr CurrentLimitsConfigs & WithStatorCurrentLimitEnable(bool newStatorCurrentLimitEnable)
Modifies this configuration's StatorCurrentLimitEnable parameter and returns itself for method-chaini...
Definition Configs.hpp:1027
units::time::second_t SupplyCurrentLowerTime
Reduces supply current to the SupplyCurrentLowerLimit after limiting to SupplyCurrentLimit for this p...
Definition Configs.hpp:977
Custom Params.
Definition Configs.hpp:4258
std::string ToString() const override
Definition Configs.hpp:4327
int CustomParam0
Custom parameter 0.
Definition Configs.hpp:4271
std::string Serialize() const override
Definition Configs.hpp:4336
int CustomParam1
Custom parameter 1.
Definition Configs.hpp:4281
constexpr CustomParamsConfigs & WithCustomParam0(int newCustomParam0)
Modifies this configuration's CustomParam0 parameter and returns itself for method-chaining and easie...
Definition Configs.hpp:4298
constexpr CustomParamsConfigs()=default
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:4345
constexpr CustomParamsConfigs & WithCustomParam1(int newCustomParam1)
Modifies this configuration's CustomParam1 parameter and returns itself for method-chaining and easie...
Definition Configs.hpp:4319
Configs related to constants used for differential control of a mechanism.
Definition Configs.hpp:2692
units::current::ampere_t PeakDifferentialTorqueCurrent
Maximum differential output during torque current based differential control modes.
Definition Configs.hpp:2725
std::string Serialize() const override
Definition Configs.hpp:2802
std::string ToString() const override
Definition Configs.hpp:2792
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:2812
constexpr DifferentialConstantsConfigs & WithPeakDifferentialVoltage(units::voltage::volt_t newPeakDifferentialVoltage)
Modifies this configuration's PeakDifferentialVoltage parameter and returns itself for method-chainin...
Definition Configs.hpp:2763
constexpr DifferentialConstantsConfigs()=default
units::dimensionless::scalar_t PeakDifferentialDutyCycle
Maximum differential output during duty cycle based differential control modes.
Definition Configs.hpp:2705
constexpr DifferentialConstantsConfigs & WithPeakDifferentialTorqueCurrent(units::current::ampere_t newPeakDifferentialTorqueCurrent)
Modifies this configuration's PeakDifferentialTorqueCurrent parameter and returns itself for method-c...
Definition Configs.hpp:2784
constexpr DifferentialConstantsConfigs & WithPeakDifferentialDutyCycle(units::dimensionless::scalar_t newPeakDifferentialDutyCycle)
Modifies this configuration's PeakDifferentialDutyCycle parameter and returns itself for method-chain...
Definition Configs.hpp:2742
units::voltage::volt_t PeakDifferentialVoltage
Maximum differential output during voltage based differential control modes.
Definition Configs.hpp:2715
Configs related to sensors used for differential control of a mechanism.
Definition Configs.hpp:2513
constexpr DifferentialSensorsConfigs()=default
constexpr DifferentialSensorsConfigs & WithDifferentialTalonFXSensorID(int newDifferentialTalonFXSensorID)
Modifies this configuration's DifferentialTalonFXSensorID parameter and returns itself for method-cha...
Definition Configs.hpp:2623
constexpr DifferentialSensorsConfigs & WithDifferentialSensorSource(signals::DifferentialSensorSourceValue newDifferentialSensorSource)
Modifies this configuration's DifferentialSensorSource parameter and returns itself for method-chaini...
Definition Configs.hpp:2602
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:2673
std::string Serialize() const override
Definition Configs.hpp:2663
std::string ToString() const override
Definition Configs.hpp:2653
signals::DifferentialSensorSourceValue DifferentialSensorSource
Choose what sensor source is used for differential control of a mechanism.
Definition Configs.hpp:2545
int DifferentialRemoteSensorID
Device ID of which remote sensor to use on the differential axis.
Definition Configs.hpp:2566
constexpr DifferentialSensorsConfigs & WithDifferentialRemoteSensorID(int newDifferentialRemoteSensorID)
Modifies this configuration's DifferentialRemoteSensorID parameter and returns itself for method-chai...
Definition Configs.hpp:2645
int DifferentialTalonFXSensorID
Device ID of which remote Talon FX to use.
Definition Configs.hpp:2555
Configs that affect the external feedback sensor of this motor controller.
Definition Configs.hpp:1896
constexpr ExternalFeedbackConfigs & WithSensorPhase(signals::SensorPhaseValue newSensorPhase)
Modifies this configuration's SensorPhase parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:2311
units::dimensionless::scalar_t SensorToMechanismRatio
The ratio of sensor rotations to the mechanism's output, where a ratio greater than 1 is a reduction.
Definition Configs.hpp:1919
constexpr ExternalFeedbackConfigs()=default
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:2478
units::angle::turn_t AbsoluteSensorDiscontinuityPoint
The positive discontinuity point of the absolute sensor in rotations.
Definition Configs.hpp:2096
units::time::second_t VelocityFilterTimeConstant
The configurable time constant of the Kalman velocity filter.
Definition Configs.hpp:1961
constexpr ExternalFeedbackConfigs & WithVelocityFilterTimeConstant(units::time::second_t newVelocityFilterTimeConstant)
Modifies this configuration's VelocityFilterTimeConstant parameter and returns itself for method-chai...
Definition Configs.hpp:2198
ExternalFeedbackConfigs & WithSyncCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use SyncCANcoder by passing in the CANcoder object.
signals::ExternalFeedbackSensorSourceValue ExternalFeedbackSensorSource
Choose what sensor source is reported via API and used by closed-loop and limit features.
Definition Configs.hpp:2025
units::dimensionless::scalar_t RotorToSensorRatio
The ratio of motor rotor rotations to remote sensor rotations, where a ratio greater than 1 is a redu...
Definition Configs.hpp:1936
constexpr ExternalFeedbackConfigs & WithQuadratureEdgesPerRotation(int newQuadratureEdgesPerRotation)
Modifies this configuration's QuadratureEdgesPerRotation parameter and returns itself for method-chai...
Definition Configs.hpp:2344
constexpr ExternalFeedbackConfigs & WithFeedbackRemoteSensorID(int newFeedbackRemoteSensorID)
Modifies this configuration's FeedbackRemoteSensorID parameter and returns itself for method-chaining...
Definition Configs.hpp:2172
ExternalFeedbackConfigs & WithRemoteCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use RemoteCANcoder by passing in the CANcoder objec...
constexpr ExternalFeedbackConfigs & WithExternalFeedbackSensorSource(signals::ExternalFeedbackSensorSourceValue newExternalFeedbackSensorSource)
Modifies this configuration's ExternalFeedbackSensorSource parameter and returns itself for method-ch...
Definition Configs.hpp:2284
constexpr ExternalFeedbackConfigs & WithRotorToSensorRatio(units::dimensionless::scalar_t newRotorToSensorRatio)
Modifies this configuration's RotorToSensorRatio parameter and returns itself for method-chaining and...
Definition Configs.hpp:2151
std::string ToString() const override
Definition Configs.hpp:2446
signals::SensorPhaseValue SensorPhase
The relationship between the motor controlled by a Talon and the external sensor connected to the dat...
Definition Configs.hpp:2041
ExternalFeedbackConfigs & WithFusedCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use FusedCANcoder by passing in the CANcoder object...
units::angle::turn_t AbsoluteSensorOffset
The offset applied to any absolute sensor connected to the Talon data port.
Definition Configs.hpp:1975
int FeedbackRemoteSensorID
Device ID of which remote device to use.
Definition Configs.hpp:1946
constexpr ExternalFeedbackConfigs & WithSensorToMechanismRatio(units::dimensionless::scalar_t newSensorToMechanismRatio)
Modifies this configuration's SensorToMechanismRatio parameter and returns itself for method-chaining...
Definition Configs.hpp:2123
constexpr ExternalFeedbackConfigs & WithAbsoluteSensorDiscontinuityPoint(units::angle::turn_t newAbsoluteSensorDiscontinuityPoint)
Modifies this configuration's AbsoluteSensorDiscontinuityPoint parameter and returns itself for metho...
Definition Configs.hpp:2388
std::string Serialize() const override
Definition Configs.hpp:2462
int QuadratureEdgesPerRotation
The number of quadrature edges in one rotation for the quadrature sensor connected to the Talon data ...
Definition Configs.hpp:2063
constexpr ExternalFeedbackConfigs & WithAbsoluteSensorOffset(units::angle::turn_t newAbsoluteSensorOffset)
Modifies this configuration's AbsoluteSensorOffset parameter and returns itself for method-chaining a...
Definition Configs.hpp:2223
Configs that affect the feedback of this motor controller.
Definition Configs.hpp:1485
std::string ToString() const override
Definition Configs.hpp:1837
signals::FeedbackSensorSourceValue FeedbackSensorSource
Choose what sensor source is reported via API and used by closed-loop and limit features.
Definition Configs.hpp:1578
constexpr FeedbackConfigs & WithRotorToSensorRatio(units::dimensionless::scalar_t newRotorToSensorRatio)
Modifies this configuration's RotorToSensorRatio parameter and returns itself for method-chaining and...
Definition Configs.hpp:1680
FeedbackConfigs & WithRemoteCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use RemoteCANcoder by passing in the CANcoder objec...
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:1863
constexpr FeedbackConfigs & WithSensorToMechanismRatio(units::dimensionless::scalar_t newSensorToMechanismRatio)
Modifies this configuration's SensorToMechanismRatio parameter and returns itself for method-chaining...
Definition Configs.hpp:1652
units::dimensionless::scalar_t SensorToMechanismRatio
The ratio of sensor rotations to the mechanism's output, where a ratio greater than 1 is a reduction.
Definition Configs.hpp:1519
FeedbackConfigs & WithSyncCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use SyncCANcoder by passing in the CANcoder object.
std::string Serialize() const override
Definition Configs.hpp:1850
constexpr FeedbackConfigs & WithVelocityFilterTimeConstant(units::time::second_t newVelocityFilterTimeConstant)
Modifies this configuration's VelocityFilterTimeConstant parameter and returns itself for method-chai...
Definition Configs.hpp:1780
units::angle::turn_t FeedbackRotorOffset
The offset applied to the absolute integrated rotor sensor.
Definition Configs.hpp:1499
units::time::second_t VelocityFilterTimeConstant
The configurable time constant of the Kalman velocity filter.
Definition Configs.hpp:1603
units::dimensionless::scalar_t RotorToSensorRatio
The ratio of motor rotor rotations to remote sensor rotations, where a ratio greater than 1 is a redu...
Definition Configs.hpp:1536
int FeedbackRemoteSensorID
Device ID of which remote device to use.
Definition Configs.hpp:1588
constexpr FeedbackConfigs & WithFeedbackSensorSource(signals::FeedbackSensorSourceValue newFeedbackSensorSource)
Modifies this configuration's FeedbackSensorSource parameter and returns itself for method-chaining a...
Definition Configs.hpp:1733
FeedbackConfigs & WithFusedCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use FusedCANcoder by passing in the CANcoder object...
constexpr FeedbackConfigs & WithFeedbackRemoteSensorID(int newFeedbackRemoteSensorID)
Modifies this configuration's FeedbackRemoteSensorID parameter and returns itself for method-chaining...
Definition Configs.hpp:1754
constexpr FeedbackConfigs & WithFeedbackRotorOffset(units::angle::turn_t newFeedbackRotorOffset)
Modifies this configuration's FeedbackRotorOffset parameter and returns itself for method-chaining an...
Definition Configs.hpp:1621
constexpr FeedbackConfigs()=default
Configs that affect the ToF Field of View.
Definition Configs.hpp:4707
constexpr FovParamsConfigs & WithFOVRangeX(units::angle::degree_t newFOVRangeX)
Modifies this configuration's FOVRangeX parameter and returns itself for method-chaining and easier t...
Definition Configs.hpp:4836
std::string ToString() const override
Definition Configs.hpp:4870
units::angle::degree_t FOVCenterY
Specifies the target center of the Field of View in the Y direction.
Definition Configs.hpp:4736
constexpr FovParamsConfigs & WithFOVRangeY(units::angle::degree_t newFOVRangeY)
Modifies this configuration's FOVRangeY parameter and returns itself for method-chaining and easier t...
Definition Configs.hpp:4862
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:4892
constexpr FovParamsConfigs()=default
units::angle::degree_t FOVRangeX
Specifies the target range of the Field of View in the X direction.
Definition Configs.hpp:4751
constexpr FovParamsConfigs & WithFOVCenterX(units::angle::degree_t newFOVCenterX)
Modifies this configuration's FOVCenterX parameter and returns itself for method-chaining and easier ...
Definition Configs.hpp:4786
std::string Serialize() const override
Definition Configs.hpp:4881
units::angle::degree_t FOVCenterX
Specifies the target center of the Field of View in the X direction.
Definition Configs.hpp:4723
constexpr FovParamsConfigs & WithFOVCenterY(units::angle::degree_t newFOVCenterY)
Modifies this configuration's FOVCenterY parameter and returns itself for method-chaining and easier ...
Definition Configs.hpp:4810
units::angle::degree_t FOVRangeY
Specifies the target range of the Field of View in the Y direction.
Definition Configs.hpp:4766
Configs to trim the Pigeon2's gyroscope.
Definition Configs.hpp:386
constexpr GyroTrimConfigs & WithGyroScalarX(units::dimensionless::scalar_t newGyroScalarX)
Modifies this configuration's GyroScalarX parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:432
constexpr GyroTrimConfigs & WithGyroScalarY(units::dimensionless::scalar_t newGyroScalarY)
Modifies this configuration's GyroScalarY parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:452
std::string Serialize() const override
Definition Configs.hpp:490
std::string ToString() const override
Definition Configs.hpp:480
units::dimensionless::scalar_t GyroScalarY
The gyro scalar component for the Y axis.
Definition Configs.hpp:407
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:500
units::dimensionless::scalar_t GyroScalarX
The gyro scalar component for the X axis.
Definition Configs.hpp:398
constexpr GyroTrimConfigs & WithGyroScalarZ(units::dimensionless::scalar_t newGyroScalarZ)
Modifies this configuration's GyroScalarZ parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:472
units::dimensionless::scalar_t GyroScalarZ
The gyro scalar component for the Z axis.
Definition Configs.hpp:416
constexpr GyroTrimConfigs()=default
Configs that change how the motor controller behaves under different limit switch states.
Definition Configs.hpp:3199
HardwareLimitSwitchConfigs & WithReverseLimitRemoteTalonFX(const hardware::core::CoreTalonFX &device)
Helper method to configure this feedback group to use RemoteTalonFX reverse limit switch by passing i...
std::string ToString() const override
Definition Configs.hpp:3634
signals::ForwardLimitTypeValue ForwardLimitType
Determines if the forward limit switch is normally-open (default) or normally-closed.
Definition Configs.hpp:3208
constexpr HardwareLimitSwitchConfigs()=default
constexpr HardwareLimitSwitchConfigs & WithForwardLimitAutosetPositionValue(units::angle::turn_t newForwardLimitAutosetPositionValue)
Modifies this configuration's ForwardLimitAutosetPositionValue parameter and returns itself for metho...
Definition Configs.hpp:3380
units::angle::turn_t ForwardLimitAutosetPositionValue
The value to automatically set the position to when the forward limit switch is asserted.
Definition Configs.hpp:3227
signals::ForwardLimitSourceValue ForwardLimitSource
Determines where to poll the forward limit switch.
Definition Configs.hpp:3254
constexpr HardwareLimitSwitchConfigs & WithForwardLimitEnable(bool newForwardLimitEnable)
Modifies this configuration's ForwardLimitEnable parameter and returns itself for method-chaining and...
Definition Configs.hpp:3398
bool ForwardLimitEnable
If enabled, motor output is set to neutral when the forward limit switch is asserted and positive out...
Definition Configs.hpp:3234
bool ReverseLimitAutosetPositionEnable
If enabled, the position is automatically set to a specific value, specified by ReverseLimitAutosetPo...
Definition Configs.hpp:3278
bool ForwardLimitAutosetPositionEnable
If enabled, the position is automatically set to a specific value, specified by ForwardLimitAutosetPo...
Definition Configs.hpp:3216
constexpr HardwareLimitSwitchConfigs & WithReverseLimitAutosetPositionValue(units::angle::turn_t newReverseLimitAutosetPositionValue)
Modifies this configuration's ReverseLimitAutosetPositionValue parameter and returns itself for metho...
Definition Configs.hpp:3507
constexpr HardwareLimitSwitchConfigs & WithReverseLimitSource(signals::ReverseLimitSourceValue newReverseLimitSource)
Modifies this configuration's ReverseLimitSource parameter and returns itself for method-chaining and...
Definition Configs.hpp:3555
signals::ReverseLimitTypeValue ReverseLimitType
Determines if the reverse limit switch is normally-open (default) or normally-closed.
Definition Configs.hpp:3270
units::angle::turn_t ReverseLimitAutosetPositionValue
The value to automatically set the position to when the reverse limit switch is asserted.
Definition Configs.hpp:3289
constexpr HardwareLimitSwitchConfigs & WithForwardLimitAutosetPositionEnable(bool newForwardLimitAutosetPositionEnable)
Modifies this configuration's ForwardLimitAutosetPositionEnable parameter and returns itself for meth...
Definition Configs.hpp:3358
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:3672
constexpr HardwareLimitSwitchConfigs & WithForwardLimitRemoteSensorID(int newForwardLimitRemoteSensorID)
Modifies this configuration's ForwardLimitRemoteSensorID parameter and returns itself for method-chai...
Definition Configs.hpp:3449
constexpr HardwareLimitSwitchConfigs & WithReverseLimitAutosetPositionEnable(bool newReverseLimitAutosetPositionEnable)
Modifies this configuration's ReverseLimitAutosetPositionEnable parameter and returns itself for meth...
Definition Configs.hpp:3485
HardwareLimitSwitchConfigs & WithReverseLimitRemoteCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use RemoteCANcoder reverse limit switch by passing ...
constexpr HardwareLimitSwitchConfigs & WithReverseLimitType(signals::ReverseLimitTypeValue newReverseLimitType)
Modifies this configuration's ReverseLimitType parameter and returns itself for method-chaining and e...
Definition Configs.hpp:3466
constexpr HardwareLimitSwitchConfigs & WithReverseLimitEnable(bool newReverseLimitEnable)
Modifies this configuration's ReverseLimitEnable parameter and returns itself for method-chaining and...
Definition Configs.hpp:3525
int ForwardLimitRemoteSensorID
Device ID of the remote device if using remote limit switch features for the forward limit switch.
Definition Configs.hpp:3264
constexpr HardwareLimitSwitchConfigs & WithForwardLimitType(signals::ForwardLimitTypeValue newForwardLimitType)
Modifies this configuration's ForwardLimitType parameter and returns itself for method-chaining and e...
Definition Configs.hpp:3339
signals::ReverseLimitSourceValue ReverseLimitSource
Determines where to poll the reverse limit switch.
Definition Configs.hpp:3316
HardwareLimitSwitchConfigs & WithForwardLimitRemoteTalonFX(const hardware::core::CoreTalonFX &device)
Helper method to configure this feedback group to use RemoteTalonFX forward limit switch by passing i...
std::string Serialize() const override
Definition Configs.hpp:3653
constexpr HardwareLimitSwitchConfigs & WithReverseLimitRemoteSensorID(int newReverseLimitRemoteSensorID)
Modifies this configuration's ReverseLimitRemoteSensorID parameter and returns itself for method-chai...
Definition Configs.hpp:3576
constexpr HardwareLimitSwitchConfigs & WithForwardLimitSource(signals::ForwardLimitSourceValue newForwardLimitSource)
Modifies this configuration's ForwardLimitSource parameter and returns itself for method-chaining and...
Definition Configs.hpp:3428
HardwareLimitSwitchConfigs & WithForwardLimitRemoteCANcoder(const hardware::core::CoreCANcoder &device)
Helper method to configure this feedback group to use RemoteCANcoder forward limit switch by passing ...
bool ReverseLimitEnable
If enabled, motor output is set to neutral when reverse limit switch is asseted and negative output i...
Definition Configs.hpp:3296
int ReverseLimitRemoteSensorID
Device ID of the remote device if using remote limit switch features for the reverse limit switch.
Definition Configs.hpp:3326
Configs that affect the magnet sensor and how to interpret it.
Definition Configs.hpp:58
std::string Serialize() const override
Definition Configs.hpp:210
units::angle::turn_t AbsoluteSensorDiscontinuityPoint
The positive discontinuity point of the absolute sensor in rotations.
Definition Configs.hpp:112
constexpr MagnetSensorConfigs()=default
constexpr MagnetSensorConfigs & WithMagnetOffset(units::angle::turn_t newMagnetOffset)
Modifies this configuration's MagnetOffset parameter and returns itself for method-chaining and easie...
Definition Configs.hpp:148
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:220
constexpr MagnetSensorConfigs & WithSensorDirection(signals::SensorDirectionValue newSensorDirection)
Modifies this configuration's SensorDirection parameter and returns itself for method-chaining and ea...
Definition Configs.hpp:125
constexpr MagnetSensorConfigs & WithAbsoluteSensorDiscontinuityPoint(units::angle::turn_t newAbsoluteSensorDiscontinuityPoint)
Modifies this configuration's AbsoluteSensorDiscontinuityPoint parameter and returns itself for metho...
Definition Configs.hpp:192
units::angle::turn_t MagnetOffset
This offset is added to the reported position, allowing the application to trim the zero position.
Definition Configs.hpp:79
std::string ToString() const override
Definition Configs.hpp:200
signals::SensorDirectionValue SensorDirection
Direction of the sensor to determine positive rotation, as seen facing the LED side of the CANcoder.
Definition Configs.hpp:67
Configs for Motion Magic®.
Definition Configs.hpp:4002
ctre::unit::volts_per_turn_per_second_squared_t MotionMagicExpo_kA
This is the target kA used only by Motion Magic® Expo control modes.
Definition Configs.hpp:4076
constexpr MotionMagicConfigs & WithMotionMagicAcceleration(units::angular_acceleration::turns_per_second_squared_t newMotionMagicAcceleration)
Modifies this configuration's MotionMagicAcceleration parameter and returns itself for method-chainin...
Definition Configs.hpp:4120
ctre::unit::volts_per_turn_per_second_t MotionMagicExpo_kV
This is the target kV used only by Motion Magic® Expo control modes.
Definition Configs.hpp:4061
constexpr MotionMagicConfigs()=default
std::string Serialize() const override
Definition Configs.hpp:4216
constexpr MotionMagicConfigs & WithMotionMagicCruiseVelocity(units::angular_velocity::turns_per_second_t newMotionMagicCruiseVelocity)
Modifies this configuration's MotionMagicCruiseVelocity parameter and returns itself for method-chain...
Definition Configs.hpp:4098
units::angular_acceleration::turns_per_second_squared_t MotionMagicAcceleration
This is the target acceleration Motion Magic® based control modes are allowed to use.
Definition Configs.hpp:4031
constexpr MotionMagicConfigs & WithMotionMagicJerk(units::angular_jerk::turns_per_second_cubed_t newMotionMagicJerk)
Modifies this configuration's MotionMagicJerk parameter and returns itself for method-chaining and ea...
Definition Configs.hpp:4146
units::angular_velocity::turns_per_second_t MotionMagicCruiseVelocity
This is the maximum velocity Motion Magic® based control modes are allowed to use.
Definition Configs.hpp:4020
units::angular_jerk::turns_per_second_cubed_t MotionMagicJerk
This is the target jerk (acceleration derivative) Motion Magic® based control modes are allowed to us...
Definition Configs.hpp:4046
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:4228
std::string ToString() const override
Definition Configs.hpp:4204
constexpr MotionMagicConfigs & WithMotionMagicExpo_kA(ctre::unit::volts_per_turn_per_second_squared_t newMotionMagicExpo_kA)
Modifies this configuration's MotionMagicExpo_kA parameter and returns itself for method-chaining and...
Definition Configs.hpp:4196
constexpr MotionMagicConfigs & WithMotionMagicExpo_kV(ctre::unit::volts_per_turn_per_second_t newMotionMagicExpo_kV)
Modifies this configuration's MotionMagicExpo_kV parameter and returns itself for method-chaining and...
Definition Configs.hpp:4171
Configs that directly affect motor output.
Definition Configs.hpp:645
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:856
units::dimensionless::scalar_t PeakReverseDutyCycle
Minimum (reverse) output during duty cycle based control modes.
Definition Configs.hpp:690
signals::NeutralModeValue NeutralMode
The state of the motor controller bridge when output is neutral or disabled.
Definition Configs.hpp:660
constexpr MotorOutputConfigs & WithNeutralMode(signals::NeutralModeValue newNeutralMode)
Modifies this configuration's NeutralMode parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:735
constexpr MotorOutputConfigs & WithControlTimesyncFreqHz(units::frequency::hertz_t newControlTimesyncFreqHz)
Modifies this configuration's ControlTimesyncFreqHz parameter and returns itself for method-chaining ...
Definition Configs.hpp:822
units::dimensionless::scalar_t PeakForwardDutyCycle
Maximum (forward) output during duty cycle based control modes.
Definition Configs.hpp:680
constexpr MotorOutputConfigs & WithPeakForwardDutyCycle(units::dimensionless::scalar_t newPeakForwardDutyCycle)
Modifies this configuration's PeakForwardDutyCycle parameter and returns itself for method-chaining a...
Definition Configs.hpp:776
constexpr MotorOutputConfigs & WithDutyCycleNeutralDeadband(units::dimensionless::scalar_t newDutyCycleNeutralDeadband)
Modifies this configuration's DutyCycleNeutralDeadband parameter and returns itself for method-chaini...
Definition Configs.hpp:756
constexpr MotorOutputConfigs()=default
std::string ToString() const override
Definition Configs.hpp:830
signals::InvertedValue Inverted
Invert state of the device as seen from the front of the motor.
Definition Configs.hpp:654
std::string Serialize() const override
Definition Configs.hpp:843
constexpr MotorOutputConfigs & WithInverted(signals::InvertedValue newInverted)
Modifies this configuration's Inverted parameter and returns itself for method-chaining and easier to...
Definition Configs.hpp:718
constexpr MotorOutputConfigs & WithPeakReverseDutyCycle(units::dimensionless::scalar_t newPeakReverseDutyCycle)
Modifies this configuration's PeakReverseDutyCycle parameter and returns itself for method-chaining a...
Definition Configs.hpp:796
units::dimensionless::scalar_t DutyCycleNeutralDeadband
Configures the output deadband duty cycle during duty cycle and voltage based control modes.
Definition Configs.hpp:670
units::frequency::hertz_t ControlTimesyncFreqHz
When a control request UseTimesync is enabled, this determines the time-sychronized frequency at whic...
Definition Configs.hpp:706
Configs for Pigeon 2's Mount Pose configuration.
Definition Configs.hpp:244
constexpr MountPoseConfigs & WithMountPoseRoll(units::angle::degree_t newMountPoseRoll)
Modifies this configuration's MountPoseRoll parameter and returns itself for method-chaining and easi...
Definition Configs.hpp:330
constexpr MountPoseConfigs()=default
constexpr MountPoseConfigs & WithMountPoseYaw(units::angle::degree_t newMountPoseYaw)
Modifies this configuration's MountPoseYaw parameter and returns itself for method-chaining and easie...
Definition Configs.hpp:290
units::angle::degree_t MountPoseRoll
The mounting calibration roll-component.
Definition Configs.hpp:274
units::angle::degree_t MountPosePitch
The mounting calibration pitch-component.
Definition Configs.hpp:265
std::string ToString() const override
Definition Configs.hpp:338
constexpr MountPoseConfigs & WithMountPosePitch(units::angle::degree_t newMountPosePitch)
Modifies this configuration's MountPosePitch parameter and returns itself for method-chaining and eas...
Definition Configs.hpp:310
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:358
units::angle::degree_t MountPoseYaw
The mounting calibration yaw-component.
Definition Configs.hpp:256
std::string Serialize() const override
Definition Configs.hpp:348
Configs that affect the open-loop control of this motor controller.
Definition Configs.hpp:2837
constexpr OpenLoopRampsConfigs & WithVoltageOpenLoopRampPeriod(units::time::second_t newVoltageOpenLoopRampPeriod)
Modifies this configuration's VoltageOpenLoopRampPeriod parameter and returns itself for method-chain...
Definition Configs.hpp:2927
constexpr OpenLoopRampsConfigs()=default
std::string Serialize() const override
Definition Configs.hpp:2969
constexpr OpenLoopRampsConfigs & WithDutyCycleOpenLoopRampPeriod(units::time::second_t newDutyCycleOpenLoopRampPeriod)
Modifies this configuration's DutyCycleOpenLoopRampPeriod parameter and returns itself for method-cha...
Definition Configs.hpp:2902
units::time::second_t VoltageOpenLoopRampPeriod
If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop Voltage...
Definition Configs.hpp:2868
units::time::second_t TorqueOpenLoopRampPeriod
If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop Torque...
Definition Configs.hpp:2881
std::string ToString() const override
Definition Configs.hpp:2959
constexpr OpenLoopRampsConfigs & WithTorqueOpenLoopRampPeriod(units::time::second_t newTorqueOpenLoopRampPeriod)
Modifies this configuration's TorqueOpenLoopRampPeriod parameter and returns itself for method-chaini...
Definition Configs.hpp:2951
units::time::second_t DutyCycleOpenLoopRampPeriod
If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCy...
Definition Configs.hpp:2854
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:2979
Configs related to CANdi's PWM interface on the Signal 1 input (S1IN)
Definition Configs.hpp:5331
constexpr PWM1Configs & WithSensorDirection(bool newSensorDirection)
Modifies this configuration's SensorDirection parameter and returns itself for method-chaining and ea...
Definition Configs.hpp:5469
units::angle::turn_t AbsoluteSensorOffset
The offset applied to the PWM sensor.
Definition Configs.hpp:5346
constexpr PWM1Configs()=default
constexpr PWM1Configs & WithAbsoluteSensorOffset(units::angle::turn_t newAbsoluteSensorOffset)
Modifies this configuration's AbsoluteSensorOffset parameter and returns itself for method-chaining a...
Definition Configs.hpp:5406
bool SensorDirection
Direction of the PWM sensor to determine positive rotation.
Definition Configs.hpp:5387
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:5497
std::string ToString() const override
Definition Configs.hpp:5477
units::angle::turn_t AbsoluteSensorDiscontinuityPoint
The positive discontinuity point of the absolute sensor in rotations.
Definition Configs.hpp:5379
constexpr PWM1Configs & WithAbsoluteSensorDiscontinuityPoint(units::angle::turn_t newAbsoluteSensorDiscontinuityPoint)
Modifies this configuration's AbsoluteSensorDiscontinuityPoint parameter and returns itself for metho...
Definition Configs.hpp:5450
std::string Serialize() const override
Definition Configs.hpp:5487
Configs related to CANdi's PWM interface on the Signal 2 input (S2IN)
Definition Configs.hpp:5522
units::angle::turn_t AbsoluteSensorOffset
The offset applied to the PWM sensor.
Definition Configs.hpp:5537
std::string Serialize() const override
Definition Configs.hpp:5678
constexpr PWM2Configs & WithAbsoluteSensorDiscontinuityPoint(units::angle::turn_t newAbsoluteSensorDiscontinuityPoint)
Modifies this configuration's AbsoluteSensorDiscontinuityPoint parameter and returns itself for metho...
Definition Configs.hpp:5641
units::angle::turn_t AbsoluteSensorDiscontinuityPoint
The positive discontinuity point of the absolute sensor in rotations.
Definition Configs.hpp:5570
constexpr PWM2Configs & WithAbsoluteSensorOffset(units::angle::turn_t newAbsoluteSensorOffset)
Modifies this configuration's AbsoluteSensorOffset parameter and returns itself for method-chaining a...
Definition Configs.hpp:5597
constexpr PWM2Configs()=default
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:5688
std::string ToString() const override
Definition Configs.hpp:5668
constexpr PWM2Configs & WithSensorDirection(bool newSensorDirection)
Modifies this configuration's SensorDirection parameter and returns itself for method-chaining and ea...
Definition Configs.hpp:5660
bool SensorDirection
Direction of the PWM sensor to determine positive rotation.
Definition Configs.hpp:5578
Definition Configs.hpp:38
friend std::ostream & operator<<(std::ostream &str, const ParentConfiguration &v)
Definition Configs.hpp:41
virtual ctre::phoenix::StatusCode Deserialize(const std::string &string)=0
virtual std::string ToString() const =0
Configs to enable/disable various features of the Pigeon2.
Definition Configs.hpp:525
constexpr Pigeon2FeaturesConfigs & WithEnableCompass(bool newEnableCompass)
Modifies this configuration's EnableCompass parameter and returns itself for method-chaining and easi...
Definition Configs.hpp:564
bool DisableTemperatureCompensation
Disables using the temperature compensation feature.
Definition Configs.hpp:543
constexpr Pigeon2FeaturesConfigs & WithDisableTemperatureCompensation(bool newDisableTemperatureCompensation)
Modifies this configuration's DisableTemperatureCompensation parameter and returns itself for method-...
Definition Configs.hpp:581
std::string ToString() const override
Definition Configs.hpp:606
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:626
constexpr Pigeon2FeaturesConfigs()=default
std::string Serialize() const override
Definition Configs.hpp:616
bool DisableNoMotionCalibration
Disables using the no-motion calibration feature.
Definition Configs.hpp:549
constexpr Pigeon2FeaturesConfigs & WithDisableNoMotionCalibration(bool newDisableNoMotionCalibration)
Modifies this configuration's DisableNoMotionCalibration parameter and returns itself for method-chai...
Definition Configs.hpp:598
bool EnableCompass
Turns on or off the magnetometer fusing for 9-axis.
Definition Configs.hpp:537
Configs that affect the ToF Proximity detection.
Definition Configs.hpp:4539
constexpr ProximityParamsConfigs()=default
units::dimensionless::scalar_t MinSignalStrengthForValidMeasurement
The minimum allowable signal strength before determining the measurement is valid.
Definition Configs.hpp:4584
std::string ToString() const override
Definition Configs.hpp:4663
constexpr ProximityParamsConfigs & WithProximityThreshold(units::length::meter_t newProximityThreshold)
Modifies this configuration's ProximityThreshold parameter and returns itself for method-chaining and...
Definition Configs.hpp:4600
constexpr ProximityParamsConfigs & WithMinSignalStrengthForValidMeasurement(units::dimensionless::scalar_t newMinSignalStrengthForValidMeasurement)
Modifies this configuration's MinSignalStrengthForValidMeasurement parameter and returns itself for m...
Definition Configs.hpp:4655
std::string Serialize() const override
Definition Configs.hpp:4673
units::length::meter_t ProximityThreshold
Threshold for object detection.
Definition Configs.hpp:4551
constexpr ProximityParamsConfigs & WithProximityHysteresis(units::length::meter_t newProximityHysteresis)
Modifies this configuration's ProximityHysteresis parameter and returns itself for method-chaining an...
Definition Configs.hpp:4628
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:4683
units::length::meter_t ProximityHysteresis
How far above and below the threshold the distance needs to be to trigger undetected and detected,...
Definition Configs.hpp:4568
Configs related to CANdi's quadrature interface using both the S1IN and S2IN inputs.
Definition Configs.hpp:5204
int QuadratureEdgesPerRotation
The number of quadrature edges in one rotation for the quadrature sensor connected to the Talon data ...
Definition Configs.hpp:5229
std::string ToString() const override
Definition Configs.hpp:5293
constexpr QuadratureConfigs & WithSensorDirection(bool newSensorDirection)
Modifies this configuration's SensorDirection parameter and returns itself for method-chaining and ea...
Definition Configs.hpp:5285
std::string Serialize() const override
Definition Configs.hpp:5302
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:5311
bool SensorDirection
Direction of the quadrature sensor to determine positive rotation.
Definition Configs.hpp:5237
constexpr QuadratureConfigs()=default
constexpr QuadratureConfigs & WithQuadratureEdgesPerRotation(int newQuadratureEdgesPerRotation)
Modifies this configuration's QuadratureEdgesPerRotation parameter and returns itself for method-chai...
Definition Configs.hpp:5266
Gains for the specified slot.
Definition Configs.hpp:5711
units::dimensionless::scalar_t kS
Static Feedforward Gain.
Definition Configs.hpp:5789
constexpr Slot0Configs & WithKI(units::dimensionless::scalar_t newKI)
Modifies this configuration's kI parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:5925
units::dimensionless::scalar_t kA
Acceleration Feedforward Gain.
Definition Configs.hpp:5822
static Slot0Configs From(const SlotConfigs &value)
signals::StaticFeedforwardSignValue StaticFeedforwardSign
Static Feedforward Sign during position closed loop.
Definition Configs.hpp:5873
constexpr Slot0Configs & WithKA(units::dimensionless::scalar_t newKA)
Modifies this configuration's kA parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6043
std::string ToString() const override
Definition Configs.hpp:6135
signals::GravityTypeValue GravityType
Gravity Feedforward/Feedback Type.
Definition Configs.hpp:5855
constexpr Slot0Configs & WithKS(units::dimensionless::scalar_t newKS)
Modifies this configuration's kS parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:5988
units::dimensionless::scalar_t kP
Proportional Gain.
Definition Configs.hpp:5730
constexpr Slot0Configs & WithKP(units::dimensionless::scalar_t newKP)
Modifies this configuration's kP parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:5896
constexpr Slot0Configs & WithKV(units::dimensionless::scalar_t newKV)
Modifies this configuration's kV parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6015
constexpr Slot0Configs & WithStaticFeedforwardSign(signals::StaticFeedforwardSignValue newStaticFeedforwardSign)
Modifies this configuration's StaticFeedforwardSign parameter and returns itself for method-chaining ...
Definition Configs.hpp:6127
constexpr Slot0Configs()=default
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:6167
constexpr Slot0Configs & WithKG(units::dimensionless::scalar_t newKG)
Modifies this configuration's kG parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6068
units::dimensionless::scalar_t kD
Derivative Gain.
Definition Configs.hpp:5767
constexpr Slot0Configs & WithGravityType(signals::GravityTypeValue newGravityType)
Modifies this configuration's GravityType parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:6098
units::dimensionless::scalar_t kV
Velocity Feedforward Gain.
Definition Configs.hpp:5805
constexpr Slot0Configs & WithKD(units::dimensionless::scalar_t newKD)
Modifies this configuration's kD parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:5955
units::dimensionless::scalar_t kG
Gravity Feedforward/Feedback Gain.
Definition Configs.hpp:5836
units::dimensionless::scalar_t kI
Integral Gain.
Definition Configs.hpp:5748
std::string Serialize() const override
Definition Configs.hpp:6151
Gains for the specified slot.
Definition Configs.hpp:6206
units::dimensionless::scalar_t kP
Proportional Gain.
Definition Configs.hpp:6225
std::string Serialize() const override
Definition Configs.hpp:6646
static Slot1Configs From(const SlotConfigs &value)
units::dimensionless::scalar_t kG
Gravity Feedforward/Feedback Gain.
Definition Configs.hpp:6331
constexpr Slot1Configs & WithKI(units::dimensionless::scalar_t newKI)
Modifies this configuration's kI parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6420
constexpr Slot1Configs & WithKS(units::dimensionless::scalar_t newKS)
Modifies this configuration's kS parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6483
units::dimensionless::scalar_t kA
Acceleration Feedforward Gain.
Definition Configs.hpp:6317
units::dimensionless::scalar_t kS
Static Feedforward Gain.
Definition Configs.hpp:6284
units::dimensionless::scalar_t kD
Derivative Gain.
Definition Configs.hpp:6262
units::dimensionless::scalar_t kI
Integral Gain.
Definition Configs.hpp:6243
signals::StaticFeedforwardSignValue StaticFeedforwardSign
Static Feedforward Sign during position closed loop.
Definition Configs.hpp:6368
units::dimensionless::scalar_t kV
Velocity Feedforward Gain.
Definition Configs.hpp:6300
constexpr Slot1Configs & WithKP(units::dimensionless::scalar_t newKP)
Modifies this configuration's kP parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6391
constexpr Slot1Configs()=default
constexpr Slot1Configs & WithKG(units::dimensionless::scalar_t newKG)
Modifies this configuration's kG parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6563
constexpr Slot1Configs & WithKV(units::dimensionless::scalar_t newKV)
Modifies this configuration's kV parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6510
constexpr Slot1Configs & WithKD(units::dimensionless::scalar_t newKD)
Modifies this configuration's kD parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6450
constexpr Slot1Configs & WithStaticFeedforwardSign(signals::StaticFeedforwardSignValue newStaticFeedforwardSign)
Modifies this configuration's StaticFeedforwardSign parameter and returns itself for method-chaining ...
Definition Configs.hpp:6622
constexpr Slot1Configs & WithKA(units::dimensionless::scalar_t newKA)
Modifies this configuration's kA parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6538
std::string ToString() const override
Definition Configs.hpp:6630
signals::GravityTypeValue GravityType
Gravity Feedforward/Feedback Type.
Definition Configs.hpp:6350
constexpr Slot1Configs & WithGravityType(signals::GravityTypeValue newGravityType)
Modifies this configuration's GravityType parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:6593
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:6662
Gains for the specified slot.
Definition Configs.hpp:6701
std::string Serialize() const override
Definition Configs.hpp:7141
constexpr Slot2Configs & WithKG(units::dimensionless::scalar_t newKG)
Modifies this configuration's kG parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7058
constexpr Slot2Configs & WithKD(units::dimensionless::scalar_t newKD)
Modifies this configuration's kD parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6945
constexpr Slot2Configs & WithKS(units::dimensionless::scalar_t newKS)
Modifies this configuration's kS parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6978
units::dimensionless::scalar_t kA
Acceleration Feedforward Gain.
Definition Configs.hpp:6812
signals::GravityTypeValue GravityType
Gravity Feedforward/Feedback Type.
Definition Configs.hpp:6845
constexpr Slot2Configs & WithGravityType(signals::GravityTypeValue newGravityType)
Modifies this configuration's GravityType parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:7088
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:7157
constexpr Slot2Configs & WithKI(units::dimensionless::scalar_t newKI)
Modifies this configuration's kI parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6915
constexpr Slot2Configs & WithStaticFeedforwardSign(signals::StaticFeedforwardSignValue newStaticFeedforwardSign)
Modifies this configuration's StaticFeedforwardSign parameter and returns itself for method-chaining ...
Definition Configs.hpp:7117
units::dimensionless::scalar_t kS
Static Feedforward Gain.
Definition Configs.hpp:6779
constexpr Slot2Configs & WithKP(units::dimensionless::scalar_t newKP)
Modifies this configuration's kP parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:6886
units::dimensionless::scalar_t kV
Velocity Feedforward Gain.
Definition Configs.hpp:6795
constexpr Slot2Configs()=default
static Slot2Configs From(const SlotConfigs &value)
units::dimensionless::scalar_t kD
Derivative Gain.
Definition Configs.hpp:6757
constexpr Slot2Configs & WithKV(units::dimensionless::scalar_t newKV)
Modifies this configuration's kV parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7005
units::dimensionless::scalar_t kP
Proportional Gain.
Definition Configs.hpp:6720
signals::StaticFeedforwardSignValue StaticFeedforwardSign
Static Feedforward Sign during position closed loop.
Definition Configs.hpp:6863
units::dimensionless::scalar_t kI
Integral Gain.
Definition Configs.hpp:6738
std::string ToString() const override
Definition Configs.hpp:7125
constexpr Slot2Configs & WithKA(units::dimensionless::scalar_t newKA)
Modifies this configuration's kA parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7033
units::dimensionless::scalar_t kG
Gravity Feedforward/Feedback Gain.
Definition Configs.hpp:6826
Gains for the specified slot.
Definition Configs.hpp:7195
static SlotConfigs From(const Slot2Configs &value)
std::string ToString() const
Definition Configs.hpp:7679
constexpr SlotConfigs & WithGravityType(signals::GravityTypeValue newGravityType)
Modifies this configuration's GravityType parameter and returns itself for method-chaining and easier...
Definition Configs.hpp:7634
static SlotConfigs From(const Slot1Configs &value)
units::dimensionless::scalar_t kI
Integral Gain.
Definition Configs.hpp:7284
constexpr SlotConfigs & WithKS(units::dimensionless::scalar_t newKS)
Modifies this configuration's kS parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7524
constexpr SlotConfigs & WithStaticFeedforwardSign(signals::StaticFeedforwardSignValue newStaticFeedforwardSign)
Modifies this configuration's StaticFeedforwardSign parameter and returns itself for method-chaining ...
Definition Configs.hpp:7663
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize)
Definition Configs.hpp:7712
constexpr SlotConfigs & WithKD(units::dimensionless::scalar_t newKD)
Modifies this configuration's kD parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7491
signals::StaticFeedforwardSignValue StaticFeedforwardSign
Static Feedforward Sign during position closed loop.
Definition Configs.hpp:7409
units::dimensionless::scalar_t kV
Velocity Feedforward Gain.
Definition Configs.hpp:7341
units::dimensionless::scalar_t kS
Static Feedforward Gain.
Definition Configs.hpp:7325
constexpr SlotConfigs & WithKV(units::dimensionless::scalar_t newKV)
Modifies this configuration's kV parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7551
units::dimensionless::scalar_t kP
Proportional Gain.
Definition Configs.hpp:7266
constexpr SlotConfigs & WithKA(units::dimensionless::scalar_t newKA)
Modifies this configuration's kA parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7579
int SlotNumber
Chooses which slot these configs are for.
Definition Configs.hpp:7673
units::dimensionless::scalar_t kD
Derivative Gain.
Definition Configs.hpp:7303
constexpr SlotConfigs & WithKP(units::dimensionless::scalar_t newKP)
Modifies this configuration's kP parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7432
units::dimensionless::scalar_t kA
Acceleration Feedforward Gain.
Definition Configs.hpp:7358
std::string Serialize() const
Definition Configs.hpp:7695
static SlotConfigs From(const Slot0Configs &value)
constexpr SlotConfigs & WithKI(units::dimensionless::scalar_t newKI)
Modifies this configuration's kI parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7461
signals::GravityTypeValue GravityType
Gravity Feedforward/Feedback Type.
Definition Configs.hpp:7391
constexpr SlotConfigs & WithKG(units::dimensionless::scalar_t newKG)
Modifies this configuration's kG parameter and returns itself for method-chaining and easier to use c...
Definition Configs.hpp:7604
constexpr SlotConfigs()=default
units::dimensionless::scalar_t kG
Gravity Feedforward/Feedback Gain.
Definition Configs.hpp:7372
Configs that affect how software-limit switches behave.
Definition Configs.hpp:3837
units::angle::turn_t ReverseSoftLimitThreshold
Position threshold for reverse soft limit features.
Definition Configs.hpp:3874
constexpr SoftwareLimitSwitchConfigs()=default
std::string ToString() const override
Definition Configs.hpp:3956
constexpr SoftwareLimitSwitchConfigs & WithForwardSoftLimitThreshold(units::angle::turn_t newForwardSoftLimitThreshold)
Modifies this configuration's ForwardSoftLimitThreshold parameter and returns itself for method-chain...
Definition Configs.hpp:3927
units::angle::turn_t ForwardSoftLimitThreshold
Position threshold for forward soft limit features.
Definition Configs.hpp:3864
constexpr SoftwareLimitSwitchConfigs & WithReverseSoftLimitThreshold(units::angle::turn_t newReverseSoftLimitThreshold)
Modifies this configuration's ReverseSoftLimitThreshold parameter and returns itself for method-chain...
Definition Configs.hpp:3948
constexpr SoftwareLimitSwitchConfigs & WithReverseSoftLimitEnable(bool newReverseSoftLimitEnable)
Modifies this configuration's ReverseSoftLimitEnable parameter and returns itself for method-chaining...
Definition Configs.hpp:3906
std::string Serialize() const override
Definition Configs.hpp:3967
bool ReverseSoftLimitEnable
If enabled, the motor output is set to neutral if position exceeds ReverseSoftLimitThreshold and reve...
Definition Configs.hpp:3854
constexpr SoftwareLimitSwitchConfigs & WithForwardSoftLimitEnable(bool newForwardSoftLimitEnable)
Modifies this configuration's ForwardSoftLimitEnable parameter and returns itself for method-chaining...
Definition Configs.hpp:3888
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:3978
bool ForwardSoftLimitEnable
If enabled, the motor output is set to neutral if position exceeds ForwardSoftLimitThreshold and forw...
Definition Configs.hpp:3847
Configs that affect the ToF sensor.
Definition Configs.hpp:4438
constexpr ToFParamsConfigs & WithUpdateFrequency(units::frequency::hertz_t newUpdateFrequency)
Modifies this configuration's UpdateFrequency parameter and returns itself for method-chaining and ea...
Definition Configs.hpp:4493
std::string Serialize() const override
Definition Configs.hpp:4510
signals::UpdateModeValue UpdateMode
Update mode of the CANrange.
Definition Configs.hpp:4447
constexpr ToFParamsConfigs()=default
constexpr ToFParamsConfigs & WithUpdateMode(signals::UpdateModeValue newUpdateMode)
Modifies this configuration's UpdateMode parameter and returns itself for method-chaining and easier ...
Definition Configs.hpp:4471
units::frequency::hertz_t UpdateFrequency
Rate at which the CANrange will take measurements.
Definition Configs.hpp:4458
std::string ToString() const override
Definition Configs.hpp:4501
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:4519
Configs that affect Torque Current control types.
Definition Configs.hpp:1340
std::string ToString() const override
Definition Configs.hpp:1438
constexpr TorqueCurrentConfigs()=default
units::current::ampere_t PeakReverseTorqueCurrent
Minimum (reverse) output during torque current based control modes.
Definition Configs.hpp:1363
units::current::ampere_t PeakForwardTorqueCurrent
Maximum (forward) output during torque current based control modes.
Definition Configs.hpp:1353
constexpr TorqueCurrentConfigs & WithPeakForwardTorqueCurrent(units::current::ampere_t newPeakForwardTorqueCurrent)
Modifies this configuration's PeakForwardTorqueCurrent parameter and returns itself for method-chaini...
Definition Configs.hpp:1389
constexpr TorqueCurrentConfigs & WithTorqueNeutralDeadband(units::current::ampere_t newTorqueNeutralDeadband)
Modifies this configuration's TorqueNeutralDeadband parameter and returns itself for method-chaining ...
Definition Configs.hpp:1430
units::current::ampere_t TorqueNeutralDeadband
Configures the output deadband during torque current based control modes.
Definition Configs.hpp:1373
constexpr TorqueCurrentConfigs & WithPeakReverseTorqueCurrent(units::current::ampere_t newPeakReverseTorqueCurrent)
Modifies this configuration's PeakReverseTorqueCurrent parameter and returns itself for method-chaini...
Definition Configs.hpp:1409
std::string Serialize() const override
Definition Configs.hpp:1448
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:1458
Configs that affect Voltage control types.
Definition Configs.hpp:1190
units::voltage::volt_t PeakForwardVoltage
Maximum (forward) output during voltage based control modes.
Definition Configs.hpp:1216
constexpr VoltageConfigs & WithPeakReverseVoltage(units::voltage::volt_t newPeakReverseVoltage)
Modifies this configuration's PeakReverseVoltage parameter and returns itself for method-chaining and...
Definition Configs.hpp:1286
ctre::phoenix::StatusCode Deserialize(const std::string &to_deserialize) override
Definition Configs.hpp:1314
std::string Serialize() const override
Definition Configs.hpp:1304
std::string ToString() const override
Definition Configs.hpp:1294
units::time::second_t SupplyVoltageTimeConstant
The time constant (in seconds) of the low-pass filter for the supply voltage.
Definition Configs.hpp:1207
constexpr VoltageConfigs & WithPeakForwardVoltage(units::voltage::volt_t newPeakForwardVoltage)
Modifies this configuration's PeakForwardVoltage parameter and returns itself for method-chaining and...
Definition Configs.hpp:1266
constexpr VoltageConfigs & WithSupplyVoltageTimeConstant(units::time::second_t newSupplyVoltageTimeConstant)
Modifies this configuration's SupplyVoltageTimeConstant parameter and returns itself for method-chain...
Definition Configs.hpp:1246
units::voltage::volt_t PeakReverseVoltage
Minimum (reverse) output during voltage based control modes.
Definition Configs.hpp:1225
constexpr VoltageConfigs()=default
Class for CANcoder, a CAN based magnetic encoder that provides absolute and relative position along w...
Definition CoreCANcoder.hpp:631
Class description for the Talon FX integrated motor controller.
Definition CoreTalonFX.hpp:2932
Requires Phoenix Pro; Improves commutation and velocity measurement for motors with hall sensors.
Definition SpnEnums.hpp:3760
static constexpr int Disabled
Talon will utilize hall sensors without advanced features.
Definition SpnEnums.hpp:3767
int value
Definition SpnEnums.hpp:3762
If a brushed motor is selected with Motor Arrangement, this config determines which of three leads to...
Definition SpnEnums.hpp:4901
int value
Definition SpnEnums.hpp:4903
static constexpr int Leads_A_and_B
Third party brushed DC motor with two leads.
Definition SpnEnums.hpp:4916
Choose what sensor source is used for differential control of a mechanism.
Definition SpnEnums.hpp:3236
static constexpr int Disabled
Disable differential control.
Definition SpnEnums.hpp:3243
int value
Definition SpnEnums.hpp:3238
Choose what sensor source is reported via API and used by closed-loop and limit features.
Definition SpnEnums.hpp:4388
int value
Definition SpnEnums.hpp:4390
static constexpr int Commutation
Use the external sensor used for motor commutation.
Definition SpnEnums.hpp:4395
Choose what sensor source is reported via API and used by closed-loop and limit features.
Definition SpnEnums.hpp:2411
int value
Definition SpnEnums.hpp:2413
static constexpr int RotorSensor
Use the internal rotor sensor in the Talon.
Definition SpnEnums.hpp:2418
Determines where to poll the forward limit switch.
Definition SpnEnums.hpp:2703
static constexpr int LimitSwitchPin
Use the forward limit switch pin on the limit switch connector.
Definition SpnEnums.hpp:2710
int value
Definition SpnEnums.hpp:2705
Determines if the forward limit switch is normally-open (default) or normally-closed.
Definition SpnEnums.hpp:2616
static constexpr int NormallyOpen
Definition SpnEnums.hpp:2620
int value
Definition SpnEnums.hpp:2618
Gravity Feedforward/Feedback Type.
Definition SpnEnums.hpp:2138
static constexpr int Elevator_Static
The system's gravity feedforward is constant, such as an elevator.
Definition SpnEnums.hpp:2146
int value
Definition SpnEnums.hpp:2140
Invert state of the device as seen from the front of the motor.
Definition SpnEnums.hpp:2223
static constexpr int CounterClockwise_Positive
Positive motor output results in clockwise motion.
Definition SpnEnums.hpp:2230
int value
Definition SpnEnums.hpp:2225
Selects the motor and motor connections used with Talon.
Definition SpnEnums.hpp:3849
int value
Definition SpnEnums.hpp:3851
static constexpr int Disabled
Motor is not selected.
Definition SpnEnums.hpp:3858
The state of the motor controller bridge when output is neutral or disabled.
Definition SpnEnums.hpp:2303
int value
Definition SpnEnums.hpp:2305
static constexpr int Coast
Definition SpnEnums.hpp:2307
Determines where to poll the reverse limit switch.
Definition SpnEnums.hpp:2911
int value
Definition SpnEnums.hpp:2913
static constexpr int LimitSwitchPin
Use the reverse limit switch pin on the limit switch connector.
Definition SpnEnums.hpp:2918
Determines if the reverse limit switch is normally-open (default) or normally-closed.
Definition SpnEnums.hpp:2824
static constexpr int NormallyOpen
Definition SpnEnums.hpp:2828
int value
Definition SpnEnums.hpp:2826
What value the Signal 1 input (S1IN) needs to be for the CANdi to detect as Closed.
Definition SpnEnums.hpp:4698
int value
Definition SpnEnums.hpp:4700
static constexpr int CloseWhenNotFloating
The S1 input will be treated as closed when it is not floating.
Definition SpnEnums.hpp:4705
The floating state of the Signal 1 input (S1IN).
Definition SpnEnums.hpp:4158
int value
Definition SpnEnums.hpp:4160
static constexpr int FloatDetect
The input will attempt to detect when it is floating.
Definition SpnEnums.hpp:4166
What value the Signal 2 input (S2IN) needs to be for the CANdi to detect as Closed.
Definition SpnEnums.hpp:4801
int value
Definition SpnEnums.hpp:4803
static constexpr int CloseWhenNotFloating
The S2 input will be treated as closed when it is not floating.
Definition SpnEnums.hpp:4808
The floating state of the Signal 2 input (S2IN).
Definition SpnEnums.hpp:4251
int value
Definition SpnEnums.hpp:4253
static constexpr int FloatDetect
The input will attempt to detect when it is floating.
Definition SpnEnums.hpp:4259
Direction of the sensor to determine positive rotation, as seen facing the LED side of the CANcoder.
Definition SpnEnums.hpp:270
static constexpr int CounterClockwise_Positive
Counter-clockwise motion reports positive rotation.
Definition SpnEnums.hpp:277
int value
Definition SpnEnums.hpp:272
The relationship between the motor controlled by a Talon and the external sensor connected to the dat...
Definition SpnEnums.hpp:4615
int value
Definition SpnEnums.hpp:4617
static constexpr int Aligned
The sensor direction is normally aligned with the motor.
Definition SpnEnums.hpp:4622
Static Feedforward Sign during position closed loop.
Definition SpnEnums.hpp:3366
int value
Definition SpnEnums.hpp:3368
static constexpr int UseVelocitySign
Use the velocity reference sign.
Definition SpnEnums.hpp:3375
Update mode of the CANrange.
Definition SpnEnums.hpp:3670
int value
Definition SpnEnums.hpp:3672
static constexpr int ShortRange100Hz
Updates distance/proximity at 100hz using short-range detection mode.
Definition SpnEnums.hpp:3677
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:27
Definition MotionMagicExpoTorqueCurrentFOC.hpp:18