diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html index 5529020..7c8bdf5 100644 --- a/docs/allclasses-index.html +++ b/docs/allclasses-index.html @@ -1,11 +1,11 @@ - + All Classes and Interfaces - + diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html index 57c1105..185c809 100644 --- a/docs/allpackages-index.html +++ b/docs/allpackages-index.html @@ -1,11 +1,11 @@ - + All Packages - + diff --git a/docs/constant-values.html b/docs/constant-values.html index 1e67afc..6ef5799 100644 --- a/docs/constant-values.html +++ b/docs/constant-values.html @@ -1,11 +1,11 @@ - + Constant Field Values - + diff --git a/docs/help-doc.html b/docs/help-doc.html index 4fb31f8..888140f 100644 --- a/docs/help-doc.html +++ b/docs/help-doc.html @@ -1,11 +1,11 @@ - + API Help - + diff --git a/docs/index-files/index-1.html b/docs/index-files/index-1.html index 6131495..1eae27e 100644 --- a/docs/index-files/index-1.html +++ b/docs/index-files/index-1.html @@ -1,11 +1,11 @@ - + A-Index - + @@ -89,6 +89,10 @@ loadScripts(document, 'script');
Whether the absolute encoder is inverted.
+
absoluteEncoderIssueName - Variable in class swervelib.SwerveModule
+
+
NT3 Absolute encoder read issue.
+
absoluteEncoderOffset - Variable in class swervelib.parser.json.ModuleJson
Absolute encoder offset from 0 in degrees.
@@ -139,6 +143,10 @@ loadScripts(document, 'script');
Construct the ADIS16470 imu and reset default configurations.
+
adjAbsoluteAngleName - Variable in class swervelib.SwerveModule
+
+
NT3 Adjusted Absolute angle publisher for the absolute encoder.
+
ADXRS450Swerve - Class in swervelib.imu
IMU Swerve class for the ADXRS450_Gyro device.
diff --git a/docs/index-files/index-10.html b/docs/index-files/index-10.html index c306962..858d07a 100644 --- a/docs/index-files/index-10.html +++ b/docs/index-files/index-10.html @@ -1,11 +1,11 @@ - + K-Index - + diff --git a/docs/index-files/index-11.html b/docs/index-files/index-11.html index adc6282..ea78c9c 100644 --- a/docs/index-files/index-11.html +++ b/docs/index-files/index-11.html @@ -1,11 +1,11 @@ - + L-Index - + diff --git a/docs/index-files/index-12.html b/docs/index-files/index-12.html index 9cac9e3..218ff74 100644 --- a/docs/index-files/index-12.html +++ b/docs/index-files/index-12.html @@ -1,11 +1,11 @@ - + M-Index - + diff --git a/docs/index-files/index-13.html b/docs/index-files/index-13.html index f4e8157..5bd8a4c 100644 --- a/docs/index-files/index-13.html +++ b/docs/index-files/index-13.html @@ -1,11 +1,11 @@ - + N-Index - + diff --git a/docs/index-files/index-14.html b/docs/index-files/index-14.html index 406b6e9..2732e67 100644 --- a/docs/index-files/index-14.html +++ b/docs/index-files/index-14.html @@ -1,11 +1,11 @@ - + O-Index - + diff --git a/docs/index-files/index-15.html b/docs/index-files/index-15.html index da9e61f..6b33f1a 100644 --- a/docs/index-files/index-15.html +++ b/docs/index-files/index-15.html @@ -1,11 +1,11 @@ - + P-Index - + @@ -195,6 +195,10 @@ loadScripts(document, 'script');
Power the drive motors for the swerve drive to a set voltage.
+
printAlert(String) - Method in class swervelib.telemetry.Alert
+
+
Print the alert message.
+
pushOffsetsToControllers() - Method in class swervelib.SwerveDrive
Pushes the Absolute Encoder offsets to the Encoder or Motor Controller, depending on type.
diff --git a/docs/index-files/index-16.html b/docs/index-files/index-16.html index b381b87..2f2bfdb 100644 --- a/docs/index-files/index-16.html +++ b/docs/index-files/index-16.html @@ -1,11 +1,11 @@ - + Q-Index - + diff --git a/docs/index-files/index-17.html b/docs/index-files/index-17.html index 808f824..2e81466 100644 --- a/docs/index-files/index-17.html +++ b/docs/index-files/index-17.html @@ -1,11 +1,11 @@ - + R-Index - + @@ -57,6 +57,18 @@ loadScripts(document, 'script');
The minimum number of seconds to take for the motor to go from 0 to full throttle.
+
rawAbsoluteAngleName - Variable in class swervelib.SwerveModule
+
+
NT3 Raw Absolute Angle publisher for the absolute encoder.
+
+
rawAngleName - Variable in class swervelib.SwerveModule
+
+
NT3 raw angle motor.
+
+
rawDriveName - Variable in class swervelib.SwerveModule
+
+
NT3 Raw drive motor.
+
readingError - Variable in class swervelib.encoders.SwerveAbsoluteEncoder
Last angle reading was faulty.
diff --git a/docs/index-files/index-18.html b/docs/index-files/index-18.html index 1bbbee8..f71daf4 100644 --- a/docs/index-files/index-18.html +++ b/docs/index-files/index-18.html @@ -1,11 +1,11 @@ - + S-Index - + @@ -55,7 +55,7 @@ loadScripts(document, 'script');
SendableAlerts() - Constructor for class swervelib.telemetry.Alert.SendableAlerts
 
-
serialCommsIssueWarning - Variable in class swervelib.parser.json.DeviceJson
+
serialCommsIssueWarning - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
NavX serial comm issue.
diff --git a/docs/index-files/index-19.html b/docs/index-files/index-19.html index e50427f..b0b91cc 100644 --- a/docs/index-files/index-19.html +++ b/docs/index-files/index-19.html @@ -1,11 +1,11 @@ - + T-Index - + diff --git a/docs/index-files/index-2.html b/docs/index-files/index-2.html index c379a27..315638b 100644 --- a/docs/index-files/index-2.html +++ b/docs/index-files/index-2.html @@ -1,11 +1,11 @@ - + B-Index - + diff --git a/docs/index-files/index-20.html b/docs/index-files/index-20.html index 00d4829..d5c86a6 100644 --- a/docs/index-files/index-20.html +++ b/docs/index-files/index-20.html @@ -1,11 +1,11 @@ - + U-Index - + diff --git a/docs/index-files/index-21.html b/docs/index-files/index-21.html index d396995..a12cbda 100644 --- a/docs/index-files/index-21.html +++ b/docs/index-files/index-21.html @@ -1,11 +1,11 @@ - + V-Index - + diff --git a/docs/index-files/index-22.html b/docs/index-files/index-22.html index 5c41d77..415fb95 100644 --- a/docs/index-files/index-22.html +++ b/docs/index-files/index-22.html @@ -1,11 +1,11 @@ - + W-Index - + diff --git a/docs/index-files/index-23.html b/docs/index-files/index-23.html index c69864e..661352f 100644 --- a/docs/index-files/index-23.html +++ b/docs/index-files/index-23.html @@ -1,11 +1,11 @@ - + X-Index - + diff --git a/docs/index-files/index-24.html b/docs/index-files/index-24.html index 06b3281..3232eaa 100644 --- a/docs/index-files/index-24.html +++ b/docs/index-files/index-24.html @@ -1,11 +1,11 @@ - + Y-Index - + diff --git a/docs/index-files/index-25.html b/docs/index-files/index-25.html index 66d145e..c71308c 100644 --- a/docs/index-files/index-25.html +++ b/docs/index-files/index-25.html @@ -1,11 +1,11 @@ - + Z-Index - + diff --git a/docs/index-files/index-3.html b/docs/index-files/index-3.html index a35ca70..adbf59e 100644 --- a/docs/index-files/index-3.html +++ b/docs/index-files/index-3.html @@ -1,11 +1,11 @@ - + C-Index - + @@ -117,7 +117,7 @@ loadScripts(document, 'script');
Initialize the CANCoder on the CANivore.
-
canIdWarning - Variable in class swervelib.parser.json.DeviceJson
+
canIdWarning - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
An Alert for if the CAN ID is greater than 40.
diff --git a/docs/index-files/index-4.html b/docs/index-files/index-4.html index 5ee2ee6..8bceb78 100644 --- a/docs/index-files/index-4.html +++ b/docs/index-files/index-4.html @@ -1,11 +1,11 @@ - + D-Index - + diff --git a/docs/index-files/index-5.html b/docs/index-files/index-5.html index 960fa93..7977c4c 100644 --- a/docs/index-files/index-5.html +++ b/docs/index-files/index-5.html @@ -1,11 +1,11 @@ - + E-Index - + diff --git a/docs/index-files/index-6.html b/docs/index-files/index-6.html index dc00686..f10923b 100644 --- a/docs/index-files/index-6.html +++ b/docs/index-files/index-6.html @@ -1,11 +1,11 @@ - + F-Index - + diff --git a/docs/index-files/index-7.html b/docs/index-files/index-7.html index afe8fd5..c86a81c 100644 --- a/docs/index-files/index-7.html +++ b/docs/index-files/index-7.html @@ -1,11 +1,11 @@ - + G-Index - + diff --git a/docs/index-files/index-8.html b/docs/index-files/index-8.html index 164d509..882e44c 100644 --- a/docs/index-files/index-8.html +++ b/docs/index-files/index-8.html @@ -1,11 +1,11 @@ - + H-Index - + diff --git a/docs/index-files/index-9.html b/docs/index-files/index-9.html index 95524c8..68b687a 100644 --- a/docs/index-files/index-9.html +++ b/docs/index-files/index-9.html @@ -1,11 +1,11 @@ - + I-Index - + @@ -57,7 +57,7 @@ loadScripts(document, 'script');
Integral Gain for PID.
-
i2cLockupWarning - Variable in class swervelib.parser.json.DeviceJson
+
i2cLockupWarning - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
An Alert for if there is an I2C lockup issue on the roboRIO.
diff --git a/docs/index.html b/docs/index.html index 1b29ead..ee42e18 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,11 +1,11 @@ - + Overview - + diff --git a/docs/member-search-index.js b/docs/member-search-index.js index f096a0d..904908d 100644 --- a/docs/member-search-index.js +++ b/docs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"absoluteEncoder"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"absoluteEncoder"},{"p":"swervelib","c":"SwerveModule","l":"absoluteEncoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"absoluteEncoderInverted"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"absoluteEncoderInverted"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"absoluteEncoderOffset"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"absoluteEncoderOffsetWarning"},{"p":"swervelib","c":"SwerveModule","l":"absolutePositionCache"},{"p":"swervelib.telemetry","c":"Alert","l":"active"},{"p":"swervelib.telemetry","c":"Alert","l":"activeStartTime"},{"p":"swervelib","c":"SwerveController","l":"addSlewRateLimiters(SlewRateLimiter, SlewRateLimiter, SlewRateLimiter)","u":"addSlewRateLimiters(edu.wpi.first.math.filter.SlewRateLimiter,edu.wpi.first.math.filter.SlewRateLimiter,edu.wpi.first.math.filter.SlewRateLimiter)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, Matrix)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,edu.wpi.first.math.Matrix)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"ADIS16448Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"ADIS16470Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"ADXRS450Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.telemetry","c":"Alert","l":"Alert(String, Alert.AlertType)","u":"%3Cinit%3E(java.lang.String,swervelib.telemetry.Alert.AlertType)"},{"p":"swervelib.telemetry","c":"Alert","l":"Alert(String, String, Alert.AlertType)","u":"%3Cinit%3E(java.lang.String,java.lang.String,swervelib.telemetry.Alert.AlertType)"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"alerts"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"AlertType()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"AnalogAbsoluteEncoderSwerve(AnalogInput)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.AnalogInput)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"AnalogAbsoluteEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"AnalogGyroSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"angle"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"angle"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"angle"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"angle"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"angle"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"angle"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"angleJoystickRadiusDeadband"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"angleJoyStickRadiusDeadband"},{"p":"swervelib","c":"SwerveController","l":"angleLimiter"},{"p":"swervelib","c":"SwerveDriveTest","l":"angleModules(SwerveDrive, Rotation2d)","u":"angleModules(swervelib.SwerveDrive,edu.wpi.first.math.geometry.Rotation2d)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotor"},{"p":"swervelib","c":"SwerveModule","l":"angleMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorRampRate"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleOffset"},{"p":"swervelib","c":"SwerveModule","l":"angleOffset"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"anglePIDF"},{"p":"swervelib.math","c":"SwerveMath","l":"antiJitter(SwerveModuleState, SwerveModuleState, double)","u":"antiJitter(edu.wpi.first.math.kinematics.SwerveModuleState,edu.wpi.first.math.kinematics.SwerveModuleState,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"applyDeadband(double, boolean, double)","u":"applyDeadband(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"attainableMaxRotationalVelocityRadiansPerSecond"},{"p":"swervelib","c":"SwerveDrive","l":"attainableMaxTranslationalSpeedMetersPerSecond"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"BoolMotorJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"burnFlash()"},{"p":"swervelib.parser","c":"Cache","l":"Cache(Supplier, long)","u":"%3Cinit%3E(java.util.function.Supplier,long)"},{"p":"swervelib.math","c":"SwerveMath","l":"calcMaxAccel(Rotation2d, List, double, SwerveDriveConfiguration)","u":"calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d,java.util.List,double,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateDegreesPerSteeringRotation(double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateDegreesPerSteeringRotation(double, double)","u":"calculateDegreesPerSteeringRotation(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMaxAcceleration(double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMaxAcceleration(double, double, double, double, double)","u":"calculateMaxAcceleration(double,double,double,double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMaxAngularVelocity(double, double, double)","u":"calculateMaxAngularVelocity(double,double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMetersPerRotation(double, double)","u":"calculateMetersPerRotation(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMetersPerRotation(double, double, double)","u":"calculateMetersPerRotation(double,double,double)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"CanAndCoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"canbus"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"CANCoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"CANCoderSwerve(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"canIdWarning"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"cannotSetOffset"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"cannotSetOffset"},{"p":"swervelib","c":"SwerveDriveTest","l":"centerModules(SwerveDrive)","u":"centerModules(swervelib.SwerveDrive)"},{"p":"swervelib","c":"SwerveDrive","l":"chassisVelocityCorrection"},{"p":"swervelib.parser","c":"SwerveParser","l":"checkDirectory(File)","u":"checkDirectory(java.io.File)"},{"p":"swervelib","c":"SwerveDrive","l":"checkIfTunerXCompatible()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"clearStickyFaults()"},{"p":"swervelib","c":"SwerveController","l":"config"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configChanged"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configuration"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configuration"},{"p":"swervelib","c":"SwerveModule","l":"configuration"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"configure(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureSparkFlex(Supplier)","u":"configureSparkFlex(java.util.function.Supplier)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.parser","c":"SwerveParser","l":"controllerPropertiesJson"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"ControllerPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"conversionFactor"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"conversionFactor"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"conversionFactors"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"createConfigCustomTimeout(double)"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"createControllerConfiguration(SwerveDriveConfiguration, double)","u":"createControllerConfiguration(swervelib.parser.SwerveDriveConfiguration,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"createDriveFeedforward(double, double, double)","u":"createDriveFeedforward(double,double,double)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createEncoder(SwerveMotor)","u":"createEncoder(swervelib.motors.SwerveMotor)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createIMU()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"createModuleConfiguration(PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String)","u":"createModuleConfiguration(swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"createModules(SwerveModuleConfiguration[], SimpleMotorFeedforward)","u":"createModules(swervelib.parser.SwerveModuleConfiguration[],edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createMotor(boolean)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"createPhysicalProperties()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"createPIDController()"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double, double, double)","u":"createSwerveDrive(double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double, double, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double,double,double)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"currentLimit"},{"p":"swervelib.parser","c":"PIDFConfig","l":"d"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredStates"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"DeviceJson()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"doesNotSupportIntegratedOffsets"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"drive"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"drive"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"drive"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"drive"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"drive"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, boolean, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean, Translation2d)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds, Translation2d)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotor"},{"p":"swervelib","c":"SwerveModule","l":"driveMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorRampRate"},{"p":"swervelib","c":"SwerveModule","l":"drivePositionCache"},{"p":"swervelib","c":"SwerveModule","l":"driveVelocityCache"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"dt"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"encoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"encoder"},{"p":"swervelib","c":"SwerveModule","l":"encoderOffsetWarning"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"ERROR"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"ERROR_TRACE"},{"p":"swervelib.parser","c":"PIDFConfig","l":"f"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"factoryDefault()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaults()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"failureConfiguring"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"failureConfiguring"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"failureConfiguring"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"failureConfiguringAlert"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"fakePos"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"fakeSpeed"},{"p":"swervelib","c":"SwerveModule","l":"feedforward"},{"p":"swervelib","c":"SwerveDrive","l":"field"},{"p":"swervelib","c":"SwerveDriveTest","l":"findCouplingRatio(SwerveDrive, double, boolean)","u":"findCouplingRatio(swervelib.SwerveDrive,double,boolean)"},{"p":"swervelib","c":"SwerveDriveTest","l":"findDriveMotorKV(SwerveDrive, double, double, double)","u":"findDriveMotorKV(swervelib.SwerveDrive,double,double,double)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"forwardDirection"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"front"},{"p":"swervelib","c":"SwerveDriveTest","l":"generateSysIdCommand(SysIdRoutine, double, double, double)","u":"generateSysIdCommand(edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine,double,double,double)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsoluteEncoder()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsoluteEncoder()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsoluteEncoderReadIssue()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsolutePosition()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsolutePosition()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getAccel()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getAccel()"},{"p":"swervelib","c":"SwerveDrive","l":"getAccel()"},{"p":"swervelib","c":"SwerveModule","l":"getAngleMotor()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getAppliedOutput()"},{"p":"swervelib","c":"SwerveModule","l":"getConfiguration()"},{"p":"swervelib","c":"SwerveModule","l":"getCosineCompensatedVelocity(SwerveModuleState)","u":"getCosineCompensatedVelocity(edu.wpi.first.math.kinematics.SwerveModuleState)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"getDriveBaseRadiusMeters()"},{"p":"swervelib","c":"SwerveModule","l":"getDriveMotor()"},{"p":"swervelib","c":"SwerveDrive","l":"getFieldVelocity()"},{"p":"swervelib","c":"SwerveDrive","l":"getGyro()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getGyroRotation3d()"},{"p":"swervelib","c":"SwerveDrive","l":"getGyroRotation3d()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getIMU()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getIMU()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getIMU()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getIMU()"},{"p":"swervelib","c":"SwerveController","l":"getJoystickAngle(double, double)","u":"getJoystickAngle(double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"getMaximumAngularVelocity()"},{"p":"swervelib","c":"SwerveDrive","l":"getMaximumVelocity()"},{"p":"swervelib.parser","c":"SwerveParser","l":"getModuleConfigurationByName(String, SwerveDriveConfiguration)","u":"getModuleConfigurationByName(java.lang.String,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"getModuleMap()"},{"p":"swervelib","c":"SwerveDrive","l":"getModulePositions()"},{"p":"swervelib","c":"SwerveDrive","l":"getModules()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getMotor()"},{"p":"swervelib","c":"SwerveDrive","l":"getOdometryHeading()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPose()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getPosition()"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"getPosition()"},{"p":"swervelib","c":"SwerveModule","l":"getPosition()"},{"p":"swervelib","c":"SwerveModule","l":"getRawAbsolutePosition()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getRawRotation3d()"},{"p":"swervelib","c":"SwerveController","l":"getRawTargetSpeeds(double, double, double)","u":"getRawTargetSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getRawTargetSpeeds(double, double, double, double)","u":"getRawTargetSpeeds(double,double,double,double)"},{"p":"swervelib","c":"SwerveModule","l":"getRelativePosition()"},{"p":"swervelib","c":"SwerveDrive","l":"getRobotVelocity()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getRoll()"},{"p":"swervelib","c":"SwerveDrive","l":"getRoll()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getRotation3d()"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"getState()"},{"p":"swervelib","c":"SwerveModule","l":"getState()"},{"p":"swervelib","c":"SwerveDrive","l":"getStates()"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"getStrings(Alert.AlertType)","u":"getStrings(swervelib.telemetry.Alert.AlertType)"},{"p":"swervelib","c":"SwerveDrive","l":"getSwerveController()"},{"p":"swervelib.math","c":"SwerveMath","l":"getSwerveModule(SwerveModule[], boolean, boolean)","u":"getSwerveModule(swervelib.SwerveModule[],boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"getSwerveModulePoses(Pose2d)","u":"getSwerveModulePoses(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTranslation2d(ChassisSpeeds)","u":"getTranslation2d(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.parser","c":"Cache","l":"getValue()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getVoltage()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getVoltage()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getYaw()"},{"p":"swervelib","c":"SwerveDrive","l":"getYaw()"},{"p":"swervelib.telemetry","c":"Alert","l":"groups"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"gyro"},{"p":"swervelib.imu","c":"NavXSwerve","l":"gyro"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"heading"},{"p":"swervelib","c":"SwerveDrive","l":"HEADING_CORRECTION_DEADBAND"},{"p":"swervelib","c":"SwerveController","l":"headingCalculate(double, double)","u":"headingCalculate(double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"headingCorrection"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"headingPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"HIGH"},{"p":"swervelib.parser","c":"PIDFConfig","l":"i"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"i2cLockupWarning"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"id"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"imu"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"imu"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"imu"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"imu"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"imu"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"imu"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"imu"},{"p":"swervelib","c":"SwerveDrive","l":"imu"},{"p":"swervelib","c":"SwerveDrive","l":"imuReadingCache"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"inaccurateVelocities"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"inaccurateVelocities"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"INFO"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"initSendable(SendableBuilder)","u":"initSendable(edu.wpi.first.util.sendable.SendableBuilder)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"inverted"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"inverted"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"NavXSwerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"invertedIMU"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"invertedIMU"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isDriveMotor"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"isInverted"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"isSimulation"},{"p":"swervelib.parser","c":"Cache","l":"isStale()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"iz"},{"p":"swervelib","c":"SwerveDrive","l":"kinematics"},{"p":"swervelib","c":"SwerveController","l":"lastAngleScalar"},{"p":"swervelib","c":"SwerveDrive","l":"lastHeadingRadians"},{"p":"swervelib","c":"SwerveModule","l":"lastState"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"lastTime"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"lastTime"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"left"},{"p":"swervelib.math","c":"SwerveMath","l":"limitVelocity(Translation2d, ChassisSpeeds, Pose2d, double, double, List, SwerveDriveConfiguration)","u":"limitVelocity(edu.wpi.first.math.geometry.Translation2d,edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Pose2d,double,double,java.util.List,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"location"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"LocationJson()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"lockPose()"},{"p":"swervelib","c":"SwerveDriveTest","l":"logAngularMotorActivity(SwerveModule, SysIdRoutineLog, Supplier)","u":"logAngularMotorActivity(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog,java.util.function.Supplier)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logAngularMotorDutyCycle(SwerveModule, SysIdRoutineLog)","u":"logAngularMotorDutyCycle(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logAngularMotorVoltage(SwerveModule, SysIdRoutineLog)","u":"logAngularMotorVoltage(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logDriveMotorActivity(SwerveModule, SysIdRoutineLog, Supplier)","u":"logDriveMotorActivity(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog,java.util.function.Supplier)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logDriveMotorDutyCycle(SwerveModule, SysIdRoutineLog)","u":"logDriveMotorDutyCycle(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logDriveMotorVoltage(SwerveModule, SysIdRoutineLog)","u":"logDriveMotorVoltage(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"LOW"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_anglePosition"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"m_angleVoltageSetter"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_angVelocity"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_appliedVoltage"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_distance"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_velocity"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"m_velocityVoltageSetter"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"MACHINE"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"magnetFieldLessThanIdeal"},{"p":"swervelib.math","c":"Matter","l":"mass"},{"p":"swervelib.math","c":"Matter","l":"massMoment()"},{"p":"swervelib.math","c":"Matter","l":"Matter(Translation3d, double)","u":"%3Cinit%3E(edu.wpi.first.math.geometry.Translation3d,double)"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"max"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"maxAngularVelocity"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxAngularVelocity"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"maximumRetries"},{"p":"swervelib.motors","c":"SwerveMotor","l":"maximumRetries"},{"p":"swervelib","c":"SwerveModule","l":"maxSpeed"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxSpeed"},{"p":"swervelib","c":"SwerveDrive","l":"maxSpeedMPS"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"measuredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"measuredStates"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"min"},{"p":"swervelib.parser","c":"SwerveParser","l":"moduleConfigs"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"moduleCount"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"moduleCount"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"ModuleJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"moduleJsons"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"moduleLocation"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"moduleLocationsMeters"},{"p":"swervelib","c":"SwerveModule","l":"moduleNumber"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"modules"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"modules"},{"p":"swervelib","c":"SwerveDrive","l":"moduleSynchronizationCounter"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"motor"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"motor"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"motor"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"MotorConfigDouble()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"MotorConfigDouble(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"MotorConfigInt()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"MotorConfigInt(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"name"},{"p":"swervelib.imu","c":"NavXSwerve","l":"navXError"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(I2C.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.I2C.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SerialPort.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SerialPort.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SPI.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SPI.Port)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"noEncoderAlert"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"noEncoderDefinedAlert"},{"p":"swervelib","c":"SwerveModule","l":"noEncoderWarning"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"nominalVoltage"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"NONE"},{"p":"swervelib.math","c":"SwerveMath","l":"normalizeAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"odometryLock"},{"p":"swervelib","c":"SwerveDrive","l":"odometryThread"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"offset"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"offset"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"offset"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"offset"},{"p":"swervelib.imu","c":"NavXSwerve","l":"offset"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"offset"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"offset"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"offsetFailure"},{"p":"swervelib.parser","c":"SwerveParser","l":"openJson(File)","u":"openJson(java.io.File)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"optimalVoltage"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"optimalVoltage"},{"p":"swervelib.parser","c":"PIDFConfig","l":"output"},{"p":"swervelib.parser","c":"PIDFConfig","l":"p"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveParser","l":"physicalPropertiesJson"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"PhysicalPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"pid"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double)","u":"%3Cinit%3E(double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double)","u":"%3Cinit%3E(double,double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double, double)","u":"%3Cinit%3E(double,double,double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"pidfPropertiesJson"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"PIDFPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"PIDFRange()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"PigeonSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.math","c":"SwerveMath","l":"placeInAppropriate0To360Scope(double, double)","u":"placeInAppropriate0To360Scope(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"PoseLog(Pose2d)","u":"PoseLog(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"Matter","l":"position"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"position"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"positionConversionFactor"},{"p":"swervelib","c":"SwerveDrive","l":"postTrajectory(Trajectory)","u":"postTrajectory(edu.wpi.first.math.trajectory.Trajectory)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerAngleMotorsDutyCycle(SwerveDrive, double)","u":"powerAngleMotorsDutyCycle(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerAngleMotorsVoltage(SwerveDrive, double)","u":"powerAngleMotorsVoltage(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerDriveMotorsDutyCycle(SwerveDrive, double)","u":"powerDriveMotorsDutyCycle(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerDriveMotorsVoltage(SwerveDrive, double)","u":"powerDriveMotorsVoltage(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDrive","l":"pushOffsetsToControllers()"},{"p":"swervelib","c":"SwerveModule","l":"pushOffsetsToControllers()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"PWMDutyCycleEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib","c":"SwerveModule","l":"queueSynchronizeEncoders()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"rampRate"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"readingError"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"readingFaulty"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"readingIgnored"},{"p":"swervelib","c":"SwerveDrive","l":"replaceSwerveModuleFeedforward(SimpleMotorFeedforward)","u":"replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib","c":"SwerveDrive","l":"resetDriveEncoders()"},{"p":"swervelib","c":"SwerveDrive","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"restoreInternalOffset()"},{"p":"swervelib","c":"SwerveModule","l":"restoreInternalOffset()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"robotRotation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"rotationUnit"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"SendableAlerts()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"serialCommsIssueWarning"},{"p":"swervelib.telemetry","c":"Alert","l":"set(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"set(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"setAngleSysIdRoutine(SysIdRoutine.Config, SubsystemBase, SwerveDrive)","u":"setAngleSysIdRoutine(edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config,edu.wpi.first.wpilibj2.command.SubsystemBase,swervelib.SwerveDrive)"},{"p":"swervelib","c":"SwerveDrive","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"setCosineCompensator(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib","c":"SwerveModule","l":"setDesiredState(SwerveModuleState, boolean, boolean)","u":"setDesiredState(edu.wpi.first.math.kinematics.SwerveModuleState,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"setDriveSysIdRoutine(SysIdRoutine.Config, SubsystemBase, SwerveDrive, double)","u":"setDriveSysIdRoutine(edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config,edu.wpi.first.wpilibj2.command.SubsystemBase,swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyro(Rotation3d)","u":"setGyro(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyroOffset(Rotation3d)","u":"setGyroOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setHeadingCorrection(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setHeadingCorrection(boolean, double)","u":"setHeadingCorrection(boolean,double)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"SwerveIMU","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib","c":"SwerveController","l":"setMaximumAngularVelocity(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double, boolean, double)","u":"setMaximumSpeed(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeeds(double, double, double)","u":"setMaximumSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStates(SwerveModuleState[], boolean)","u":"setModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveModule","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setMotorIdleMode(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setOdometryPeriod(double)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"SwerveIMU","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setPosition(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setRawModuleStates(SwerveModuleState[], boolean)","u":"setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.telemetry","c":"Alert","l":"setText(String)","u":"setText(java.lang.String)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDrive","l":"simIMU"},{"p":"swervelib","c":"SwerveModule","l":"simModule"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Simulation"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Simulation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeFrontBack"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeLeftRight"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(CANSparkFlex, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkFlex,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"SparkMaxAnalogEncoderSwerve(SwerveMotor)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(int, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(int,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"SparkMaxEncoderSwerve(SwerveMotor, int)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(CANSparkMax, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"state"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"STATUS_TIMEOUT_SECONDS"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"STATUS_TIMEOUT_SECONDS"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"STATUS_TIMEOUT_SECONDS"},{"p":"swervelib","c":"SwerveDrive","l":"stopOdometryThread()"},{"p":"swervelib.parser","c":"Cache","l":"supplier"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"SwerveAbsoluteEncoder()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveController"},{"p":"swervelib","c":"SwerveController","l":"SwerveController(SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDriveConfiguration"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, boolean, SimpleMotorFeedforward, SwerveModulePhysicalCharacteristics)","u":"%3Cinit%3E(swervelib.parser.SwerveModuleConfiguration[],swervelib.imu.SwerveIMU,boolean,edu.wpi.first.math.controller.SimpleMotorFeedforward,swervelib.parser.SwerveModulePhysicalCharacteristics)"},{"p":"swervelib.parser","c":"SwerveParser","l":"swerveDriveJson"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"SwerveDriveJson()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDrivePoseEstimator"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"SwerveDriveTelemetry()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDriveTest","l":"SwerveDriveTest()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"SwerveIMU()","u":"%3Cinit%3E()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"SwerveIMUSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveMath","l":"SwerveMath()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"SwerveModule(int, SwerveModuleConfiguration, SimpleMotorFeedforward)","u":"%3Cinit%3E(int,swervelib.parser.SwerveModuleConfiguration,edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, String, boolean)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,boolean,boolean,boolean,java.lang.String,boolean)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String, boolean)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String,boolean)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double, int, int, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double,int,int,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveModules"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"SwerveModuleSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"SwerveMotor()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"SwerveParser(File)","u":"%3Cinit%3E(java.io.File)"},{"p":"swervelib","c":"SwerveModule","l":"synchronizeEncoderQueued"},{"p":"swervelib","c":"SwerveDrive","l":"synchronizeModuleEncoders()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, String, boolean)","u":"%3Cinit%3E(int,java.lang.String,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(TalonFX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix6.hardware.TalonFX,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(WPI_TalonSRX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX,boolean)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"TelemetryVerbosity()","u":"%3Cinit%3E()"},{"p":"swervelib.telemetry","c":"Alert","l":"text"},{"p":"swervelib","c":"SwerveController","l":"thetaController"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"timer"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"timer"},{"p":"swervelib.parser","c":"Cache","l":"timestamp"},{"p":"swervelib","c":"SwerveDrive","l":"tunerXRecommendation"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"type"},{"p":"swervelib.telemetry","c":"Alert","l":"type"},{"p":"swervelib.parser","c":"Cache","l":"update()"},{"p":"swervelib","c":"SwerveDrive","l":"updateCacheValidityPeriods(long, long, long)","u":"updateCacheValidityPeriods(long,long,long)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"updateData()"},{"p":"swervelib","c":"SwerveDrive","l":"updateOdometry()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"updateOdometry(SwerveDriveKinematics, SwerveModuleState[], Pose2d[], Field2d)","u":"updateOdometry(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.kinematics.SwerveModuleState[],edu.wpi.first.math.geometry.Pose2d[],edu.wpi.first.wpilibj.smartdashboard.Field2d)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"updateStateAndPosition(SwerveModuleState)","u":"updateStateAndPosition(edu.wpi.first.math.kinematics.SwerveModuleState)"},{"p":"swervelib.parser","c":"Cache","l":"updateSupplier(Supplier)","u":"updateSupplier(java.util.function.Supplier)"},{"p":"swervelib","c":"SwerveModule","l":"updateTelemetry()"},{"p":"swervelib.parser","c":"Cache","l":"updateValidityPeriod(long)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"useCosineCompensator"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"useCosineCompensator"},{"p":"swervelib.parser","c":"Cache","l":"validityPeriod"},{"p":"swervelib.parser","c":"Cache","l":"value"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"values()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"values()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"velocity"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Velocity"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Velocity"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"velocityPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"verbosity"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"WARNING"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"WARNING_TRACE"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"wheelGripCoefficientOfFriction"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"wheelGripCoefficientOfFriction"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"wheelLocations"},{"p":"swervelib","c":"SwerveController","l":"withinHypotDeadband(double, double)","u":"withinHypotDeadband(double,double)"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"x"},{"p":"swervelib","c":"SwerveController","l":"xLimiter"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"y"},{"p":"swervelib","c":"SwerveController","l":"yLimiter"},{"p":"swervelib","c":"SwerveDrive","l":"zeroGyro()"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"absoluteEncoder"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"absoluteEncoder"},{"p":"swervelib","c":"SwerveModule","l":"absoluteEncoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"absoluteEncoderInverted"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"absoluteEncoderInverted"},{"p":"swervelib","c":"SwerveModule","l":"absoluteEncoderIssueName"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"absoluteEncoderOffset"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"absoluteEncoderOffsetWarning"},{"p":"swervelib","c":"SwerveModule","l":"absolutePositionCache"},{"p":"swervelib.telemetry","c":"Alert","l":"active"},{"p":"swervelib.telemetry","c":"Alert","l":"activeStartTime"},{"p":"swervelib","c":"SwerveController","l":"addSlewRateLimiters(SlewRateLimiter, SlewRateLimiter, SlewRateLimiter)","u":"addSlewRateLimiters(edu.wpi.first.math.filter.SlewRateLimiter,edu.wpi.first.math.filter.SlewRateLimiter,edu.wpi.first.math.filter.SlewRateLimiter)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, Matrix)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,edu.wpi.first.math.Matrix)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"ADIS16448Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"ADIS16470Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"adjAbsoluteAngleName"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"ADXRS450Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.telemetry","c":"Alert","l":"Alert(String, Alert.AlertType)","u":"%3Cinit%3E(java.lang.String,swervelib.telemetry.Alert.AlertType)"},{"p":"swervelib.telemetry","c":"Alert","l":"Alert(String, String, Alert.AlertType)","u":"%3Cinit%3E(java.lang.String,java.lang.String,swervelib.telemetry.Alert.AlertType)"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"alerts"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"AlertType()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"AnalogAbsoluteEncoderSwerve(AnalogInput)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.AnalogInput)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"AnalogAbsoluteEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"AnalogGyroSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"angle"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"angle"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"angle"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"angle"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"angle"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"angle"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"angleJoystickRadiusDeadband"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"angleJoyStickRadiusDeadband"},{"p":"swervelib","c":"SwerveController","l":"angleLimiter"},{"p":"swervelib","c":"SwerveDriveTest","l":"angleModules(SwerveDrive, Rotation2d)","u":"angleModules(swervelib.SwerveDrive,edu.wpi.first.math.geometry.Rotation2d)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotor"},{"p":"swervelib","c":"SwerveModule","l":"angleMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorRampRate"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleOffset"},{"p":"swervelib","c":"SwerveModule","l":"angleOffset"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"anglePIDF"},{"p":"swervelib.math","c":"SwerveMath","l":"antiJitter(SwerveModuleState, SwerveModuleState, double)","u":"antiJitter(edu.wpi.first.math.kinematics.SwerveModuleState,edu.wpi.first.math.kinematics.SwerveModuleState,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"applyDeadband(double, boolean, double)","u":"applyDeadband(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"attainableMaxRotationalVelocityRadiansPerSecond"},{"p":"swervelib","c":"SwerveDrive","l":"attainableMaxTranslationalSpeedMetersPerSecond"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"BoolMotorJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"burnFlash()"},{"p":"swervelib.parser","c":"Cache","l":"Cache(Supplier, long)","u":"%3Cinit%3E(java.util.function.Supplier,long)"},{"p":"swervelib.math","c":"SwerveMath","l":"calcMaxAccel(Rotation2d, List, double, SwerveDriveConfiguration)","u":"calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d,java.util.List,double,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateDegreesPerSteeringRotation(double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateDegreesPerSteeringRotation(double, double)","u":"calculateDegreesPerSteeringRotation(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMaxAcceleration(double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMaxAcceleration(double, double, double, double, double)","u":"calculateMaxAcceleration(double,double,double,double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMaxAngularVelocity(double, double, double)","u":"calculateMaxAngularVelocity(double,double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMetersPerRotation(double, double)","u":"calculateMetersPerRotation(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"calculateMetersPerRotation(double, double, double)","u":"calculateMetersPerRotation(double,double,double)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"CanAndCoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"canbus"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"CANCoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"CANCoderSwerve(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"canIdWarning"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"cannotSetOffset"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"cannotSetOffset"},{"p":"swervelib","c":"SwerveDriveTest","l":"centerModules(SwerveDrive)","u":"centerModules(swervelib.SwerveDrive)"},{"p":"swervelib","c":"SwerveDrive","l":"chassisVelocityCorrection"},{"p":"swervelib.parser","c":"SwerveParser","l":"checkDirectory(File)","u":"checkDirectory(java.io.File)"},{"p":"swervelib","c":"SwerveDrive","l":"checkIfTunerXCompatible()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"clearStickyFaults()"},{"p":"swervelib","c":"SwerveController","l":"config"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configChanged"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configuration"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configuration"},{"p":"swervelib","c":"SwerveModule","l":"configuration"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"configure(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureSparkFlex(Supplier)","u":"configureSparkFlex(java.util.function.Supplier)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.parser","c":"SwerveParser","l":"controllerPropertiesJson"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"ControllerPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"conversionFactor"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"conversionFactor"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"conversionFactors"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"createConfigCustomTimeout(double)"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"createControllerConfiguration(SwerveDriveConfiguration, double)","u":"createControllerConfiguration(swervelib.parser.SwerveDriveConfiguration,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"createDriveFeedforward(double, double, double)","u":"createDriveFeedforward(double,double,double)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createEncoder(SwerveMotor)","u":"createEncoder(swervelib.motors.SwerveMotor)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createIMU()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"createModuleConfiguration(PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String)","u":"createModuleConfiguration(swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"createModules(SwerveModuleConfiguration[], SimpleMotorFeedforward)","u":"createModules(swervelib.parser.SwerveModuleConfiguration[],edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createMotor(boolean)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"createPhysicalProperties()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"createPIDController()"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double, double, double)","u":"createSwerveDrive(double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double, double, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double,double,double)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"currentLimit"},{"p":"swervelib.parser","c":"PIDFConfig","l":"d"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredStates"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"DeviceJson()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"doesNotSupportIntegratedOffsets"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"drive"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"drive"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"drive"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"drive"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"drive"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, boolean, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean, Translation2d)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds, Translation2d)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotor"},{"p":"swervelib","c":"SwerveModule","l":"driveMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorRampRate"},{"p":"swervelib","c":"SwerveModule","l":"drivePositionCache"},{"p":"swervelib","c":"SwerveModule","l":"driveVelocityCache"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"dt"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"encoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"encoder"},{"p":"swervelib","c":"SwerveModule","l":"encoderOffsetWarning"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"ERROR"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"ERROR_TRACE"},{"p":"swervelib.parser","c":"PIDFConfig","l":"f"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"factoryDefault()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaults()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"failureConfiguring"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"failureConfiguring"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"failureConfiguring"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"failureConfiguringAlert"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"fakePos"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"fakeSpeed"},{"p":"swervelib","c":"SwerveModule","l":"feedforward"},{"p":"swervelib","c":"SwerveDrive","l":"field"},{"p":"swervelib","c":"SwerveDriveTest","l":"findCouplingRatio(SwerveDrive, double, boolean)","u":"findCouplingRatio(swervelib.SwerveDrive,double,boolean)"},{"p":"swervelib","c":"SwerveDriveTest","l":"findDriveMotorKV(SwerveDrive, double, double, double)","u":"findDriveMotorKV(swervelib.SwerveDrive,double,double,double)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"forwardDirection"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"front"},{"p":"swervelib","c":"SwerveDriveTest","l":"generateSysIdCommand(SysIdRoutine, double, double, double)","u":"generateSysIdCommand(edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine,double,double,double)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsoluteEncoder()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsoluteEncoder()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsoluteEncoderReadIssue()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsolutePosition()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsolutePosition()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getAccel()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getAccel()"},{"p":"swervelib","c":"SwerveDrive","l":"getAccel()"},{"p":"swervelib","c":"SwerveModule","l":"getAngleMotor()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getAppliedOutput()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getAppliedOutput()"},{"p":"swervelib","c":"SwerveModule","l":"getConfiguration()"},{"p":"swervelib","c":"SwerveModule","l":"getCosineCompensatedVelocity(SwerveModuleState)","u":"getCosineCompensatedVelocity(edu.wpi.first.math.kinematics.SwerveModuleState)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"getDriveBaseRadiusMeters()"},{"p":"swervelib","c":"SwerveModule","l":"getDriveMotor()"},{"p":"swervelib","c":"SwerveDrive","l":"getFieldVelocity()"},{"p":"swervelib","c":"SwerveDrive","l":"getGyro()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getGyroRotation3d()"},{"p":"swervelib","c":"SwerveDrive","l":"getGyroRotation3d()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getIMU()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getIMU()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getIMU()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getIMU()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getIMU()"},{"p":"swervelib","c":"SwerveController","l":"getJoystickAngle(double, double)","u":"getJoystickAngle(double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"getMaximumAngularVelocity()"},{"p":"swervelib","c":"SwerveDrive","l":"getMaximumVelocity()"},{"p":"swervelib.parser","c":"SwerveParser","l":"getModuleConfigurationByName(String, SwerveDriveConfiguration)","u":"getModuleConfigurationByName(java.lang.String,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"getModuleMap()"},{"p":"swervelib","c":"SwerveDrive","l":"getModulePositions()"},{"p":"swervelib","c":"SwerveDrive","l":"getModules()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getMotor()"},{"p":"swervelib","c":"SwerveDrive","l":"getOdometryHeading()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPose()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getPosition()"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"getPosition()"},{"p":"swervelib","c":"SwerveModule","l":"getPosition()"},{"p":"swervelib","c":"SwerveModule","l":"getRawAbsolutePosition()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getRawRotation3d()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getRawRotation3d()"},{"p":"swervelib","c":"SwerveController","l":"getRawTargetSpeeds(double, double, double)","u":"getRawTargetSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getRawTargetSpeeds(double, double, double, double)","u":"getRawTargetSpeeds(double,double,double,double)"},{"p":"swervelib","c":"SwerveModule","l":"getRelativePosition()"},{"p":"swervelib","c":"SwerveDrive","l":"getRobotVelocity()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getRoll()"},{"p":"swervelib","c":"SwerveDrive","l":"getRoll()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getRotation3d()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getRotation3d()"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"getState()"},{"p":"swervelib","c":"SwerveModule","l":"getState()"},{"p":"swervelib","c":"SwerveDrive","l":"getStates()"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"getStrings(Alert.AlertType)","u":"getStrings(swervelib.telemetry.Alert.AlertType)"},{"p":"swervelib","c":"SwerveDrive","l":"getSwerveController()"},{"p":"swervelib.math","c":"SwerveMath","l":"getSwerveModule(SwerveModule[], boolean, boolean)","u":"getSwerveModule(swervelib.SwerveModule[],boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"getSwerveModulePoses(Pose2d)","u":"getSwerveModulePoses(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTranslation2d(ChassisSpeeds)","u":"getTranslation2d(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.parser","c":"Cache","l":"getValue()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getVoltage()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getVoltage()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getVoltage()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getYaw()"},{"p":"swervelib","c":"SwerveDrive","l":"getYaw()"},{"p":"swervelib.telemetry","c":"Alert","l":"groups"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"gyro"},{"p":"swervelib.imu","c":"NavXSwerve","l":"gyro"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"heading"},{"p":"swervelib","c":"SwerveDrive","l":"HEADING_CORRECTION_DEADBAND"},{"p":"swervelib","c":"SwerveController","l":"headingCalculate(double, double)","u":"headingCalculate(double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"headingCorrection"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"headingPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"HIGH"},{"p":"swervelib.parser","c":"PIDFConfig","l":"i"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"i2cLockupWarning"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"id"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"imu"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"imu"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"imu"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"imu"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"imu"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"imu"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"imu"},{"p":"swervelib","c":"SwerveDrive","l":"imu"},{"p":"swervelib","c":"SwerveDrive","l":"imuReadingCache"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"inaccurateVelocities"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"inaccurateVelocities"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"INFO"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"initSendable(SendableBuilder)","u":"initSendable(edu.wpi.first.util.sendable.SendableBuilder)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"inverted"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"inverted"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"NavXSwerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"invertedIMU"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"invertedIMU"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"invertedIMU"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isDriveMotor"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"isInverted"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"isSimulation"},{"p":"swervelib.parser","c":"Cache","l":"isStale()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"iz"},{"p":"swervelib","c":"SwerveDrive","l":"kinematics"},{"p":"swervelib","c":"SwerveController","l":"lastAngleScalar"},{"p":"swervelib","c":"SwerveDrive","l":"lastHeadingRadians"},{"p":"swervelib","c":"SwerveModule","l":"lastState"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"lastTime"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"lastTime"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"left"},{"p":"swervelib.math","c":"SwerveMath","l":"limitVelocity(Translation2d, ChassisSpeeds, Pose2d, double, double, List, SwerveDriveConfiguration)","u":"limitVelocity(edu.wpi.first.math.geometry.Translation2d,edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Pose2d,double,double,java.util.List,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"location"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"LocationJson()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"lockPose()"},{"p":"swervelib","c":"SwerveDriveTest","l":"logAngularMotorActivity(SwerveModule, SysIdRoutineLog, Supplier)","u":"logAngularMotorActivity(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog,java.util.function.Supplier)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logAngularMotorDutyCycle(SwerveModule, SysIdRoutineLog)","u":"logAngularMotorDutyCycle(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logAngularMotorVoltage(SwerveModule, SysIdRoutineLog)","u":"logAngularMotorVoltage(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logDriveMotorActivity(SwerveModule, SysIdRoutineLog, Supplier)","u":"logDriveMotorActivity(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog,java.util.function.Supplier)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logDriveMotorDutyCycle(SwerveModule, SysIdRoutineLog)","u":"logDriveMotorDutyCycle(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib","c":"SwerveDriveTest","l":"logDriveMotorVoltage(SwerveModule, SysIdRoutineLog)","u":"logDriveMotorVoltage(swervelib.SwerveModule,edu.wpi.first.wpilibj.sysid.SysIdRoutineLog)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"LOW"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_anglePosition"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"m_angleVoltageSetter"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_angVelocity"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_appliedVoltage"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_distance"},{"p":"swervelib","c":"SwerveDriveTest","l":"m_velocity"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"m_velocityVoltageSetter"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"MACHINE"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"magnetFieldLessThanIdeal"},{"p":"swervelib.math","c":"Matter","l":"mass"},{"p":"swervelib.math","c":"Matter","l":"massMoment()"},{"p":"swervelib.math","c":"Matter","l":"Matter(Translation3d, double)","u":"%3Cinit%3E(edu.wpi.first.math.geometry.Translation3d,double)"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"max"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"maxAngularVelocity"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxAngularVelocity"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"maximumRetries"},{"p":"swervelib.motors","c":"SwerveMotor","l":"maximumRetries"},{"p":"swervelib","c":"SwerveModule","l":"maxSpeed"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxSpeed"},{"p":"swervelib","c":"SwerveDrive","l":"maxSpeedMPS"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"measuredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"measuredStates"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"min"},{"p":"swervelib.parser","c":"SwerveParser","l":"moduleConfigs"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"moduleCount"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"moduleCount"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"ModuleJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"moduleJsons"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"moduleLocation"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"moduleLocationsMeters"},{"p":"swervelib","c":"SwerveModule","l":"moduleNumber"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"modules"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"modules"},{"p":"swervelib","c":"SwerveDrive","l":"moduleSynchronizationCounter"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"motor"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"motor"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"motor"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"MotorConfigDouble()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"MotorConfigDouble(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"MotorConfigInt()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"MotorConfigInt(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"name"},{"p":"swervelib.imu","c":"NavXSwerve","l":"navXError"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(I2C.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.I2C.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SerialPort.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SerialPort.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SPI.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SPI.Port)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"noEncoderAlert"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"noEncoderDefinedAlert"},{"p":"swervelib","c":"SwerveModule","l":"noEncoderWarning"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"nominalVoltage"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"NONE"},{"p":"swervelib.math","c":"SwerveMath","l":"normalizeAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"odometryLock"},{"p":"swervelib","c":"SwerveDrive","l":"odometryThread"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"offset"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"offset"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"offset"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"offset"},{"p":"swervelib.imu","c":"NavXSwerve","l":"offset"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"offset"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"offset"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"offsetFailure"},{"p":"swervelib.parser","c":"SwerveParser","l":"openJson(File)","u":"openJson(java.io.File)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"optimalVoltage"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"optimalVoltage"},{"p":"swervelib.parser","c":"PIDFConfig","l":"output"},{"p":"swervelib.parser","c":"PIDFConfig","l":"p"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveParser","l":"physicalPropertiesJson"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"PhysicalPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"pid"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double)","u":"%3Cinit%3E(double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double)","u":"%3Cinit%3E(double,double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double, double)","u":"%3Cinit%3E(double,double,double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"pidfPropertiesJson"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"PIDFPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"PIDFRange()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"PigeonSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.math","c":"SwerveMath","l":"placeInAppropriate0To360Scope(double, double)","u":"placeInAppropriate0To360Scope(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"PoseLog(Pose2d)","u":"PoseLog(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"Matter","l":"position"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"position"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"positionConversionFactor"},{"p":"swervelib","c":"SwerveDrive","l":"postTrajectory(Trajectory)","u":"postTrajectory(edu.wpi.first.math.trajectory.Trajectory)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerAngleMotorsDutyCycle(SwerveDrive, double)","u":"powerAngleMotorsDutyCycle(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerAngleMotorsVoltage(SwerveDrive, double)","u":"powerAngleMotorsVoltage(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerDriveMotorsDutyCycle(SwerveDrive, double)","u":"powerDriveMotorsDutyCycle(swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"powerDriveMotorsVoltage(SwerveDrive, double)","u":"powerDriveMotorsVoltage(swervelib.SwerveDrive,double)"},{"p":"swervelib.telemetry","c":"Alert","l":"printAlert(String)","u":"printAlert(java.lang.String)"},{"p":"swervelib","c":"SwerveDrive","l":"pushOffsetsToControllers()"},{"p":"swervelib","c":"SwerveModule","l":"pushOffsetsToControllers()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"PWMDutyCycleEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib","c":"SwerveModule","l":"queueSynchronizeEncoders()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"rampRate"},{"p":"swervelib","c":"SwerveModule","l":"rawAbsoluteAngleName"},{"p":"swervelib","c":"SwerveModule","l":"rawAngleName"},{"p":"swervelib","c":"SwerveModule","l":"rawDriveName"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"readingError"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"readingFaulty"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"readingIgnored"},{"p":"swervelib","c":"SwerveDrive","l":"replaceSwerveModuleFeedforward(SimpleMotorFeedforward)","u":"replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib","c":"SwerveDrive","l":"resetDriveEncoders()"},{"p":"swervelib","c":"SwerveDrive","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"restoreInternalOffset()"},{"p":"swervelib","c":"SwerveModule","l":"restoreInternalOffset()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"robotRotation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"rotationUnit"},{"p":"swervelib.telemetry","c":"Alert.SendableAlerts","l":"SendableAlerts()","u":"%3Cinit%3E()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"serialCommsIssueWarning"},{"p":"swervelib.telemetry","c":"Alert","l":"set(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"set(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"setAngleSysIdRoutine(SysIdRoutine.Config, SubsystemBase, SwerveDrive)","u":"setAngleSysIdRoutine(edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config,edu.wpi.first.wpilibj2.command.SubsystemBase,swervelib.SwerveDrive)"},{"p":"swervelib","c":"SwerveDrive","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"setCosineCompensator(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib","c":"SwerveModule","l":"setDesiredState(SwerveModuleState, boolean, boolean)","u":"setDesiredState(edu.wpi.first.math.kinematics.SwerveModuleState,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDriveTest","l":"setDriveSysIdRoutine(SysIdRoutine.Config, SubsystemBase, SwerveDrive, double)","u":"setDriveSysIdRoutine(edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config,edu.wpi.first.wpilibj2.command.SubsystemBase,swervelib.SwerveDrive,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyro(Rotation3d)","u":"setGyro(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyroOffset(Rotation3d)","u":"setGyroOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setHeadingCorrection(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setHeadingCorrection(boolean, double)","u":"setHeadingCorrection(boolean,double)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"setInverted(boolean)"},{"p":"swervelib.imu","c":"SwerveIMU","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib","c":"SwerveController","l":"setMaximumAngularVelocity(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double, boolean, double)","u":"setMaximumSpeed(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeeds(double, double, double)","u":"setMaximumSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStates(SwerveModuleState[], boolean)","u":"setModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveModule","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setMotorIdleMode(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setOdometryPeriod(double)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"SwerveIMU","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setPosition(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setRawModuleStates(SwerveModuleState[], boolean)","u":"setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.telemetry","c":"Alert","l":"setText(String)","u":"setText(java.lang.String)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setVoltage(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDrive","l":"simIMU"},{"p":"swervelib","c":"SwerveModule","l":"simModule"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Simulation"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Simulation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeFrontBack"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeLeftRight"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(CANSparkFlex, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkFlex,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"SparkMaxAnalogEncoderSwerve(SwerveMotor)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(int, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(int,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"SparkMaxEncoderSwerve(SwerveMotor, int)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(CANSparkMax, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"state"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"STATUS_TIMEOUT_SECONDS"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"STATUS_TIMEOUT_SECONDS"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"STATUS_TIMEOUT_SECONDS"},{"p":"swervelib","c":"SwerveDrive","l":"stopOdometryThread()"},{"p":"swervelib.parser","c":"Cache","l":"supplier"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"SwerveAbsoluteEncoder()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveController"},{"p":"swervelib","c":"SwerveController","l":"SwerveController(SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDriveConfiguration"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, boolean, SimpleMotorFeedforward, SwerveModulePhysicalCharacteristics)","u":"%3Cinit%3E(swervelib.parser.SwerveModuleConfiguration[],swervelib.imu.SwerveIMU,boolean,edu.wpi.first.math.controller.SimpleMotorFeedforward,swervelib.parser.SwerveModulePhysicalCharacteristics)"},{"p":"swervelib.parser","c":"SwerveParser","l":"swerveDriveJson"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"SwerveDriveJson()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDrivePoseEstimator"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"SwerveDriveTelemetry()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDriveTest","l":"SwerveDriveTest()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"SwerveIMU()","u":"%3Cinit%3E()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"SwerveIMUSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveMath","l":"SwerveMath()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"SwerveModule(int, SwerveModuleConfiguration, SimpleMotorFeedforward)","u":"%3Cinit%3E(int,swervelib.parser.SwerveModuleConfiguration,edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, String, boolean)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,boolean,boolean,boolean,java.lang.String,boolean)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String, boolean)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String,boolean)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double, int, int, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double,int,int,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveModules"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"SwerveModuleSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"SwerveMotor()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"SwerveParser(File)","u":"%3Cinit%3E(java.io.File)"},{"p":"swervelib","c":"SwerveModule","l":"synchronizeEncoderQueued"},{"p":"swervelib","c":"SwerveDrive","l":"synchronizeModuleEncoders()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, String, boolean)","u":"%3Cinit%3E(int,java.lang.String,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(TalonFX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix6.hardware.TalonFX,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(WPI_TalonSRX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX,boolean)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"TelemetryVerbosity()","u":"%3Cinit%3E()"},{"p":"swervelib.telemetry","c":"Alert","l":"text"},{"p":"swervelib","c":"SwerveController","l":"thetaController"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"timer"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"timer"},{"p":"swervelib.parser","c":"Cache","l":"timestamp"},{"p":"swervelib","c":"SwerveDrive","l":"tunerXRecommendation"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"type"},{"p":"swervelib.telemetry","c":"Alert","l":"type"},{"p":"swervelib.parser","c":"Cache","l":"update()"},{"p":"swervelib","c":"SwerveDrive","l":"updateCacheValidityPeriods(long, long, long)","u":"updateCacheValidityPeriods(long,long,long)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"updateData()"},{"p":"swervelib","c":"SwerveDrive","l":"updateOdometry()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"updateOdometry(SwerveDriveKinematics, SwerveModuleState[], Pose2d[], Field2d)","u":"updateOdometry(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.kinematics.SwerveModuleState[],edu.wpi.first.math.geometry.Pose2d[],edu.wpi.first.wpilibj.smartdashboard.Field2d)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"updateStateAndPosition(SwerveModuleState)","u":"updateStateAndPosition(edu.wpi.first.math.kinematics.SwerveModuleState)"},{"p":"swervelib.parser","c":"Cache","l":"updateSupplier(Supplier)","u":"updateSupplier(java.util.function.Supplier)"},{"p":"swervelib","c":"SwerveModule","l":"updateTelemetry()"},{"p":"swervelib.parser","c":"Cache","l":"updateValidityPeriod(long)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"useCosineCompensator"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"useCosineCompensator"},{"p":"swervelib.parser","c":"Cache","l":"validityPeriod"},{"p":"swervelib.parser","c":"Cache","l":"value"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"values()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"values()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"velocity"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Velocity"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Velocity"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"velocityPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"verbosity"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"WARNING"},{"p":"swervelib.telemetry","c":"Alert.AlertType","l":"WARNING_TRACE"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"wheelGripCoefficientOfFriction"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"wheelGripCoefficientOfFriction"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"wheelLocations"},{"p":"swervelib","c":"SwerveController","l":"withinHypotDeadband(double, double)","u":"withinHypotDeadband(double,double)"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"x"},{"p":"swervelib","c":"SwerveController","l":"xLimiter"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"y"},{"p":"swervelib","c":"SwerveController","l":"yLimiter"},{"p":"swervelib","c":"SwerveDrive","l":"zeroGyro()"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/overview-summary.html b/docs/overview-summary.html index df05f44..1f8e23c 100644 --- a/docs/overview-summary.html +++ b/docs/overview-summary.html @@ -1,11 +1,11 @@ - + Generated Documentation (Untitled) - + diff --git a/docs/overview-tree.html b/docs/overview-tree.html index 0f26991..8be5b24 100644 --- a/docs/overview-tree.html +++ b/docs/overview-tree.html @@ -1,11 +1,11 @@ - + Class Hierarchy - + diff --git a/docs/swervelib/SwerveController.html b/docs/swervelib/SwerveController.html index 55e3c3d..e0cab14 100644 --- a/docs/swervelib/SwerveController.html +++ b/docs/swervelib/SwerveController.html @@ -1,11 +1,11 @@ - + SwerveController - + diff --git a/docs/swervelib/SwerveDrive.html b/docs/swervelib/SwerveDrive.html index 7bf2c40..057fdc3 100644 --- a/docs/swervelib/SwerveDrive.html +++ b/docs/swervelib/SwerveDrive.html @@ -1,11 +1,11 @@ - + SwerveDrive - + diff --git a/docs/swervelib/SwerveDriveTest.html b/docs/swervelib/SwerveDriveTest.html index 2d9d70c..81afbfc 100644 --- a/docs/swervelib/SwerveDriveTest.html +++ b/docs/swervelib/SwerveDriveTest.html @@ -1,11 +1,11 @@ - + SwerveDriveTest - + diff --git a/docs/swervelib/SwerveModule.html b/docs/swervelib/SwerveModule.html index 3384858..eda3051 100644 --- a/docs/swervelib/SwerveModule.html +++ b/docs/swervelib/SwerveModule.html @@ -1,11 +1,11 @@ - + SwerveModule - + @@ -96,11 +96,21 @@ loadScripts(document, 'script');
Absolute encoder for swerve drive.
-
final Cache<Double>
- +
private final String
+
+
NT3 Absolute encoder read issue.
+
+
final Cache<Double>
+ +
Absolute encoder position cache.
+
private final String
+ +
+
NT3 Adjusted Absolute angle publisher for the absolute encoder.
+
private final SwerveMotor
@@ -161,14 +171,29 @@ loadScripts(document, 'script');
An Alert for if there is no Absolute Encoder on the module.
- - +
private final String
+
+
NT3 Raw Absolute Angle publisher for the absolute encoder.
+
+
private final String
+ +
+
NT3 raw angle motor.
+
+
private final String
+ +
+
NT3 Raw drive motor.
+
+ + +
Simulated swerve module.
-
private boolean
- -
+
private boolean
+ +
Encoder synchronization queued.
@@ -395,6 +420,41 @@ loadScripts(document, 'script');
  • +
    +

    rawAbsoluteAngleName

    +
    private final String rawAbsoluteAngleName
    +
    NT3 Raw Absolute Angle publisher for the absolute encoder.
    +
    +
  • +
  • +
    +

    adjAbsoluteAngleName

    +
    private final String adjAbsoluteAngleName
    +
    NT3 Adjusted Absolute angle publisher for the absolute encoder.
    +
    +
  • +
  • +
    +

    absoluteEncoderIssueName

    +
    private final String absoluteEncoderIssueName
    +
    NT3 Absolute encoder read issue.
    +
    +
  • +
  • +
    +

    rawAngleName

    +
    private final String rawAngleName
    +
    NT3 raw angle motor.
    +
    +
  • +
  • +
    +

    rawDriveName

    +
    private final String rawDriveName
    +
    NT3 Raw drive motor.
    +
    +
  • +
  • moduleNumber

    public int moduleNumber
    diff --git a/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html b/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html index a088052..082ee62 100644 --- a/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html +++ b/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html @@ -1,11 +1,11 @@ - + AnalogAbsoluteEncoderSwerve - + diff --git a/docs/swervelib/encoders/CANCoderSwerve.html b/docs/swervelib/encoders/CANCoderSwerve.html index 5cbe4d7..47446f7 100644 --- a/docs/swervelib/encoders/CANCoderSwerve.html +++ b/docs/swervelib/encoders/CANCoderSwerve.html @@ -1,11 +1,11 @@ - + CANCoderSwerve - + diff --git a/docs/swervelib/encoders/CanAndCoderSwerve.html b/docs/swervelib/encoders/CanAndCoderSwerve.html index c43c2f6..938afcc 100644 --- a/docs/swervelib/encoders/CanAndCoderSwerve.html +++ b/docs/swervelib/encoders/CanAndCoderSwerve.html @@ -1,11 +1,11 @@ - + CanAndCoderSwerve - + diff --git a/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html b/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html index 2b4920d..9987b19 100644 --- a/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html +++ b/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html @@ -1,11 +1,11 @@ - + PWMDutyCycleEncoderSwerve - + diff --git a/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html b/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html index 8d90891..70c16c0 100644 --- a/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html +++ b/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html @@ -1,11 +1,11 @@ - + SparkMaxAnalogEncoderSwerve - + diff --git a/docs/swervelib/encoders/SparkMaxEncoderSwerve.html b/docs/swervelib/encoders/SparkMaxEncoderSwerve.html index 2d7e653..2fb9cca 100644 --- a/docs/swervelib/encoders/SparkMaxEncoderSwerve.html +++ b/docs/swervelib/encoders/SparkMaxEncoderSwerve.html @@ -1,11 +1,11 @@ - + SparkMaxEncoderSwerve - + diff --git a/docs/swervelib/encoders/SwerveAbsoluteEncoder.html b/docs/swervelib/encoders/SwerveAbsoluteEncoder.html index 1c49397..24a0e70 100644 --- a/docs/swervelib/encoders/SwerveAbsoluteEncoder.html +++ b/docs/swervelib/encoders/SwerveAbsoluteEncoder.html @@ -1,11 +1,11 @@ - + SwerveAbsoluteEncoder - + diff --git a/docs/swervelib/encoders/package-summary.html b/docs/swervelib/encoders/package-summary.html index 822b15a..b3f32f7 100644 --- a/docs/swervelib/encoders/package-summary.html +++ b/docs/swervelib/encoders/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.encoders - + diff --git a/docs/swervelib/encoders/package-tree.html b/docs/swervelib/encoders/package-tree.html index 6022ee5..98afd72 100644 --- a/docs/swervelib/encoders/package-tree.html +++ b/docs/swervelib/encoders/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.encoders Class Hierarchy - + diff --git a/docs/swervelib/imu/ADIS16448Swerve.html b/docs/swervelib/imu/ADIS16448Swerve.html index cfbede7..dcdf565 100644 --- a/docs/swervelib/imu/ADIS16448Swerve.html +++ b/docs/swervelib/imu/ADIS16448Swerve.html @@ -1,11 +1,11 @@ - + ADIS16448Swerve - + diff --git a/docs/swervelib/imu/ADIS16470Swerve.html b/docs/swervelib/imu/ADIS16470Swerve.html index 0024dbc..4fa63a6 100644 --- a/docs/swervelib/imu/ADIS16470Swerve.html +++ b/docs/swervelib/imu/ADIS16470Swerve.html @@ -1,11 +1,11 @@ - + ADIS16470Swerve - + diff --git a/docs/swervelib/imu/ADXRS450Swerve.html b/docs/swervelib/imu/ADXRS450Swerve.html index 894d6f1..a410e97 100644 --- a/docs/swervelib/imu/ADXRS450Swerve.html +++ b/docs/swervelib/imu/ADXRS450Swerve.html @@ -1,11 +1,11 @@ - + ADXRS450Swerve - + diff --git a/docs/swervelib/imu/AnalogGyroSwerve.html b/docs/swervelib/imu/AnalogGyroSwerve.html index 1aaf929..6064c0e 100644 --- a/docs/swervelib/imu/AnalogGyroSwerve.html +++ b/docs/swervelib/imu/AnalogGyroSwerve.html @@ -1,11 +1,11 @@ - + AnalogGyroSwerve - + diff --git a/docs/swervelib/imu/NavXSwerve.html b/docs/swervelib/imu/NavXSwerve.html index 4cf7f54..d58abb0 100644 --- a/docs/swervelib/imu/NavXSwerve.html +++ b/docs/swervelib/imu/NavXSwerve.html @@ -1,11 +1,11 @@ - + NavXSwerve - + diff --git a/docs/swervelib/imu/Pigeon2Swerve.html b/docs/swervelib/imu/Pigeon2Swerve.html index 0bf95d6..be4473f 100644 --- a/docs/swervelib/imu/Pigeon2Swerve.html +++ b/docs/swervelib/imu/Pigeon2Swerve.html @@ -1,11 +1,11 @@ - + Pigeon2Swerve - + diff --git a/docs/swervelib/imu/PigeonSwerve.html b/docs/swervelib/imu/PigeonSwerve.html index 685d741..32b8a9d 100644 --- a/docs/swervelib/imu/PigeonSwerve.html +++ b/docs/swervelib/imu/PigeonSwerve.html @@ -1,11 +1,11 @@ - + PigeonSwerve - + diff --git a/docs/swervelib/imu/SwerveIMU.html b/docs/swervelib/imu/SwerveIMU.html index ba8b9c1..ac53fce 100644 --- a/docs/swervelib/imu/SwerveIMU.html +++ b/docs/swervelib/imu/SwerveIMU.html @@ -1,11 +1,11 @@ - + SwerveIMU - + diff --git a/docs/swervelib/imu/package-summary.html b/docs/swervelib/imu/package-summary.html index 1aad5c1..fd6cafd 100644 --- a/docs/swervelib/imu/package-summary.html +++ b/docs/swervelib/imu/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.imu - + diff --git a/docs/swervelib/imu/package-tree.html b/docs/swervelib/imu/package-tree.html index 55d2f7a..7dd7d62 100644 --- a/docs/swervelib/imu/package-tree.html +++ b/docs/swervelib/imu/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.imu Class Hierarchy - + diff --git a/docs/swervelib/math/Matter.html b/docs/swervelib/math/Matter.html index 1cc8f75..cdb88c1 100644 --- a/docs/swervelib/math/Matter.html +++ b/docs/swervelib/math/Matter.html @@ -1,11 +1,11 @@ - + Matter - + diff --git a/docs/swervelib/math/SwerveMath.html b/docs/swervelib/math/SwerveMath.html index 09ca62f..635a8f3 100644 --- a/docs/swervelib/math/SwerveMath.html +++ b/docs/swervelib/math/SwerveMath.html @@ -1,11 +1,11 @@ - + SwerveMath - + diff --git a/docs/swervelib/math/package-summary.html b/docs/swervelib/math/package-summary.html index c2292ba..8280488 100644 --- a/docs/swervelib/math/package-summary.html +++ b/docs/swervelib/math/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.math - + diff --git a/docs/swervelib/math/package-tree.html b/docs/swervelib/math/package-tree.html index a69e204..61474a1 100644 --- a/docs/swervelib/math/package-tree.html +++ b/docs/swervelib/math/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.math Class Hierarchy - + diff --git a/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html b/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html index 0fe6f2b..1f2b352 100644 --- a/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html +++ b/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html @@ -1,11 +1,11 @@ - + SparkFlexSwerve.SparkMAX_slotIdx - + diff --git a/docs/swervelib/motors/SparkFlexSwerve.html b/docs/swervelib/motors/SparkFlexSwerve.html index 2c4ee3d..5b005ba 100644 --- a/docs/swervelib/motors/SparkFlexSwerve.html +++ b/docs/swervelib/motors/SparkFlexSwerve.html @@ -1,11 +1,11 @@ - + SparkFlexSwerve - + diff --git a/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html b/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html index a458910..f15b07f 100644 --- a/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html +++ b/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html @@ -1,11 +1,11 @@ - + SparkMaxBrushedMotorSwerve - + diff --git a/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html b/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html index 82a14d7..8b73371 100644 --- a/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html +++ b/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html @@ -1,11 +1,11 @@ - + SparkMaxSwerve.SparkMAX_slotIdx - + diff --git a/docs/swervelib/motors/SparkMaxSwerve.html b/docs/swervelib/motors/SparkMaxSwerve.html index d7b887f..2c8092e 100644 --- a/docs/swervelib/motors/SparkMaxSwerve.html +++ b/docs/swervelib/motors/SparkMaxSwerve.html @@ -1,11 +1,11 @@ - + SparkMaxSwerve - + diff --git a/docs/swervelib/motors/SwerveMotor.html b/docs/swervelib/motors/SwerveMotor.html index ef034d4..fc00fa6 100644 --- a/docs/swervelib/motors/SwerveMotor.html +++ b/docs/swervelib/motors/SwerveMotor.html @@ -1,11 +1,11 @@ - + SwerveMotor - + diff --git a/docs/swervelib/motors/TalonFXSwerve.html b/docs/swervelib/motors/TalonFXSwerve.html index de85a2c..2d23076 100644 --- a/docs/swervelib/motors/TalonFXSwerve.html +++ b/docs/swervelib/motors/TalonFXSwerve.html @@ -1,11 +1,11 @@ - + TalonFXSwerve - + @@ -335,6 +335,13 @@ loadScripts(document, 'script');

    Field Details

    • +
      +

      STATUS_TIMEOUT_SECONDS

      +
      public static double STATUS_TIMEOUT_SECONDS
      +
      Wait time for status frames to show up.
      +
      +
    • +
    • factoryDefaultOccurred

      private final boolean factoryDefaultOccurred
      @@ -379,13 +386,6 @@ loadScripts(document, 'script');
    • -
      -

      STATUS_TIMEOUT_SECONDS

      -
      public static double STATUS_TIMEOUT_SECONDS
      -
      Wait time for status frames to show up.
      -
      -
    • -
    • motor

      com.ctre.phoenix6.hardware.TalonFX motor
      diff --git a/docs/swervelib/motors/TalonSRXSwerve.html b/docs/swervelib/motors/TalonSRXSwerve.html index 4b69bd7..86d96da 100644 --- a/docs/swervelib/motors/TalonSRXSwerve.html +++ b/docs/swervelib/motors/TalonSRXSwerve.html @@ -1,11 +1,11 @@ - + TalonSRXSwerve - + diff --git a/docs/swervelib/motors/package-summary.html b/docs/swervelib/motors/package-summary.html index 5a048d6..47811f0 100644 --- a/docs/swervelib/motors/package-summary.html +++ b/docs/swervelib/motors/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.motors - + diff --git a/docs/swervelib/motors/package-tree.html b/docs/swervelib/motors/package-tree.html index 38e0fa6..58b8155 100644 --- a/docs/swervelib/motors/package-tree.html +++ b/docs/swervelib/motors/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.motors Class Hierarchy - + diff --git a/docs/swervelib/package-summary.html b/docs/swervelib/package-summary.html index 00d06ac..bcae0ee 100644 --- a/docs/swervelib/package-summary.html +++ b/docs/swervelib/package-summary.html @@ -1,11 +1,11 @@ - + swervelib - + diff --git a/docs/swervelib/package-tree.html b/docs/swervelib/package-tree.html index dd67cbe..f90d037 100644 --- a/docs/swervelib/package-tree.html +++ b/docs/swervelib/package-tree.html @@ -1,11 +1,11 @@ - + swervelib Class Hierarchy - + diff --git a/docs/swervelib/parser/Cache.html b/docs/swervelib/parser/Cache.html index 47a7828..d7e92e6 100644 --- a/docs/swervelib/parser/Cache.html +++ b/docs/swervelib/parser/Cache.html @@ -1,11 +1,11 @@ - + Cache - + diff --git a/docs/swervelib/parser/PIDFConfig.html b/docs/swervelib/parser/PIDFConfig.html index 8fef485..b0678b1 100644 --- a/docs/swervelib/parser/PIDFConfig.html +++ b/docs/swervelib/parser/PIDFConfig.html @@ -1,11 +1,11 @@ - + PIDFConfig - + diff --git a/docs/swervelib/parser/SwerveControllerConfiguration.html b/docs/swervelib/parser/SwerveControllerConfiguration.html index 7708f7f..4082d43 100644 --- a/docs/swervelib/parser/SwerveControllerConfiguration.html +++ b/docs/swervelib/parser/SwerveControllerConfiguration.html @@ -1,11 +1,11 @@ - + SwerveControllerConfiguration - + diff --git a/docs/swervelib/parser/SwerveDriveConfiguration.html b/docs/swervelib/parser/SwerveDriveConfiguration.html index be39a33..20ae71c 100644 --- a/docs/swervelib/parser/SwerveDriveConfiguration.html +++ b/docs/swervelib/parser/SwerveDriveConfiguration.html @@ -1,11 +1,11 @@ - + SwerveDriveConfiguration - + diff --git a/docs/swervelib/parser/SwerveModuleConfiguration.html b/docs/swervelib/parser/SwerveModuleConfiguration.html index d832747..514e258 100644 --- a/docs/swervelib/parser/SwerveModuleConfiguration.html +++ b/docs/swervelib/parser/SwerveModuleConfiguration.html @@ -1,11 +1,11 @@ - + SwerveModuleConfiguration - + diff --git a/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html b/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html index f34977a..65866c6 100644 --- a/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html +++ b/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html @@ -1,11 +1,11 @@ - + SwerveModulePhysicalCharacteristics - + diff --git a/docs/swervelib/parser/SwerveParser.html b/docs/swervelib/parser/SwerveParser.html index 2084584..a534a15 100644 --- a/docs/swervelib/parser/SwerveParser.html +++ b/docs/swervelib/parser/SwerveParser.html @@ -1,11 +1,11 @@ - + SwerveParser - + diff --git a/docs/swervelib/parser/deserializer/PIDFRange.html b/docs/swervelib/parser/deserializer/PIDFRange.html index 6dcadfb..530e716 100644 --- a/docs/swervelib/parser/deserializer/PIDFRange.html +++ b/docs/swervelib/parser/deserializer/PIDFRange.html @@ -1,11 +1,11 @@ - + PIDFRange - + diff --git a/docs/swervelib/parser/deserializer/package-summary.html b/docs/swervelib/parser/deserializer/package-summary.html index 702b5f6..4a496f1 100644 --- a/docs/swervelib/parser/deserializer/package-summary.html +++ b/docs/swervelib/parser/deserializer/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.parser.deserializer - + diff --git a/docs/swervelib/parser/deserializer/package-tree.html b/docs/swervelib/parser/deserializer/package-tree.html index a4aaf0f..4d7ca64 100644 --- a/docs/swervelib/parser/deserializer/package-tree.html +++ b/docs/swervelib/parser/deserializer/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.parser.deserializer Class Hierarchy - + diff --git a/docs/swervelib/parser/json/ControllerPropertiesJson.html b/docs/swervelib/parser/json/ControllerPropertiesJson.html index 6630400..07de58b 100644 --- a/docs/swervelib/parser/json/ControllerPropertiesJson.html +++ b/docs/swervelib/parser/json/ControllerPropertiesJson.html @@ -1,11 +1,11 @@ - + ControllerPropertiesJson - + diff --git a/docs/swervelib/parser/json/DeviceJson.html b/docs/swervelib/parser/json/DeviceJson.html index af034c7..271ca3d 100644 --- a/docs/swervelib/parser/json/DeviceJson.html +++ b/docs/swervelib/parser/json/DeviceJson.html @@ -1,11 +1,11 @@ - + DeviceJson - + @@ -96,29 +96,14 @@ loadScripts(document, 'script');
      The CAN bus name which the device resides on if using CAN.
      -
      private final Alert
      - -
      -
      An Alert for if the CAN ID is greater than 40.
      -
      -
      private final Alert
      - -
      -
      An Alert for if there is an I2C lockup issue on the roboRIO.
      -
      int
      The CAN ID or pin ID of the device.
      -
      private final Alert
      - + +
      -
      NavX serial comm issue.
      -
      - - -
      The device type, e.g.
  • @@ -181,27 +166,6 @@ loadScripts(document, 'script');

    Field Details

    • -
      -

      canIdWarning

      -
      private final Alert canIdWarning
      -
      An Alert for if the CAN ID is greater than 40.
      -
      -
    • -
    • -
      -

      i2cLockupWarning

      -
      private final Alert i2cLockupWarning
      -
      An Alert for if there is an I2C lockup issue on the roboRIO.
      -
      -
    • -
    • -
      -

      serialCommsIssueWarning

      -
      private final Alert serialCommsIssueWarning
      -
      NavX serial comm issue.
      -
      -
    • -
    • type

      public String type
      diff --git a/docs/swervelib/parser/json/ModuleJson.html b/docs/swervelib/parser/json/ModuleJson.html index 39ae4f2..e2bf964 100644 --- a/docs/swervelib/parser/json/ModuleJson.html +++ b/docs/swervelib/parser/json/ModuleJson.html @@ -1,11 +1,11 @@ - + ModuleJson - + diff --git a/docs/swervelib/parser/json/MotorConfigDouble.html b/docs/swervelib/parser/json/MotorConfigDouble.html index bf460a3..21f3922 100644 --- a/docs/swervelib/parser/json/MotorConfigDouble.html +++ b/docs/swervelib/parser/json/MotorConfigDouble.html @@ -1,11 +1,11 @@ - + MotorConfigDouble - + diff --git a/docs/swervelib/parser/json/MotorConfigInt.html b/docs/swervelib/parser/json/MotorConfigInt.html index 24ef5d5..1ec696b 100644 --- a/docs/swervelib/parser/json/MotorConfigInt.html +++ b/docs/swervelib/parser/json/MotorConfigInt.html @@ -1,11 +1,11 @@ - + MotorConfigInt - + diff --git a/docs/swervelib/parser/json/PIDFPropertiesJson.html b/docs/swervelib/parser/json/PIDFPropertiesJson.html index 3bb0493..e148b79 100644 --- a/docs/swervelib/parser/json/PIDFPropertiesJson.html +++ b/docs/swervelib/parser/json/PIDFPropertiesJson.html @@ -1,11 +1,11 @@ - + PIDFPropertiesJson - + diff --git a/docs/swervelib/parser/json/PhysicalPropertiesJson.html b/docs/swervelib/parser/json/PhysicalPropertiesJson.html index 8c558c2..11fcd4c 100644 --- a/docs/swervelib/parser/json/PhysicalPropertiesJson.html +++ b/docs/swervelib/parser/json/PhysicalPropertiesJson.html @@ -1,11 +1,11 @@ - + PhysicalPropertiesJson - + diff --git a/docs/swervelib/parser/json/SwerveDriveJson.html b/docs/swervelib/parser/json/SwerveDriveJson.html index 9b50608..1269dbd 100644 --- a/docs/swervelib/parser/json/SwerveDriveJson.html +++ b/docs/swervelib/parser/json/SwerveDriveJson.html @@ -1,11 +1,11 @@ - + SwerveDriveJson - + diff --git a/docs/swervelib/parser/json/modules/BoolMotorJson.html b/docs/swervelib/parser/json/modules/BoolMotorJson.html index b147c26..a0cdf64 100644 --- a/docs/swervelib/parser/json/modules/BoolMotorJson.html +++ b/docs/swervelib/parser/json/modules/BoolMotorJson.html @@ -1,11 +1,11 @@ - + BoolMotorJson - + diff --git a/docs/swervelib/parser/json/modules/LocationJson.html b/docs/swervelib/parser/json/modules/LocationJson.html index e929044..374e4cc 100644 --- a/docs/swervelib/parser/json/modules/LocationJson.html +++ b/docs/swervelib/parser/json/modules/LocationJson.html @@ -1,11 +1,11 @@ - + LocationJson - + diff --git a/docs/swervelib/parser/json/modules/package-summary.html b/docs/swervelib/parser/json/modules/package-summary.html index da0be19..89c212a 100644 --- a/docs/swervelib/parser/json/modules/package-summary.html +++ b/docs/swervelib/parser/json/modules/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.parser.json.modules - + diff --git a/docs/swervelib/parser/json/modules/package-tree.html b/docs/swervelib/parser/json/modules/package-tree.html index 23391c8..43078e5 100644 --- a/docs/swervelib/parser/json/modules/package-tree.html +++ b/docs/swervelib/parser/json/modules/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.parser.json.modules Class Hierarchy - + diff --git a/docs/swervelib/parser/json/package-summary.html b/docs/swervelib/parser/json/package-summary.html index bdd20f7..d226510 100644 --- a/docs/swervelib/parser/json/package-summary.html +++ b/docs/swervelib/parser/json/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.parser.json - + diff --git a/docs/swervelib/parser/json/package-tree.html b/docs/swervelib/parser/json/package-tree.html index 2bb2127..818f644 100644 --- a/docs/swervelib/parser/json/package-tree.html +++ b/docs/swervelib/parser/json/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.parser.json Class Hierarchy - + diff --git a/docs/swervelib/parser/package-summary.html b/docs/swervelib/parser/package-summary.html index 76430ff..7c741f3 100644 --- a/docs/swervelib/parser/package-summary.html +++ b/docs/swervelib/parser/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.parser - + diff --git a/docs/swervelib/parser/package-tree.html b/docs/swervelib/parser/package-tree.html index 859ef24..1819a6e 100644 --- a/docs/swervelib/parser/package-tree.html +++ b/docs/swervelib/parser/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.parser Class Hierarchy - + diff --git a/docs/swervelib/simulation/SwerveIMUSimulation.html b/docs/swervelib/simulation/SwerveIMUSimulation.html index 34ce477..e033cdd 100644 --- a/docs/swervelib/simulation/SwerveIMUSimulation.html +++ b/docs/swervelib/simulation/SwerveIMUSimulation.html @@ -1,11 +1,11 @@ - + SwerveIMUSimulation - + diff --git a/docs/swervelib/simulation/SwerveModuleSimulation.html b/docs/swervelib/simulation/SwerveModuleSimulation.html index 769f5e0..af76077 100644 --- a/docs/swervelib/simulation/SwerveModuleSimulation.html +++ b/docs/swervelib/simulation/SwerveModuleSimulation.html @@ -1,11 +1,11 @@ - + SwerveModuleSimulation - + diff --git a/docs/swervelib/simulation/package-summary.html b/docs/swervelib/simulation/package-summary.html index 83693c6..426a50f 100644 --- a/docs/swervelib/simulation/package-summary.html +++ b/docs/swervelib/simulation/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.simulation - + diff --git a/docs/swervelib/simulation/package-tree.html b/docs/swervelib/simulation/package-tree.html index e9d9829..3e3172a 100644 --- a/docs/swervelib/simulation/package-tree.html +++ b/docs/swervelib/simulation/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.simulation Class Hierarchy - + diff --git a/docs/swervelib/telemetry/Alert.AlertType.html b/docs/swervelib/telemetry/Alert.AlertType.html index 6ca6eed..aac98ee 100644 --- a/docs/swervelib/telemetry/Alert.AlertType.html +++ b/docs/swervelib/telemetry/Alert.AlertType.html @@ -1,11 +1,11 @@ - + Alert.AlertType - + diff --git a/docs/swervelib/telemetry/Alert.SendableAlerts.html b/docs/swervelib/telemetry/Alert.SendableAlerts.html index e6723a0..972d009 100644 --- a/docs/swervelib/telemetry/Alert.SendableAlerts.html +++ b/docs/swervelib/telemetry/Alert.SendableAlerts.html @@ -1,11 +1,11 @@ - + Alert.SendableAlerts - + diff --git a/docs/swervelib/telemetry/Alert.html b/docs/swervelib/telemetry/Alert.html index 59c8768..d5a2c65 100644 --- a/docs/swervelib/telemetry/Alert.html +++ b/docs/swervelib/telemetry/Alert.html @@ -1,11 +1,11 @@ - + Alert - + @@ -174,14 +174,19 @@ loadScripts(document, 'script');
      Modifier and Type
      Method
      Description
      -
      void
      -
      set(boolean active)
      +
      private void
      +
      -
      Sets whether the alert should currently be displayed.
      +
      Print the alert message.
      void
      - +
      set(boolean active)
      +
      Sets whether the alert should currently be displayed.
      +
      +
      void
      + +
      Updates current alert text.
      @@ -305,6 +310,17 @@ loadScripts(document, 'script');
    +
  • +
    +

    printAlert

    +
    private void printAlert(String text)
    +
    Print the alert message.
    +
    +
    Parameters:
    +
    text - Text to print.
    +
    +
    +
  • diff --git a/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html b/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html index 9ca233d..d082eb9 100644 --- a/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html +++ b/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html @@ -1,11 +1,11 @@ - + SwerveDriveTelemetry.TelemetryVerbosity - + diff --git a/docs/swervelib/telemetry/SwerveDriveTelemetry.html b/docs/swervelib/telemetry/SwerveDriveTelemetry.html index dba3b57..618359b 100644 --- a/docs/swervelib/telemetry/SwerveDriveTelemetry.html +++ b/docs/swervelib/telemetry/SwerveDriveTelemetry.html @@ -1,11 +1,11 @@ - + SwerveDriveTelemetry - + @@ -108,21 +108,31 @@ loadScripts(document, 'script');
    Modifier and Type
    Field
    Description
    -
    static double[]
    -
    desiredChassisSpeeds
    +
    static final Alert
    +
    canIdWarning
    -
    Describes the desired forward, sideways and angular velocity of the robot.
    +
    An Alert for if the CAN ID is greater than 40.
    static double[]
    -
    desiredStates
    +
    desiredChassisSpeeds
    +
    Describes the desired forward, sideways and angular velocity of the robot.
    +
    +
    static double[]
    +
    desiredStates
    +
    An array of rotation and velocity values describing the desired state of each swerve module
    -
    static String
    -
    forwardDirection
    -
    +
    static String
    + +
    The direction the robot should be facing when the "Robot Rotation" is zero or blank.
    +
    static final Alert
    + +
    +
    An Alert for if there is an I2C lockup issue on the roboRIO.
    +
    static boolean
    @@ -163,24 +173,29 @@ loadScripts(document, 'script');
    The units of the module rotations and robot rotation
    -
    static double
    - +
    static final Alert
    +
    -
    The distance between the front and back modules.
    +
    NavX serial comm issue.
    static double
    - +
    +
    The distance between the front and back modules.
    +
    +
    static double
    + +
    The distance between the left and right modules.
    - - -
    + + +
    The current telemetry verbosity level.
    -
    static double[]
    - -
    +
    static double[]
    + +
    The number of swerve modules
    @@ -233,6 +248,27 @@ loadScripts(document, 'script');

    Field Details

    • +
      +

      canIdWarning

      +
      public static final Alert canIdWarning
      +
      An Alert for if the CAN ID is greater than 40.
      +
      +
    • +
    • +
      +

      i2cLockupWarning

      +
      public static final Alert i2cLockupWarning
      +
      An Alert for if there is an I2C lockup issue on the roboRIO.
      +
      +
    • +
    • +
      +

      serialCommsIssueWarning

      +
      public static final Alert serialCommsIssueWarning
      +
      NavX serial comm issue.
      +
      +
    • +
    • verbosity

      public static SwerveDriveTelemetry.TelemetryVerbosity verbosity
      diff --git a/docs/swervelib/telemetry/package-summary.html b/docs/swervelib/telemetry/package-summary.html index d570293..ee9920d 100644 --- a/docs/swervelib/telemetry/package-summary.html +++ b/docs/swervelib/telemetry/package-summary.html @@ -1,11 +1,11 @@ - + swervelib.telemetry - + diff --git a/docs/swervelib/telemetry/package-tree.html b/docs/swervelib/telemetry/package-tree.html index 4c48297..7f0d7d5 100644 --- a/docs/swervelib/telemetry/package-tree.html +++ b/docs/swervelib/telemetry/package-tree.html @@ -1,11 +1,11 @@ - + swervelib.telemetry Class Hierarchy - + diff --git a/swervelib/SwerveModule.java b/swervelib/SwerveModule.java index 7311e2b..a74806e 100644 --- a/swervelib/SwerveModule.java +++ b/swervelib/SwerveModule.java @@ -53,6 +53,26 @@ public class SwerveModule * An {@link Alert} for if there is no Absolute Encoder on the module. */ private final Alert noEncoderWarning; + /** + * NT3 Raw Absolute Angle publisher for the absolute encoder. + */ + private final String rawAbsoluteAngleName; + /** + * NT3 Adjusted Absolute angle publisher for the absolute encoder. + */ + private final String adjAbsoluteAngleName; + /** + * NT3 Absolute encoder read issue. + */ + private final String absoluteEncoderIssueName; + /** + * NT3 raw angle motor. + */ + private final String rawAngleName; + /** + * NT3 Raw drive motor. + */ + private final String rawDriveName; /** * Module number for kinematics, usually 0 to 3. front left -> front right -> back left -> back right. */ @@ -176,6 +196,12 @@ public class SwerveModule "Pushing the Absolute Encoder offset to the encoder failed on module #" + moduleNumber, Alert.AlertType.WARNING); + + rawAbsoluteAngleName = "Module[" + configuration.name + "] Raw Absolute Encoder"; + adjAbsoluteAngleName = "Module[" + configuration.name + "] Adjusted Absolute Encoder"; + absoluteEncoderIssueName = "Module[" + configuration.name + "] Absolute Encoder Read Issue"; + rawAngleName = "Module[" + configuration.name + "] Raw Angle Encoder"; + rawDriveName = "Module[" + configuration.name + "] Raw Drive Encoder"; } /** @@ -293,7 +319,8 @@ public class SwerveModule /* If error is close to 0 rotations, we're already there, so apply full power */ /* If the error is close to 0.25 rotations, then we're 90 degrees, so movement doesn't help us at all */ cosineScalar = Rotation2d.fromDegrees(desiredState.angle.getDegrees()) - .minus(Rotation2d.fromDegrees(getAbsolutePosition())).getCos(); // TODO: Investigate angle modulus by 180. + .minus(Rotation2d.fromDegrees(getAbsolutePosition())) + .getCos(); // TODO: Investigate angle modulus by 180. /* Make sure we don't invert our drive, even though we shouldn't ever target over 90 degrees anyway */ if (cosineScalar < 0.0) { @@ -526,13 +553,11 @@ public class SwerveModule { if (absoluteEncoder != null) { - SmartDashboard.putNumber("Module[" + configuration.name + "] Raw Absolute Encoder", - absoluteEncoder.getAbsolutePosition()); + SmartDashboard.putNumber(rawAbsoluteAngleName, absoluteEncoder.getAbsolutePosition()); } - SmartDashboard.putNumber("Module[" + configuration.name + "] Raw Angle Encoder", angleMotor.getPosition()); - SmartDashboard.putNumber("Module[" + configuration.name + "] Raw Drive Encoder", driveMotor.getPosition()); - SmartDashboard.putNumber("Module[" + configuration.name + "] Adjusted Absolute Encoder", getAbsolutePosition()); - SmartDashboard.putNumber("Module[" + configuration.name + "] Absolute Encoder Read Issue", - getAbsoluteEncoderReadIssue() ? 1 : 0); + SmartDashboard.putNumber(rawAngleName, angleMotor.getPosition()); + SmartDashboard.putNumber(rawDriveName, driveMotor.getPosition()); + SmartDashboard.putNumber(adjAbsoluteAngleName, getAbsolutePosition()); + SmartDashboard.putNumber(absoluteEncoderIssueName, getAbsoluteEncoderReadIssue() ? 1 : 0); } } diff --git a/swervelib/encoders/SparkMaxEncoderSwerve.java b/swervelib/encoders/SparkMaxEncoderSwerve.java index dd81ada..6bd68da 100644 --- a/swervelib/encoders/SparkMaxEncoderSwerve.java +++ b/swervelib/encoders/SparkMaxEncoderSwerve.java @@ -35,6 +35,14 @@ public class SparkMaxEncoderSwerve extends SwerveAbsoluteEncoder */ public SparkMaxEncoderSwerve(SwerveMotor motor, int conversionFactor) { + failureConfiguring = new Alert( + "Encoders", + "Failure configuring SparkMax Analog Encoder", + Alert.AlertType.WARNING_TRACE); + offsetFailure = new Alert( + "Encoders", + "Failure to set Absolute Encoder Offset", + Alert.AlertType.WARNING_TRACE); if (motor.getMotor() instanceof CANSparkMax) { encoder = ((CANSparkMax) motor.getMotor()).getAbsoluteEncoder(Type.kDutyCycle); @@ -44,14 +52,6 @@ public class SparkMaxEncoderSwerve extends SwerveAbsoluteEncoder { throw new RuntimeException("Motor given to instantiate SparkMaxEncoder is not a CANSparkMax"); } - failureConfiguring = new Alert( - "Encoders", - "Failure configuring SparkMax Analog Encoder", - Alert.AlertType.WARNING_TRACE); - offsetFailure = new Alert( - "Encoders", - "Failure to set Absolute Encoder Offset", - Alert.AlertType.WARNING_TRACE); } /** diff --git a/swervelib/imu/Pigeon2Swerve.java b/swervelib/imu/Pigeon2Swerve.java index 4db3ea1..bc89264 100644 --- a/swervelib/imu/Pigeon2Swerve.java +++ b/swervelib/imu/Pigeon2Swerve.java @@ -1,11 +1,9 @@ package swervelib.imu; -import com.ctre.phoenix6.StatusCode; import com.ctre.phoenix6.StatusSignal; import com.ctre.phoenix6.configs.Pigeon2Configuration; import com.ctre.phoenix6.configs.Pigeon2Configurator; import com.ctre.phoenix6.hardware.Pigeon2; -import edu.wpi.first.math.geometry.Quaternion; import edu.wpi.first.math.geometry.Rotation3d; import edu.wpi.first.math.geometry.Translation3d; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; @@ -20,7 +18,7 @@ public class Pigeon2Swerve extends SwerveIMU /** * Wait time for status frames to show up. */ - public static double STATUS_TIMEOUT_SECONDS = 0.04; + public static double STATUS_TIMEOUT_SECONDS = 0.04; /** * Pigeon2 IMU device. */ @@ -28,11 +26,11 @@ public class Pigeon2Swerve extends SwerveIMU /** * Offset for the Pigeon 2. */ - private Rotation3d offset = new Rotation3d(); + private Rotation3d offset = new Rotation3d(); /** * Inversion for the gyro */ - private boolean invertedIMU = false; + private boolean invertedIMU = false; /** * Generate the SwerveIMU for pigeon. @@ -106,31 +104,7 @@ public class Pigeon2Swerve extends SwerveIMU @Override public Rotation3d getRawRotation3d() { - // TODO: Switch to suppliers. - StatusSignal w = imu.getQuatW(); - StatusSignal x = imu.getQuatX(); - StatusSignal y = imu.getQuatY(); - StatusSignal z = imu.getQuatZ(); - if(w.getStatus() != StatusCode.OK) - { - w = w.waitForUpdate(STATUS_TIMEOUT_SECONDS); - } - if(x.getStatus() != StatusCode.OK) - { - x = x.waitForUpdate(STATUS_TIMEOUT_SECONDS); - } - if(y.getStatus() != StatusCode.OK) - { - y = y.waitForUpdate(STATUS_TIMEOUT_SECONDS); - } - if(z.getStatus() != StatusCode.OK) - { - z = z.waitForUpdate(STATUS_TIMEOUT_SECONDS); - } - Rotation3d reading = new Rotation3d(new Quaternion(w.getValue(), - x.getValue(), - y.getValue(), - z.getValue())); + Rotation3d reading = imu.getRotation3d(); return invertedIMU ? reading.unaryMinus() : reading; } diff --git a/swervelib/motors/SparkMaxBrushedMotorSwerve.java b/swervelib/motors/SparkMaxBrushedMotorSwerve.java index e7018f0..bb33fc4 100644 --- a/swervelib/motors/SparkMaxBrushedMotorSwerve.java +++ b/swervelib/motors/SparkMaxBrushedMotorSwerve.java @@ -68,6 +68,17 @@ public class SparkMaxBrushedMotorSwerve extends SwerveMotor public SparkMaxBrushedMotorSwerve(CANSparkMax motor, boolean isDriveMotor, Type encoderType, int countsPerRevolution, boolean useDataPortQuadEncoder) { + + noEncoderAlert = new Alert("Motors", + "Cannot use motor without encoder.", + Alert.AlertType.ERROR_TRACE); + failureConfiguringAlert = new Alert("Motors", + "Failure configuring motor " + motor.getDeviceId(), + Alert.AlertType.WARNING_TRACE); + noEncoderDefinedAlert = new Alert("Motors", + "An encoder MUST be defined to work with a SparkMAX", + Alert.AlertType.ERROR_TRACE); + // Drive motors **MUST** have an encoder attached. if (isDriveMotor && encoderType == Type.kNoSensor) { @@ -103,15 +114,6 @@ public class SparkMaxBrushedMotorSwerve extends SwerveMotor // Spin off configurations in a different thread. // configureSparkMax(() -> motor.setCANTimeout(0)); // Commented it out because it prevents feedback. - noEncoderAlert = new Alert("Motors", - "Cannot use motor without encoder.", - Alert.AlertType.ERROR_TRACE); - failureConfiguringAlert = new Alert("Motors", - "Failure configuring motor " + motor.getDeviceId(), - Alert.AlertType.WARNING_TRACE); - noEncoderDefinedAlert = new Alert("Motors", - "An encoder MUST be defined to work with a SparkMAX", - Alert.AlertType.ERROR_TRACE); } /** diff --git a/swervelib/motors/TalonFXSwerve.java b/swervelib/motors/TalonFXSwerve.java index b2d2eec..213f199 100644 --- a/swervelib/motors/TalonFXSwerve.java +++ b/swervelib/motors/TalonFXSwerve.java @@ -17,6 +17,10 @@ import swervelib.telemetry.SwerveDriveTelemetry; public class TalonFXSwerve extends SwerveMotor { + /** + * Wait time for status frames to show up. + */ + public static double STATUS_TIMEOUT_SECONDS = 0.02; /** * Factory default already occurred. */ @@ -33,10 +37,6 @@ public class TalonFXSwerve extends SwerveMotor * Velocity voltage setter for controlling drive motor. */ private final VelocityVoltage m_velocityVoltageSetter = new VelocityVoltage(0); - /** - * Wait time for status frames to show up. - */ - public static double STATUS_TIMEOUT_SECONDS = 0.02; /** * TalonFX motor controller. */ @@ -44,11 +44,11 @@ public class TalonFXSwerve extends SwerveMotor /** * Conversion factor for the motor. */ - private double conversionFactor; + private double conversionFactor; /** * Current TalonFX configuration. */ - private TalonFXConfiguration configuration = new TalonFXConfiguration(); + private TalonFXConfiguration configuration = new TalonFXConfiguration(); /** diff --git a/swervelib/parser/json/DeviceJson.java b/swervelib/parser/json/DeviceJson.java index 2bdadfb..5239c44 100644 --- a/swervelib/parser/json/DeviceJson.java +++ b/swervelib/parser/json/DeviceJson.java @@ -1,5 +1,9 @@ package swervelib.parser.json; +import static swervelib.telemetry.SwerveDriveTelemetry.canIdWarning; +import static swervelib.telemetry.SwerveDriveTelemetry.i2cLockupWarning; +import static swervelib.telemetry.SwerveDriveTelemetry.serialCommsIssueWarning; + import com.revrobotics.SparkRelativeEncoder.Type; import edu.wpi.first.wpilibj.DriverStation; import edu.wpi.first.wpilibj.I2C; @@ -26,8 +30,6 @@ import swervelib.motors.SparkMaxSwerve; import swervelib.motors.SwerveMotor; import swervelib.motors.TalonFXSwerve; import swervelib.motors.TalonSRXSwerve; -import swervelib.telemetry.Alert; -import swervelib.telemetry.Alert.AlertType; /** * Device JSON parsed class. Used to access the JSON data. @@ -35,36 +37,18 @@ import swervelib.telemetry.Alert.AlertType; public class DeviceJson { - /** - * An {@link Alert} for if the CAN ID is greater than 40. - */ - private final Alert canIdWarning = new Alert("JSON", - "CAN IDs greater than 40 can cause undefined behaviour, please use a CAN ID below 40!", - Alert.AlertType.WARNING); - /** - * An {@link Alert} for if there is an I2C lockup issue on the roboRIO. - */ - private final Alert i2cLockupWarning = new Alert("IMU", - "I2C lockup issue detected on roboRIO. Check console for more information.", - Alert.AlertType.WARNING); - /** - * NavX serial comm issue. - */ - private final Alert serialCommsIssueWarning = new Alert("IMU", - "Serial comms is interrupted with USB and other serial traffic and causes intermittent connected/disconnection issues. Please consider another protocol or be mindful of this.", - AlertType.WARNING); /** * The device type, e.g. pigeon/pigeon2/sparkmax/talonfx/navx */ - public String type; + public String type; /** * The CAN ID or pin ID of the device. */ - public int id; + public int id; /** * The CAN bus name which the device resides on if using CAN. */ - public String canbus = ""; + public String canbus = ""; /** * Create a {@link SwerveAbsoluteEncoder} from the current configuration. diff --git a/swervelib/telemetry/Alert.java b/swervelib/telemetry/Alert.java index f3c6af3..40f9af7 100644 --- a/swervelib/telemetry/Alert.java +++ b/swervelib/telemetry/Alert.java @@ -34,11 +34,9 @@ import edu.wpi.first.wpilibj.DriverStation; import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import java.util.ArrayList; -import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.function.Predicate; /** * Class for managing persistent alerts to be sent over NetworkTables. @@ -111,24 +109,7 @@ public class Alert if (active && !this.active) { activeStartTime = Timer.getFPGATimestamp(); - switch (type) - { - case ERROR: - DriverStation.reportError(text, false); - break; - case ERROR_TRACE: - DriverStation.reportError(text, true); - break; - case WARNING: - DriverStation.reportWarning(text, false); - break; - case WARNING_TRACE: - DriverStation.reportWarning(text, true); - break; - case INFO: - System.out.println(text); - break; - } + printAlert(text); } this.active = active; } @@ -142,28 +123,39 @@ public class Alert { if (active && !text.equals(this.text)) { - switch (type) - { - case ERROR: - DriverStation.reportError(text, false); - break; - case ERROR_TRACE: - DriverStation.reportError(text, true); - break; - case WARNING: - DriverStation.reportWarning(text, false); - break; - case WARNING_TRACE: - DriverStation.reportWarning(text, true); - break; - case INFO: - System.out.println(text); - break; - } + printAlert(text); } this.text = text; } + + /** + * Print the alert message. + * + * @param text Text to print. + */ + private void printAlert(String text) + { + switch (type) + { + case ERROR: + DriverStation.reportError(text, false); + break; + case ERROR_TRACE: + DriverStation.reportError(text, true); + break; + case WARNING: + DriverStation.reportWarning(text, false); + break; + case WARNING_TRACE: + DriverStation.reportWarning(text, true); + break; + case INFO: + System.out.println(text); + break; + } + } + /** * Represents an alert's level of urgency. */ @@ -219,14 +211,16 @@ public class Alert */ public String[] getStrings(AlertType type) { - Predicate activeFilter = (Alert x) -> x.type == type && x.active; - Comparator timeSorter = - (Alert a1, Alert a2) -> (int) (a2.activeStartTime - a1.activeStartTime); - return alerts.stream() - .filter(activeFilter) - .sorted(timeSorter) - .map((Alert a) -> a.text) - .toArray(String[]::new); + List alertStrings = new ArrayList<>(); + for (Alert alert : alerts) + { + if (alert.type == type && alert.active) + { + alertStrings.add(alert.text); + } + } + // alertStrings.sort((a1, a2) -> (int) (a2.activeStartTime - a1.activeStartTime)); + return alertStrings.toArray(new String[alertStrings.size()]); } @Override diff --git a/swervelib/telemetry/SwerveDriveTelemetry.java b/swervelib/telemetry/SwerveDriveTelemetry.java index 7c1f546..8a300d9 100644 --- a/swervelib/telemetry/SwerveDriveTelemetry.java +++ b/swervelib/telemetry/SwerveDriveTelemetry.java @@ -2,6 +2,7 @@ package swervelib.telemetry; import edu.wpi.first.wpilibj.RobotBase; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; +import swervelib.telemetry.Alert.AlertType; /** * Telemetry to describe the {@link swervelib.SwerveDrive} following frc-web-components. (Which follows AdvantageKit) @@ -9,69 +10,87 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; public class SwerveDriveTelemetry { + /** + * An {@link Alert} for if the CAN ID is greater than 40. + */ + public static final Alert canIdWarning = new Alert("JSON", + "CAN IDs greater than 40 can cause undefined behaviour, please use a CAN ID below 40!", + Alert.AlertType.WARNING); + /** + * An {@link Alert} for if there is an I2C lockup issue on the roboRIO. + */ + public static final Alert i2cLockupWarning = new Alert("IMU", + "I2C lockup issue detected on roboRIO. Check console for more information.", + Alert.AlertType.WARNING); + /** + * NavX serial comm issue. + */ + public static final Alert serialCommsIssueWarning = new Alert("IMU", + "Serial comms is interrupted with USB and other serial traffic and causes intermittent connected/disconnection issues. Please consider another protocol or be mindful of this.", + AlertType.WARNING); /** * The current telemetry verbosity level. */ - public static TelemetryVerbosity verbosity = TelemetryVerbosity.MACHINE; + public static TelemetryVerbosity verbosity = TelemetryVerbosity.MACHINE; /** * State of simulation of the Robot, used to optimize retrieval. */ - public static boolean isSimulation = RobotBase.isSimulation(); + public static boolean isSimulation = RobotBase.isSimulation(); /** * The number of swerve modules */ - public static int moduleCount; + public static int moduleCount; /** * The number of swerve modules */ - public static double[] wheelLocations; + public static double[] wheelLocations; /** * An array of rotation and velocity values describing the measured state of each swerve module */ - public static double[] measuredStates; + public static double[] measuredStates; /** * An array of rotation and velocity values describing the desired state of each swerve module */ - public static double[] desiredStates; + public static double[] desiredStates; /** * The robot's current rotation based on odometry or gyro readings */ - public static double robotRotation = 0; + public static double robotRotation = 0; /** * The maximum achievable speed of the modules, used to adjust the size of the vectors. */ - public static double maxSpeed; + public static double maxSpeed; /** * The units of the module rotations and robot rotation */ - public static String rotationUnit = "degrees"; + public static String rotationUnit = "degrees"; /** * The distance between the left and right modules. */ - public static double sizeLeftRight; + public static double sizeLeftRight; /** * The distance between the front and back modules. */ - public static double sizeFrontBack; + public static double sizeFrontBack; /** * The direction the robot should be facing when the "Robot Rotation" is zero or blank. This option is often useful to * align with odometry data or match videos. 'up', 'right', 'down' or 'left' */ - public static String forwardDirection = "up"; + public static String forwardDirection = "up"; /** * The maximum achievable angular velocity of the robot. This is used to visualize the angular velocity from the * chassis speeds properties. */ - public static double maxAngularVelocity; + public static double maxAngularVelocity; /** * The maximum achievable angular velocity of the robot. This is used to visualize the angular velocity from the * chassis speeds properties. */ - public static double[] measuredChassisSpeeds = new double[3]; + public static double[] measuredChassisSpeeds = new double[3]; /** * Describes the desired forward, sideways and angular velocity of the robot. */ - public static double[] desiredChassisSpeeds = new double[3]; + public static double[] desiredChassisSpeeds = new double[3]; /** * Upload data to smartdashboard