diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html index 4badde3..cd91858 100644 --- a/docs/allclasses-index.html +++ b/docs/allclasses-index.html @@ -1,17 +1,18 @@ - -All Classes and Interfaces (YAGSL-Lib API) + +All Classes and Interfaces + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -111,6 +112,14 @@ loadScripts(document, 'script');
    SwerveModule JSON parsed class.
    +
    MotorConfigDouble
    +
    +
    Used to store doubles for motor configuration.
    +
    +
    MotorConfigInt
    +
    +
    Used to store ints for motor configuration.
    +
    NavXSwerve
    Communicates with the NavX as the IMU.
    @@ -123,42 +132,49 @@ loadScripts(document, 'script');
    Manages physics simulation for CTRE products.
    -
    PIDFConfig
    +
    PhysicsSim.SimProfile
    +
    Holds information about a simulated device.
    +
    +
    PIDFConfig
    +
    Hold the PIDF and Integral Zone values for a PID.
    -
    PIDFPropertiesJson
    -
    + +
    SwerveModule PID with Feedforward for the drive motor and angle motor.
    - -
    + +
    Class to hold the minimum and maximum input or output of the PIDF.
    - -
    + +
    SwerveIMU interface for the Pigeon2
    - -
    + +
    SwerveIMU interface for the Pigeon.
    - -
    + +
    Brushed motor control with SparkMax.
    - -
    + +
    SparkMax absolute encoder, attached through the data port.
    - -
    + +
    An implementation of CANSparkMax as a SwerveMotor.
    + +
    +
    REV Slots for PID configuration.
    +
    -
    Swerve abstraction class to define a standard interface with absolute encoders for swerve - modules..
    +
    Swerve abstraction class to define a standard interface with absolute encoders for swerve modules..
    @@ -182,8 +198,7 @@ loadScripts(document, 'script');
    -
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate - estimation.
    +
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate estimation.
    @@ -203,8 +218,8 @@ loadScripts(document, 'script');
    -
    Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules - states from chassis speed.
    +
    Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules states from chassis + speed.
    @@ -240,17 +255,29 @@ loadScripts(document, 'script');
    -
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to - achieve a more accurate estimation, originally made by Team 1466.
    +
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to achieve a more + accurate estimation, originally made by Team 1466.
    - +
    +
    Holds information about a simulated TalonFX.
    +
    + +
    TalonFX Swerve Motor.
    + +
    +
    Holds information about a simulated TalonSRX.
    +
    WPI_TalonSRX Swerve Motor.
    + +
    +
    Holds information about a simulated VictorSPX.
    +
    diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html index c21b37a..f464d91 100644 --- a/docs/allpackages-index.html +++ b/docs/allpackages-index.html @@ -1,17 +1,18 @@ - -All Packages (YAGSL-Lib API) + +All Packages + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/constant-values.html b/docs/constant-values.html new file mode 100644 index 0000000..efece30 --- /dev/null +++ b/docs/constant-values.html @@ -0,0 +1,96 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Constant Field Values

    +
    +

    Contents

    + +
    +
    +
    +

    swervelib.motors.*

    + +
    +
    +
    +
    + + diff --git a/docs/help-doc.html b/docs/help-doc.html index e93c869..213c6a8 100644 --- a/docs/help-doc.html +++ b/docs/help-doc.html @@ -1,17 +1,18 @@ - -API Help (YAGSL-Lib API) + +API Help + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • @@ -67,6 +68,7 @@ loadScripts(document, 'script');
  • Class or Interface
  • Other Files
  • Tree (Class Hierarchy)
  • +
  • Constant Field Values
  • All Packages
  • All Classes and Interfaces
  • Index
  • @@ -76,7 +78,7 @@ loadScripts(document, 'script');

    Navigation

    -Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces +Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces +
    +

    Constant Field Values

    +

    The Constant Field Values page lists the static final fields and their values.

    +

    All Packages

    The All Packages page contains an alphabetic index of all packages contained in the documentation.

    @@ -164,7 +170,7 @@ The following sections describe the different kinds of pages in this collection.

    Index

    -

    The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

    +

    The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.


    diff --git a/docs/index-files/index-1.html b/docs/index-files/index-1.html new file mode 100644 index 0000000..6b8c115 --- /dev/null +++ b/docs/index-files/index-1.html @@ -0,0 +1,287 @@ + + + + +A-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    A

    +
    +
    absoluteEncoder - Variable in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Absolute encoder attached to the SparkMax (if exists)
    +
    +
    absoluteEncoder - Variable in class swervelib.motors.SparkMaxSwerve
    +
    +
    Absolute encoder attached to the SparkMax (if exists)
    +
    +
    absoluteEncoder - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    Whether the absolute encoder is integrated.
    +
    +
    absoluteEncoder - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    Whether the absolute encoder is integrated.
    +
    +
    absoluteEncoder - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    The Absolute Encoder for the swerve module.
    +
    +
    absoluteEncoder - Variable in class swervelib.SwerveModule
    +
    +
    Absolute encoder for swerve drive.
    +
    +
    absoluteEncoderInverted - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Absolute encoder inversion state.
    +
    +
    absoluteEncoderInverted - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Whether the absolute encoder is inverted.
    +
    +
    absoluteEncoderOffset - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Absolute encoder offset from 0 in degrees.
    +
    +
    addSlewRateLimiters(SlewRateLimiter, SlewRateLimiter, SlewRateLimiter) - Method in class swervelib.SwerveController
    +
    +
    Add slew rate limiters to all controls.
    +
    +
    addTalonFX(TalonFX, double, double) - Method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Adds a TalonFX controller to the simulator.
    +
    +
    addTalonFX(TalonFX, double, double, boolean) - Method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Adds a TalonFX controller to the simulator.
    +
    +
    addTalonSRX(TalonSRX, double, double) - Method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Adds a TalonSRX controller to the simulator.
    +
    +
    addTalonSRX(TalonSRX, double, double, boolean) - Method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Adds a TalonSRX controller to the simulator.
    +
    +
    addVictorSPX(VictorSPX) - Method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Adds a VictorSPX controller to the simulator.
    +
    +
    addVisionMeasurement(Pose2d, double) - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Adds a vision measurement to the Kalman Filter.
    +
    +
    addVisionMeasurement(Pose2d, double, boolean, double) - Method in class swervelib.SwerveDrive
    +
    +
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with + the given timestamp of the vision measurement.
    +
    +
    addVisionMeasurement(Pose2d, double, boolean, Matrix<N3, N1>) - Method in class swervelib.SwerveDrive
    +
    +
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with + the given timestamp of the vision measurement.
    +
    +
    addVisionMeasurement(Pose2d, double, Matrix<N3, N1>) - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Adds a vision measurement to the Kalman Filter.
    +
    +
    ADIS16448Swerve - Class in swervelib.imu
    +
    +
    IMU Swerve class for the ADIS16448_IMU device.
    +
    +
    ADIS16448Swerve() - Constructor for class swervelib.imu.ADIS16448Swerve
    +
    +
    Construct the ADIS16448 imu and reset default configurations.
    +
    +
    ADIS16470Swerve - Class in swervelib.imu
    +
    +
    IMU Swerve class for the ADIS16470_IMU device.
    +
    +
    ADIS16470Swerve() - Constructor for class swervelib.imu.ADIS16470Swerve
    +
    +
    Construct the ADIS16470 imu and reset default configurations.
    +
    +
    ADXRS450Swerve - Class in swervelib.imu
    +
    +
    IMU Swerve class for the ADXRS450_Gyro device.
    +
    +
    ADXRS450Swerve() - Constructor for class swervelib.imu.ADXRS450Swerve
    +
    +
    Construct the ADXRS450 imu and reset default configurations.
    +
    +
    AnalogAbsoluteEncoderSwerve - Class in swervelib.encoders
    +
    +
    Swerve Absolute Encoder for Thrifty Encoders and other analog encoders.
    +
    +
    AnalogAbsoluteEncoderSwerve(int) - Constructor for class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Construct the Encoder given the analog input channel.
    +
    +
    AnalogAbsoluteEncoderSwerve(AnalogInput) - Constructor for class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Construct the Thrifty Encoder as a Swerve Absolute Encoder.
    +
    +
    AnalogGyroSwerve - Class in swervelib.imu
    +
    +
    Creates a IMU for AnalogGyro devices, only uses yaw.
    +
    +
    AnalogGyroSwerve(int) - Constructor for class swervelib.imu.AnalogGyroSwerve
    +
    +
    Analog port in which the gyroscope is connected.
    +
    +
    angle - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Angle motor device configuration.
    +
    +
    angle - Variable in class swervelib.parser.json.modules.BoolMotorJson
    +
    +
    Angle motor inversion state.
    +
    +
    angle - Variable in class swervelib.parser.json.MotorConfigDouble
    +
    +
    Angle motor.
    +
    +
    angle - Variable in class swervelib.parser.json.MotorConfigInt
    +
    +
    Angle motor.
    +
    +
    angle - Variable in class swervelib.parser.json.PIDFPropertiesJson
    +
    +
    The PIDF with Integral Zone used for the angle motor.
    +
    +
    angle - Variable in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Heading of the robot.
    +
    +
    angleEncoderPulsePerRevolution - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    The angle encoder pulse per revolution override.
    +
    +
    angleEncoderPulsePerRotation - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Angle motor encoder pulse per rotation.
    +
    +
    angleGearRatio - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Angle gear ratio.
    +
    +
    angleJoystickRadiusDeadband - Variable in class swervelib.parser.json.ControllerPropertiesJson
    +
    +
    The minimum radius of the angle control joystick to allow for heading adjustment of the robot.
    +
    +
    angleJoyStickRadiusDeadband - Variable in class swervelib.parser.SwerveControllerConfiguration
    +
    +
    hypotenuse deadband for the robot angle control joystick.
    +
    +
    angleLimiter - Variable in class swervelib.SwerveController
    +
    +
    SlewRateLimiter for angular movement in radians/second.
    +
    +
    angleMotor - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    The drive motor and angle motor of this swerve module.
    +
    +
    angleMotor - Variable in class swervelib.SwerveModule
    +
    +
    Swerve Motors.
    +
    +
    angleMotorCurrentLimit - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Current limits for the Swerve Module.
    +
    +
    angleMotorEncoderPulsePerRevolution - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    The integrated encoder pulse per revolution.
    +
    +
    angleMotorFreeSpeedRPM - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    DEPRECATED: No longer needed, tune PhysicalPropertiesJson.moduleFeedForwardClosedLoop instead.
    +
    +
    angleMotorInverted - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    State of inversion of the angle motor.
    +
    +
    angleMotorRampRate - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    The time it takes for the motor to go from 0 to full throttle in seconds.
    +
    +
    angleOffset - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Angle offset in degrees for the Swerve Module.
    +
    +
    angleOffset - Variable in class swervelib.SwerveModule
    +
    +
    Angle offset from the absolute encoder.
    +
    +
    anglePIDF - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    PIDF configuration options for the angle motor closed-loop PID controller.
    +
    +
    antiJitter(SwerveModuleState2, SwerveModuleState2, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Perform anti-jitter within modules if the speed requested is too low.
    +
    +
    applyDeadband(double, boolean, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Algebraically apply a deadband using a piece wise function.
    +
    +
    attainableMaxRotationalVelocityRadiansPerSecond - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Max module speed in meters per second.
    +
    +
    attainableMaxTranslationalSpeedMetersPerSecond - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Max module speed in meters per second.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-10.html b/docs/index-files/index-10.html new file mode 100644 index 0000000..628c756 --- /dev/null +++ b/docs/index-files/index-10.html @@ -0,0 +1,65 @@ + + + + +K-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    K

    +
    +
    kinematics - Variable in class swervelib.SwerveDrive
    +
    +
    Swerve Kinematics object utilizing second order kinematics.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-11.html b/docs/index-files/index-11.html new file mode 100644 index 0000000..3127881 --- /dev/null +++ b/docs/index-files/index-11.html @@ -0,0 +1,107 @@ + + + + +L-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    L

    +
    +
    lastAngleScalar - Variable in class swervelib.SwerveController
    +
    +
    Last angle as a scalar [-1,1] the robot was set to.
    +
    +
    lastHeadingRadians - Variable in class swervelib.SwerveDrive
    +
    +
    The last heading set in radians.
    +
    +
    lastState - Variable in class swervelib.SwerveModule
    +
    +
    Last swerve module state applied.
    +
    +
    lastTime - Variable in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    The last time the timer was read, used to determine position changes.
    +
    +
    lastTime - Variable in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Last time queried.
    +
    +
    left - Variable in class swervelib.parser.json.modules.LocationJson
    +
    +
    Location of the swerve module in inches from the center of the robot vertically.
    +
    +
    limitVelocity(Translation2d, ChassisSpeeds, Pose2d, double, double, List<Matter>, SwerveDriveConfiguration) - Static method in class swervelib.math.SwerveMath
    +
    + +
    +
    location - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    The location of the swerve module from the center of the robot in inches.
    +
    +
    LocationJson - Class in swervelib.parser.json.modules
    +
    +
    Location JSON parsed class.
    +
    +
    LocationJson() - Constructor for class swervelib.parser.json.modules.LocationJson
    +
     
    +
    lockPose() - Method in class swervelib.SwerveDrive
    +
    +
    Point all modules toward the robot center, thus making the robot very difficult to move.
    +
    +
    LOW - Enum constant in enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
    +
    Low telemetry data, only post the robot position on the field.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-12.html b/docs/index-files/index-12.html new file mode 100644 index 0000000..c4dd380 --- /dev/null +++ b/docs/index-files/index-12.html @@ -0,0 +1,314 @@ + + + + +M-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    M

    +
    +
    m_forwardKinematics - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Forward kinematics matrix.
    +
    +
    m_gyroOffset - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Gyro offset.
    +
    +
    m_inverseKinematics - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Inverse kinematics matrix.
    +
    +
    m_kinematics - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Swerve drive kinematics.
    +
    +
    m_kinematics - Variable in class swervelib.math.SwervePoseEstimator2
    +
    +
    Swerve drive kinematics.
    +
    +
    m_moduleAccelTimer - Variable in class swervelib.math.SwerveKinematics2
    +
     
    +
    m_modules - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Location of each swerve module in meters.
    +
    +
    m_moduleStates - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Swerve module states.
    +
    +
    m_numModules - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Number of swerve modules.
    +
    +
    m_numModules - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Number of swerve modules.
    +
    +
    m_numModules - Variable in class swervelib.math.SwervePoseEstimator2
    +
    +
    Number of swerve modules.
    +
    +
    m_odometry - Variable in class swervelib.math.SwervePoseEstimator2
    +
    +
    Enhanced swerve drive odometry.
    +
    +
    m_poseBuffer - Variable in class swervelib.math.SwervePoseEstimator2
    +
    +
    Interpolation buffer.
    +
    +
    m_poseMeters - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Estimated pose.
    +
    +
    m_prevChassisSpeeds - Variable in class swervelib.math.SwerveKinematics2
    +
     
    +
    m_prevCoR - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Previous CoR
    +
    +
    m_previousAngle - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Previous gyroscope angle.
    +
    +
    m_previousModulePositions - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Previous swerve module positions.
    +
    +
    m_prevModuleAccelTime - Variable in class swervelib.math.SwerveKinematics2
    +
     
    +
    m_q - Variable in class swervelib.math.SwervePoseEstimator2
    +
    +
    Matrix quotient.
    +
    +
    m_visionK - Variable in class swervelib.math.SwervePoseEstimator2
    +
    +
    Vision standard deviations.
    +
    +
    m_zeroModuleStates - Variable in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Zero module states.
    +
    +
    MACHINE - Enum constant in enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
    +
    Only send the machine readable data related to swerve drive.
    +
    +
    mass - Variable in class swervelib.math.Matter
    +
    +
    Mass in kg of object.
    +
    +
    massMoment() - Method in class swervelib.math.Matter
    +
    +
    Get the center mass of the object.
    +
    +
    Matter - Class in swervelib.math
    +
    +
    Object with significant mass that needs to be taken into account.
    +
    +
    Matter(Translation3d, double) - Constructor for class swervelib.math.Matter
    +
    +
    Construct an object representing some significant matter on the robot.
    +
    +
    max - Variable in class swervelib.parser.deserializer.PIDFRange
    +
    +
    Maximum value.
    +
    +
    maxAngularVelocity - Variable in class swervelib.parser.SwerveControllerConfiguration
    +
    +
    Maximum angular velocity in rad/s
    +
    +
    maxAngularVelocity - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The maximum achievable angular velocity of the robot.
    +
    +
    maxSpeed - Variable in class swervelib.parser.json.SwerveDriveJson
    +
    +
    Maximum robot speed in feet per second.
    +
    +
    maxSpeed - Variable in class swervelib.parser.SwerveControllerConfiguration
    +
    +
    Maximum robot speed in meters per second.
    +
    +
    maxSpeed - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Max module speed in meters per second.
    +
    +
    maxSpeed - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Maximum robot speed in meters per second.
    +
    +
    maxSpeed - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The maximum achievable speed of the modules, used to adjust the size of the vectors.
    +
    +
    measuredChassisSpeeds - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The maximum achievable angular velocity of the robot.
    +
    +
    measuredStates - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    An array of rotation and velocity values describing the measured state of each swerve module
    +
    +
    min - Variable in class swervelib.parser.deserializer.PIDFRange
    +
    +
    Minimum value.
    +
    +
    moduleConfigs - Static variable in class swervelib.parser.SwerveParser
    +
    +
    Module number mapped to the JSON name.
    +
    +
    moduleCount - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Number of modules on the robot.
    +
    +
    moduleCount - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The number of swerve modules
    +
    +
    moduleFeedForwardClosedLoop - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that + your drive train does not drift towards the direction you are rotating while you translate.
    +
    +
    ModuleJson - Class in swervelib.parser.json
    +
    +
    SwerveModule JSON parsed class.
    +
    +
    ModuleJson() - Constructor for class swervelib.parser.json.ModuleJson
    +
     
    +
    moduleJsons - Static variable in class swervelib.parser.SwerveParser
    +
    +
    Array holding the module jsons given in SwerveDriveJson.
    +
    +
    moduleLocation - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Swerve module location relative to the robot.
    +
    +
    moduleLocationsMeters - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Swerve Module locations.
    +
    +
    moduleNumber - Variable in class swervelib.SwerveModule
    +
    +
    Module number for kinematics, usually 0 to 3.
    +
    +
    modulePositions - Variable in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    modules - Variable in class swervelib.parser.json.SwerveDriveJson
    +
    +
    Module JSONs in order clockwise order starting from front left.
    +
    +
    modules - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Swerve Modules.
    +
    +
    moduleStateOptimization - Variable in class swervelib.SwerveModule
    +
    +
    Enable SwerveModuleState2 optimizations so the angle is reversed and speed is reversed to ensure the module + never turns more than 90deg.
    +
    +
    moduleSteerFFCL - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Angle volt-meter-per-second.
    +
    +
    moduleSteerFFCL - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that + your drive train does not drift towards the direction you are rotating while you translate.
    +
    +
    moduleSynchronizationCounter - Variable in class swervelib.SwerveDrive
    +
    +
    Counter to synchronize the modules relative encoder with absolute encoder when not moving.
    +
    +
    motor - Variable in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    SparkMAX Instance.
    +
    +
    motor - Variable in class swervelib.motors.SparkMaxSwerve
    +
    +
    SparkMAX Instance.
    +
    +
    motor - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    TalonFX motor controller.
    +
    +
    motor - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    TalonSRX motor controller.
    +
    +
    MotorConfigDouble - Class in swervelib.parser.json
    +
    +
    Used to store doubles for motor configuration.
    +
    +
    MotorConfigDouble() - Constructor for class swervelib.parser.json.MotorConfigDouble
    +
    +
    Default constructor.
    +
    +
    MotorConfigDouble(double, double) - Constructor for class swervelib.parser.json.MotorConfigDouble
    +
    +
    Default constructor.
    +
    +
    MotorConfigInt - Class in swervelib.parser.json
    +
    +
    Used to store ints for motor configuration.
    +
    +
    MotorConfigInt() - Constructor for class swervelib.parser.json.MotorConfigInt
    +
    +
    Default constructor.
    +
    +
    MotorConfigInt(int, int) - Constructor for class swervelib.parser.json.MotorConfigInt
    +
    +
    Default constructor with values.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-13.html b/docs/index-files/index-13.html new file mode 100644 index 0000000..c234de2 --- /dev/null +++ b/docs/index-files/index-13.html @@ -0,0 +1,89 @@ + + + + +N-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    N

    +
    +
    name - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Name for the swerve module for telemetry.
    +
    +
    NavXSwerve - Class in swervelib.imu
    +
    +
    Communicates with the NavX as the IMU.
    +
    +
    NavXSwerve(SerialPort.Port) - Constructor for class swervelib.imu.NavXSwerve
    +
    +
    Constructor for the NavX swerve.
    +
    +
    nominalVoltage - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    Nominal voltage default to use with feedforward.
    +
    +
    nominalVoltage - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    Nominal voltage default to use with feedforward.
    +
    +
    NONE - Enum constant in enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
    +
    No telemetry data is sent back.
    +
    +
    normalizeAngle(double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Normalize an angle to be within 0 to 360.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-14.html b/docs/index-files/index-14.html new file mode 100644 index 0000000..816358d --- /dev/null +++ b/docs/index-files/index-14.html @@ -0,0 +1,114 @@ + + + + +O-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    O

    +
    +
    offset - Variable in class swervelib.imu.ADIS16448Swerve
    +
    +
    Offset for the ADIS16448.
    +
    +
    offset - Variable in class swervelib.imu.ADIS16470Swerve
    +
    +
    Offset for the ADIS16470.
    +
    +
    offset - Variable in class swervelib.imu.ADXRS450Swerve
    +
    +
    Offset for the ADXRS450.
    +
    +
    offset - Variable in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Offset for the analog gyro.
    +
    +
    offset - Variable in class swervelib.imu.NavXSwerve
    +
    +
    Offset for the NavX.
    +
    +
    offset - Variable in class swervelib.imu.Pigeon2Swerve
    +
    +
    Offset for the Pigeon 2.
    +
    +
    offset - Variable in class swervelib.imu.PigeonSwerve
    +
    +
    Offset for the Pigeon.
    +
    +
    omegaRadPerSecond - Variable in class swervelib.math.SwerveModuleState2
    +
    +
    Rad per sec
    +
    +
    openJson(File) - Method in class swervelib.parser.SwerveParser
    +
    +
    Open JSON file.
    +
    +
    optimalVoltage - Variable in class swervelib.parser.json.SwerveDriveJson
    +
    +
    Optimal voltage to compensate to and base feedforward calculations off of.
    +
    +
    optimalVoltage - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Optimal voltage of the robot.
    +
    +
    optimize(SwerveModuleState2, Rotation2d, SwerveModuleState2, double) - Static method in class swervelib.math.SwerveModuleState2
    +
    +
    Minimize the change in heading the desired swerve module state would require by potentially reversing the direction + the wheel spins.
    +
    +
    output - Variable in class swervelib.parser.PIDFConfig
    +
    +
    The PIDF output range.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-15.html b/docs/index-files/index-15.html new file mode 100644 index 0000000..a77674c --- /dev/null +++ b/docs/index-files/index-15.html @@ -0,0 +1,187 @@ + + + + +P-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    P

    +
    +
    p - Variable in class swervelib.parser.PIDFConfig
    +
    +
    Proportional Gain for PID.
    +
    +
    physicalCharacteristics - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Physical characteristics of the swerve module.
    +
    +
    physicalPropertiesJson - Static variable in class swervelib.parser.SwerveParser
    +
    +
    Parsed modules/physicalproperties.json
    +
    +
    PhysicalPropertiesJson - Class in swervelib.parser.json
    +
    + +
    +
    PhysicalPropertiesJson() - Constructor for class swervelib.parser.json.PhysicalPropertiesJson
    +
     
    +
    PhysicsSim - Class in swervelib.simulation.ctre
    +
    +
    Manages physics simulation for CTRE products.
    +
    +
    PhysicsSim() - Constructor for class swervelib.simulation.ctre.PhysicsSim
    +
     
    +
    PhysicsSim.SimProfile - Class in swervelib.simulation.ctre
    +
    +
    Holds information about a simulated device.
    +
    +
    pid - Variable in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Closed-loop PID controller.
    +
    +
    pid - Variable in class swervelib.motors.SparkMaxSwerve
    +
    +
    Closed-loop PID controller.
    +
    +
    PIDFConfig - Class in swervelib.parser
    +
    +
    Hold the PIDF and Integral Zone values for a PID.
    +
    +
    PIDFConfig() - Constructor for class swervelib.parser.PIDFConfig
    +
    +
    Used when parsing PIDF values from JSON.
    +
    +
    PIDFConfig(double, double) - Constructor for class swervelib.parser.PIDFConfig
    +
    +
    PIDF Config constructor to contain the values.
    +
    +
    PIDFConfig(double, double, double) - Constructor for class swervelib.parser.PIDFConfig
    +
    +
    PIDF Config constructor to contain the values.
    +
    +
    PIDFConfig(double, double, double, double) - Constructor for class swervelib.parser.PIDFConfig
    +
    +
    PIDF Config constructor to contain the values.
    +
    +
    PIDFConfig(double, double, double, double, double) - Constructor for class swervelib.parser.PIDFConfig
    +
    +
    PIDF Config constructor to contain the values.
    +
    +
    pidfPropertiesJson - Static variable in class swervelib.parser.SwerveParser
    +
    +
    Parsed modules/pidfproperties.json
    +
    +
    PIDFPropertiesJson - Class in swervelib.parser.json
    +
    +
    SwerveModule PID with Feedforward for the drive motor and angle motor.
    +
    +
    PIDFPropertiesJson() - Constructor for class swervelib.parser.json.PIDFPropertiesJson
    +
     
    +
    PIDFRange - Class in swervelib.parser.deserializer
    +
    +
    Class to hold the minimum and maximum input or output of the PIDF.
    +
    +
    PIDFRange() - Constructor for class swervelib.parser.deserializer.PIDFRange
    +
     
    +
    Pigeon2Swerve - Class in swervelib.imu
    +
    +
    SwerveIMU interface for the Pigeon2
    +
    +
    Pigeon2Swerve(int) - Constructor for class swervelib.imu.Pigeon2Swerve
    +
    +
    Generate the SwerveIMU for pigeon.
    +
    +
    Pigeon2Swerve(int, String) - Constructor for class swervelib.imu.Pigeon2Swerve
    +
    +
    Generate the SwerveIMU for pigeon.
    +
    +
    PigeonSwerve - Class in swervelib.imu
    +
    +
    SwerveIMU interface for the Pigeon.
    +
    +
    PigeonSwerve(int) - Constructor for class swervelib.imu.PigeonSwerve
    +
    +
    Generate the SwerveIMU for pigeon.
    +
    +
    placeInAppropriate0To360Scope(double, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Put an angle within the 360 deg scope of a reference.
    +
    +
    PoseLog(Pose2d) - Static method in class swervelib.math.SwerveMath
    +
    +
    Logical inverse of the Pose exponential from 254.
    +
    +
    poseMeters - Variable in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    position - Variable in class swervelib.math.Matter
    +
    +
    Position in meters from robot center in 3d space.
    +
    +
    Position - Enum constant in enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    Slot 1, used for position PID's.
    +
    +
    positionConversionFactor - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    The position conversion factor to convert raw sensor units to Meters Per 100ms, or Ticks to Degrees.
    +
    +
    positionConversionFactor - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    The position conversion factor to convert raw sensor units to Meters Per 100ms, or Ticks to Degrees.
    +
    +
    postTrajectory(Trajectory) - Method in class swervelib.SwerveDrive
    +
    +
    Post the trajectory to the field
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-16.html b/docs/index-files/index-16.html new file mode 100644 index 0000000..4fa6254 --- /dev/null +++ b/docs/index-files/index-16.html @@ -0,0 +1,65 @@ + + + + +Q-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    Q

    +
    +
    queueSynchronizeEncoders() - Method in class swervelib.SwerveModule
    +
    +
    Queue synchronization of the integrated angle encoder with the absolute encoder.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-17.html b/docs/index-files/index-17.html new file mode 100644 index 0000000..d2f9f86 --- /dev/null +++ b/docs/index-files/index-17.html @@ -0,0 +1,122 @@ + + + + +R-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    R

    +
    +
    rampRate - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    The minimum number of seconds to take for the motor to go from 0 to full throttle.
    +
    +
    random(double) - Static method in class swervelib.simulation.ctre.PhysicsSim
    +
     
    +
    random(double, double) - Static method in class swervelib.simulation.ctre.PhysicsSim
    +
     
    +
    readingError - Variable in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Last angle reading was faulty.
    +
    +
    replaceSwerveModuleFeedforward(SimpleMotorFeedforward) - Method in class swervelib.SwerveDrive
    +
    +
    Setup the swerve module feedforward.
    +
    +
    resetEncoders() - Method in class swervelib.SwerveDrive
    +
    +
    Reset the drive encoders on the robot, useful when manually resetting the robot without a reboot, like in + autonomous.
    +
    +
    resetOdometry(Pose2d) - Method in class swervelib.SwerveDrive
    +
    +
    Resets odometry to the given pose.
    +
    +
    resetPosition(Rotation2d, SwerveModulePosition[], Pose2d) - Method in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Resets the robot's position on the field.
    +
    +
    resetPosition(Rotation2d, SwerveModulePosition[], Pose2d) - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Resets the robot's position on the field.
    +
    +
    robotRotation - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The robot's current rotation based on odometry or gyro readings
    +
    +
    rotationUnit - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The units of the module rotations and robot rotation
    +
    +
    run() - Method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Runs the simulator: - enable the robot - simulate sensors
    +
    +
    run() - Method in class swervelib.simulation.ctre.PhysicsSim.SimProfile
    +
    +
    Runs the simulation profile.
    +
    +
    run() - Method in class swervelib.simulation.ctre.TalonFXSimProfile
    +
    +
    Runs the simulation profile.
    +
    +
    run() - Method in class swervelib.simulation.ctre.TalonSRXSimProfile
    +
    +
    Runs the simulation profile.
    +
    +
    run() - Method in class swervelib.simulation.ctre.VictorSPXSimProfile
    +
    +
    Runs the simulation profile.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-18.html b/docs/index-files/index-18.html new file mode 100644 index 0000000..3af25d2 --- /dev/null +++ b/docs/index-files/index-18.html @@ -0,0 +1,702 @@ + + + + +S-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    S

    +
    +
    set(double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the percentage output.
    +
    +
    set(double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the percentage output.
    +
    +
    set(double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the percentage output.
    +
    +
    set(double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the percentage output.
    +
    +
    set(double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the percentage output.
    +
    +
    setAbsoluteEncoder(SwerveAbsoluteEncoder) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the absolute encoder to be a compatible absolute encoder.
    +
    +
    setAbsoluteEncoder(SwerveAbsoluteEncoder) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the absolute encoder to be a compatible absolute encoder.
    +
    +
    setAbsoluteEncoder(SwerveAbsoluteEncoder) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the absolute encoder to be a compatible absolute encoder.
    +
    +
    setAbsoluteEncoder(SwerveAbsoluteEncoder) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the absolute encoder to be a compatible absolute encoder.
    +
    +
    setAbsoluteEncoder(SwerveAbsoluteEncoder) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the absolute encoder to be a compatible absolute encoder.
    +
    +
    setAngle(double) - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Set the heading of the robot.
    +
    +
    setAngle(double) - Method in class swervelib.SwerveModule
    +
    +
    Set the angle for the module.
    +
    +
    setChassisSpeeds(ChassisSpeeds) - Method in class swervelib.SwerveDrive
    +
    +
    Set chassis speeds with closed-loop velocity control and second order kinematics.
    +
    +
    setCurrentLimit(int) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    +
    +
    setCurrentLimit(int) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    +
    +
    setCurrentLimit(int) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    +
    +
    setCurrentLimit(int) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    +
    +
    setCurrentLimit(int) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    +
    +
    setDesiredState(SwerveModuleState2, boolean, boolean) - Method in class swervelib.SwerveModule
    +
    +
    Set the desired state of the swerve module.
    +
    +
    setGyro(Rotation3d) - Method in class swervelib.SwerveDrive
    +
    +
    Set the expected gyroscope angle using a Rotation3d object.
    +
    +
    setGyroOffset(Rotation3d) - Method in class swervelib.SwerveDrive
    +
    +
    Set the gyro scope offset to a desired known rotation.
    +
    +
    setInverted(boolean) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the motor to be inverted.
    +
    +
    setInverted(boolean) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the motor to be inverted.
    +
    +
    setInverted(boolean) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the motor to be inverted.
    +
    +
    setInverted(boolean) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the motor to be inverted.
    +
    +
    setInverted(boolean) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the motor to be inverted.
    +
    +
    setLoopRampRate(double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the maximum rate the open/closed loop output can change by.
    +
    +
    setLoopRampRate(double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the maximum rate the open/closed loop output can change by.
    +
    +
    setLoopRampRate(double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the maximum rate the open/closed loop output can change by.
    +
    +
    setLoopRampRate(double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the maximum rate the open/closed loop output can change by.
    +
    +
    setLoopRampRate(double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the maximum rate the open/closed loop output can change by.
    +
    +
    setMaximumAngularVelocity(double) - Method in class swervelib.SwerveController
    +
    +
    Set a new maximum angular velocity that is different from the auto-generated one.
    +
    +
    setMaximumSpeed(double) - Method in class swervelib.SwerveDrive
    +
    + +
    +
    setMaximumSpeed(double, boolean) - Method in class swervelib.SwerveDrive
    +
    + +
    +
    setMaximumSpeeds(double, double, double) - Method in class swervelib.SwerveDrive
    +
    +
    Set the maximum speeds for desaturation.
    +
    +
    setModuleStateOptimization(boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Configure whether the SwerveModuleState2 will be optimized to prevent spinning more than 90deg.
    +
    +
    setModuleStates(SwerveModuleState2[], boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Set the module states (azimuth and velocity) directly.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the idle mode.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the idle mode.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the idle mode.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the idle mode.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the idle mode.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.SwerveModule
    +
    +
    Set the brake mode.
    +
    +
    setMotorIdleMode(boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Sets the drive motors to brake/coast mode.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.NavXSwerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Set the gyro offset.
    +
    +
    setOffset(Rotation3d) - Method in class swervelib.imu.SwerveIMU
    +
    +
    Set the gyro offset.
    +
    +
    setPosition(double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the integrated encoder position.
    +
    +
    setPosition(double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the integrated encoder position.
    +
    +
    setPosition(double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the integrated encoder position.
    +
    +
    setPosition(double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the integrated encoder position.
    +
    +
    setPosition(double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the integrated encoder position.
    +
    +
    setRawModuleStates(SwerveModuleState2[], boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Set the module states (azimuth and velocity) directly.
    +
    +
    setReference(double, double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double, double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double, double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double, double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double, double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setReference(double, double, double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    setVisionMeasurementStdDevs(Matrix<N3, N1>) - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Sets the pose estimator's trust of global measurements.
    +
    +
    setVoltageCompensation(double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    setVoltageCompensation(double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    setVoltageCompensation(double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    setVoltageCompensation(double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    setVoltageCompensation(double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    sim - Static variable in class swervelib.simulation.ctre.PhysicsSim
    +
     
    +
    simIMU - Variable in class swervelib.SwerveDrive
    +
    +
    Simulation of the swerve drive.
    +
    +
    simModule - Variable in class swervelib.SwerveModule
    +
    +
    Simulated swerve module.
    +
    +
    SimProfile() - Constructor for class swervelib.simulation.ctre.PhysicsSim.SimProfile
    +
     
    +
    Simulation - Enum constant in enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    Slot 3, used arbitrarily.
    +
    +
    sizeFrontBack - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The distance between the front and back modules.
    +
    +
    sizeLeftRight - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The distance between the left and right modules.
    +
    +
    SparkMAX_slotIdx() - Constructor for enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
     
    +
    SparkMaxBrushedMotorSwerve - Class in swervelib.motors
    +
    +
    Brushed motor control with SparkMax.
    +
    +
    SparkMaxBrushedMotorSwerve(int, boolean, SparkMaxRelativeEncoder.Type, int, boolean) - Constructor for class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Initialize the SwerveMotor as a CANSparkMax connected to a Brushless Motor.
    +
    +
    SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkMaxRelativeEncoder.Type, int, boolean) - Constructor for class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Initialize the swerve motor.
    +
    +
    SparkMaxEncoderSwerve - Class in swervelib.encoders
    +
    +
    SparkMax absolute encoder, attached through the data port.
    +
    +
    SparkMaxEncoderSwerve(SwerveMotor, int) - Constructor for class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Create the AbsoluteEncoder object as a duty cycle.
    +
    +
    SparkMaxSwerve - Class in swervelib.motors
    +
    +
    An implementation of CANSparkMax as a SwerveMotor.
    +
    +
    SparkMaxSwerve(int, boolean) - Constructor for class swervelib.motors.SparkMaxSwerve
    +
    +
    Initialize the SwerveMotor as a CANSparkMax connected to a Brushless Motor.
    +
    +
    SparkMaxSwerve(CANSparkMax, boolean) - Constructor for class swervelib.motors.SparkMaxSwerve
    +
    +
    Initialize the swerve motor.
    +
    +
    SparkMaxSwerve.SparkMAX_slotIdx - Enum Class in swervelib.motors
    +
    +
    REV Slots for PID configuration.
    +
    +
    state - Variable in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Current simulated swerve module state.
    +
    +
    stateStdDevs - Variable in class swervelib.SwerveDrive
    +
    +
    Trustworthiness of the internal model of how motors should be moving Measured in expected standard deviation + (meters of position and degrees of rotation)
    +
    +
    SwerveAbsoluteEncoder - Class in swervelib.encoders
    +
    +
    Swerve abstraction class to define a standard interface with absolute encoders for swerve modules..
    +
    +
    SwerveAbsoluteEncoder() - Constructor for class swervelib.encoders.SwerveAbsoluteEncoder
    +
     
    +
    swerveController - Variable in class swervelib.SwerveDrive
    +
    +
    Swerve controller for controlling heading of the robot.
    +
    +
    SwerveController - Class in swervelib
    +
    +
    Controller class used to convert raw inputs into robot speeds.
    +
    +
    SwerveController(SwerveControllerConfiguration) - Constructor for class swervelib.SwerveController
    +
    +
    Construct the SwerveController object which is used for determining the speeds of the robot based on controller + input.
    +
    +
    SwerveControllerConfiguration - Class in swervelib.parser
    +
    +
    Swerve Controller configuration class which is used to configure SwerveController.
    +
    +
    SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig) - Constructor for class swervelib.parser.SwerveControllerConfiguration
    +
    +
    Construct the swerve controller configuration.
    +
    +
    SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double) - Constructor for class swervelib.parser.SwerveControllerConfiguration
    +
    +
    Construct the swerve controller configuration.
    +
    +
    SwerveDrive - Class in swervelib
    +
    +
    Swerve Drive class representing and controlling the swerve drive.
    +
    +
    SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration) - Constructor for class swervelib.SwerveDrive
    +
    +
    Creates a new swerve drivebase subsystem.
    +
    +
    swerveDriveConfiguration - Variable in class swervelib.SwerveDrive
    +
    +
    Swerve drive configuration.
    +
    +
    SwerveDriveConfiguration - Class in swervelib.parser
    +
    +
    Swerve drive configurations used during SwerveDrive construction.
    +
    +
    SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, double, boolean) - Constructor for class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Create swerve drive configuration.
    +
    +
    swerveDriveJson - Static variable in class swervelib.parser.SwerveParser
    +
    +
    Parsed swervedrive.json
    +
    +
    SwerveDriveJson - Class in swervelib.parser.json
    +
    +
    SwerveDrive JSON parsed class.
    +
    +
    SwerveDriveJson() - Constructor for class swervelib.parser.json.SwerveDriveJson
    +
     
    +
    SwerveDriveOdometry2 - Class in swervelib.math
    +
    +
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate estimation.
    +
    +
    SwerveDriveOdometry2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[]) - Constructor for class swervelib.math.SwerveDriveOdometry2
    +
    +
    Constructs a SwerveDriveOdometry object with the default pose at the origin.
    +
    +
    SwerveDriveOdometry2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d) - Constructor for class swervelib.math.SwerveDriveOdometry2
    +
    +
    Constructs a SwerveDriveOdometry object.
    +
    +
    swerveDrivePoseEstimator - Variable in class swervelib.SwerveDrive
    +
    +
    Swerve odometry.
    +
    +
    SwerveDriveTelemetry - Class in swervelib.telemetry
    +
    +
    Telemetry to describe the SwerveDrive following frc-web-components.
    +
    +
    SwerveDriveTelemetry() - Constructor for class swervelib.telemetry.SwerveDriveTelemetry
    +
     
    +
    SwerveDriveTelemetry.TelemetryVerbosity - Enum Class in swervelib.telemetry
    +
    +
    Verbosity of telemetry data sent back.
    +
    +
    SwerveIMU - Class in swervelib.imu
    +
    +
    Swerve IMU abstraction to define a standard interface with a swerve drive.
    +
    +
    SwerveIMU() - Constructor for class swervelib.imu.SwerveIMU
    +
     
    +
    SwerveIMUSimulation - Class in swervelib.simulation
    +
    +
    Simulation for SwerveDrive IMU.
    +
    +
    SwerveIMUSimulation() - Constructor for class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Create the swerve drive IMU simulation.
    +
    +
    SwerveKinematics2 - Class in swervelib.math
    +
    +
    Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules states from chassis + speed.
    +
    +
    SwerveKinematics2(Translation2d...) - Constructor for class swervelib.math.SwerveKinematics2
    +
    +
    Constructs a swerve drive kinematics object.
    +
    +
    swervelib - package swervelib
    +
    +
    Yet-Another Generic Swerve Library (YAGSL) main package AKA swervelib.
    +
    +
    swervelib.encoders - package swervelib.encoders
    +
    +
    Absolute encoders for the swerve drive, all implement SwerveAbsoluteEncoder.
    +
    +
    swervelib.imu - package swervelib.imu
    +
    +
    IMUs used for controlling the robot heading.
    +
    +
    swervelib.math - package swervelib.math
    +
    +
    Mathematics for swerve drives.
    +
    +
    swervelib.motors - package swervelib.motors
    +
    +
    Swerve motor controller wrappers which implement SwerveMotor.
    +
    +
    swervelib.parser - package swervelib.parser
    +
    +
    JSON Parser for YAGSL configurations.
    +
    +
    swervelib.parser.deserializer - package swervelib.parser.deserializer
    +
    +
    Deserialize specific variables for outside the parser.
    +
    +
    swervelib.parser.json - package swervelib.parser.json
    +
    +
    JSON Mapped classes for parsing configuration files.
    +
    +
    swervelib.parser.json.modules - package swervelib.parser.json.modules
    +
    +
    JSON Mapped Configuration types for modules.
    +
    +
    swervelib.simulation - package swervelib.simulation
    +
    +
    Classes used to simulate the swerve drive.
    +
    +
    swervelib.simulation.ctre - package swervelib.simulation.ctre
    +
    +
    CTRE Physics Simulator.
    +
    +
    swervelib.telemetry - package swervelib.telemetry
    +
    +
    Telemetry package for sending data to NT4 or SmartDashboard.
    +
    +
    SwerveMath - Class in swervelib.math
    +
    +
    Mathematical functions which pertain to swerve drive.
    +
    +
    SwerveMath() - Constructor for class swervelib.math.SwerveMath
    +
     
    +
    SwerveModule - Class in swervelib
    +
    +
    The Swerve Module class which represents and controls Swerve Modules for the swerve drive.
    +
    +
    SwerveModule(int, SwerveModuleConfiguration) - Constructor for class swervelib.SwerveModule
    +
    +
    Construct the swerve module and initialize the swerve module motors and absolute encoder.
    +
    +
    SwerveModuleConfiguration - Class in swervelib.parser
    +
    +
    Swerve Module configuration class which is used to configure SwerveModule.
    +
    +
    SwerveModuleConfiguration(SwerveMotor, SwerveMotor, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, double, String) - Constructor for class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Construct a configuration object for swerve modules.
    +
    +
    SwerveModuleConfiguration(SwerveMotor, SwerveMotor, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, String) - Constructor for class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Construct a configuration object for swerve modules.
    +
    +
    SwerveModulePhysicalCharacteristics - Class in swervelib.parser
    +
    +
    Configuration class which stores physical characteristics shared between every swerve module.
    +
    +
    SwerveModulePhysicalCharacteristics(double, double, double, double, double, int, int) - Constructor for class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Construct the swerve module physical characteristics.
    +
    +
    SwerveModulePhysicalCharacteristics(double, double, double, double, double, int, int, double, double, int, int, double) - Constructor for class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Construct the swerve module physical characteristics.
    +
    +
    swerveModules - Variable in class swervelib.SwerveDrive
    +
    +
    Swerve modules.
    +
    +
    SwerveModuleSimulation - Class in swervelib.simulation
    +
    +
    Class to hold simulation data for SwerveModule
    +
    +
    SwerveModuleSimulation() - Constructor for class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Create simulation class and initialize module at 0.
    +
    +
    SwerveModuleState2 - Class in swervelib.math
    +
    +
    Second order kinematics swerve module state.
    +
    +
    SwerveModuleState2() - Constructor for class swervelib.math.SwerveModuleState2
    +
    +
    Constructs a SwerveModuleState with zeros for speed and angle.
    +
    +
    SwerveModuleState2(double, Rotation2d, double) - Constructor for class swervelib.math.SwerveModuleState2
    +
    +
    Constructs a SwerveModuleState.
    +
    +
    SwerveModuleState2(SwerveModuleState, double) - Constructor for class swervelib.math.SwerveModuleState2
    +
    +
    Create a SwerveModuleState2 based on the SwerveModuleState with the radians per second defined.
    +
    +
    SwerveMotor - Class in swervelib.motors
    +
    +
    Swerve motor abstraction which defines a standard interface for motors within a swerve module.
    +
    +
    SwerveMotor() - Constructor for class swervelib.motors.SwerveMotor
    +
     
    +
    SwerveParser - Class in swervelib.parser
    +
    +
    Helper class used to parse the JSON directory with specified configuration options.
    +
    +
    SwerveParser(File) - Constructor for class swervelib.parser.SwerveParser
    +
    +
    Construct a swerve parser.
    +
    +
    SwervePoseEstimator2 - Class in swervelib.math
    +
    +
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to achieve a more + accurate estimation, originally made by Team 1466.
    +
    +
    SwervePoseEstimator2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d) - Constructor for class swervelib.math.SwervePoseEstimator2
    +
    +
    Constructs a SwerveDrivePoseEstimator with default standard deviations for the model and vision measurements.
    +
    +
    SwervePoseEstimator2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d, Matrix<N3, N1>, Matrix<N3, N1>) - Constructor for class swervelib.math.SwervePoseEstimator2
    +
    +
    Constructs a SwerveDrivePoseEstimator.
    +
    +
    SwervePoseEstimator2.InterpolationRecord - Class in swervelib.math
    +
    +
    Represents an odometry record.
    +
    +
    synchronizeEncoderQueued - Variable in class swervelib.SwerveModule
    +
    +
    Encoder synchronization queued.
    +
    +
    synchronizeModuleEncoders() - Method in class swervelib.SwerveDrive
    +
    +
    Synchronize angle motor integrated encoders with data from absolute encoders.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-19.html b/docs/index-files/index-19.html new file mode 100644 index 0000000..4397f84 --- /dev/null +++ b/docs/index-files/index-19.html @@ -0,0 +1,143 @@ + + + + +T-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    T

    +
    +
    TalonFXSimProfile - Class in swervelib.simulation.ctre
    +
    +
    Holds information about a simulated TalonFX.
    +
    +
    TalonFXSimProfile(TalonFX, double, double, boolean) - Constructor for class swervelib.simulation.ctre.TalonFXSimProfile
    +
    +
    Creates a new simulation profile for a TalonFX device.
    +
    +
    TalonFXSwerve - Class in swervelib.motors
    +
    +
    TalonFX Swerve Motor.
    +
    +
    TalonFXSwerve(int, boolean) - Constructor for class swervelib.motors.TalonFXSwerve
    +
    +
    Construct the TalonFX swerve motor given the ID.
    +
    +
    TalonFXSwerve(int, String, boolean) - Constructor for class swervelib.motors.TalonFXSwerve
    +
    +
    Construct the TalonFX swerve motor given the ID and CANBus.
    +
    +
    TalonFXSwerve(WPI_TalonFX, boolean) - Constructor for class swervelib.motors.TalonFXSwerve
    +
    +
    Constructor for TalonFX swerve motor.
    +
    +
    TalonSRXSimProfile - Class in swervelib.simulation.ctre
    +
    +
    Holds information about a simulated TalonSRX.
    +
    +
    TalonSRXSimProfile(TalonSRX, double, double, boolean) - Constructor for class swervelib.simulation.ctre.TalonSRXSimProfile
    +
    +
    Creates a new simulation profile for a TalonSRX device.
    +
    +
    TalonSRXSwerve - Class in swervelib.motors
    +
    +
    WPI_TalonSRX Swerve Motor.
    +
    +
    TalonSRXSwerve(int, boolean) - Constructor for class swervelib.motors.TalonSRXSwerve
    +
    +
    Construct the TalonSRX swerve motor given the ID.
    +
    +
    TalonSRXSwerve(WPI_TalonSRX, boolean) - Constructor for class swervelib.motors.TalonSRXSwerve
    +
    +
    Constructor for TalonSRX swerve motor.
    +
    +
    TelemetryVerbosity() - Constructor for enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
     
    +
    thetaController - Variable in class swervelib.SwerveController
    +
    +
    PID Controller for the robot heading.
    +
    +
    timer - Variable in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Main timer to control movement estimations.
    +
    +
    timer - Variable in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Main timer to simulate the passage of time.
    +
    +
    toChassisSpeeds(SwerveModuleState2...) - Method in class swervelib.math.SwerveKinematics2
    +
    +
    Performs forward kinematics to return the resulting chassis state from the given module states.
    +
    +
    toSwerveModuleState() - Method in class swervelib.math.SwerveModuleState2
    +
    +
    Convert to a SwerveModuleState.
    +
    +
    toSwerveModuleStates(ChassisSpeeds) - Method in class swervelib.math.SwerveKinematics2
    +
    +
    Performs inverse kinematics.
    +
    +
    toSwerveModuleStates(ChassisSpeeds, Translation2d) - Method in class swervelib.math.SwerveKinematics2
    +
    +
    Performs inverse kinematics to return the module states from a desired chassis velocity.
    +
    +
    toTwist2d(SwerveModulePosition...) - Method in class swervelib.math.SwerveKinematics2
    +
    +
    Performs forward kinematics to return the resulting chassis state from the given module states.
    +
    +
    type - Variable in class swervelib.parser.json.DeviceJson
    +
    +
    The device type, e.g.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-2.html b/docs/index-files/index-2.html new file mode 100644 index 0000000..aff3bb8 --- /dev/null +++ b/docs/index-files/index-2.html @@ -0,0 +1,91 @@ + + + + +B-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    B

    +
    +
    bigInverseKinematics - Variable in class swervelib.math.SwerveKinematics2
    +
    +
    Second order kinematics inverse matrix.
    +
    +
    BoolMotorJson - Class in swervelib.parser.json.modules
    +
    +
    Inverted motor JSON parsed class.
    +
    +
    BoolMotorJson() - Constructor for class swervelib.parser.json.modules.BoolMotorJson
    +
     
    +
    burnFlash() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Save the configurations from flash to EEPROM.
    +
    +
    burnFlash() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Save the configurations from flash to EEPROM.
    +
    +
    burnFlash() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Save the configurations from flash to EEPROM.
    +
    +
    burnFlash() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Save the configurations from flash to EEPROM.
    +
    +
    burnFlash() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Save the configurations from flash to EEPROM.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-20.html b/docs/index-files/index-20.html new file mode 100644 index 0000000..c0aecc9 --- /dev/null +++ b/docs/index-files/index-20.html @@ -0,0 +1,90 @@ + + + + +U-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    U

    +
    +
    update(Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[]) - Method in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Updates the robot's position on the field using forward kinematics and integration of the pose over time.
    +
    +
    update(Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[]) - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Updates the pose estimator with wheel encoder and gyro information.
    +
    +
    updateData() - Static method in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    Upload data to smartdashboard
    +
    +
    updateOdometry() - Method in class swervelib.SwerveDrive
    +
    +
    Update odometry should be run every loop.
    +
    +
    updateOdometry(SwerveKinematics2, SwerveModuleState2[], Pose2d[], Field2d) - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Update the odometry of the simulated SwerveDrive and post the SwerveModule + states to the Field2d.
    +
    +
    updateStateAndPosition(SwerveModuleState2) - Method in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Update the position and state of the module.
    +
    +
    updateWithTime(double, Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[]) - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Updates the pose estimator with wheel encoder and gyro information.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-21.html b/docs/index-files/index-21.html new file mode 100644 index 0000000..8ccc0f8 --- /dev/null +++ b/docs/index-files/index-21.html @@ -0,0 +1,104 @@ + + + + +V-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    V

    +
    +
    valueOf(String) - Static method in enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    valueOf(String) - Static method in enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    values() - Static method in enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    values() - Static method in enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    Velocity - Enum constant in enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    Slot 2, used for velocity PID's.
    +
    +
    velocityPIDF - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    PIDF configuration options for the drive motor closed-loop PID controller.
    +
    +
    verbosity - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The current telemetry verbosity level.
    +
    +
    VictorSPXSimProfile - Class in swervelib.simulation.ctre
    +
    +
    Holds information about a simulated VictorSPX.
    +
    +
    VictorSPXSimProfile(VictorSPX) - Constructor for class swervelib.simulation.ctre.VictorSPXSimProfile
    +
    +
    Creates a new simulation profile for a VictorSPX device.
    +
    +
    visionMeasurementStdDevs - Variable in class swervelib.SwerveDrive
    +
    +
    Trustworthiness of the vision system Measured in expected standard deviation (meters of position and degrees of + rotation)
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-22.html b/docs/index-files/index-22.html new file mode 100644 index 0000000..48f89df --- /dev/null +++ b/docs/index-files/index-22.html @@ -0,0 +1,85 @@ + + + + +W-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    W

    +
    +
    wheelDiameter - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    Wheel diameter in inches.
    +
    +
    wheelDiameter - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Wheel diameter in meters.
    +
    +
    wheelGripCoefficientOfFriction - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    The grip tape coefficient of friction on carpet.
    +
    +
    wheelGripCoefficientOfFriction - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Wheel grip tape coefficient of friction on carpet, as described by the vendor.
    +
    +
    wheelLocations - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The number of swerve modules
    +
    +
    withinHypotDeadband(double, double) - Method in class swervelib.SwerveController
    +
    +
    Calculate the hypot deadband and check if the joystick is within it.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-23.html b/docs/index-files/index-23.html new file mode 100644 index 0000000..2db1399 --- /dev/null +++ b/docs/index-files/index-23.html @@ -0,0 +1,69 @@ + + + + +X-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    X

    +
    +
    x - Variable in class swervelib.parser.json.modules.LocationJson
    +
    +
    Location of the swerve module in inches from the center of the robot horizontally.
    +
    +
    xLimiter - Variable in class swervelib.SwerveController
    +
    +
    SlewRateLimiter for movement in the X direction in meters/second.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-24.html b/docs/index-files/index-24.html new file mode 100644 index 0000000..adf7291 --- /dev/null +++ b/docs/index-files/index-24.html @@ -0,0 +1,69 @@ + + + + +Y-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    Y

    +
    +
    y - Variable in class swervelib.parser.json.modules.LocationJson
    +
    +
    Location of the swerve module in inches from the center of the robot vertically.
    +
    +
    yLimiter - Variable in class swervelib.SwerveController
    +
    +
    SlewRateLimiter for movement in the Y direction in meters/second.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-25.html b/docs/index-files/index-25.html new file mode 100644 index 0000000..8ba8f2a --- /dev/null +++ b/docs/index-files/index-25.html @@ -0,0 +1,65 @@ + + + + +Z-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    Z

    +
    +
    zeroGyro() - Method in class swervelib.SwerveDrive
    +
    +
    Resets the gyro angle to zero and resets odometry to the same position, but facing toward 0.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-26.html b/docs/index-files/index-26.html new file mode 100644 index 0000000..96c14a6 --- /dev/null +++ b/docs/index-files/index-26.html @@ -0,0 +1,93 @@ + + + + +_-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    _

    +
    +
    _accelToFullTime - Variable in class swervelib.simulation.ctre.TalonFXSimProfile
    +
     
    +
    _accelToFullTime - Variable in class swervelib.simulation.ctre.TalonSRXSimProfile
    +
     
    +
    _falcon - Variable in class swervelib.simulation.ctre.TalonFXSimProfile
    +
     
    +
    _fullVel - Variable in class swervelib.simulation.ctre.TalonFXSimProfile
    +
     
    +
    _fullVel - Variable in class swervelib.simulation.ctre.TalonSRXSimProfile
    +
     
    +
    _lastTime - Variable in class swervelib.simulation.ctre.PhysicsSim.SimProfile
    +
     
    +
    _running - Variable in class swervelib.simulation.ctre.PhysicsSim.SimProfile
    +
     
    +
    _sensorPhase - Variable in class swervelib.simulation.ctre.TalonFXSimProfile
    +
     
    +
    _sensorPhase - Variable in class swervelib.simulation.ctre.TalonSRXSimProfile
    +
     
    +
    _simProfiles - Variable in class swervelib.simulation.ctre.PhysicsSim
    +
     
    +
    _talon - Variable in class swervelib.simulation.ctre.TalonSRXSimProfile
    +
     
    +
    _vel - Variable in class swervelib.simulation.ctre.TalonFXSimProfile
    +
    +
    The current velocity
    +
    +
    _vel - Variable in class swervelib.simulation.ctre.TalonSRXSimProfile
    +
    +
    The current velocity
    +
    +
    _victor - Variable in class swervelib.simulation.ctre.VictorSPXSimProfile
    +
     
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-3.html b/docs/index-files/index-3.html new file mode 100644 index 0000000..6444307 --- /dev/null +++ b/docs/index-files/index-3.html @@ -0,0 +1,385 @@ + + + + +C-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    C

    +
    +
    calcMaxAccel(Rotation2d, List<Matter>, double, SwerveDriveConfiguration) - Static method in class swervelib.math.SwerveMath
    +
    +
    Calculates the maximum acceleration allowed in a direction without tipping the robot.
    +
    +
    calculateDegreesPerSteeringRotation(double, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Calculate the degrees per steering rotation for the integrated encoder.
    +
    +
    calculateMaxAcceleration(double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Calculate the practical maximum acceleration of the robot using the wheel coefficient of friction.
    +
    +
    calculateMaxAcceleration(double, double, double, double, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Calculate the maximum theoretical acceleration without friction.
    +
    +
    calculateMaxAngularVelocity(double, double, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Calculate the maximum angular velocity.
    +
    +
    calculateMetersPerRotation(double, double, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    Calculate the meters per rotation for the integrated encoder.
    +
    +
    CanAndCoderSwerve - Class in swervelib.encoders
    +
    +
    HELIUM CANandcoder from ReduxRobotics absolute encoder, attached through the CAN bus.
    +
    +
    CanAndCoderSwerve(int) - Constructor for class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Create the CANandcoder
    +
    +
    canbus - Variable in class swervelib.parser.json.DeviceJson
    +
    +
    The CAN bus name which the device resides on if using CAN.
    +
    +
    CANCoderSwerve - Class in swervelib.encoders
    +
    +
    Swerve Absolute Encoder for CTRE CANCoders.
    +
    +
    CANCoderSwerve(int) - Constructor for class swervelib.encoders.CANCoderSwerve
    +
    +
    Initialize the CANCoder on the standard CANBus.
    +
    +
    CANCoderSwerve(int, String) - Constructor for class swervelib.encoders.CANCoderSwerve
    +
    +
    Initialize the CANCoder on the CANivore.
    +
    +
    chassisVelocityCorrection - Variable in class swervelib.SwerveDrive
    +
    +
    Correct chassis velocity in SwerveDrive.drive(Translation2d, double, boolean, boolean) using 254's + correction.
    +
    +
    checkDirectory(File) - Method in class swervelib.parser.SwerveParser
    +
    +
    Check directory structure.
    +
    +
    clearStickyFaults() - Method in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Clear sticky faults on the encoder.
    +
    +
    clearStickyFaults() - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Clear sticky faults on the encoder.
    +
    +
    clearStickyFaults() - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Clear sticky faults on the encoder.
    +
    +
    clearStickyFaults() - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Clear sticky faults on the encoder.
    +
    +
    clearStickyFaults() - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Clear sticky faults on the encoder.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.NavXSwerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.imu.SwerveIMU
    +
    +
    Clear sticky faults on IMU.
    +
    +
    clearStickyFaults() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Clear the sticky faults on the motor controller.
    +
    +
    clearStickyFaults() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Clear the sticky faults on the motor controller.
    +
    +
    clearStickyFaults() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Clear the sticky faults on the motor controller.
    +
    +
    clearStickyFaults() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Clear the sticky faults on the motor controller.
    +
    +
    clearStickyFaults() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Clear the sticky faults on the motor controller.
    +
    +
    config - Variable in class swervelib.SwerveController
    +
    +
    SwerveControllerConfiguration object storing data to generate the PIDController for controlling the + robot heading, and deadband for heading joystick.
    +
    +
    configChanged - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    If the TalonFX configuration has changed.
    +
    +
    configChanged - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    If the TalonFX configuration has changed.
    +
    +
    configuration - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    Current TalonFX configuration.
    +
    +
    configuration - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    Current TalonFX configuration.
    +
    +
    configuration - Variable in class swervelib.SwerveModule
    +
    +
    Swerve module configuration options.
    +
    +
    configure(boolean) - Method in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Configure the absolute encoder to read from [0, 360) per second.
    +
    +
    configure(boolean) - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Configure the CANandCoder to read from [0, 360) per second.
    +
    +
    configure(boolean) - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Configure the absolute encoder to read from [0, 360) per second.
    +
    +
    configure(boolean) - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Configure the absolute encoder to read from [0, 360) per second.
    +
    +
    configure(boolean) - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Configure the absolute encoder to read from [0, 360) per second.
    +
    +
    configureCANStatusFrames(int) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the CAN status frames.
    +
    +
    configureCANStatusFrames(int) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the CAN status frames.
    +
    +
    configureCANStatusFrames(int, int, int, int, int) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Set the CAN status frames.
    +
    +
    configureCANStatusFrames(int, int, int, int, int) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Set the CAN status frames.
    +
    +
    configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Set the CAN status frames.
    +
    +
    configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Set the CAN status frames.
    +
    +
    configureIntegratedEncoder(double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Configure the integrated encoder for the swerve module.
    +
    +
    configureIntegratedEncoder(double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Configure the integrated encoder for the swerve module.
    +
    +
    configureIntegratedEncoder(double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Configure the integrated encoder for the swerve module.
    +
    +
    configureIntegratedEncoder(double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Configure the integrated encoder for the swerve module.
    +
    +
    configureIntegratedEncoder(double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Configure the integrated encoder for the swerve module.
    +
    +
    configurePIDF(PIDFConfig) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Configure the PIDF values for the closed loop controller.
    +
    +
    configurePIDF(PIDFConfig) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Configure the PIDF values for the closed loop controller.
    +
    +
    configurePIDF(PIDFConfig) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Configure the PIDF values for the closed loop controller.
    +
    +
    configurePIDF(PIDFConfig) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Configure the PIDF values for the closed loop controller.
    +
    +
    configurePIDF(PIDFConfig) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Configure the PIDF values for the closed loop controller.
    +
    +
    configurePIDWrapping(double, double) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Configure the PID wrapping for the position closed loop controller.
    +
    +
    configurePIDWrapping(double, double) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Configure the PID wrapping for the position closed loop controller.
    +
    +
    configurePIDWrapping(double, double) - Method in class swervelib.motors.SwerveMotor
    +
    +
    Configure the PID wrapping for the position closed loop controller.
    +
    +
    configurePIDWrapping(double, double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Configure the PID wrapping for the position closed loop controller.
    +
    +
    configurePIDWrapping(double, double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Configure the PID wrapping for the position closed loop controller.
    +
    +
    controllerPropertiesJson - Static variable in class swervelib.parser.SwerveParser
    +
    +
    Parsed controllerproperties.json
    +
    +
    ControllerPropertiesJson - Class in swervelib.parser.json
    +
    +
    SwerveController parsed class.
    +
    +
    ControllerPropertiesJson() - Constructor for class swervelib.parser.json.ControllerPropertiesJson
    +
     
    +
    convertToNativeSensorUnits(double, double) - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Convert the setpoint into native sensor units.
    +
    +
    convertToNativeSensorUnits(double, double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Convert the setpoint into native sensor units.
    +
    +
    createControllerConfiguration(SwerveDriveConfiguration) - Method in class swervelib.parser.json.ControllerPropertiesJson
    +
    +
    Create the SwerveControllerConfiguration based on parsed and given data.
    +
    +
    createDriveFeedforward() - Method in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Create the drive feedforward for swerve modules.
    +
    +
    createEncoder(SwerveMotor) - Method in class swervelib.parser.json.DeviceJson
    +
    +
    Create a SwerveAbsoluteEncoder from the current configuration.
    +
    +
    createIMU() - Method in class swervelib.parser.json.DeviceJson
    +
    +
    Create a SwerveIMU from the given configuration.
    +
    +
    createIntegratedEncoder(SwerveMotor) - Method in class swervelib.parser.json.DeviceJson
    +
    +
    Create a SwerveAbsoluteEncoder from the data port on the motor controller.
    +
    +
    createModuleConfiguration(PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, String) - Method in class swervelib.parser.json.ModuleJson
    +
    +
    Create the swerve module configuration based off of parsed data.
    +
    +
    createModules(SwerveModuleConfiguration[]) - Method in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Create modules based off of the SwerveModuleConfiguration.
    +
    +
    createMotor(boolean) - Method in class swervelib.parser.json.DeviceJson
    +
    +
    Create a SwerveMotor from the given configuration.
    +
    +
    createPhysicalProperties(double) - Method in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    Create the physical characteristics based off the parsed data.
    +
    +
    createPIDController() - Method in class swervelib.parser.PIDFConfig
    +
    +
    Create a PIDController from the PID values.
    +
    +
    createSwerveDrive() - Method in class swervelib.parser.SwerveParser
    +
    +
    Create SwerveDrive from JSON configuration directory.
    +
    +
    currentLimit - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    The current limit in AMPs to apply to the motors.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-4.html b/docs/index-files/index-4.html new file mode 100644 index 0000000..9a423be --- /dev/null +++ b/docs/index-files/index-4.html @@ -0,0 +1,152 @@ + + + + +D-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    D

    +
    +
    d - Variable in class swervelib.parser.PIDFConfig
    +
    +
    Derivative Gain for PID.
    +
    +
    desaturateWheelSpeeds(SwerveModuleState2[], double) - Static method in class swervelib.math.SwerveKinematics2
    +
    +
    Renormalizes the wheel speeds if any individual speed is above the specified maximum.
    +
    +
    desaturateWheelSpeeds(SwerveModuleState2[], ChassisSpeeds, double, double, double) - Static method in class swervelib.math.SwerveKinematics2
    +
    +
    Renormalizes the wheel speeds if any individual speed is above the specified maximum, as well as getting rid of + joystick saturation at edges of joystick.
    +
    +
    desiredChassisSpeeds - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    Describes the desired forward, sideways and angular velocity of the robot.
    +
    +
    desiredStates - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    An array of rotation and velocity values describing the desired state of each swerve module
    +
    +
    DeviceJson - Class in swervelib.parser.json
    +
    +
    Device JSON parsed class.
    +
    +
    DeviceJson() - Constructor for class swervelib.parser.json.DeviceJson
    +
     
    +
    disableSecondOrderKinematics() - Method in class swervelib.SwerveDrive
    +
    +
    Disable second order kinematics.
    +
    +
    drive - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Drive motor device configuration.
    +
    +
    drive - Variable in class swervelib.parser.json.modules.BoolMotorJson
    +
    +
    Drive motor inversion state.
    +
    +
    drive - Variable in class swervelib.parser.json.MotorConfigDouble
    +
    +
    Drive motor.
    +
    +
    drive - Variable in class swervelib.parser.json.MotorConfigInt
    +
    +
    Drive motor.
    +
    +
    drive - Variable in class swervelib.parser.json.PIDFPropertiesJson
    +
    +
    The PIDF with Integral Zone used for the drive motor.
    +
    +
    drive(Translation2d, double, boolean, boolean) - Method in class swervelib.SwerveDrive
    +
    +
    The primary method for controlling the drivebase.
    +
    +
    drive(Translation2d, double, boolean, boolean, boolean) - Method in class swervelib.SwerveDrive
    +
    +
    The primary method for controlling the drivebase.
    +
    +
    driveEncoderPulsePerRotation - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Drive motor encoder pulse per rotation.
    +
    +
    driveGearRatio - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Drive gear ratio.
    +
    +
    driveMotor - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    The drive motor and angle motor of this swerve module.
    +
    +
    driveMotor - Variable in class swervelib.SwerveModule
    +
    +
    Swerve Motors.
    +
    +
    driveMotorCurrentLimit - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Current limits for the Swerve Module.
    +
    +
    driveMotorInverted - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    State of inversion of the drive motor.
    +
    +
    driveMotorRampRate - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    The time it takes for the motor to go from 0 to full throttle in seconds.
    +
    +
    dt - Variable in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Time delta since last update
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-5.html b/docs/index-files/index-5.html new file mode 100644 index 0000000..5891efe --- /dev/null +++ b/docs/index-files/index-5.html @@ -0,0 +1,107 @@ + + + + +E-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    E

    +
    +
    enableSecondOrderKinematics() - Method in class swervelib.SwerveDrive
    +
    +
    Enable second order kinematics for tracking purposes but completely untuned.
    +
    +
    enableSecondOrderKinematics(double) - Method in class swervelib.SwerveDrive
    +
    +
    Enable second order kinematics for simulation and modifying the feedforward.
    +
    +
    enableSecondOrderKinematics(int) - Method in class swervelib.SwerveDrive
    +
    +
    Enable second order kinematics with calculated values for the feedforward and return the value used.
    +
    +
    encoder - Variable in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Encoder as Analog Input.
    +
    +
    encoder - Variable in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    The CANandcoder representing the CANandCoder on the CAN bus.
    +
    +
    encoder - Variable in class swervelib.encoders.CANCoderSwerve
    +
    +
    CANCoder with WPILib sendable and support.
    +
    +
    encoder - Variable in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    The AbsoluteEncoder representing the duty cycle encoder attached to the SparkMax.
    +
    +
    encoder - Variable in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Integrated encoder.
    +
    +
    encoder - Variable in class swervelib.motors.SparkMaxSwerve
    +
    +
    Integrated encoder.
    +
    +
    encoder - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Absolute encoder device configuration.
    +
    +
    encoderPulsePerRotation - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    Encoder pulse per rotation for non-integrated encoders.
    +
    +
    equals(Object) - Method in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-6.html b/docs/index-files/index-6.html new file mode 100644 index 0000000..c998699 --- /dev/null +++ b/docs/index-files/index-6.html @@ -0,0 +1,177 @@ + + + + +F-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    F

    +
    +
    f - Variable in class swervelib.parser.PIDFConfig
    +
    +
    Feedforward value for PID.
    +
    +
    factoryDefault() - Method in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Reset the encoder to factory defaults.
    +
    +
    factoryDefault() - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Reset the encoder to factory defaults.
    +
    +
    factoryDefault() - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Reset the encoder to factory defaults.
    +
    +
    factoryDefault() - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Reset the encoder to factory defaults.
    +
    +
    factoryDefault() - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Reset the encoder to factory defaults.
    +
    +
    factoryDefault() - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.NavXSwerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefault() - Method in class swervelib.imu.SwerveIMU
    +
    +
    Reset IMU to factory default.
    +
    +
    factoryDefaultOccurred - Variable in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Factory default already occurred.
    +
    +
    factoryDefaultOccurred - Variable in class swervelib.motors.SparkMaxSwerve
    +
    +
    Factory default already occurred.
    +
    +
    factoryDefaultOccurred - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    Factory default already occurred.
    +
    +
    factoryDefaultOccurred - Variable in class swervelib.motors.TalonSRXSwerve
    +
    +
    Factory default already occurred.
    +
    +
    factoryDefaults() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Configure the factory defaults.
    +
    +
    factoryDefaults() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Configure the factory defaults.
    +
    +
    factoryDefaults() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Configure the factory defaults.
    +
    +
    factoryDefaults() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Configure the factory defaults.
    +
    +
    factoryDefaults() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Configure the factory defaults.
    +
    +
    fakePos - Variable in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Fake motor position.
    +
    +
    fakeSpeed - Variable in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    The fake speed of the previous state, used to calculate SwerveModuleSimulation.fakePos.
    +
    +
    feedforward - Variable in class swervelib.SwerveModule
    +
    +
    Feedforward for drive motor during closed loop control.
    +
    +
    field - Variable in class swervelib.SwerveDrive
    +
    +
    Field object.
    +
    +
    forwardDirection - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    The direction the robot should be facing when the "Robot Rotation" is zero or blank.
    +
    +
    front - Variable in class swervelib.parser.json.modules.LocationJson
    +
    +
    Location of the swerve module in inches from the center of the robot horizontally.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-7.html b/docs/index-files/index-7.html new file mode 100644 index 0000000..c629d52 --- /dev/null +++ b/docs/index-files/index-7.html @@ -0,0 +1,473 @@ + + + + +G-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    G

    +
    +
    gearRatio - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    Gear ratio for the motors, number of times the motor has to spin before the wheel rotates a single time.
    +
    +
    getAbsoluteEncoder() - Method in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Get the instantiated absolute encoder Object.
    +
    +
    getAbsoluteEncoder() - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Get the instantiated absolute encoder Object.
    +
    +
    getAbsoluteEncoder() - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Get the instantiated absolute encoder Object.
    +
    +
    getAbsoluteEncoder() - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Get the instantiated absolute encoder Object.
    +
    +
    getAbsoluteEncoder() - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Get the instantiated absolute encoder Object.
    +
    +
    getAbsolutePosition() - Method in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Get the absolute position of the encoder.
    +
    +
    getAbsolutePosition() - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Get the absolute position of the encoder.
    +
    +
    getAbsolutePosition() - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Get the absolute position of the encoder.
    +
    +
    getAbsolutePosition() - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Get the absolute position of the encoder.
    +
    +
    getAbsolutePosition() - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Get the absolute position of the encoder.
    +
    +
    getAbsolutePosition() - Method in class swervelib.SwerveModule
    +
    +
    Get the absolute position.
    +
    +
    getAccel() - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.NavXSwerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.imu.SwerveIMU
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    +
    +
    getAccel() - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Fetch the acceleration [x, y, z] from the IMU in m/s/s.
    +
    +
    getAccel() - Method in class swervelib.SwerveDrive
    +
    +
    Gets current acceleration of the robot in m/s/s.
    +
    +
    getAngleMotor() - Method in class swervelib.SwerveModule
    +
    +
    Get the angle SwerveMotor for the SwerveModule.
    +
    +
    getConfiguration() - Method in class swervelib.SwerveModule
    +
    +
    Fetch the SwerveModuleConfiguration for the SwerveModule with the parsed configurations.
    +
    +
    getDriveMotor() - Method in class swervelib.SwerveModule
    +
    +
    Get the drive SwerveMotor for the SwerveModule.
    +
    +
    getEstimatedPosition() - Method in class swervelib.math.SwervePoseEstimator2
    +
    +
    Gets the estimated robot pose.
    +
    +
    getFieldVelocity() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current field-relative velocity (x, y and omega) of the robot
    +
    +
    getGyroRotation3d() - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Gets the estimated gyro Rotation3d of the robot.
    +
    +
    getGyroRotation3d() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current gyro Rotation3d of the robot, as reported by the imu.
    +
    +
    getIMU() - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.NavXSwerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Get the instantiated IMU object.
    +
    +
    getIMU() - Method in class swervelib.imu.SwerveIMU
    +
    +
    Get the instantiated IMU object.
    +
    +
    getInstance() - Static method in class swervelib.simulation.ctre.PhysicsSim
    +
    +
    Gets the robot simulator instance.
    +
    +
    getJoystickAngle(double, double) - Method in class swervelib.SwerveController
    +
    +
    Get the angle in radians based off of the heading joysticks.
    +
    +
    getModuleConfigurationByName(String, SwerveDriveConfiguration) - Static method in class swervelib.parser.SwerveParser
    +
    +
    Get the swerve module by the json name.
    +
    +
    getModulePositions() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current module positions (azimuth and wheel position (meters)).
    +
    +
    getModules() - Method in class swervelib.SwerveDrive
    +
    +
    Get the SwerveModules associated with the SwerveDrive.
    +
    +
    getMotor() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Get the motor object from the module.
    +
    +
    getMotor() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Get the motor object from the module.
    +
    +
    getMotor() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Get the motor object from the module.
    +
    +
    getMotor() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Get the motor object from the module.
    +
    +
    getMotor() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Get the motor object from the module.
    +
    +
    getPeriod() - Method in class swervelib.simulation.ctre.PhysicsSim.SimProfile
    +
    +
    Returns the time since last call, in milliseconds.
    +
    +
    getPitch() - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Pitch is not simulated currently, always returns 0.
    +
    +
    getPitch() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current pitch angle of the robot, as reported by the imu.
    +
    +
    getPose() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current pose (position and rotation) of the robot, as reported by odometry.
    +
    +
    getPoseMeters() - Method in class swervelib.math.SwerveDriveOdometry2
    +
    +
    Returns the position of the robot on the field.
    +
    +
    getPosition() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Get the position of the integrated encoder.
    +
    +
    getPosition() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Get the position of the integrated encoder.
    +
    +
    getPosition() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Get the position of the integrated encoder.
    +
    +
    getPosition() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Get the position of the integrated encoder.
    +
    +
    getPosition() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Get the position of the integrated encoder.
    +
    +
    getPosition() - Method in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Get the simulated swerve module position.
    +
    +
    getPosition() - Method in class swervelib.SwerveModule
    +
    +
    Get the position of the swerve module.
    +
    +
    getPositionEncoderConversion(boolean) - Method in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Get the encoder conversion for position encoders.
    +
    +
    getPulsePerRotation(int) - Method in class swervelib.parser.json.DeviceJson
    +
    +
    Get the encoder pulse per rotation based off of the encoder type.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.NavXSwerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawRotation3d() - Method in class swervelib.imu.SwerveIMU
    +
    +
    Fetch the Rotation3d from the IMU without any zeroing.
    +
    +
    getRawTargetSpeeds(double, double, double) - Method in class swervelib.SwerveController
    +
    +
    Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in radians.
    +
    +
    getRawTargetSpeeds(double, double, double, double) - Method in class swervelib.SwerveController
    +
    +
    Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in radians.
    +
    +
    getRelativePosition() - Method in class swervelib.SwerveModule
    +
    +
    Get the relative angle in degrees.
    +
    +
    getRobotVelocity() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current robot-relative velocity (x, y and omega) of the robot
    +
    +
    getRoll() - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Roll is not simulated currently, always returns 0.
    +
    +
    getRoll() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current roll angle of the robot, as reported by the imu.
    +
    +
    getRotation3d() - Method in class swervelib.imu.ADIS16448Swerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.ADIS16470Swerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.ADXRS450Swerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.NavXSwerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.Pigeon2Swerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.PigeonSwerve
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getRotation3d() - Method in class swervelib.imu.SwerveIMU
    +
    +
    Fetch the Rotation3d from the IMU.
    +
    +
    getState() - Method in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Get the SwerveModuleState2 of the simulated module.
    +
    +
    getState() - Method in class swervelib.SwerveModule
    +
    +
    Get the Swerve Module state.
    +
    +
    getStates() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current module states (azimuth and velocity)
    +
    +
    getSwerveController() - Method in class swervelib.SwerveDrive
    +
    +
    Helper function to get the SwerveDrive.swerveController for the SwerveDrive which can be used to + generate ChassisSpeeds for the robot to orient it correctly given axis or angles, and apply + SlewRateLimiter to given inputs.
    +
    +
    getSwerveModule(SwerveModule[], boolean, boolean) - Static method in class swervelib.math.SwerveMath
    +
    +
    Get the fruthest module from center based on the module locations.
    +
    +
    getSwerveModulePoses(Pose2d) - Method in class swervelib.SwerveDrive
    +
    +
    Get the swerve module poses and on the field relative to the robot.
    +
    +
    getTargetSpeeds(double, double, double, double) - Method in class swervelib.SwerveController
    +
    +
    Get the chassis speeds based on controller input of 1 joystick [-1,1] and an angle.
    +
    +
    getTargetSpeeds(double, double, double, double, double) - Method in class swervelib.SwerveController
    +
    +
    Get the chassis speeds based on controller input of 2 joysticks.
    +
    +
    getTranslation2d(ChassisSpeeds) - Static method in class swervelib.SwerveController
    +
    +
    Helper function to get the Translation2d of the chassis speeds given the ChassisSpeeds.
    +
    +
    getVelocity() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Get the velocity of the integrated encoder.
    +
    +
    getVelocity() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Get the velocity of the integrated encoder.
    +
    +
    getVelocity() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Get the velocity of the integrated encoder.
    +
    +
    getVelocity() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Get the velocity of the integrated encoder.
    +
    +
    getVelocity() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Get the velocity of the integrated encoder.
    +
    +
    getYaw() - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Get the estimated angle of the robot.
    +
    +
    getYaw() - Method in class swervelib.SwerveDrive
    +
    +
    Gets the current yaw angle of the robot, as reported by the imu.
    +
    +
    gyro - Variable in class swervelib.imu.AnalogGyroSwerve
    +
    +
    Gyroscope object.
    +
    +
    gyro - Variable in class swervelib.imu.NavXSwerve
    +
    +
    NavX IMU.
    +
    +
    gyroAngle - Variable in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    gyroPitch - Variable in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    gyroRoll - Variable in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-8.html b/docs/index-files/index-8.html new file mode 100644 index 0000000..1a3bb5f --- /dev/null +++ b/docs/index-files/index-8.html @@ -0,0 +1,79 @@ + + + + +H-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    H

    +
    +
    hashCode() - Method in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
     
    +
    heading - Variable in class swervelib.parser.json.ControllerPropertiesJson
    +
    +
    The PID used to control the robot heading.
    +
    +
    headingCalculate(double, double) - Method in class swervelib.SwerveController
    +
    +
    Calculate the angular velocity given the current and target heading angle in radians.
    +
    +
    headingPIDF - Variable in class swervelib.parser.SwerveControllerConfiguration
    +
    +
    PIDF for the heading of the robot.
    +
    +
    HIGH - Enum constant in enum class swervelib.telemetry.SwerveDriveTelemetry.TelemetryVerbosity
    +
    +
    Full swerve drive data is sent back in both human and machine readable forms.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index-files/index-9.html b/docs/index-files/index-9.html new file mode 100644 index 0000000..44c760e --- /dev/null +++ b/docs/index-files/index-9.html @@ -0,0 +1,169 @@ + + + + +I-Index + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values +

    I

    +
    +
    i - Variable in class swervelib.parser.PIDFConfig
    +
    +
    Integral Gain for PID.
    +
    +
    id - Variable in class swervelib.parser.json.DeviceJson
    +
    +
    The CAN ID or pin ID of the device.
    +
    +
    imu - Variable in class swervelib.imu.ADIS16448Swerve
    +
    +
    ADIS16448_IMU device to read the current headings from.
    +
    +
    imu - Variable in class swervelib.imu.ADIS16470Swerve
    +
    +
    ADIS16470_IMU device to read the current headings from.
    +
    +
    imu - Variable in class swervelib.imu.ADXRS450Swerve
    +
    +
    ADXRS450_Gyro device to read the current headings from.
    +
    +
    imu - Variable in class swervelib.imu.Pigeon2Swerve
    +
    +
    Pigeon2 IMU device.
    +
    +
    imu - Variable in class swervelib.imu.PigeonSwerve
    +
    +
    Pigeon v1 IMU device.
    +
    +
    imu - Variable in class swervelib.parser.json.SwerveDriveJson
    +
    +
    Robot IMU used to determine heading of the robot.
    +
    +
    imu - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Swerve IMU
    +
    +
    imu - Variable in class swervelib.SwerveDrive
    +
    +
    Swerve IMU device for sensing the heading of the robot.
    +
    +
    interpolate(SwervePoseEstimator2.InterpolationRecord, double) - Method in class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
    +
    Return the interpolated record.
    +
    +
    InterpolationRecord(Pose2d, Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[]) - Constructor for class swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
    +
    Constructs an Interpolation Record with the specified parameters.
    +
    +
    invert() - Method in class swervelib.math.SwerveModuleState2
    +
    +
    Invert the swerve module state.
    +
    +
    inverted - Variable in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Inversion state of the encoder.
    +
    +
    inverted - Variable in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Inversion state of the encoder.
    +
    +
    inverted - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Defines which motors are inverted.
    +
    +
    invertedIMU - Variable in class swervelib.parser.json.SwerveDriveJson
    +
    +
    Invert the IMU of the robot.
    +
    +
    invertedIMU - Variable in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Invert the imu measurements.
    +
    +
    invertOdometry - Variable in class swervelib.SwerveDrive
    +
    +
    Invert odometry readings of drive motor positions, used as a patch for debugging currently.
    +
    +
    isAttachedAbsoluteEncoder() - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Queries whether the absolute encoder is directly attached to the motor controller.
    +
    +
    isAttachedAbsoluteEncoder() - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Queries whether the absolute encoder is directly attached to the motor controller.
    +
    +
    isAttachedAbsoluteEncoder() - Method in class swervelib.motors.SwerveMotor
    +
    +
    Queries whether the absolute encoder is directly attached to the motor controller.
    +
    +
    isAttachedAbsoluteEncoder() - Method in class swervelib.motors.TalonFXSwerve
    +
    +
    Queries whether the absolute encoder is directly attached to the motor controller.
    +
    +
    isAttachedAbsoluteEncoder() - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Queries whether the absolute encoder is directly attached to the motor controller.
    +
    +
    isDriveMotor - Variable in class swervelib.motors.SwerveMotor
    +
    +
    Whether the swerve motor is a drive motor.
    +
    +
    isSimulation - Static variable in class swervelib.telemetry.SwerveDriveTelemetry
    +
    +
    State of simulation of the Robot, used to optimize retrieval.
    +
    +
    iz - Variable in class swervelib.parser.PIDFConfig
    +
    +
    Integral zone of the PID.
    +
    +
    +A B C D E F G H I K L M N O P Q R S T U V W X Y Z _ 
    All Classes and Interfaces|All Packages|Constant Field Values
    +
    +
    + + diff --git a/docs/index.html b/docs/index.html index 01e4122..e6abb55 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,17 +1,18 @@ - -Overview (YAGSL-Lib API) + +Overview + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -46,9 +47,6 @@ loadScripts(document, 'script');
    -
    -

    YAGSL-Lib API

    -
    Packages
    diff --git a/docs/jquery-ui.overrides.css b/docs/jquery-ui.overrides.css index facf852..f89acb6 100644 --- a/docs/jquery-ui.overrides.css +++ b/docs/jquery-ui.overrides.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,5 +31,4 @@ a.ui-button:active, .ui-button.ui-state-active:hover { /* Overrides the color of selection used in jQuery UI */ background: #F8981D; - border: 1px solid #F8981D; } diff --git a/docs/legal/ADDITIONAL_LICENSE_INFO b/docs/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 0000000..b62cc3e --- /dev/null +++ b/docs/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1 @@ +Please see ..\java.base\ADDITIONAL_LICENSE_INFO diff --git a/docs/legal/ASSEMBLY_EXCEPTION b/docs/legal/ASSEMBLY_EXCEPTION index 065b8d9..0d4cfb4 100644 --- a/docs/legal/ASSEMBLY_EXCEPTION +++ b/docs/legal/ASSEMBLY_EXCEPTION @@ -1,27 +1 @@ - -OPENJDK ASSEMBLY EXCEPTION - -The OpenJDK source code made available by Oracle America, Inc. (Oracle) at -openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU -General Public License version 2 -only ("GPL2"), with the following clarification and special exception. - - Linking this OpenJDK Code statically or dynamically with other code - is making a combined work based on this library. Thus, the terms - and conditions of GPL2 cover the whole combination. - - As a special exception, Oracle gives you permission to link this - OpenJDK Code with certain code licensed by Oracle as indicated at - http://openjdk.java.net/legal/exception-modules-2007-05-08.html - ("Designated Exception Modules") to produce an executable, - regardless of the license terms of the Designated Exception Modules, - and to copy and distribute the resulting executable under GPL2, - provided that the Designated Exception Modules continue to be - governed by the licenses under which they were offered by Oracle. - -As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code -to build an executable that includes those portions of necessary code that -Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 -with the Classpath exception). If you modify or add to the OpenJDK code, -that new GPL2 code may still be combined with Designated Exception Modules -if the new code is made subject to this exception by its copyright holder. +Please see ..\java.base\ASSEMBLY_EXCEPTION diff --git a/docs/legal/LICENSE b/docs/legal/LICENSE new file mode 100644 index 0000000..4ad9fe4 --- /dev/null +++ b/docs/legal/LICENSE @@ -0,0 +1 @@ +Please see ..\java.base\LICENSE diff --git a/docs/legal/jquery.md b/docs/legal/jquery.md index d468b31..8054a34 100644 --- a/docs/legal/jquery.md +++ b/docs/legal/jquery.md @@ -1,9 +1,9 @@ -## jQuery v3.6.1 +## jQuery v3.5.1 ### jQuery License ``` -jQuery v 3.6.1 -Copyright OpenJS Foundation and other contributors, https://openjsf.org/ +jQuery v 3.5.1 +Copyright JS Foundation and other contributors, https://js.foundation/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************** -The jQuery JavaScript Library v3.6.1 also includes Sizzle.js +The jQuery JavaScript Library v3.5.1 also includes Sizzle.js Sizzle.js includes the following license: diff --git a/docs/member-search-index.js b/docs/member-search-index.js index 879247f..ca872ca 100644 --- a/docs/member-search-index.js +++ b/docs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"absoluteEncoder"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","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","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.simulation.ctre","c":"PhysicsSim","l":"addTalonFX(TalonFX, double, double)","u":"addTalonFX(com.ctre.phoenix.motorcontrol.can.TalonFX,double,double)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addTalonFX(TalonFX, double, double, boolean)","u":"addTalonFX(com.ctre.phoenix.motorcontrol.can.TalonFX,double,double,boolean)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addTalonSRX(TalonSRX, double, double)","u":"addTalonSRX(com.ctre.phoenix.motorcontrol.can.TalonSRX,double,double)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addTalonSRX(TalonSRX, double, double, boolean)","u":"addTalonSRX(com.ctre.phoenix.motorcontrol.can.TalonSRX,double,double,boolean)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addVictorSPX(VictorSPX)","u":"addVictorSPX(com.ctre.phoenix.motorcontrol.can.VictorSPX)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"addVisionMeasurement(Pose2d, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, boolean, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, boolean, Matrix)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,boolean,edu.wpi.first.math.Matrix)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","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.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":"PIDFPropertiesJson","l":"angle"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"angleEncoderPulsePerRevolution"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleEncoderPulsePerRotation"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleGearRatio"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"angleJoystickRadiusDeadband"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"angleJoyStickRadiusDeadband"},{"p":"swervelib","c":"SwerveController","l":"angleLimiter"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotorEncoderPulsePerRevolution"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"angleMotorFreeSpeedRPM"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorRampRate"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleOffset"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"anglePIDF"},{"p":"swervelib.math","c":"SwerveMath","l":"antiJitter(SwerveModuleState2, SwerveModuleState2, double)","u":"antiJitter(swervelib.math.SwerveModuleState2,swervelib.math.SwerveModuleState2,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"applyDeadband(double, boolean, double)","u":"applyDeadband(double,boolean,double)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"attainableMaxRotationalVelocityRadiansPerSecond"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"attainableMaxTranslationalSpeedMetersPerSecond"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"BoolMotorJson()","u":"%3Cinit%3E()"},{"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.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, 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","c":"SwerveDrive","l":"chassisVelocityCorrection"},{"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":"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":"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","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":"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":"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)","u":"configureCANStatusFrames(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":"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":"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":"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.parser","c":"SwerveParser","l":"controllerPropertiesJson"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"ControllerPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"createControllerConfiguration(SwerveDriveConfiguration)","u":"createControllerConfiguration(swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"createDriveFeedforward()"},{"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":"DeviceJson","l":"createIntegratedEncoder(SwerveMotor)","u":"createIntegratedEncoder(swervelib.motors.SwerveMotor)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"createModuleConfiguration(PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, String)","u":"createModuleConfiguration(swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,double,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"createModules(SwerveModuleConfiguration[])","u":"createModules(swervelib.parser.SwerveModuleConfiguration[])"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createMotor(boolean)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"createPhysicalProperties(double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"createPIDController()"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"currentLimit"},{"p":"swervelib.parser","c":"PIDFConfig","l":"d"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"desaturateWheelSpeeds(SwerveModuleState2[], ChassisSpeeds, double, double, double)","u":"desaturateWheelSpeeds(swervelib.math.SwerveModuleState2[],edu.wpi.first.math.kinematics.ChassisSpeeds,double,double,double)"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"desaturateWheelSpeeds(SwerveModuleState2[], double)","u":"desaturateWheelSpeeds(swervelib.math.SwerveModuleState2[],double)"},{"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","c":"SwerveDrive","l":"disableSecondOrderKinematics()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"drive"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"drive"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"drive"},{"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, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean,boolean)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveEncoderPulsePerRotation"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveGearRatio"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","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":"SwerveDrive","l":"enableSecondOrderKinematics()"},{"p":"swervelib","c":"SwerveDrive","l":"enableSecondOrderKinematics(double)"},{"p":"swervelib","c":"SwerveDrive","l":"enableSecondOrderKinematics(int)"},{"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":"SparkMaxEncoderSwerve","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.parser.json","c":"PhysicalPropertiesJson","l":"encoderPulsePerRotation"},{"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":"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":"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","c":"SwerveModule","l":"feedforward"},{"p":"swervelib","c":"SwerveDrive","l":"field"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"forwardDirection"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"front"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"gearRatio"},{"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":"SparkMaxEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsoluteEncoder()"},{"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":"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","c":"SwerveModule","l":"getConfiguration()"},{"p":"swervelib","c":"SwerveModule","l":"getDriveMotor()"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"getEstimatedPosition()"},{"p":"swervelib","c":"SwerveDrive","l":"getFieldVelocity()"},{"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.simulation.ctre","c":"PhysicsSim","l":"getInstance()"},{"p":"swervelib","c":"SwerveController","l":"getJoystickAngle(double, double)","u":"getJoystickAngle(double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"getModuleConfigurationByName(String, SwerveDriveConfiguration)","u":"getModuleConfigurationByName(java.lang.String,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"getModulePositions()"},{"p":"swervelib","c":"SwerveDrive","l":"getModules()"},{"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.simulation","c":"SwerveIMUSimulation","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPose()"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"getPoseMeters()"},{"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.parser","c":"SwerveModuleConfiguration","l":"getPositionEncoderConversion(boolean)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"getPulsePerRotation(int)"},{"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","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)","u":"getTargetSpeeds(double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTranslation2d(ChassisSpeeds)","u":"getTranslation2d(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"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.simulation","c":"SwerveIMUSimulation","l":"getYaw()"},{"p":"swervelib","c":"SwerveDrive","l":"getYaw()"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"heading"},{"p":"swervelib","c":"SwerveController","l":"headingCalculate(double, double)","u":"headingCalculate(double,double)"},{"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":"id"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"imu"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"imu"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"invert()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"inverted"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"invertedIMU"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"invertedIMU"},{"p":"swervelib","c":"SwerveDrive","l":"invertOdometry"},{"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.telemetry","c":"SwerveDriveTelemetry","l":"isSimulation"},{"p":"swervelib.parser","c":"PIDFConfig","l":"iz"},{"p":"swervelib","c":"SwerveDrive","l":"kinematics"},{"p":"swervelib","c":"SwerveController","l":"lastAngleScalar"},{"p":"swervelib","c":"SwerveModule","l":"lastState"},{"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.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"LOW"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"MACHINE"},{"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.parser.json","c":"SwerveDriveJson","l":"maxSpeed"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"maxSpeed"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"maxSpeed"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"maxSpeed"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxSpeed"},{"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":"SwerveDriveConfiguration","l":"moduleCount"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"moduleCount"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"moduleFeedForwardClosedLoop"},{"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":"SwerveModule","l":"moduleStateOptimization"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"moduleSteerFFCL"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"moduleSteerFFCL"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"motor"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"name"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SerialPort.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SerialPort.Port)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"NONE"},{"p":"swervelib.math","c":"SwerveMath","l":"normalizeAngle(double)"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"omegaRadPerSecond"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"optimalVoltage"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"optimalVoltage"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"optimize(SwerveModuleState2, Rotation2d, SwerveModuleState2, double)","u":"optimize(swervelib.math.SwerveModuleState2,edu.wpi.first.math.geometry.Rotation2d,swervelib.math.SwerveModuleState2,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"output"},{"p":"swervelib.parser","c":"PIDFConfig","l":"p"},{"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.simulation.ctre","c":"PhysicsSim","l":"PhysicsSim()","u":"%3Cinit%3E()"},{"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","c":"SwerveDrive","l":"postTrajectory(Trajectory)","u":"postTrajectory(edu.wpi.first.math.trajectory.Trajectory)"},{"p":"swervelib","c":"SwerveModule","l":"queueSynchronizeEncoders()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"rampRate"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"readingError"},{"p":"swervelib","c":"SwerveDrive","l":"replaceSwerveModuleFeedforward(SimpleMotorFeedforward)","u":"replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib","c":"SwerveDrive","l":"resetEncoders()"},{"p":"swervelib","c":"SwerveDrive","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"resetPosition(Rotation2d, SwerveModulePosition[], Pose2d)","u":"resetPosition(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"resetPosition(Rotation2d, SwerveModulePosition[], Pose2d)","u":"resetPosition(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"robotRotation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"rotationUnit"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"run()"},{"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":"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.simulation","c":"SwerveIMUSimulation","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"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(SwerveModuleState2, boolean, boolean)","u":"setDesiredState(swervelib.math.SwerveModuleState2,boolean,boolean)"},{"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.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":"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)","u":"setMaximumSpeed(double,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeeds(double, double, double)","u":"setMaximumSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStateOptimization(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStates(SwerveModuleState2[], boolean)","u":"setModuleStates(swervelib.math.SwerveModuleState2[],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.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":"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.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":"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.math","c":"SwervePoseEstimator2","l":"setVisionMeasurementStdDevs(Matrix)","u":"setVisionMeasurementStdDevs(edu.wpi.first.math.Matrix)"},{"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.telemetry","c":"SwerveDriveTelemetry","l":"sizeFrontBack"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeLeftRight"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkMaxRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean,com.revrobotics.SparkMaxRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(int, boolean, SparkMaxRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(int,boolean,com.revrobotics.SparkMaxRelativeEncoder.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","c":"SwerveDrive","l":"stateStdDevs"},{"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)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double)"},{"p":"swervelib","c":"SwerveDrive","l":"SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDriveConfiguration"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, double, boolean)","u":"%3Cinit%3E(swervelib.parser.SwerveModuleConfiguration[],swervelib.imu.SwerveIMU,double,boolean)"},{"p":"swervelib.parser","c":"SwerveParser","l":"swerveDriveJson"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"SwerveDriveJson()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"SwerveDriveOdometry2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[])","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"SwerveDriveOdometry2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDrivePoseEstimator"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"SwerveDriveTelemetry()","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":"SwerveKinematics2","l":"SwerveKinematics2(Translation2d...)","u":"%3Cinit%3E(edu.wpi.first.math.geometry.Translation2d...)"},{"p":"swervelib.math","c":"SwerveMath","l":"SwerveMath()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"SwerveModule(int, SwerveModuleConfiguration)","u":"%3Cinit%3E(int,swervelib.parser.SwerveModuleConfiguration)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, double, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,double,swervelib.parser.SwerveModulePhysicalCharacteristics,boolean,boolean,boolean,double,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,double,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(double, double, double, double, double, int, int)","u":"%3Cinit%3E(double,double,double,double,double,int,int)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(double, double, double, double, double, int, int, double, double, int, int, double)","u":"%3Cinit%3E(double,double,double,double,double,int,int,double,double,int,int,double)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"SwerveModuleSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"SwerveModuleState2()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"SwerveModuleState2(double, Rotation2d, double)","u":"%3Cinit%3E(double,edu.wpi.first.math.geometry.Rotation2d,double)"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"SwerveModuleState2(SwerveModuleState, double)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveModuleState,double)"},{"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.math","c":"SwervePoseEstimator2","l":"SwervePoseEstimator2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"SwervePoseEstimator2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d, Matrix, Matrix)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d,edu.wpi.first.math.Matrix,edu.wpi.first.math.Matrix)"},{"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(WPI_TalonFX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.WPI_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","c":"SwerveController","l":"thetaController"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toChassisSpeeds(SwerveModuleState2...)","u":"toChassisSpeeds(swervelib.math.SwerveModuleState2...)"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"toSwerveModuleState()"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toSwerveModuleStates(ChassisSpeeds)","u":"toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toSwerveModuleStates(ChassisSpeeds, Translation2d)","u":"toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toTwist2d(SwerveModulePosition...)","u":"toTwist2d(edu.wpi.first.math.kinematics.SwerveModulePosition...)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"type"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"update(Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"update(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"update(Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"update(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"updateData()"},{"p":"swervelib","c":"SwerveDrive","l":"updateOdometry()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"updateOdometry(SwerveKinematics2, SwerveModuleState2[], Pose2d[], Field2d)","u":"updateOdometry(swervelib.math.SwerveKinematics2,swervelib.math.SwerveModuleState2[],edu.wpi.first.math.geometry.Pose2d[],edu.wpi.first.wpilibj.smartdashboard.Field2d)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"updateStateAndPosition(SwerveModuleState2)","u":"updateStateAndPosition(swervelib.math.SwerveModuleState2)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"updateWithTime(double, Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"updateWithTime(double,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"values()"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"velocityPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"verbosity"},{"p":"swervelib","c":"SwerveDrive","l":"visionMeasurementStdDevs"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"wheelDiameter"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"wheelDiameter"},{"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.simulation.ctre","c":"TalonFXSimProfile","l":"_accelToFullTime"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"_accelToFullTime"},{"p":"swervelib.simulation.ctre","c":"TalonFXSimProfile","l":"_falcon"},{"p":"swervelib.simulation.ctre","c":"TalonFXSimProfile","l":"_fullVel"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"_fullVel"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim.SimProfile","l":"_lastTime"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim.SimProfile","l":"_running"},{"p":"swervelib.simulation.ctre","c":"TalonFXSimProfile","l":"_sensorPhase"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"_sensorPhase"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"_simProfiles"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"_talon"},{"p":"swervelib.simulation.ctre","c":"TalonFXSimProfile","l":"_vel"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"_vel"},{"p":"swervelib.simulation.ctre","c":"VictorSPXSimProfile","l":"_victor"},{"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","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.simulation.ctre","c":"PhysicsSim","l":"addTalonFX(TalonFX, double, double)","u":"addTalonFX(com.ctre.phoenix.motorcontrol.can.TalonFX,double,double)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addTalonFX(TalonFX, double, double, boolean)","u":"addTalonFX(com.ctre.phoenix.motorcontrol.can.TalonFX,double,double,boolean)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addTalonSRX(TalonSRX, double, double)","u":"addTalonSRX(com.ctre.phoenix.motorcontrol.can.TalonSRX,double,double)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addTalonSRX(TalonSRX, double, double, boolean)","u":"addTalonSRX(com.ctre.phoenix.motorcontrol.can.TalonSRX,double,double,boolean)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"addVictorSPX(VictorSPX)","u":"addVictorSPX(com.ctre.phoenix.motorcontrol.can.VictorSPX)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"addVisionMeasurement(Pose2d, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, boolean, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, boolean, Matrix)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,boolean,edu.wpi.first.math.Matrix)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","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.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":"ModuleJson","l":"angleEncoderPulsePerRevolution"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleEncoderPulsePerRotation"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleGearRatio"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"angleJoystickRadiusDeadband"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"angleJoyStickRadiusDeadband"},{"p":"swervelib","c":"SwerveController","l":"angleLimiter"},{"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":"angleMotorEncoderPulsePerRevolution"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"angleMotorFreeSpeedRPM"},{"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(SwerveModuleState2, SwerveModuleState2, double)","u":"antiJitter(swervelib.math.SwerveModuleState2,swervelib.math.SwerveModuleState2,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"applyDeadband(double, boolean, double)","u":"applyDeadband(double,boolean,double)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"attainableMaxRotationalVelocityRadiansPerSecond"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"attainableMaxTranslationalSpeedMetersPerSecond"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"bigInverseKinematics"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"BoolMotorJson()","u":"%3Cinit%3E()"},{"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.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, 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, 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","c":"SwerveDrive","l":"chassisVelocityCorrection"},{"p":"swervelib.parser","c":"SwerveParser","l":"checkDirectory(File)","u":"checkDirectory(java.io.File)"},{"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":"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":"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":"TalonFXSwerve","l":"configChanged"},{"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":"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":"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)","u":"configureCANStatusFrames(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":"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":"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":"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.parser","c":"SwerveParser","l":"controllerPropertiesJson"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"ControllerPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"createControllerConfiguration(SwerveDriveConfiguration)","u":"createControllerConfiguration(swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"createDriveFeedforward()"},{"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":"DeviceJson","l":"createIntegratedEncoder(SwerveMotor)","u":"createIntegratedEncoder(swervelib.motors.SwerveMotor)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"createModuleConfiguration(PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, String)","u":"createModuleConfiguration(swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,double,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"createModules(SwerveModuleConfiguration[])","u":"createModules(swervelib.parser.SwerveModuleConfiguration[])"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createMotor(boolean)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"createPhysicalProperties(double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"createPIDController()"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"currentLimit"},{"p":"swervelib.parser","c":"PIDFConfig","l":"d"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"desaturateWheelSpeeds(SwerveModuleState2[], ChassisSpeeds, double, double, double)","u":"desaturateWheelSpeeds(swervelib.math.SwerveModuleState2[],edu.wpi.first.math.kinematics.ChassisSpeeds,double,double,double)"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"desaturateWheelSpeeds(SwerveModuleState2[], double)","u":"desaturateWheelSpeeds(swervelib.math.SwerveModuleState2[],double)"},{"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","c":"SwerveDrive","l":"disableSecondOrderKinematics()"},{"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(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, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean,boolean)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveEncoderPulsePerRotation"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveGearRatio"},{"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.simulation","c":"SwerveModuleSimulation","l":"dt"},{"p":"swervelib","c":"SwerveDrive","l":"enableSecondOrderKinematics()"},{"p":"swervelib","c":"SwerveDrive","l":"enableSecondOrderKinematics(double)"},{"p":"swervelib","c":"SwerveDrive","l":"enableSecondOrderKinematics(int)"},{"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":"SparkMaxEncoderSwerve","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.parser.json","c":"PhysicalPropertiesJson","l":"encoderPulsePerRotation"},{"p":"swervelib.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"equals(Object)","u":"equals(java.lang.Object)"},{"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":"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":"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":"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.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.telemetry","c":"SwerveDriveTelemetry","l":"forwardDirection"},{"p":"swervelib.parser.json.modules","c":"LocationJson","l":"front"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"gearRatio"},{"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":"SparkMaxEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsoluteEncoder()"},{"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":"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","c":"SwerveModule","l":"getConfiguration()"},{"p":"swervelib","c":"SwerveModule","l":"getDriveMotor()"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"getEstimatedPosition()"},{"p":"swervelib","c":"SwerveDrive","l":"getFieldVelocity()"},{"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.simulation.ctre","c":"PhysicsSim","l":"getInstance()"},{"p":"swervelib","c":"SwerveController","l":"getJoystickAngle(double, double)","u":"getJoystickAngle(double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"getModuleConfigurationByName(String, SwerveDriveConfiguration)","u":"getModuleConfigurationByName(java.lang.String,swervelib.parser.SwerveDriveConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"getModulePositions()"},{"p":"swervelib","c":"SwerveDrive","l":"getModules()"},{"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.simulation.ctre","c":"PhysicsSim.SimProfile","l":"getPeriod()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPose()"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"getPoseMeters()"},{"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.parser","c":"SwerveModuleConfiguration","l":"getPositionEncoderConversion(boolean)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"getPulsePerRotation(int)"},{"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","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)","u":"getTargetSpeeds(double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTranslation2d(ChassisSpeeds)","u":"getTranslation2d(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"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.simulation","c":"SwerveIMUSimulation","l":"getYaw()"},{"p":"swervelib","c":"SwerveDrive","l":"getYaw()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"gyro"},{"p":"swervelib.imu","c":"NavXSwerve","l":"gyro"},{"p":"swervelib.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"gyroAngle"},{"p":"swervelib.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"gyroPitch"},{"p":"swervelib.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"gyroRoll"},{"p":"swervelib.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"hashCode()"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"heading"},{"p":"swervelib","c":"SwerveController","l":"headingCalculate(double, double)","u":"headingCalculate(double,double)"},{"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":"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.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"interpolate(SwervePoseEstimator2.InterpolationRecord, double)","u":"interpolate(swervelib.math.SwervePoseEstimator2.InterpolationRecord,double)"},{"p":"swervelib.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"InterpolationRecord(Pose2d, Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"%3Cinit%3E(edu.wpi.first.math.geometry.Pose2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"invert()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"inverted"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"inverted"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"inverted"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"invertedIMU"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"invertedIMU"},{"p":"swervelib","c":"SwerveDrive","l":"invertOdometry"},{"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.telemetry","c":"SwerveDriveTelemetry","l":"isSimulation"},{"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.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"LOW"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_forwardKinematics"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_gyroOffset"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_inverseKinematics"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_kinematics"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"m_kinematics"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_moduleAccelTimer"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_modules"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_moduleStates"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_numModules"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_numModules"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"m_numModules"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"m_odometry"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"m_poseBuffer"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_poseMeters"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_prevChassisSpeeds"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_prevCoR"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_previousAngle"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_previousModulePositions"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"m_prevModuleAccelTime"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"m_q"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"m_visionK"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"m_zeroModuleStates"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"MACHINE"},{"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.parser.json","c":"SwerveDriveJson","l":"maxSpeed"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"maxSpeed"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"maxSpeed"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"maxSpeed"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxSpeed"},{"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":"PhysicalPropertiesJson","l":"moduleFeedForwardClosedLoop"},{"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.math","c":"SwervePoseEstimator2.InterpolationRecord","l":"modulePositions"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"modules"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"modules"},{"p":"swervelib","c":"SwerveModule","l":"moduleStateOptimization"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"moduleSteerFFCL"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"moduleSteerFFCL"},{"p":"swervelib","c":"SwerveDrive","l":"moduleSynchronizationCounter"},{"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":"NavXSwerve(SerialPort.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SerialPort.Port)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"nominalVoltage"},{"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.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.math","c":"SwerveModuleState2","l":"omegaRadPerSecond"},{"p":"swervelib.parser","c":"SwerveParser","l":"openJson(File)","u":"openJson(java.io.File)"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"optimalVoltage"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"optimalVoltage"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"optimize(SwerveModuleState2, Rotation2d, SwerveModuleState2, double)","u":"optimize(swervelib.math.SwerveModuleState2,edu.wpi.first.math.geometry.Rotation2d,swervelib.math.SwerveModuleState2,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"output"},{"p":"swervelib.parser","c":"PIDFConfig","l":"p"},{"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.simulation.ctre","c":"PhysicsSim","l":"PhysicsSim()","u":"%3Cinit%3E()"},{"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":"SwervePoseEstimator2.InterpolationRecord","l":"poseMeters"},{"p":"swervelib.math","c":"Matter","l":"position"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"positionConversionFactor"},{"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":"SwerveModule","l":"queueSynchronizeEncoders()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"rampRate"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"random(double)"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"random(double, double)","u":"random(double,double)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"readingError"},{"p":"swervelib","c":"SwerveDrive","l":"replaceSwerveModuleFeedforward(SimpleMotorFeedforward)","u":"replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib","c":"SwerveDrive","l":"resetEncoders()"},{"p":"swervelib","c":"SwerveDrive","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"resetPosition(Rotation2d, SwerveModulePosition[], Pose2d)","u":"resetPosition(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"resetPosition(Rotation2d, SwerveModulePosition[], Pose2d)","u":"resetPosition(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"robotRotation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"rotationUnit"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim","l":"run()"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim.SimProfile","l":"run()"},{"p":"swervelib.simulation.ctre","c":"TalonFXSimProfile","l":"run()"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"run()"},{"p":"swervelib.simulation.ctre","c":"VictorSPXSimProfile","l":"run()"},{"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":"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.simulation","c":"SwerveIMUSimulation","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"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(SwerveModuleState2, boolean, boolean)","u":"setDesiredState(swervelib.math.SwerveModuleState2,boolean,boolean)"},{"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.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":"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)","u":"setMaximumSpeed(double,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeeds(double, double, double)","u":"setMaximumSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStateOptimization(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStates(SwerveModuleState2[], boolean)","u":"setModuleStates(swervelib.math.SwerveModuleState2[],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.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":"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(SwerveModuleState2[], boolean)","u":"setRawModuleStates(swervelib.math.SwerveModuleState2[],boolean)"},{"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":"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.math","c":"SwervePoseEstimator2","l":"setVisionMeasurementStdDevs(Matrix)","u":"setVisionMeasurementStdDevs(edu.wpi.first.math.Matrix)"},{"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.simulation.ctre","c":"PhysicsSim","l":"sim"},{"p":"swervelib","c":"SwerveDrive","l":"simIMU"},{"p":"swervelib","c":"SwerveModule","l":"simModule"},{"p":"swervelib.simulation.ctre","c":"PhysicsSim.SimProfile","l":"SimProfile()","u":"%3Cinit%3E()"},{"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":"SparkMaxSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkMaxRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean,com.revrobotics.SparkMaxRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(int, boolean, SparkMaxRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(int,boolean,com.revrobotics.SparkMaxRelativeEncoder.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","c":"SwerveDrive","l":"stateStdDevs"},{"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)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double)"},{"p":"swervelib","c":"SwerveDrive","l":"SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDriveConfiguration"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, double, boolean)","u":"%3Cinit%3E(swervelib.parser.SwerveModuleConfiguration[],swervelib.imu.SwerveIMU,double,boolean)"},{"p":"swervelib.parser","c":"SwerveParser","l":"swerveDriveJson"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"SwerveDriveJson()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"SwerveDriveOdometry2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[])","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"SwerveDriveOdometry2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDrivePoseEstimator"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"SwerveDriveTelemetry()","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":"SwerveKinematics2","l":"SwerveKinematics2(Translation2d...)","u":"%3Cinit%3E(edu.wpi.first.math.geometry.Translation2d...)"},{"p":"swervelib.math","c":"SwerveMath","l":"SwerveMath()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"SwerveModule(int, SwerveModuleConfiguration)","u":"%3Cinit%3E(int,swervelib.parser.SwerveModuleConfiguration)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, double, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,double,swervelib.parser.SwerveModulePhysicalCharacteristics,boolean,boolean,boolean,double,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, double, SwerveModulePhysicalCharacteristics, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,double,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(double, double, double, double, double, int, int)","u":"%3Cinit%3E(double,double,double,double,double,int,int)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(double, double, double, double, double, int, int, double, double, int, int, double)","u":"%3Cinit%3E(double,double,double,double,double,int,int,double,double,int,int,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveModules"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"SwerveModuleSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"SwerveModuleState2()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"SwerveModuleState2(double, Rotation2d, double)","u":"%3Cinit%3E(double,edu.wpi.first.math.geometry.Rotation2d,double)"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"SwerveModuleState2(SwerveModuleState, double)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveModuleState,double)"},{"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.math","c":"SwervePoseEstimator2","l":"SwervePoseEstimator2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"SwervePoseEstimator2(SwerveDriveKinematics, Rotation2d, SwerveModulePosition[], Pose2d, Matrix, Matrix)","u":"%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[],edu.wpi.first.math.geometry.Pose2d,edu.wpi.first.math.Matrix,edu.wpi.first.math.Matrix)"},{"p":"swervelib","c":"SwerveModule","l":"synchronizeEncoderQueued"},{"p":"swervelib","c":"SwerveDrive","l":"synchronizeModuleEncoders()"},{"p":"swervelib.simulation.ctre","c":"TalonFXSimProfile","l":"TalonFXSimProfile(TalonFX, double, double, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.TalonFX,double,double,boolean)"},{"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(WPI_TalonFX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.WPI_TalonFX,boolean)"},{"p":"swervelib.simulation.ctre","c":"TalonSRXSimProfile","l":"TalonSRXSimProfile(TalonSRX, double, double, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.TalonSRX,double,double,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","c":"SwerveController","l":"thetaController"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"timer"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"timer"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toChassisSpeeds(SwerveModuleState2...)","u":"toChassisSpeeds(swervelib.math.SwerveModuleState2...)"},{"p":"swervelib.math","c":"SwerveModuleState2","l":"toSwerveModuleState()"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toSwerveModuleStates(ChassisSpeeds)","u":"toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toSwerveModuleStates(ChassisSpeeds, Translation2d)","u":"toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib.math","c":"SwerveKinematics2","l":"toTwist2d(SwerveModulePosition...)","u":"toTwist2d(edu.wpi.first.math.kinematics.SwerveModulePosition...)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"type"},{"p":"swervelib.math","c":"SwerveDriveOdometry2","l":"update(Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"update(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"update(Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"update(edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"updateData()"},{"p":"swervelib","c":"SwerveDrive","l":"updateOdometry()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"updateOdometry(SwerveKinematics2, SwerveModuleState2[], Pose2d[], Field2d)","u":"updateOdometry(swervelib.math.SwerveKinematics2,swervelib.math.SwerveModuleState2[],edu.wpi.first.math.geometry.Pose2d[],edu.wpi.first.wpilibj.smartdashboard.Field2d)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"updateStateAndPosition(SwerveModuleState2)","u":"updateStateAndPosition(swervelib.math.SwerveModuleState2)"},{"p":"swervelib.math","c":"SwervePoseEstimator2","l":"updateWithTime(double, Rotation2d, Rotation2d, Rotation2d, SwerveModulePosition[])","u":"updateWithTime(double,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.geometry.Rotation2d,edu.wpi.first.math.kinematics.SwerveModulePosition[])"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","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":"SparkMaxSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"values()"},{"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.simulation.ctre","c":"VictorSPXSimProfile","l":"VictorSPXSimProfile(VictorSPX)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.VictorSPX)"},{"p":"swervelib","c":"SwerveDrive","l":"visionMeasurementStdDevs"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"wheelDiameter"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"wheelDiameter"},{"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 837f4ec..5488430 100644 --- a/docs/overview-summary.html +++ b/docs/overview-summary.html @@ -1,10 +1,11 @@ - -YAGSL-Lib API + +Generated Documentation (Untitled) + diff --git a/docs/overview-tree.html b/docs/overview-tree.html index 22b3c3c..2d95048 100644 --- a/docs/overview-tree.html +++ b/docs/overview-tree.html @@ -1,17 +1,18 @@ - -Class Hierarchy (YAGSL-Lib API) + +Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -75,17 +76,17 @@ loadScripts(document, 'script');
  • swervelib.parser.json.modules.LocationJson
  • swervelib.math.Matter
  • swervelib.parser.json.ModuleJson
  • -
  • edu.wpi.first.math.kinematics.Odometry<T> - -
  • +
  • swervelib.parser.json.MotorConfigDouble
  • +
  • swervelib.parser.json.MotorConfigInt
  • swervelib.parser.json.PhysicalPropertiesJson
  • swervelib.simulation.ctre.PhysicsSim
  • +
  • swervelib.simulation.ctre.PhysicsSim.SimProfile + +
  • swervelib.parser.PIDFConfig
  • swervelib.parser.json.PIDFPropertiesJson
  • swervelib.parser.deserializer.PIDFRange
  • @@ -102,11 +103,16 @@ loadScripts(document, 'script');
  • swervelib.SwerveDrive
  • swervelib.parser.SwerveDriveConfiguration
  • swervelib.parser.json.SwerveDriveJson
  • -
  • edu.wpi.first.math.kinematics.SwerveDriveKinematics (implements edu.wpi.first.math.kinematics.Kinematics<S,P>) +
  • edu.wpi.first.math.kinematics.SwerveDriveKinematics
  • +
  • edu.wpi.first.math.kinematics.SwerveDriveOdometry + +
  • swervelib.telemetry.SwerveDriveTelemetry
  • swervelib.imu.SwerveIMU
  • @@ -151,6 +158,7 @@ loadScripts(document, 'script');
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    • diff --git a/docs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/docs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000..34abd18 Binary files /dev/null and b/docs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/docs/script-dir/images/ui-bg_glass_65_dadada_1x400.png b/docs/script-dir/images/ui-bg_glass_65_dadada_1x400.png new file mode 100644 index 0000000..f058a93 Binary files /dev/null and b/docs/script-dir/images/ui-bg_glass_65_dadada_1x400.png differ diff --git a/docs/script-dir/images/ui-bg_glass_75_dadada_1x400.png b/docs/script-dir/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000..2ce04c1 Binary files /dev/null and b/docs/script-dir/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/docs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/docs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000..a90afb8 Binary files /dev/null and b/docs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/docs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/docs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..dbe091f Binary files /dev/null and b/docs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/docs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/docs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000..5dc3593 Binary files /dev/null and b/docs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/docs/script-dir/images/ui-icons_222222_256x240.png b/docs/script-dir/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..e723e17 Binary files /dev/null and b/docs/script-dir/images/ui-icons_222222_256x240.png differ diff --git a/docs/script-dir/images/ui-icons_2e83ff_256x240.png b/docs/script-dir/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..1f5f497 Binary files /dev/null and b/docs/script-dir/images/ui-icons_2e83ff_256x240.png differ diff --git a/docs/script-dir/images/ui-icons_454545_256x240.png b/docs/script-dir/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000..618f5b0 Binary files /dev/null and b/docs/script-dir/images/ui-icons_454545_256x240.png differ diff --git a/docs/script-dir/images/ui-icons_888888_256x240.png b/docs/script-dir/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000..ee5e33f Binary files /dev/null and b/docs/script-dir/images/ui-icons_888888_256x240.png differ diff --git a/docs/script-dir/images/ui-icons_cd0a0a_256x240.png b/docs/script-dir/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..7e8ebc1 Binary files /dev/null and b/docs/script-dir/images/ui-icons_cd0a0a_256x240.png differ diff --git a/docs/script-dir/jquery-3.5.1.min.js b/docs/script-dir/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/docs/script-dir/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
      ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
    "),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
      ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
      ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
      ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
      ",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
      "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"
        ",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
          ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
          ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
          ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
          ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
          ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete}); \ No newline at end of file diff --git a/docs/script-dir/jquery-ui.structure.min.css b/docs/script-dir/jquery-ui.structure.min.css new file mode 100644 index 0000000..e880892 --- /dev/null +++ b/docs/script-dir/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-06 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/docs/stylesheet.css b/docs/stylesheet.css index 4a576bd..836c62d 100644 --- a/docs/stylesheet.css +++ b/docs/stylesheet.css @@ -611,7 +611,6 @@ main, nav, header, footer, section { ul.ui-autocomplete { position:fixed; z-index:999999; - background-color: #FFFFFF; } ul.ui-autocomplete li { float:left; @@ -621,9 +620,6 @@ ul.ui-autocomplete li { .result-highlight { font-weight:bold; } -.ui-autocomplete .result-item { - font-size: inherit; -} #search-input { background-image:url('resources/glass.png'); background-size:13px; diff --git a/docs/swervelib/SwerveController.html b/docs/swervelib/SwerveController.html index f5b8d4d..ec96ff7 100644 --- a/docs/swervelib/SwerveController.html +++ b/docs/swervelib/SwerveController.html @@ -1,17 +1,18 @@ - -SwerveController (YAGSL-Lib API) + +SwerveController + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
        • Package
        • Tree
        • -
        • Index
        • +
        • Index
        • Help
      @@ -98,8 +99,8 @@ loadScripts(document, 'script');
      -
      SwerveControllerConfiguration object storing data to generate the PIDController - for controlling the robot heading, and deadband for heading joystick.
      +
      SwerveControllerConfiguration object storing data to generate the PIDController for controlling the + robot heading, and deadband for heading joystick.
      double
      @@ -134,8 +135,8 @@ loadScripts(document, 'script');
      Description
      -
      Construct the SwerveController object which is used for determining the speeds of the robot - based on controller input.
      +
      Construct the SwerveController object which is used for determining the speeds of the robot based on controller + input.
      @@ -169,8 +170,7 @@ loadScripts(document, 'script'); double ySpeed, double omega)
      -
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in - radians.
      +
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in radians.
      edu.wpi.first.math.kinematics.ChassisSpeeds
      getRawTargetSpeeds(double xSpeed, @@ -178,8 +178,7 @@ loadScripts(document, 'script'); double targetHeadingAngleRadians, double currentHeadingAngleRadians)
      -
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in - radians.
      +
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in radians.
      edu.wpi.first.math.kinematics.ChassisSpeeds
      getTargetSpeeds(double xInput, @@ -241,8 +240,8 @@ loadScripts(document, 'script');

      config

      public final SwerveControllerConfiguration config
      -
      SwerveControllerConfiguration object storing data to generate the PIDController - for controlling the robot heading, and deadband for heading joystick.
      +
      SwerveControllerConfiguration object storing data to generate the PIDController for controlling the + robot heading, and deadband for heading joystick.
    • @@ -292,12 +291,11 @@ loadScripts(document, 'script');

      SwerveController

      public SwerveController(SwerveControllerConfiguration cfg)
      -
      Construct the SwerveController object which is used for determining the speeds of the robot - based on controller input.
      +
      Construct the SwerveController object which is used for determining the speeds of the robot based on controller + input.
      Parameters:
      -
      cfg - SwerveControllerConfiguration containing the PIDF variables for the heading - PIDF.
      +
      cfg - SwerveControllerConfiguration containing the PIDF variables for the heading PIDF.
    • @@ -328,8 +326,8 @@ loadScripts(document, 'script');
      public void addSlewRateLimiters(edu.wpi.first.math.filter.SlewRateLimiter x, edu.wpi.first.math.filter.SlewRateLimiter y, edu.wpi.first.math.filter.SlewRateLimiter angle)
      -
      Add slew rate limiters to all controls. This prevents the robot from ramping up too much. To - disable a SlewRateLimiter set the desired one to null.
      +
      Add slew rate limiters to all controls. This prevents the robot from ramping up too much. To disable a + SlewRateLimiter set the desired one to null.
      Parameters:
      x - The SlewRateLimiter for the X velocity in meters/second.
      @@ -349,7 +347,8 @@ loadScripts(document, 'script');
      x - The x value for the joystick in which the deadband should be applied.
      y - The y value for the joystick in which the deadband should be applied.
      Returns:
      -
      Whether the values are within the deadband from SwerveControllerConfiguration.angleJoyStickRadiusDeadband.
      +
      Whether the values are within the deadband from + SwerveControllerConfiguration.angleJoyStickRadiusDeadband.
      @@ -395,8 +394,8 @@ loadScripts(document, 'script'); double headingX, double headingY, double currentHeadingAngleRadians)
      -
      Get the chassis speeds based on controller input of 2 joysticks. One for speeds in which - direction. The other for the angle of the robot.
      +
      Get the chassis speeds based on controller input of 2 joysticks. One for speeds in which direction. The other for + the angle of the robot.
      Parameters:
      xInput - X joystick input for the robot to move in the X direction.
      @@ -415,8 +414,7 @@ loadScripts(document, 'script');
      public edu.wpi.first.math.kinematics.ChassisSpeeds getRawTargetSpeeds(double xSpeed, double ySpeed, double omega)
      -
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in - radians.
      +
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in radians.
      Parameters:
      xSpeed - X speed in meters per second.
      @@ -434,8 +432,7 @@ loadScripts(document, 'script'); double ySpeed, double targetHeadingAngleRadians, double currentHeadingAngleRadians)
      -
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in - radians.
      +
      Get the ChassisSpeeds based of raw speeds desired in meters/second and heading in radians.
      Parameters:
      xSpeed - X speed in meters per second.
      @@ -467,7 +464,8 @@ loadScripts(document, 'script');

      setMaximumAngularVelocity

      public void setMaximumAngularVelocity(double angularVelocity)
      Set a new maximum angular velocity that is different from the auto-generated one. Modified the - SwerveControllerConfiguration.maxAngularVelocity field which is used in the SwerveController class for ChassisSpeeds generation.
      + SwerveControllerConfiguration.maxAngularVelocity field which is used in the SwerveController class + for ChassisSpeeds generation.
    Parameters:
    angularVelocity - Angular velocity in radians per second.
    diff --git a/docs/swervelib/SwerveDrive.html b/docs/swervelib/SwerveDrive.html index 759b8df..8db3005 100644 --- a/docs/swervelib/SwerveDrive.html +++ b/docs/swervelib/SwerveDrive.html @@ -1,17 +1,18 @@ - -SwerveDrive (YAGSL-Lib API) + +SwerveDrive + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -93,29 +94,49 @@ loadScripts(document, 'script');
    boolean
    -
    Correct chassis velocity in drive(Translation2d, double, boolean, boolean) - using 254's correction.
    +
    Correct chassis velocity in drive(Translation2d, double, boolean, boolean) using 254's + correction.
    edu.wpi.first.wpilibj.smartdashboard.Field2d
    Field object.
    -
    boolean
    - +
    private SwerveIMU
    +
    +
    Swerve IMU device for sensing the heading of the robot.
    +
    +
    boolean
    + +
    Invert odometry readings of drive motor positions, used as a patch for debugging currently.
    - - -
    + + +
    Swerve Kinematics object utilizing second order kinematics.
    +
    private double
    + +
    +
    The last heading set in radians.
    +
    +
    private int
    + +
    +
    Counter to synchronize the modules relative encoder with absolute encoder when not moving.
    +
    + + +
    +
    Simulation of the swerve drive.
    +
    edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
    -
    Trustworthiness of the internal model of how motors should be moving Measured in expected - standard deviation (meters of position and degrees of rotation)
    +
    Trustworthiness of the internal model of how motors should be moving Measured in expected standard deviation + (meters of position and degrees of rotation)
    @@ -132,11 +153,16 @@ loadScripts(document, 'script');
    Swerve odometry.
    -
    edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
    - +
    private final SwerveModule[]
    +
    -
    Trustworthiness of the vision system Measured in expected standard deviation (meters of - position and degrees of rotation)
    +
    Swerve modules.
    +
    +
    edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
    + +
    +
    Trustworthiness of the vision system Measured in expected standard deviation (meters of position and degrees of + rotation)
    @@ -174,7 +200,8 @@ loadScripts(document, 'script'); boolean soft, double trustWorthiness)
    -
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with the given timestamp of the vision measurement.
    +
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with + the given timestamp of the vision measurement.
    void
    addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d robotPose, @@ -182,7 +209,8 @@ loadScripts(document, 'script'); boolean soft, edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> visionMeasurementStdDevs)
    -
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with the given timestamp of the vision measurement.
    +
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with + the given timestamp of the vision measurement.
    void
    disableSecondOrderKinematics()
    @@ -219,8 +247,7 @@ loadScripts(document, 'script');
    double
    enableSecondOrderKinematics(int motorFreeSpeedRPM)
    -
    Enable second order kinematics with calculated values for the feedforward and return the value - used.
    +
    Enable second order kinematics with calculated values for the feedforward and return the value used.
    Optional<edu.wpi.first.math.geometry.Translation3d>
    getAccel()
    @@ -275,9 +302,9 @@ loadScripts(document, 'script');
    SwerveController
    getSwerveController()
    -
    Helper function to get the swerveController for the SwerveDrive - which can be used to generate ChassisSpeeds for the robot to orient it correctly given - axis or angles, and apply SlewRateLimiter to given inputs.
    +
    Helper function to get the swerveController for the SwerveDrive which can be used to + generate ChassisSpeeds for the robot to orient it correctly given axis or angles, and apply + SlewRateLimiter to given inputs.
    edu.wpi.first.math.geometry.Pose2d[]
    getSwerveModulePoses(edu.wpi.first.math.geometry.Pose2d robotPose)
    @@ -307,8 +334,8 @@ loadScripts(document, 'script');
    void
    resetEncoders()
    -
    Reset the drive encoders on the robot, useful when manually resetting the robot without a - reboot, like in autonomous.
    +
    Reset the drive encoders on the robot, useful when manually resetting the robot without a reboot, like in + autonomous.
    void
    resetOdometry(edu.wpi.first.math.geometry.Pose2d pose)
    @@ -333,16 +360,18 @@ loadScripts(document, 'script');
    void
    setMaximumSpeed(double maximumSpeed)
    -
    Set the maximum speed of the drive motors, modified SwerveControllerConfiguration.maxSpeed and SwerveDriveConfiguration.maxSpeed which is - used for the setRawModuleStates(SwerveModuleState2[], boolean) function and +
    void
    setMaximumSpeed(double maximumSpeed, boolean updateModuleFeedforward)
    -
    Set the maximum speed of the drive motors, modified SwerveControllerConfiguration.maxSpeed and SwerveDriveConfiguration.maxSpeed which is - used for the setRawModuleStates(SwerveModuleState2[], boolean) function and +
    void
    @@ -355,8 +384,7 @@ loadScripts(document, 'script');
    void
    setModuleStateOptimization(boolean optimizationEnabled)
    -
    Configure whether the SwerveModuleState2 will be optimized to prevent spinning more - than 90deg.
    +
    Configure whether the SwerveModuleState2 will be optimized to prevent spinning more than 90deg.
    void
    setModuleStates(SwerveModuleState2[] desiredStates, @@ -369,19 +397,25 @@ loadScripts(document, 'script');
    Sets the drive motors to brake/coast mode.
    -
    void
    - +
    private void
    +
    setRawModuleStates(SwerveModuleState2[] desiredStates, + boolean isOpenLoop)
    -
    Synchronize angle motor integrated encoders with data from absolute encoders.
    +
    Set the module states (azimuth and velocity) directly.
    void
    - +
    -
    Update odometry should be run every loop.
    +
    Synchronize angle motor integrated encoders with data from absolute encoders.
    void
    - +
    +
    Update odometry should be run every loop.
    +
    +
    void
    + +
    Resets the gyro angle to zero and resets odometry to the same position, but facing toward 0.
    @@ -423,6 +457,13 @@ loadScripts(document, 'script');
  • +
    +

    swerveModules

    +
    private final SwerveModule[] swerveModules
    +
    Swerve modules.
    +
    +
  • +
  • field

    public edu.wpi.first.wpilibj.smartdashboard.Field2d field
    @@ -440,16 +481,16 @@ loadScripts(document, 'script');

    stateStdDevs

    public edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> stateStdDevs
    -
    Trustworthiness of the internal model of how motors should be moving Measured in expected - standard deviation (meters of position and degrees of rotation)
    +
    Trustworthiness of the internal model of how motors should be moving Measured in expected standard deviation + (meters of position and degrees of rotation)
  • visionMeasurementStdDevs

    public edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> visionMeasurementStdDevs
    -
    Trustworthiness of the vision system Measured in expected standard deviation (meters of - position and degrees of rotation)
    +
    Trustworthiness of the vision system Measured in expected standard deviation (meters of position and degrees of + rotation)
  • @@ -463,8 +504,36 @@ loadScripts(document, 'script');

    chassisVelocityCorrection

    public boolean chassisVelocityCorrection
    -
    Correct chassis velocity in drive(Translation2d, double, boolean, boolean) - using 254's correction.
    +
    Correct chassis velocity in drive(Translation2d, double, boolean, boolean) using 254's + correction.
    +
    +
  • +
  • +
    +

    imu

    +
    private SwerveIMU imu
    +
    Swerve IMU device for sensing the heading of the robot.
    +
    +
  • +
  • +
    +

    simIMU

    +
    private SwerveIMUSimulation simIMU
    +
    Simulation of the swerve drive.
    +
    +
  • +
  • +
    +

    moduleSynchronizationCounter

    +
    private int moduleSynchronizationCounter
    +
    Counter to synchronize the modules relative encoder with absolute encoder when not moving.
    +
    +
  • +
  • +
    +

    lastHeadingRadians

    +
    private double lastHeadingRadians
    +
    The last heading set in radians.
  • @@ -480,18 +549,16 @@ loadScripts(document, 'script');

    SwerveDrive

    public SwerveDrive(SwerveDriveConfiguration config, SwerveControllerConfiguration controllerConfig)
    -
    Creates a new swerve drivebase subsystem. Robot is controlled via the drive(edu.wpi.first.math.geometry.Translation2d, double, boolean, boolean) - method, or via the setRawModuleStates(swervelib.math.SwerveModuleState2[], boolean) method. The drive(edu.wpi.first.math.geometry.Translation2d, double, boolean, boolean) - method incorporates kinematics-- it takes a translation and rotation, as well as parameters for - field-centric and closed-loop velocity control. setRawModuleStates(swervelib.math.SwerveModuleState2[], boolean) takes a - list of SwerveModuleStates and directly passes them to the modules. This subsystem also handles - odometry.
    +
    Creates a new swerve drivebase subsystem. Robot is controlled via the drive(edu.wpi.first.math.geometry.Translation2d, double, boolean, boolean) method, or via the + setRawModuleStates(swervelib.math.SwerveModuleState2[], boolean) method. The drive(edu.wpi.first.math.geometry.Translation2d, double, boolean, boolean) method incorporates kinematics-- it + takes a translation and rotation, as well as parameters for field-centric and closed-loop velocity control. + setRawModuleStates(swervelib.math.SwerveModuleState2[], boolean) takes a list of SwerveModuleStates and directly passes them to the modules. + This subsystem also handles odometry.
    Parameters:
    -
    config - The SwerveDriveConfiguration configuration to base the swerve drive off - of.
    +
    config - The SwerveDriveConfiguration configuration to base the swerve drive off of.
    controllerConfig - The SwerveControllerConfiguration to use when creating the - SwerveController.
    + SwerveController.
    @@ -510,22 +577,21 @@ loadScripts(document, 'script'); double rotation, boolean fieldRelative, boolean isOpenLoop)
    -
    The primary method for controlling the drivebase. Takes a Translation2d and a rotation rate, - and calculates and commands module states accordingly. Can use either open-loop or closed-loop - velocity control for the wheel velocities. Also has field- and robot-relative modes, which - affect how the translation vector is used. This method defaults to no heading correction.
    +
    The primary method for controlling the drivebase. Takes a Translation2d and a rotation rate, and calculates and + commands module states accordingly. Can use either open-loop or closed-loop velocity control for the wheel + velocities. Also has field- and robot-relative modes, which affect how the translation vector is used. This method + defaults to no heading correction.
    Parameters:
    -
    translation - Translation2d that is the commanded linear velocity of the robot, in - meters per second. In robot-relative mode, positive x is torwards the bow (front) and - positive y is torwards port (left). In field-relative mode, positive x is away from the - alliance wall (field North) and positive y is torwards the left wall when looking through - the driver station glass (field West).
    -
    rotation - Robot angular rate, in radians per second. CCW positive. Unaffected by - field/robot relativity.
    +
    translation - Translation2d that is the commanded linear velocity of the robot, in meters per + second. In robot-relative mode, positive x is torwards the bow (front) and positive y is + torwards port (left). In field-relative mode, positive x is away from the alliance wall (field + North) and positive y is torwards the left wall when looking through the driver station glass + (field West).
    +
    rotation - Robot angular rate, in radians per second. CCW positive. Unaffected by field/robot + relativity.
    fieldRelative - Drive mode. True for field-relative, false for robot-relative.
    -
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable - closed-loop.
    +
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable closed-loop.
    @@ -537,24 +603,21 @@ loadScripts(document, 'script'); boolean fieldRelative, boolean isOpenLoop, boolean headingCorrection)
    -
    The primary method for controlling the drivebase. Takes a Translation2d and a rotation rate, - and calculates and commands module states accordingly. Can use either open-loop or closed-loop - velocity control for the wheel velocities. Also has field- and robot-relative modes, which - affect how the translation vector is used.
    +
    The primary method for controlling the drivebase. Takes a Translation2d and a rotation rate, and calculates and + commands module states accordingly. Can use either open-loop or closed-loop velocity control for the wheel + velocities. Also has field- and robot-relative modes, which affect how the translation vector is used.
    Parameters:
    -
    translation - Translation2d that is the commanded linear velocity of the robot, in - meters per second. In robot-relative mode, positive x is torwards the bow (front) and - positive y is torwards port (left). In field-relative mode, positive x is away from the - alliance wall (field North) and positive y is torwards the left wall when looking through - the driver station glass (field West).
    -
    rotation - Robot angular rate, in radians per second. CCW positive. Unaffected by - field/robot relativity.
    +
    translation - Translation2d that is the commanded linear velocity of the robot, in meters per + second. In robot-relative mode, positive x is torwards the bow (front) and positive y is + torwards port (left). In field-relative mode, positive x is away from the alliance wall + (field North) and positive y is torwards the left wall when looking through the driver + station glass (field West).
    +
    rotation - Robot angular rate, in radians per second. CCW positive. Unaffected by field/robot + relativity.
    fieldRelative - Drive mode. True for field-relative, false for robot-relative.
    -
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable - closed-loop.
    -
    headingCorrection - Whether to correct heading when driving translationally. Set to true - to enable.
    +
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable closed-loop.
    +
    headingCorrection - Whether to correct heading when driving translationally. Set to true to enable.
    @@ -567,12 +630,25 @@ loadScripts(document, 'script');
    Set the maximum speeds for desaturation.
    Parameters:
    -
    attainableMaxModuleSpeedMetersPerSecond - The absolute max speed that a module can reach - in meters per second.
    -
    attainableMaxTranslationalSpeedMetersPerSecond - The absolute max speed that your robot - can reach while translating in meters per second.
    -
    attainableMaxRotationalVelocityRadiansPerSecond - The absolute max speed the robot can - reach while rotating in radians per second.
    +
    attainableMaxModuleSpeedMetersPerSecond - The absolute max speed that a module can reach in meters per + second.
    +
    attainableMaxTranslationalSpeedMetersPerSecond - The absolute max speed that your robot can reach while + translating in meters per second.
    +
    attainableMaxRotationalVelocityRadiansPerSecond - The absolute max speed the robot can reach while rotating in + radians per second.
    +
    + + +
  • +
    +

    setRawModuleStates

    +
    private void setRawModuleStates(SwerveModuleState2[] desiredStates, + boolean isOpenLoop)
    +
    Set the module states (azimuth and velocity) directly. Used primarily for auto pathing.
    +
    +
    Parameters:
    +
    desiredStates - A list of SwerveModuleStates to send to the modules.
    +
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable closed-loop.
  • @@ -585,8 +661,7 @@ loadScripts(document, 'script');
    Parameters:
    desiredStates - A list of SwerveModuleStates to send to the modules.
    -
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable - closed-loop.
    +
    isOpenLoop - Whether to use closed-loop velocity control. Set to true to disable closed-loop.
    @@ -638,9 +713,9 @@ loadScripts(document, 'script');

    resetOdometry

    public void resetOdometry(edu.wpi.first.math.geometry.Pose2d pose)
    -
    Resets odometry to the given pose. Gyro angle and module positions do not need to be reset when - calling this method. However, if either gyro angle or module position is reset, this must be - called in order for odometry to keep working.
    +
    Resets odometry to the given pose. Gyro angle and module positions do not need to be reset when calling this + method. However, if either gyro angle or module position is reset, this must be called in order for odometry to + keep working.
    Parameters:
    pose - The pose to set the odometry to
    @@ -673,8 +748,8 @@ loadScripts(document, 'script');

    getModulePositions

    public edu.wpi.first.math.kinematics.SwerveModulePosition[] getModulePositions()
    -
    Gets the current module positions (azimuth and wheel position (meters)). Inverts the distance - from each module if invertOdometry is true.
    +
    Gets the current module positions (azimuth and wheel position (meters)). Inverts the distance from each module if + invertOdometry is true.
    Returns:
    A list of SwerveModulePositions containg the current module positions
    @@ -759,17 +834,17 @@ loadScripts(document, 'script');

    setMaximumSpeed

    public void setMaximumSpeed(double maximumSpeed, boolean updateModuleFeedforward)
    -
    Set the maximum speed of the drive motors, modified SwerveControllerConfiguration.maxSpeed and SwerveDriveConfiguration.maxSpeed which is - used for the setRawModuleStates(SwerveModuleState2[], boolean) function and - SwerveController.getTargetSpeeds(double, double, double, double, double) functions. - This function overrides what was placed in the JSON and could damage your motor/robot if set - too high or unachievable rates.
    +
    Set the maximum speed of the drive motors, modified SwerveControllerConfiguration.maxSpeed and + SwerveDriveConfiguration.maxSpeed which is used for the + setRawModuleStates(SwerveModuleState2[], boolean) function and + SwerveController.getTargetSpeeds(double, double, double, double, double) functions. This function overrides + what was placed in the JSON and could damage your motor/robot if set too high or unachievable rates.
    Parameters:
    maximumSpeed - Maximum speed for the drive motors in meters / second.
    -
    updateModuleFeedforward - Update the swerve module feedforward to account for the new - maximum speed. This should be true unless you have replaced the drive motor feedforward - with replaceSwerveModuleFeedforward(SimpleMotorFeedforward)
    +
    updateModuleFeedforward - Update the swerve module feedforward to account for the new maximum speed. This + should be true unless you have replaced the drive motor feedforward with + replaceSwerveModuleFeedforward(SimpleMotorFeedforward)
    @@ -777,11 +852,12 @@ loadScripts(document, 'script');

    setMaximumSpeed

    public void setMaximumSpeed(double maximumSpeed)
    -
    Set the maximum speed of the drive motors, modified SwerveControllerConfiguration.maxSpeed and SwerveDriveConfiguration.maxSpeed which is - used for the setRawModuleStates(SwerveModuleState2[], boolean) function and - SwerveController.getTargetSpeeds(double, double, double, double, double) functions. - This function overrides what was placed in the JSON and could damage your motor/robot if set - too high or unachievable rates. Overwrites the SwerveModule.feedforward.
    +
    Set the maximum speed of the drive motors, modified SwerveControllerConfiguration.maxSpeed and + SwerveDriveConfiguration.maxSpeed which is used for the + setRawModuleStates(SwerveModuleState2[], boolean) function and + SwerveController.getTargetSpeeds(double, double, double, double, double) functions. This function overrides + what was placed in the JSON and could damage your motor/robot if set too high or unachievable rates. Overwrites the + SwerveModule.feedforward.
    Parameters:
    maximumSpeed - Maximum speed for the drive motors in meters / second.
    @@ -792,8 +868,8 @@ loadScripts(document, 'script');

    lockPose

    public void lockPose()
    -
    Point all modules toward the robot center, thus making the robot very difficult to move. - Forcing the robot to keep the current pose.
    +
    Point all modules toward the robot center, thus making the robot very difficult to move. Forcing the robot to keep + the current pose.
  • @@ -824,9 +900,9 @@ loadScripts(document, 'script');

    updateOdometry

    public void updateOdometry()
    -
    Update odometry should be run every loop. Synchronizes module absolute encoders with relative - encoders periodically. In simulation mode will also post the pose of each module. Updates - SmartDashboard with module encoder readings and states.
    +
    Update odometry should be run every loop. Synchronizes module absolute encoders with relative encoders + periodically. In simulation mode will also post the pose of each module. Updates SmartDashboard with module encoder + readings and states.
  • @@ -840,7 +916,8 @@ loadScripts(document, 'script');

    setGyroOffset

    public void setGyroOffset(edu.wpi.first.math.geometry.Rotation3d offset)
    -
    Set the gyro scope offset to a desired known rotation. Unlike setGyro(Rotation3d) it DOES NOT take the current rotation into account.
    +
    Set the gyro scope offset to a desired known rotation. Unlike setGyro(Rotation3d) it DOES NOT + take the current rotation into account.
    Parameters:
    offset - Rotation3d known offset of the robot for gyroscope to use.
    @@ -854,18 +931,21 @@ loadScripts(document, 'script'); double timestamp, boolean soft, double trustWorthiness) -
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with the given timestamp of the vision measurement.
    - IT IS HIGHLY RECOMMENDED TO UPDATE YOUR GYROSCOPE OFFSET AFTER USING THIS FUNCTION!
    - To update your gyroscope readings directly use setGyroOffset(Rotation3d).
    +
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with + the given timestamp of the vision measurement.
    IT IS HIGHLY RECOMMENDED TO UPDATE YOUR GYROSCOPE OFFSET + AFTER USING THIS FUNCTION!
    To update your gyroscope readings directly use + setGyroOffset(Rotation3d).
    Parameters:
    robotPose - Robot Pose2d as measured by vision.
    -
    timestamp - Timestamp the measurement was taken as time since startup, should be taken - from Timer.getFPGATimestamp() or similar sources.
    -
    soft - Add vision estimate using the PoseEstimator.addVisionMeasurement(Pose2d, double) function, or hard reset - odometry with the given position with SwerveDriveOdometry.resetPosition(Rotation2d, SwerveModulePosition[], Pose2d).
    -
    trustWorthiness - Trust level of vision reading when using a soft measurement, used to - multiply the standard deviation. Set to 1 for full trust. Higher = Less Weight.
    +
    timestamp - Timestamp the measurement was taken as time since startup, should be taken from + Timer.getFPGATimestamp() or similar sources.
    +
    soft - Add vision estimate using the + SwerveDrivePoseEstimator.addVisionMeasurement(Pose2d, double) function, or hard + reset odometry with the given position with + SwerveDriveOdometry.resetPosition(Rotation2d, SwerveModulePosition[], Pose2d).
    +
    trustWorthiness - Trust level of vision reading when using a soft measurement, used to multiply the standard + deviation. Set to 1 for full trust. Higher = Less Weight.
  • @@ -876,16 +956,19 @@ loadScripts(document, 'script'); double timestamp, boolean soft, edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> visionMeasurementStdDevs) -
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with the given timestamp of the vision measurement.
    +
    Add a vision measurement to the SwerveDrivePoseEstimator and update the SwerveIMU gyro reading with + the given timestamp of the vision measurement.
    Parameters:
    robotPose - Robot Pose2d as measured by vision.
    -
    timestamp - Timestamp the measurement was taken as time since startup, should be taken - from Timer.getFPGATimestamp() or similar sources.
    -
    soft - Add vision estimate using the PoseEstimator.addVisionMeasurement(Pose2d, double) function, or hard reset - odometry with the given position with SwerveDriveOdometry.resetPosition(Rotation2d, SwerveModulePosition[], Pose2d).
    +
    timestamp - Timestamp the measurement was taken as time since startup, should be taken from + Timer.getFPGATimestamp() or similar sources.
    +
    soft - Add vision estimate using the + SwerveDrivePoseEstimator.addVisionMeasurement(Pose2d, double) function, or + hard reset odometry with the given position with + SwerveDriveOdometry.resetPosition(Rotation2d, SwerveModulePosition[], Pose2d).
    visionMeasurementStdDevs - Vision measurement standard deviation that will be sent to the - SwerveDrivePoseEstimator.
    + SwerveDrivePoseEstimator.
    @@ -893,8 +976,8 @@ loadScripts(document, 'script');

    setGyro

    public void setGyro(edu.wpi.first.math.geometry.Rotation3d gyro)
    -
    Set the expected gyroscope angle using a Rotation3d object. To reset gyro, set to a new - Rotation3d subtracted from the current gyroscopic readings SwerveIMU.getRotation3d().
    +
    Set the expected gyroscope angle using a Rotation3d object. To reset gyro, set to a new Rotation3d + subtracted from the current gyroscopic readings SwerveIMU.getRotation3d().
    Parameters:
    gyro - expected gyroscope angle as Rotation3d.
    @@ -905,10 +988,12 @@ loadScripts(document, 'script');

    getSwerveController

    public SwerveController getSwerveController()
    -
    Helper function to get the swerveController for the SwerveDrive - which can be used to generate ChassisSpeeds for the robot to orient it correctly given - axis or angles, and apply SlewRateLimiter to given inputs. - Important functions to look at are SwerveController.getTargetSpeeds(double, double, double, double), SwerveController.addSlewRateLimiters(SlewRateLimiter, SlewRateLimiter, SlewRateLimiter), SwerveController.getRawTargetSpeeds(double, double, double).
    +
    Helper function to get the swerveController for the SwerveDrive which can be used to + generate ChassisSpeeds for the robot to orient it correctly given axis or angles, and apply + SlewRateLimiter to given inputs. Important functions to look at are + SwerveController.getTargetSpeeds(double, double, double, double), + SwerveController.addSlewRateLimiters(SlewRateLimiter, SlewRateLimiter, SlewRateLimiter), + SwerveController.getRawTargetSpeeds(double, double, double).
    Returns:
    SwerveController for the SwerveDrive.
    @@ -930,16 +1015,15 @@ loadScripts(document, 'script');

    resetEncoders

    public void resetEncoders()
    -
    Reset the drive encoders on the robot, useful when manually resetting the robot without a - reboot, like in autonomous.
    +
    Reset the drive encoders on the robot, useful when manually resetting the robot without a reboot, like in + autonomous.
  • setModuleStateOptimization

    public void setModuleStateOptimization(boolean optimizationEnabled)
    -
    Configure whether the SwerveModuleState2 will be optimized to prevent spinning more - than 90deg.
    +
    Configure whether the SwerveModuleState2 will be optimized to prevent spinning more than 90deg.
    Parameters:
    optimizationEnabled - Whether the module optimization is enabled.
    @@ -950,8 +1034,8 @@ loadScripts(document, 'script');

    enableSecondOrderKinematics

    public void enableSecondOrderKinematics(double moduleFeedforward)
    -
    Enable second order kinematics for simulation and modifying the feedforward. Second order - kinematics could increase accuracy in odometry.
    +
    Enable second order kinematics for simulation and modifying the feedforward. Second order kinematics could increase + accuracy in odometry.
    Parameters:
    moduleFeedforward - Module feedforward to apply should be between [-1, 1] excluding 0.
    @@ -962,8 +1046,7 @@ loadScripts(document, 'script');

    enableSecondOrderKinematics

    public double enableSecondOrderKinematics(int motorFreeSpeedRPM)
    -
    Enable second order kinematics with calculated values for the feedforward and return the value - used.
    +
    Enable second order kinematics with calculated values for the feedforward and return the value used.
    Parameters:
    motorFreeSpeedRPM - Steering motor free speed RPM.
    diff --git a/docs/swervelib/SwerveModule.html b/docs/swervelib/SwerveModule.html index f3222f2..db88551 100644 --- a/docs/swervelib/SwerveModule.html +++ b/docs/swervelib/SwerveModule.html @@ -1,17 +1,18 @@ - -SwerveModule (YAGSL-Lib API) + +SwerveModule + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -90,11 +91,31 @@ loadScripts(document, 'script');
    Modifier and Type
    Field
    Description
    - - +
    private final SwerveAbsoluteEncoder
    +
    +
    Absolute encoder for swerve drive.
    +
    +
    private final SwerveMotor
    + +
    +
    Swerve Motors.
    +
    +
    private final double
    + +
    +
    Angle offset from the absolute encoder.
    +
    + + +
    Swerve module configuration options.
    +
    private final SwerveMotor
    + +
    +
    Swerve Motors.
    +
    edu.wpi.first.math.controller.SimpleMotorFeedforward
    @@ -113,8 +134,18 @@ loadScripts(document, 'script');
    boolean
    -
    Enable SwerveModuleState2 optimizations so the angle is reversed and speed is reversed - to ensure the module never turns more than 90deg.
    +
    Enable SwerveModuleState2 optimizations so the angle is reversed and speed is reversed to ensure the module + never turns more than 90deg.
    +
    + + +
    +
    Simulated swerve module.
    +
    +
    private boolean
    + +
    +
    Encoder synchronization queued.
    @@ -159,8 +190,7 @@ loadScripts(document, 'script');
    -
    Fetch the SwerveModuleConfiguration for the SwerveModule with the parsed - configurations.
    +
    Fetch the SwerveModuleConfiguration for the SwerveModule with the parsed configurations.
    @@ -229,11 +259,38 @@ loadScripts(document, 'script');
  • +
    +

    angleOffset

    +
    private final double angleOffset
    +
    Angle offset from the absolute encoder.
    +
    +
  • +
  • +
    +

    angleMotor

    +
    private final SwerveMotor angleMotor
    +
    Swerve Motors.
    +
    +
  • +
  • +
    +

    driveMotor

    +
    private final SwerveMotor driveMotor
    +
    Swerve Motors.
    +
    +
  • +
  • +
    +

    absoluteEncoder

    +
    private final SwerveAbsoluteEncoder absoluteEncoder
    +
    Absolute encoder for swerve drive.
    +
    +
  • +
  • moduleNumber

    public int moduleNumber
    -
    Module number for kinematics, usually 0 to 3. front left -> front right -> back left -> back - right.
    +
    Module number for kinematics, usually 0 to 3. front left -> front right -> back left -> back right.
  • @@ -254,8 +311,22 @@ loadScripts(document, 'script');

    moduleStateOptimization

    public boolean moduleStateOptimization
    -
    Enable SwerveModuleState2 optimizations so the angle is reversed and speed is reversed - to ensure the module never turns more than 90deg.
    +
    Enable SwerveModuleState2 optimizations so the angle is reversed and speed is reversed to ensure the module + never turns more than 90deg.
    +
    +
  • +
  • +
    +

    simModule

    +
    private SwerveModuleSimulation simModule
    +
    Simulated swerve module.
    +
    +
  • +
  • +
    +

    synchronizeEncoderQueued

    +
    private boolean synchronizeEncoderQueued
    +
    Encoder synchronization queued.
  • @@ -300,15 +371,14 @@ loadScripts(document, 'script');
    public void setDesiredState(SwerveModuleState2 desiredState, boolean isOpenLoop, boolean force)
    -
    Set the desired state of the swerve module.
    - WARNING: If you are not using one of the functions from SwerveDrive you may screw up - SwerveDrive.kinematics
    +
    Set the desired state of the swerve module.
    WARNING: If you are not using one of the functions from + SwerveDrive you may screw up SwerveDrive.kinematics
    Parameters:
    desiredState - Desired swerve module state.
    isOpenLoop - Whether to use open loop (direct percent) or direct velocity control.
    -
    force - Disables optimizations that prevent movement in the angle motor and forces the - desired state onto the swerve module.
    +
    force - Disables optimizations that prevent movement in the angle motor and forces the desired state + onto the swerve module.
    @@ -404,8 +474,7 @@ loadScripts(document, 'script');

    getConfiguration

    public SwerveModuleConfiguration getConfiguration()
    -
    Fetch the SwerveModuleConfiguration for the SwerveModule with the parsed - configurations.
    +
    Fetch the SwerveModuleConfiguration for the SwerveModule with the parsed configurations.
    Returns:
    SwerveModuleConfiguration for the SwerveModule.
    diff --git a/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html b/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html index 526dd40..d11bc83 100644 --- a/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html +++ b/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html @@ -1,17 +1,18 @@ - -AnalogAbsoluteEncoderSwerve (YAGSL-Lib API) + +AnalogAbsoluteEncoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -97,6 +98,11 @@ loadScripts(document, 'script');
    Encoder as Analog Input.
    +
    private boolean
    + +
    +
    Inversion state of the encoder.
    +

    Fields inherited from class swervelib.encoders.SwerveAbsoluteEncoder

    @@ -182,6 +188,13 @@ loadScripts(document, 'script');
    Encoder as Analog Input.
    +
  • +
    +

    inverted

    +
    private boolean inverted
    +
    Inversion state of the encoder.
    +
    +
  • diff --git a/docs/swervelib/encoders/CANCoderSwerve.html b/docs/swervelib/encoders/CANCoderSwerve.html index 377cd00..d7742ed 100644 --- a/docs/swervelib/encoders/CANCoderSwerve.html +++ b/docs/swervelib/encoders/CANCoderSwerve.html @@ -1,17 +1,18 @@ - -CANCoderSwerve (YAGSL-Lib API) + +CANCoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -262,8 +263,7 @@ loadScripts(document, 'script');

    getAbsolutePosition

    public double getAbsolutePosition()
    -
    Get the absolute position of the encoder. Sets SwerveAbsoluteEncoder.readingError on - erroneous readings.
    +
    Get the absolute position of the encoder. Sets SwerveAbsoluteEncoder.readingError on erroneous readings.
    Specified by:
    getAbsolutePosition in class SwerveAbsoluteEncoder
    diff --git a/docs/swervelib/encoders/CanAndCoderSwerve.html b/docs/swervelib/encoders/CanAndCoderSwerve.html index 6825249..825b4de 100644 --- a/docs/swervelib/encoders/CanAndCoderSwerve.html +++ b/docs/swervelib/encoders/CanAndCoderSwerve.html @@ -1,17 +1,18 @@ - -CanAndCoderSwerve (YAGSL-Lib API) + +CanAndCoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -97,6 +98,11 @@ loadScripts(document, 'script');
    The CANandcoder representing the CANandCoder on the CAN bus.
    +
    private boolean
    + +
    +
    Inversion state of the encoder.
    +

    Fields inherited from class swervelib.encoders.SwerveAbsoluteEncoder

    @@ -178,6 +184,13 @@ loadScripts(document, 'script');
    The CANandcoder representing the CANandCoder on the CAN bus.
    +
  • +
    +

    inverted

    +
    private boolean inverted
    +
    Inversion state of the encoder.
    +
    +
  • diff --git a/docs/swervelib/encoders/SparkMaxEncoderSwerve.html b/docs/swervelib/encoders/SparkMaxEncoderSwerve.html index 96cb25e..2fbef91 100644 --- a/docs/swervelib/encoders/SparkMaxEncoderSwerve.html +++ b/docs/swervelib/encoders/SparkMaxEncoderSwerve.html @@ -1,17 +1,18 @@ - -SparkMaxEncoderSwerve (YAGSL-Lib API) + +SparkMaxEncoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/encoders/SwerveAbsoluteEncoder.html b/docs/swervelib/encoders/SwerveAbsoluteEncoder.html index 29ec1da..2739a41 100644 --- a/docs/swervelib/encoders/SwerveAbsoluteEncoder.html +++ b/docs/swervelib/encoders/SwerveAbsoluteEncoder.html @@ -1,17 +1,18 @@ - -SwerveAbsoluteEncoder (YAGSL-Lib API) + +SwerveAbsoluteEncoder + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -81,8 +82,7 @@ loadScripts(document, 'script');
    public abstract class SwerveAbsoluteEncoder extends Object
    -
    Swerve abstraction class to define a standard interface with absolute encoders for swerve - modules..
    +
    Swerve abstraction class to define a standard interface with absolute encoders for swerve modules..
    @@ -101,8 +102,7 @@ loadScripts(document, 'script');
    -
    Swerve abstraction class to define a standard interface with absolute encoders for swerve - modules..
    +
    Swerve abstraction class to define a standard interface with absolute encoders for swerve modules..
    diff --git a/docs/swervelib/encoders/package-tree.html b/docs/swervelib/encoders/package-tree.html index 8228294..d781e0a 100644 --- a/docs/swervelib/encoders/package-tree.html +++ b/docs/swervelib/encoders/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.encoders Class Hierarchy (YAGSL-Lib API) + +swervelib.encoders Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/imu/ADIS16448Swerve.html b/docs/swervelib/imu/ADIS16448Swerve.html index 63abbd9..ad4c750 100644 --- a/docs/swervelib/imu/ADIS16448Swerve.html +++ b/docs/swervelib/imu/ADIS16448Swerve.html @@ -1,17 +1,18 @@ - -ADIS16448Swerve (YAGSL-Lib API) + +ADIS16448Swerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -83,6 +84,28 @@ loadScripts(document, 'script');
    @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -83,6 +84,28 @@ loadScripts(document, 'script');
    @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -83,6 +84,28 @@ loadScripts(document, 'script');
    @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -83,6 +84,28 @@ loadScripts(document, 'script');
    @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -71,21 +72,66 @@ loadScripts(document, 'script');

    Class SwerveDriveOdometry2

    java.lang.Object -
    edu.wpi.first.math.kinematics.Odometry<edu.wpi.first.math.kinematics.SwerveDriveWheelPositions>
    edu.wpi.first.math.kinematics.SwerveDriveOdometry
    swervelib.math.SwerveDriveOdometry2
    -

    public class SwerveDriveOdometry2 extends edu.wpi.first.math.kinematics.SwerveDriveOdometry
    -
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate - estimation. Originally made by Team 1466.
    +
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate estimation. + Originally made by Team 1466.
    @@ -119,73 +120,80 @@ loadScripts(document, 'script');
    Algebraically apply a deadband using a piece wise function.
    -
    static double
    -
    calculateDegreesPerSteeringRotation(double angleGearRatio, - double pulsePerRotation)
    +
    private static double
    +
    calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d angle, + List<Matter> matter, + double robotMass, + SwerveDriveConfiguration config)
    -
    Calculate the degrees per steering rotation for the integrated encoder.
    +
    Calculates the maximum acceleration allowed in a direction without tipping the robot.
    static double
    - +
    calculateDegreesPerSteeringRotation(double angleGearRatio, + double pulsePerRotation)
    -
    Calculate the practical maximum acceleration of the robot using the wheel coefficient of - friction.
    +
    Calculate the degrees per steering rotation for the integrated encoder.
    static double
    -
    calculateMaxAcceleration(double stallTorqueNm, + +
    +
    Calculate the practical maximum acceleration of the robot using the wheel coefficient of friction.
    +
    +
    static double
    +
    calculateMaxAcceleration(double stallTorqueNm, double gearRatio, double moduleCount, double wheelDiameter, double robotMass)
    -
    +
    Calculate the maximum theoretical acceleration without friction.
    -
    static double
    -
    calculateMaxAngularVelocity(double maxSpeed, +
    static double
    +
    calculateMaxAngularVelocity(double maxSpeed, double furthestModuleX, double furthestModuleY)
    -
    +
    Calculate the maximum angular velocity.
    -
    static double
    -
    calculateMetersPerRotation(double wheelDiameter, +
    static double
    +
    calculateMetersPerRotation(double wheelDiameter, double driveGearRatio, double pulsePerRotation)
    -
    +
    Calculate the meters per rotation for the integrated encoder.
    - -
    getSwerveModule(SwerveModule[] modules, + +
    getSwerveModule(SwerveModule[] modules, boolean front, boolean left)
    -
    +
    Get the fruthest module from center based on the module locations.
    -
    static edu.wpi.first.math.geometry.Translation2d
    -
    limitVelocity(edu.wpi.first.math.geometry.Translation2d commandedVelocity, +
    static edu.wpi.first.math.geometry.Translation2d
    +
    limitVelocity(edu.wpi.first.math.geometry.Translation2d commandedVelocity, edu.wpi.first.math.kinematics.ChassisSpeeds fieldVelocity, edu.wpi.first.math.geometry.Pose2d robotPose, double loopTime, double robotMass, List<Matter> matter, SwerveDriveConfiguration config)
    -
    -
    Limits a commanded velocity to prevent exceeding the maximum acceleration given by calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d, java.util.List<swervelib.math.Matter>, double, swervelib.parser.SwerveDriveConfiguration).
    -
    -
    static double
    -
    normalizeAngle(double angle)
    -
    Normalize an angle to be within 0 to 360.
    +
    static double
    -
    placeInAppropriate0To360Scope(double scopeReference, - double newAngle)
    +
    normalizeAngle(double angle)
    +
    Normalize an angle to be within 0 to 360.
    +
    +
    static double
    +
    placeInAppropriate0To360Scope(double scopeReference, + double newAngle)
    +
    Put an angle within the 360 deg scope of a reference.
    -
    static edu.wpi.first.math.geometry.Twist2d
    -
    PoseLog(edu.wpi.first.math.geometry.Pose2d transform)
    -
    +
    static edu.wpi.first.math.geometry.Twist2d
    +
    PoseLog(edu.wpi.first.math.geometry.Pose2d transform)
    +
    Logical inverse of the Pose exponential from 254.
    @@ -225,14 +233,13 @@ loadScripts(document, 'script');
    public static double calculateMetersPerRotation(double wheelDiameter, double driveGearRatio, double pulsePerRotation)
    -
    Calculate the meters per rotation for the integrated encoder. Calculation: 4in diameter wheels - * pi [circumfrence] / gear ratio.
    +
    Calculate the meters per rotation for the integrated encoder. Calculation: 4in diameter wheels * pi [circumfrence] + / gear ratio.
    Parameters:
    wheelDiameter - Wheel diameter in meters.
    driveGearRatio - The gear ratio of the drive motor.
    -
    pulsePerRotation - The number of encoder pulses per rotation. 1 if using an integrated - encoder.
    +
    pulsePerRotation - The number of encoder pulses per rotation. 1 if using an integrated encoder.
    Returns:
    Meters per rotation for the drive motor.
    @@ -273,14 +280,12 @@ loadScripts(document, 'script');

    calculateDegreesPerSteeringRotation

    public static double calculateDegreesPerSteeringRotation(double angleGearRatio, double pulsePerRotation)
    -
    Calculate the degrees per steering rotation for the integrated encoder. Encoder conversion - values. Drive converts motor rotations to linear wheel distance and steering converts motor - rotations to module azimuth.
    +
    Calculate the degrees per steering rotation for the integrated encoder. Encoder conversion values. Drive converts + motor rotations to linear wheel distance and steering converts motor rotations to module azimuth.
    Parameters:
    angleGearRatio - The gear ratio of the steering motor.
    -
    pulsePerRotation - The number of pulses in a complete rotation for the encoder, 1 if - integrated.
    +
    pulsePerRotation - The number of pulses in a complete rotation for the encoder, 1 if integrated.
    Returns:
    Degrees per steering rotation for the angle motor.
    @@ -307,8 +312,7 @@ loadScripts(document, 'script');

    calculateMaxAcceleration

    public static double calculateMaxAcceleration(double cof)
    -
    Calculate the practical maximum acceleration of the robot using the wheel coefficient of - friction.
    +
    Calculate the practical maximum acceleration of the robot using the wheel coefficient of friction.
    Parameters:
    cof - Coefficient of Friction of the wheel grip tape.
    @@ -329,8 +333,7 @@ loadScripts(document, 'script');
    Parameters:
    stallTorqueNm - Stall torque of driving motor in nM.
    -
    gearRatio - Gear ratio for driving motor number of motor rotations until one wheel - rotation.
    +
    gearRatio - Gear ratio for driving motor number of motor rotations until one wheel rotation.
    moduleCount - Number of swerve modules.
    wheelDiameter - Wheel diameter in meters.
    robotMass - Mass of the robot in kg.
    @@ -340,6 +343,27 @@ loadScripts(document, 'script');
  • +
    +

    calcMaxAccel

    +
    private static double calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d angle, + List<Matter> matter, + double robotMass, + SwerveDriveConfiguration config)
    +
    Calculates the maximum acceleration allowed in a direction without tipping the robot. Reads arm position from + NetworkTables and is passed the direction in question.
    +
    +
    Parameters:
    +
    angle - The direction in which to calculate max acceleration, as a Rotation2d. Note that this is + robot-relative.
    +
    matter - Matter that the robot is composed of in kg. (Includes chassis)
    +
    robotMass - The weight of the robot in kg. (Including manipulators, etc).
    +
    config - The swerve drive configuration.
    +
    Returns:
    +
    Maximum acceleration allowed in the robot direction.
    +
    +
    +
  • +
  • PoseLog

    public static edu.wpi.first.math.geometry.Twist2d PoseLog(edu.wpi.first.math.geometry.Pose2d transform)
    @@ -362,20 +386,21 @@ loadScripts(document, 'script'); double robotMass, List<Matter> matter, SwerveDriveConfiguration config)
  • -
    Limits a commanded velocity to prevent exceeding the maximum acceleration given by calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d, java.util.List<swervelib.math.Matter>, double, swervelib.parser.SwerveDriveConfiguration). Note that this takes and returns field-relative velocities.
    +
    Limits a commanded velocity to prevent exceeding the maximum acceleration given by calcMaxAccel(edu.wpi.first.math.geometry.Rotation2d, java.util.List<swervelib.math.Matter>, double, swervelib.parser.SwerveDriveConfiguration). + Note that this takes and returns field-relative velocities.
    Parameters:
    commandedVelocity - The desired velocity
    fieldVelocity - The velocity of the robot within a field relative state.
    robotPose - The current pose of the robot.
    -
    loopTime - The time it takes to update the velocity in seconds. Note: this should - include the 100ms that it takes for a SparkMax velocity to update.
    +
    loopTime - The time it takes to update the velocity in seconds. Note: this should include the + 100ms that it takes for a SparkMax velocity to update.
    matter - Matter that the robot is composed of with position in meters and mass in kg.
    robotMass - The weight of the robot in kg. (Including manipulators, etc).
    config - The swerve drive configuration.
    Returns:
    -
    The limited velocity. This is either the commanded velocity, if attainable, or the - closest attainable velocity.
    +
    The limited velocity. This is either the commanded velocity, if attainable, or the closest attainable + velocity.
    @@ -401,9 +426,8 @@ loadScripts(document, 'script');

    placeInAppropriate0To360Scope

    public static double placeInAppropriate0To360Scope(double scopeReference, double newAngle)
    -
    Put an angle within the 360 deg scope of a reference. For example, given a scope reference of - 756 degrees, assumes the full scope is (720-1080), and places an angle of 22 degrees into it, - returning 742 deg.
    +
    Put an angle within the 360 deg scope of a reference. For example, given a scope reference of 756 degrees, assumes + the full scope is (720-1080), and places an angle of 22 degrees into it, returning 742 deg.
    Parameters:
    scopeReference - Current Angle (deg)
    diff --git a/docs/swervelib/math/SwerveModuleState2.html b/docs/swervelib/math/SwerveModuleState2.html index 25a9a1f..49642a4 100644 --- a/docs/swervelib/math/SwerveModuleState2.html +++ b/docs/swervelib/math/SwerveModuleState2.html @@ -1,17 +1,18 @@ - -SwerveModuleState2 (YAGSL-Lib API) + +SwerveModuleState2 + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -128,8 +129,7 @@ loadScripts(document, 'script');
    SwerveModuleState2(edu.wpi.first.math.kinematics.SwerveModuleState state, double omegaRadPerSecond)
    -
    Create a SwerveModuleState2 based on the SwerveModuleState with the radians per - second defined.
    +
    Create a SwerveModuleState2 based on the SwerveModuleState with the radians per second defined.
    @@ -156,8 +156,8 @@ loadScripts(document, 'script'); SwerveModuleState2 lastState, double moduleSteerFeedForwardClosedLoop)
    -
    Minimize the change in heading the desired swerve module state would require by potentially - reversing the direction the wheel spins.
    +
    Minimize the change in heading the desired swerve module state would require by potentially reversing the direction + the wheel spins.
    edu.wpi.first.math.kinematics.SwerveModuleState
    toSwerveModuleState()
    @@ -226,8 +226,7 @@ loadScripts(document, 'script');

    SwerveModuleState2

    public SwerveModuleState2(edu.wpi.first.math.kinematics.SwerveModuleState state, double omegaRadPerSecond)
    -
    Create a SwerveModuleState2 based on the SwerveModuleState with the radians per - second defined.
    +
    Create a SwerveModuleState2 based on the SwerveModuleState with the radians per second defined.
    Parameters:
    state - First order kinematic module state.
    @@ -250,16 +249,15 @@ loadScripts(document, 'script'); edu.wpi.first.math.geometry.Rotation2d currentAngle, SwerveModuleState2 lastState, double moduleSteerFeedForwardClosedLoop) -
    Minimize the change in heading the desired swerve module state would require by potentially - reversing the direction the wheel spins. If this is used with the PIDController class's - continuous input functionality, the furthest a wheel will ever rotate is 90 degrees.
    +
    Minimize the change in heading the desired swerve module state would require by potentially reversing the direction + the wheel spins. If this is used with the PIDController class's continuous input functionality, the furthest a + wheel will ever rotate is 90 degrees.
    Parameters:
    desiredState - The desired state.
    currentAngle - The current module angle.
    lastState - The last state of the module.
    -
    moduleSteerFeedForwardClosedLoop - The module feed forward closed loop for the angle - motor.
    +
    moduleSteerFeedForwardClosedLoop - The module feed forward closed loop for the angle motor.
    Returns:
    Optimized swerve module state.
    diff --git a/docs/swervelib/math/SwervePoseEstimator2.InterpolationRecord.html b/docs/swervelib/math/SwervePoseEstimator2.InterpolationRecord.html new file mode 100644 index 0000000..98e1b23 --- /dev/null +++ b/docs/swervelib/math/SwervePoseEstimator2.InterpolationRecord.html @@ -0,0 +1,295 @@ + + + + +SwervePoseEstimator2.InterpolationRecord + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class SwervePoseEstimator2.InterpolationRecord

    +
    +
    java.lang.Object +
    swervelib.math.SwervePoseEstimator2.InterpolationRecord
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    edu.wpi.first.math.interpolation.Interpolatable<SwervePoseEstimator2.InterpolationRecord>
    +
    +
    +
    Enclosing class:
    +
    SwervePoseEstimator2
    +
    +
    +
    private class SwervePoseEstimator2.InterpolationRecord +extends Object +implements edu.wpi.first.math.interpolation.Interpolatable<SwervePoseEstimator2.InterpolationRecord>
    +
    Represents an odometry record. The record contains the inputs provided as well as the pose that was observed based + on these inputs, as well as the previous record and its inputs.
    +
    +
    +
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private final edu.wpi.first.math.geometry.Rotation2d
      + +
       
      +
      private final edu.wpi.first.math.geometry.Rotation2d
      + +
       
      +
      private final edu.wpi.first.math.geometry.Rotation2d
      + +
       
      +
      private final edu.wpi.first.math.kinematics.SwerveModulePosition[]
      + +
       
      +
      private final edu.wpi.first.math.geometry.Pose2d
      + +
       
      +
      +
      +
    • + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Modifier
      +
      Constructor
      +
      Description
      +
      private
      +
      InterpolationRecord(edu.wpi.first.math.geometry.Pose2d poseMeters, + edu.wpi.first.math.geometry.Rotation2d gyro, + edu.wpi.first.math.geometry.Rotation2d gyroPitch, + edu.wpi.first.math.geometry.Rotation2d gyroRoll, + edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions)
      +
      +
      Constructs an Interpolation Record with the specified parameters.
      +
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      boolean
      + +
       
      +
      int
      + +
       
      + + +
      +
      Return the interpolated record.
      +
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        poseMeters

        +
        private final edu.wpi.first.math.geometry.Pose2d poseMeters
        +
        +
      • +
      • +
        +

        gyroAngle

        +
        private final edu.wpi.first.math.geometry.Rotation2d gyroAngle
        +
        +
      • +
      • +
        +

        gyroPitch

        +
        private final edu.wpi.first.math.geometry.Rotation2d gyroPitch
        +
        +
      • +
      • +
        +

        gyroRoll

        +
        private final edu.wpi.first.math.geometry.Rotation2d gyroRoll
        +
        +
      • +
      • +
        +

        modulePositions

        +
        private final edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        InterpolationRecord

        +
        private InterpolationRecord(edu.wpi.first.math.geometry.Pose2d poseMeters, + edu.wpi.first.math.geometry.Rotation2d gyro, + edu.wpi.first.math.geometry.Rotation2d gyroPitch, + edu.wpi.first.math.geometry.Rotation2d gyroRoll, + edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions)
        +
        Constructs an Interpolation Record with the specified parameters.
        +
        +
        Parameters:
        +
        poseMeters - The pose observed given the current sensor inputs and the previous pose.
        +
        gyro - The current gyro angle.
        +
        gyroPitch - The current gyro pitch.
        +
        gyroRoll - The current gyro roll.
        +
        modulePositions - The distances and rotations measured at each wheel.
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      + +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/docs/swervelib/math/SwervePoseEstimator2.html b/docs/swervelib/math/SwervePoseEstimator2.html index 6c33d76..e121624 100644 --- a/docs/swervelib/math/SwervePoseEstimator2.html +++ b/docs/swervelib/math/SwervePoseEstimator2.html @@ -1,17 +1,18 @@ - -SwervePoseEstimator2 (YAGSL-Lib API) + +SwervePoseEstimator2 + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -43,14 +44,14 @@ loadScripts(document, 'script');
    @@ -77,11 +78,70 @@ loadScripts(document, 'script');
    public class SwervePoseEstimator2 extends Object
    -
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to - achieve a more accurate estimation, originally made by Team 1466.
    +
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to achieve a more + accurate estimation, originally made by Team 1466.
      + +
    • +
      +

      Nested Class Summary

      +
      Nested Classes
      +
      +
      Modifier and Type
      +
      Class
      +
      Description
      +
      private class 
      + +
      +
      Represents an odometry record.
      +
      +
      +
      +
    • + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private final edu.wpi.first.math.kinematics.SwerveDriveKinematics
      + +
      +
      Swerve drive kinematics.
      +
      +
      private final int
      + +
      +
      Number of swerve modules.
      +
      +
      private final SwerveDriveOdometry2
      + +
      +
      Enhanced swerve drive odometry.
      +
      +
      private final edu.wpi.first.math.interpolation.TimeInterpolatableBuffer<SwervePoseEstimator2.InterpolationRecord>
      + +
      +
      Interpolation buffer.
      +
      +
      private final edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
      + +
      +
      Matrix quotient.
      +
      +
      private final edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N3>
      + +
      +
      Vision standard deviations.
      +
      +
      +
      +
    • @@ -95,8 +155,7 @@ loadScripts(document, 'script'); edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions, edu.wpi.first.math.geometry.Pose2d initialPoseMeters)
    -
    Constructs a SwerveDrivePoseEstimator with default standard deviations for the model and vision - measurements.
    +
    Constructs a SwerveDrivePoseEstimator with default standard deviations for the model and vision measurements.
    SwervePoseEstimator2(edu.wpi.first.math.kinematics.SwerveDriveKinematics kinematics, edu.wpi.first.math.geometry.Rotation2d gyroAngle, @@ -180,6 +239,56 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        m_kinematics

        +
        private final edu.wpi.first.math.kinematics.SwerveDriveKinematics m_kinematics
        +
        Swerve drive kinematics.
        +
        +
      • +
      • +
        +

        m_odometry

        +
        private final SwerveDriveOdometry2 m_odometry
        +
        Enhanced swerve drive odometry.
        +
        +
      • +
      • +
        +

        m_q

        +
        private final edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> m_q
        +
        Matrix quotient.
        +
        +
      • +
      • +
        +

        m_numModules

        +
        private final int m_numModules
        +
        Number of swerve modules.
        +
        +
      • +
      • +
        +

        m_poseBuffer

        +
        private final edu.wpi.first.math.interpolation.TimeInterpolatableBuffer<SwervePoseEstimator2.InterpolationRecord> m_poseBuffer
        +
        Interpolation buffer.
        +
        +
      • +
      • +
        +

        m_visionK

        +
        private final edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N3> m_visionK
        +
        Vision standard deviations.
        +
        +
      • +
      +
      +
    • @@ -192,12 +301,11 @@ loadScripts(document, 'script'); edu.wpi.first.math.geometry.Rotation2d gyroAngle, edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions, edu.wpi.first.math.geometry.Pose2d initialPoseMeters)
    -
    Constructs a SwerveDrivePoseEstimator with default standard deviations for the model and vision - measurements. +
    Constructs a SwerveDrivePoseEstimator with default standard deviations for the model and vision measurements.

    The default standard deviations of the model states are 0.1 meters for x, 0.1 meters for y, - and 0.1 radians for heading. The default standard deviations of the vision measurements are 0.9 - meters for x, 0.9 meters for y, and 0.9 radians for heading.

    + and 0.1 radians for heading. The default standard deviations of the vision measurements are 0.9 meters for x, 0.9 + meters for y, and 0.9 radians for heading.
    Parameters:
    kinematics - A correctly-configured kinematics object for your drivetrain.
    @@ -223,12 +331,12 @@ loadScripts(document, 'script');
    gyroAngle - The current gyro angle.
    modulePositions - The current distance and rotation measurements of the swerve modules.
    initialPoseMeters - The starting pose estimate.
    -
    stateStdDevs - Standard deviations of the pose estimate (x position in meters, y position - in meters, and heading in radians). Increase these numbers to trust your state estimate - less.
    -
    visionMeasurementStdDevs - Standard deviations of the vision pose measurement (x position - in meters, y position in meters, and heading in radians). Increase these numbers to trust - the vision pose measurement less.
    +
    stateStdDevs - Standard deviations of the pose estimate (x position in meters, y position in + meters, and heading in radians). Increase these numbers to trust your state + estimate less.
    +
    visionMeasurementStdDevs - Standard deviations of the vision pose measurement (x position in meters, y + position in meters, and heading in radians). Increase these numbers to trust the + vision pose measurement less.
    @@ -244,14 +352,13 @@ loadScripts(document, 'script');

    setVisionMeasurementStdDevs

    public void setVisionMeasurementStdDevs(edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> visionMeasurementStdDevs)
    -
    Sets the pose estimator's trust of global measurements. This might be used to change trust in - vision measurements after the autonomous period, or to change trust as distance to a vision - target increases.
    +
    Sets the pose estimator's trust of global measurements. This might be used to change trust in vision measurements + after the autonomous period, or to change trust as distance to a vision target increases.
    Parameters:
    -
    visionMeasurementStdDevs - Standard deviations of the vision measurements. Increase these - numbers to trust global measurements from vision less. This matrix is in the form [x, y, - theta]^T, with units in meters and radians.
    +
    visionMeasurementStdDevs - Standard deviations of the vision measurements. Increase these numbers to trust + global measurements from vision less. This matrix is in the form [x, y, theta]^T, + with units in meters and radians.
    @@ -289,23 +396,23 @@ loadScripts(document, 'script');

    addVisionMeasurement

    public void addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d visionRobotPoseMeters, double timestampSeconds)
    -
    Adds a vision measurement to the Kalman Filter. This will correct the odometry pose estimate - while still accounting for measurement noise. +
    Adds a vision measurement to the Kalman Filter. This will correct the odometry pose estimate while still accounting + for measurement noise.

    This method can be called as infrequently as you want, as long as you are calling SwerveDrivePoseEstimator.update(edu.wpi.first.math.geometry.Rotation2d, edu.wpi.first.math.kinematics.SwerveModulePosition[]) every loop.

    To promote stability of the pose estimate and make it robust to bad vision data, we - recommend only adding vision measurements that are already within one meter or so of the - current pose estimate.

    + recommend only adding vision measurements that are already within one meter or so of the current pose estimate.
    Parameters:
    visionRobotPoseMeters - The pose of the robot as measured by the vision camera.
    -
    timestampSeconds - The timestamp of the vision measurement in seconds. Note that if you - don't use your own time source by calling SwerveDrivePoseEstimator.updateWithTime(double, Rotation2d, SwerveModulePosition[]) then - you must use a timestamp with an epoch since FPGA startup (i.e., the epoch of this - timestamp is the same epoch as Timer.getFPGATimestamp().) - This means that you should use Timer.getFPGATimestamp() as - your time source or sync the epochs.
    +
    timestampSeconds - The timestamp of the vision measurement in seconds. Note that if you don't use your + own time source by calling + SwerveDrivePoseEstimator.updateWithTime(double, Rotation2d, SwerveModulePosition[]) then you must use a timestamp with an epoch since FPGA + startup (i.e., the epoch of this timestamp is the same epoch as + Timer.getFPGATimestamp().) This means that you should + use Timer.getFPGATimestamp() as your time source or sync + the epochs.
    @@ -315,29 +422,30 @@ loadScripts(document, 'script');
    public void addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d visionRobotPoseMeters, double timestampSeconds, edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1> visionMeasurementStdDevs)
    -
    Adds a vision measurement to the Kalman Filter. This will correct the odometry pose estimate - while still accounting for measurement noise. +
    Adds a vision measurement to the Kalman Filter. This will correct the odometry pose estimate while still accounting + for measurement noise.

    This method can be called as infrequently as you want, as long as you are calling SwerveDrivePoseEstimator.update(edu.wpi.first.math.geometry.Rotation2d, edu.wpi.first.math.kinematics.SwerveModulePosition[]) every loop.

    To promote stability of the pose estimate and make it robust to bad vision data, we - recommend only adding vision measurements that are already within one meter or so of the - current pose estimate. + recommend only adding vision measurements that are already within one meter or so of the current pose estimate.

    Note that the vision measurement standard deviations passed into this method will continue - to apply to future measurements until a subsequent call to PoseEstimator.setVisionMeasurementStdDevs(Matrix) or this method.

    + to apply to future measurements until a subsequent call to + SwerveDrivePoseEstimator.setVisionMeasurementStdDevs(Matrix) or this method.
    Parameters:
    visionRobotPoseMeters - The pose of the robot as measured by the vision camera.
    -
    timestampSeconds - The timestamp of the vision measurement in seconds. Note that if you - don't use your own time source by calling SwerveDrivePoseEstimator.updateWithTime(double, Rotation2d, SwerveModulePosition[]), then - you must use a timestamp with an epoch since FPGA startup (i.e., the epoch of this - timestamp is the same epoch as Timer.getFPGATimestamp()). - This means that you should use Timer.getFPGATimestamp() as - your time source in this case.
    -
    visionMeasurementStdDevs - Standard deviations of the vision pose measurement (x position - in meters, y position in meters, and heading in radians). Increase these numbers to trust - the vision pose measurement less.
    +
    timestampSeconds - The timestamp of the vision measurement in seconds. Note that if you don't use your + own time source by calling + SwerveDrivePoseEstimator.updateWithTime(double, Rotation2d, SwerveModulePosition[]), then you must use a timestamp with an epoch since FPGA + startup (i.e., the epoch of this timestamp is the same epoch as + Timer.getFPGATimestamp()). This means that you should + use Timer.getFPGATimestamp() as your time source in + this case.
    +
    visionMeasurementStdDevs - Standard deviations of the vision pose measurement (x position in meters, y + position in meters, and heading in radians). Increase these numbers to trust the + vision pose measurement less.
    @@ -348,8 +456,7 @@ loadScripts(document, 'script'); edu.wpi.first.math.geometry.Rotation2d gyroPitch, edu.wpi.first.math.geometry.Rotation2d gyroRoll, edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions) -
    Updates the pose estimator with wheel encoder and gyro information. This should be called every - loop.
    +
    Updates the pose estimator with wheel encoder and gyro information. This should be called every loop.
    Parameters:
    gyroAngle - The current gyro angle.
    @@ -369,8 +476,7 @@ loadScripts(document, 'script'); edu.wpi.first.math.geometry.Rotation2d gyroPitch, edu.wpi.first.math.geometry.Rotation2d gyroRoll, edu.wpi.first.math.kinematics.SwerveModulePosition[] modulePositions) -
    Updates the pose estimator with wheel encoder and gyro information. This should be called every - loop.
    +
    Updates the pose estimator with wheel encoder and gyro information. This should be called every loop.
    Parameters:
    currentTimeSeconds - Time at which this method was called, in seconds.
    diff --git a/docs/swervelib/math/package-summary.html b/docs/swervelib/math/package-summary.html index 8620a2e..40af332 100644 --- a/docs/swervelib/math/package-summary.html +++ b/docs/swervelib/math/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.math (YAGSL-Lib API) + +swervelib.math + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -60,7 +61,8 @@ loadScripts(document, 'script');
    package swervelib.math
    -
    Mathematics for swerve drives. Original second order kinematics was developed by Team 3181 here. +
    @@ -90,13 +92,12 @@ loadScripts(document, 'script');
    -
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate - estimation.
    +
    Clone of SwerveDriveOdometry except uses gyro pitch and roll to achieve a more accurate estimation.
    -
    Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules - states from chassis speed.
    +
    Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules states from chassis + speed.
    @@ -108,8 +109,8 @@ loadScripts(document, 'script');
    -
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to - achieve a more accurate estimation, originally made by Team 1466.
    +
    Clone of SwerveDrivePoseEstimator which takes into account gyroscope pitch and roll to achieve a more + accurate estimation, originally made by Team 1466.
    diff --git a/docs/swervelib/math/package-tree.html b/docs/swervelib/math/package-tree.html index dfa10c5..ff7a45d 100644 --- a/docs/swervelib/math/package-tree.html +++ b/docs/swervelib/math/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.math Class Hierarchy (YAGSL-Lib API) + +swervelib.math Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -59,20 +60,16 @@ loadScripts(document, 'script');
  • java.lang.Object
    • swervelib.math.Matter
    • -
    • edu.wpi.first.math.kinematics.Odometry<T> +
    • edu.wpi.first.math.kinematics.SwerveDriveKinematics +
    • edu.wpi.first.math.kinematics.SwerveDriveOdometry
    • -
    -
  • -
  • edu.wpi.first.math.kinematics.SwerveDriveKinematics (implements edu.wpi.first.math.kinematics.Kinematics<S,P>) - -
  • swervelib.math.SwerveMath
  • edu.wpi.first.math.kinematics.SwerveModuleState (implements java.lang.Comparable<T>)
      @@ -80,6 +77,7 @@ loadScripts(document, 'script');
  • swervelib.math.SwervePoseEstimator2
  • +
  • swervelib.math.SwervePoseEstimator2.InterpolationRecord (implements edu.wpi.first.math.interpolation.Interpolatable<T>)
  • diff --git a/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html b/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html index 2758b20..7e1176c 100644 --- a/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html +++ b/docs/swervelib/motors/SparkMaxBrushedMotorSwerve.html @@ -1,17 +1,18 @@ - -SparkMaxBrushedMotorSwerve (YAGSL-Lib API) + +SparkMaxBrushedMotorSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -102,14 +103,19 @@ loadScripts(document, 'script');
    Integrated encoder.
    -
    com.revrobotics.CANSparkMax
    - +
    private boolean
    +
    +
    Factory default already occurred.
    +
    +
    com.revrobotics.CANSparkMax
    + +
    SparkMAX Instance.
    -
    com.revrobotics.SparkMaxPIDController
    - -
    +
    com.revrobotics.SparkMaxPIDController
    + +
    Closed-loop PID controller.
    @@ -229,8 +235,8 @@ loadScripts(document, 'script');
    void
    setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    void
    setInverted(boolean inverted)
    @@ -315,6 +321,13 @@ loadScripts(document, 'script');
    Closed-loop PID controller.
    +
  • +
    +

    factoryDefaultOccurred

    +
    private boolean factoryDefaultOccurred
    +
    Factory default already occurred.
    +
    +
  • @@ -337,10 +350,8 @@ loadScripts(document, 'script');
    motor - The SwerveMotor as a SparkMax object.
    isDriveMotor - Is the motor being initialized a drive motor?
    encoderType - SparkMaxRelativeEncoder.Type of encoder to use for the CANSparkMax device.
    -
    countsPerRevolution - The number of encoder pulses for the SparkMaxRelativeEncoder.Type encoder per - revolution.
    -
    useDataPortQuadEncoder - Use the encoder attached to the data port of the spark max for a - quadrature encoder.
    +
    countsPerRevolution - The number of encoder pulses for the SparkMaxRelativeEncoder.Type encoder per revolution.
    +
    useDataPortQuadEncoder - Use the encoder attached to the data port of the spark max for a quadrature encoder.
    @@ -358,10 +369,8 @@ loadScripts(document, 'script');
    id - CAN ID of the SparkMax.
    isDriveMotor - Is the motor being initialized a drive motor?
    encoderType - SparkMaxRelativeEncoder.Type of encoder to use for the CANSparkMax device.
    -
    countsPerRevolution - The number of encoder pulses for the SparkMaxRelativeEncoder.Type encoder per - revolution.
    -
    useDataPortQuadEncoder - Use the encoder attached to the data port of the spark max for a - quadrature encoder.
    +
    countsPerRevolution - The number of encoder pulses for the SparkMaxRelativeEncoder.Type encoder per revolution.
    +
    useDataPortQuadEncoder - Use the encoder attached to the data port of the spark max for a quadrature encoder.
    @@ -390,8 +399,8 @@ loadScripts(document, 'script');

    setCurrentLimit

    public void setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation. This is useful to protect the motor from current spikes.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation. This is useful to protect the motor from current spikes.
    Specified by:
    setCurrentLimit in class SwerveMotor
    @@ -480,8 +489,7 @@ loadScripts(document, 'script');

    configureIntegratedEncoder

    public void configureIntegratedEncoder(double positionConversionFactor)
    -
    Configure the integrated encoder for the swerve module. Sets the conversion factors for - position and velocity.
    +
    Configure the integrated encoder for the swerve module. Sets the conversion factors for position and velocity.
    Specified by:
    configureIntegratedEncoder in class SwerveMotor
    diff --git a/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html b/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html new file mode 100644 index 0000000..4d423ba --- /dev/null +++ b/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html @@ -0,0 +1,268 @@ + + + + +SparkMaxSwerve.SparkMAX_slotIdx + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Enum Class SparkMaxSwerve.SparkMAX_slotIdx

    +
    +
    java.lang.Object +
    java.lang.Enum<SparkMaxSwerve.SparkMAX_slotIdx> +
    swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<SparkMaxSwerve.SparkMAX_slotIdx>, Constable
    +
    +
    +
    Enclosing class:
    +
    SparkMaxSwerve
    +
    +
    +
    static enum SparkMaxSwerve.SparkMAX_slotIdx +extends Enum<SparkMaxSwerve.SparkMAX_slotIdx>
    +
    REV Slots for PID configuration.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      + +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SparkMAX_slotIdx

        +
        private SparkMAX_slotIdx()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        public static SparkMaxSwerve.SparkMAX_slotIdx[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        public static SparkMaxSwerve.SparkMAX_slotIdx valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/docs/swervelib/motors/SparkMaxSwerve.html b/docs/swervelib/motors/SparkMaxSwerve.html index 1bc95a5..948c2cd 100644 --- a/docs/swervelib/motors/SparkMaxSwerve.html +++ b/docs/swervelib/motors/SparkMaxSwerve.html @@ -1,17 +1,18 @@ - -SparkMaxSwerve (YAGSL-Lib API) + +SparkMaxSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -43,7 +44,7 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Nested Class Summary

      +
      Nested Classes
      +
      +
      Modifier and Type
      +
      Class
      +
      Description
      +
      (package private) static enum 
      + +
      +
      REV Slots for PID configuration.
      +
      +
      +
      +
    • @@ -102,14 +120,19 @@ loadScripts(document, 'script');
      Integrated encoder.
      -
      com.revrobotics.CANSparkMax
      - +
      private boolean
      +
      +
      Factory default already occurred.
      +
      +
      com.revrobotics.CANSparkMax
      + +
      SparkMAX Instance.
      -
      com.revrobotics.SparkMaxPIDController
      - -
      +
      com.revrobotics.SparkMaxPIDController
      + +
      Closed-loop PID controller.
      @@ -223,8 +246,8 @@ loadScripts(document, 'script');
      void
      setCurrentLimit(int currentLimit)
      -
      Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation.
      +
      Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
      void
      setInverted(boolean inverted)
      @@ -309,6 +332,13 @@ loadScripts(document, 'script');
      Closed-loop PID controller.
    • +
    • +
      +

      factoryDefaultOccurred

      +
      private boolean factoryDefaultOccurred
      +
      Factory default already occurred.
      +
      +
    @@ -368,8 +398,8 @@ loadScripts(document, 'script');

    setCurrentLimit

    public void setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation. This is useful to protect the motor from current spikes.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation. This is useful to protect the motor from current spikes.
    Specified by:
    setCurrentLimit in class SwerveMotor
    @@ -458,8 +488,7 @@ loadScripts(document, 'script');

    configureIntegratedEncoder

    public void configureIntegratedEncoder(double positionConversionFactor)
    -
    Configure the integrated encoder for the swerve module. Sets the conversion factors for - position and velocity.
    +
    Configure the integrated encoder for the swerve module. Sets the conversion factors for position and velocity.
    Specified by:
    configureIntegratedEncoder in class SwerveMotor
    diff --git a/docs/swervelib/motors/SwerveMotor.html b/docs/swervelib/motors/SwerveMotor.html index 12b7364..e2726f3 100644 --- a/docs/swervelib/motors/SwerveMotor.html +++ b/docs/swervelib/motors/SwerveMotor.html @@ -1,17 +1,18 @@ - -SwerveMotor (YAGSL-Lib API) + +SwerveMotor + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -190,8 +191,8 @@ loadScripts(document, 'script');
    abstract void
    setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    abstract void
    setInverted(boolean inverted)
    @@ -308,8 +309,7 @@ loadScripts(document, 'script');

    configureIntegratedEncoder

    public abstract void configureIntegratedEncoder(double positionConversionFactor)
    -
    Configure the integrated encoder for the swerve module. Sets the conversion factors for - position and velocity.
    +
    Configure the integrated encoder for the swerve module. Sets the conversion factors for position and velocity.
    Parameters:
    positionConversionFactor - The conversion factor to apply for position.
    @@ -456,8 +456,8 @@ loadScripts(document, 'script');

    setCurrentLimit

    public abstract void setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation. This is useful to protect the motor from current spikes.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation. This is useful to protect the motor from current spikes.
    Parameters:
    currentLimit - Current limit in AMPS at free speed.
    diff --git a/docs/swervelib/motors/TalonFXSwerve.html b/docs/swervelib/motors/TalonFXSwerve.html index 1b5722e..3c838ab 100644 --- a/docs/swervelib/motors/TalonFXSwerve.html +++ b/docs/swervelib/motors/TalonFXSwerve.html @@ -1,17 +1,18 @@ - -TalonFXSwerve (YAGSL-Lib API) + +TalonFXSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -50,7 +51,7 @@ loadScripts(document, 'script'); @@ -87,6 +88,47 @@ loadScripts(document, 'script');
  • Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final boolean
    + +
    +
    Whether the absolute encoder is integrated.
    +
    +
    private boolean
    + +
    +
    If the TalonFX configuration has changed.
    +
    +
    private final com.ctre.phoenix.motorcontrol.can.TalonFXConfiguration
    + +
    +
    Current TalonFX configuration.
    +
    +
    private final boolean
    + +
    +
    Factory default already occurred.
    +
    +
    (package private) com.ctre.phoenix.motorcontrol.can.WPI_TalonFX
    + +
    +
    TalonFX motor controller.
    +
    +
    private double
    + +
    +
    Nominal voltage default to use with feedforward.
    +
    +
    private double
    + +
    +
    The position conversion factor to convert raw sensor units to Meters Per 100ms, or Ticks to Degrees.
    +
    +

    Fields inherited from class swervelib.motors.SwerveMotor

    isDriveMotor
    @@ -220,8 +262,8 @@ loadScripts(document, 'script');
    void
    setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    void
    setInverted(boolean inverted)
    @@ -273,6 +315,79 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        factoryDefaultOccurred

        +
        private final boolean factoryDefaultOccurred
        +
        Factory default already occurred.
        +
        +
        See Also:
        +
        + +
        +
        +
        +
      • +
      • +
        +

        configuration

        +
        private final com.ctre.phoenix.motorcontrol.can.TalonFXConfiguration configuration
        +
        Current TalonFX configuration.
        +
        +
      • +
      • +
        +

        absoluteEncoder

        +
        private final boolean absoluteEncoder
        +
        Whether the absolute encoder is integrated.
        +
        +
        See Also:
        +
        + +
        +
        +
        +
      • +
      • +
        +

        motor

        +
        com.ctre.phoenix.motorcontrol.can.WPI_TalonFX motor
        +
        TalonFX motor controller.
        +
        +
      • +
      • +
        +

        positionConversionFactor

        +
        private double positionConversionFactor
        +
        The position conversion factor to convert raw sensor units to Meters Per 100ms, or Ticks to Degrees.
        +
        +
      • +
      • +
        +

        configChanged

        +
        private boolean configChanged
        +
        If the TalonFX configuration has changed.
        +
        +
      • +
      • +
        +

        nominalVoltage

        +
        private double nominalVoltage
        +
        Nominal voltage default to use with feedforward.
        +
        +
      • +
      +
      +
    • @@ -368,21 +483,20 @@ loadScripts(document, 'script');

      configureIntegratedEncoder

      public void configureIntegratedEncoder(double positionConversionFactor)
      -
      Configure the integrated encoder for the swerve module. Sets the conversion factors for - position and velocity.
      +
      Configure the integrated encoder for the swerve module. Sets the conversion factors for position and velocity.
      Specified by:
      configureIntegratedEncoder in class SwerveMotor
      Parameters:
      positionConversionFactor - The conversion factor to apply for position. -


      - Degrees:
      - +


      + Degrees:
      + 360 / (angleGearRatio * encoderTicksPerRotation)
      -


      - Meters:
      - +


      + Meters:
      + (Math.PI * wheelDiameter) / (driveGearRatio * encoderTicksPerRotation)

      @@ -417,8 +531,8 @@ loadScripts(document, 'script');
      Parameters:
      CANStatus1 - Applied Motor Output, Fault Information, Limit Switch Information
      -
      CANStatus2 - Selected Sensor Position (PID 0), Selected Sensor Velocity (PID 0), Brushed - Supply Current Measurement, Sticky Fault Information
      +
      CANStatus2 - Selected Sensor Position (PID 0), Selected Sensor Velocity (PID 0), Brushed Supply Current + Measurement, Sticky Fault Information
      CANStatus3 - Quadrature Information
      CANStatus4 - Analog Input, Supply Battery Voltage, Controller Temperature
      CANStatus8 - Pulse Width Information
      @@ -427,8 +541,7 @@ loadScripts(document, 'script');
      CANStatus13 - PID0 (Primary PID) Information
      CANStatus14 - PID1 (Auxiliary PID) Information
      CANStatus21 - Integrated Sensor Position (Talon FX), Integrated Sensor Velocity (Talon FX)
      -
      CANStatusCurrent - Brushless Supply Current Measurement, Brushless Stator Current - Measurement
      +
      CANStatusCurrent - Brushless Supply Current Measurement, Brushless Stator Current Measurement
    • @@ -613,8 +726,8 @@ loadScripts(document, 'script');

      setCurrentLimit

      public void setCurrentLimit(int currentLimit)
      -
      Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation. This is useful to protect the motor from current spikes.
      +
      Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation. This is useful to protect the motor from current spikes.
      Specified by:
      setCurrentLimit in class SwerveMotor
      diff --git a/docs/swervelib/motors/TalonSRXSwerve.html b/docs/swervelib/motors/TalonSRXSwerve.html index 5cc8c74..413f341 100644 --- a/docs/swervelib/motors/TalonSRXSwerve.html +++ b/docs/swervelib/motors/TalonSRXSwerve.html @@ -1,17 +1,18 @@ - -TalonSRXSwerve (YAGSL-Lib API) + +TalonSRXSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    @@ -50,7 +51,7 @@ loadScripts(document, 'script'); @@ -87,6 +88,47 @@ loadScripts(document, 'script');
  • Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final boolean
    + +
    +
    Whether the absolute encoder is integrated.
    +
    +
    private boolean
    + +
    +
    If the TalonFX configuration has changed.
    +
    +
    private final com.ctre.phoenix.motorcontrol.can.TalonSRXConfiguration
    + +
    +
    Current TalonFX configuration.
    +
    +
    private final boolean
    + +
    +
    Factory default already occurred.
    +
    +
    (package private) com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX
    + +
    +
    TalonSRX motor controller.
    +
    +
    private double
    + +
    +
    Nominal voltage default to use with feedforward.
    +
    +
    private double
    + +
    +
    The position conversion factor to convert raw sensor units to Meters Per 100ms, or Ticks to Degrees.
    +
    +

    Fields inherited from class swervelib.motors.SwerveMotor

    isDriveMotor
    @@ -214,8 +256,8 @@ loadScripts(document, 'script');
    void
    setCurrentLimit(int currentLimit)
    -
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation.
    +
    Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation.
    void
    setInverted(boolean inverted)
    @@ -267,6 +309,79 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        factoryDefaultOccurred

        +
        private final boolean factoryDefaultOccurred
        +
        Factory default already occurred.
        +
        +
        See Also:
        +
        + +
        +
        +
        +
      • +
      • +
        +

        configuration

        +
        private final com.ctre.phoenix.motorcontrol.can.TalonSRXConfiguration configuration
        +
        Current TalonFX configuration.
        +
        +
      • +
      • +
        +

        absoluteEncoder

        +
        private final boolean absoluteEncoder
        +
        Whether the absolute encoder is integrated.
        +
        +
        See Also:
        +
        + +
        +
        +
        +
      • +
      • +
        +

        motor

        +
        com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX motor
        +
        TalonSRX motor controller.
        +
        +
      • +
      • +
        +

        positionConversionFactor

        +
        private double positionConversionFactor
        +
        The position conversion factor to convert raw sensor units to Meters Per 100ms, or Ticks to Degrees.
        +
        +
      • +
      • +
        +

        configChanged

        +
        private boolean configChanged
        +
        If the TalonFX configuration has changed.
        +
        +
      • +
      • +
        +

        nominalVoltage

        +
        private double nominalVoltage
        +
        Nominal voltage default to use with feedforward.
        +
        +
      • +
      +
      +
    • @@ -347,21 +462,20 @@ loadScripts(document, 'script');

      configureIntegratedEncoder

      public void configureIntegratedEncoder(double positionConversionFactor)
      -
      Configure the integrated encoder for the swerve module. Sets the conversion factors for - position and velocity.
      +
      Configure the integrated encoder for the swerve module. Sets the conversion factors for position and velocity.
      Specified by:
      configureIntegratedEncoder in class SwerveMotor
      Parameters:
      positionConversionFactor - The conversion factor to apply for position. -


      - Degrees:
      - +


      + Degrees:
      + 360 / (angleGearRatio * encoderTicksPerRotation)
      -


      - Meters:
      - +


      + Meters:
      + (Math.PI * wheelDiameter) / (driveGearRatio * encoderTicksPerRotation)

      @@ -396,8 +510,8 @@ loadScripts(document, 'script');
      Parameters:
      CANStatus1 - Applied Motor Output, Fault Information, Limit Switch Information
      -
      CANStatus2 - Selected Sensor Position (PID 0), Selected Sensor Velocity (PID 0), Brushed - Supply Current Measurement, Sticky Fault Information
      +
      CANStatus2 - Selected Sensor Position (PID 0), Selected Sensor Velocity (PID 0), Brushed Supply Current + Measurement, Sticky Fault Information
      CANStatus3 - Quadrature Information
      CANStatus4 - Analog Input, Supply Battery Voltage, Controller Temperature
      CANStatus8 - Pulse Width Information
      @@ -406,8 +520,7 @@ loadScripts(document, 'script');
      CANStatus13 - PID0 (Primary PID) Information
      CANStatus14 - PID1 (Auxiliary PID) Information
      CANStatus21 - Integrated Sensor Position (Talon FX), Integrated Sensor Velocity (Talon FX)
      -
      CANStatusCurrent - Brushless Supply Current Measurement, Brushless Stator Current - Measurement
      +
      CANStatusCurrent - Brushless Supply Current Measurement, Brushless Stator Current Measurement
    • @@ -592,8 +705,8 @@ loadScripts(document, 'script');

      setCurrentLimit

      public void setCurrentLimit(int currentLimit)
      -
      Set the current limit for the swerve drive motor, remember this may cause jumping if used in - conjunction with voltage compensation. This is useful to protect the motor from current spikes.
      +
      Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with + voltage compensation. This is useful to protect the motor from current spikes.
      Specified by:
      setCurrentLimit in class SwerveMotor
      diff --git a/docs/swervelib/motors/package-summary.html b/docs/swervelib/motors/package-summary.html index c16f0ad..2a4e95b 100644 --- a/docs/swervelib/motors/package-summary.html +++ b/docs/swervelib/motors/package-summary.html @@ -1,21 +1,26 @@ - -swervelib.motors (YAGSL-Lib API) + +swervelib.motors + - + -
    @@ -79,8 +84,9 @@ loadScripts(document, 'script');
  • -
    Classes
    -
    +
    +
    +
    Class
    Description
    @@ -91,20 +97,25 @@ loadScripts(document, 'script');
    An implementation of CANSparkMax as a SwerveMotor.
    - -
    + +
    +
    REV Slots for PID configuration.
    +
    + +
    Swerve motor abstraction which defines a standard interface for motors within a swerve module.
    - -
    + +
    TalonFX Swerve Motor.
    - -
    + +
    WPI_TalonSRX Swerve Motor.
    +
  • diff --git a/docs/swervelib/motors/package-tree.html b/docs/swervelib/motors/package-tree.html index 43c71b6..d40c168 100644 --- a/docs/swervelib/motors/package-tree.html +++ b/docs/swervelib/motors/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.motors Class Hierarchy (YAGSL-Lib API) + +swervelib.motors Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -70,6 +71,20 @@ loadScripts(document, 'script');
    +
    +

    Enum Class Hierarchy

    + +
    diff --git a/docs/swervelib/package-summary.html b/docs/swervelib/package-summary.html index 2a8261e..99c8623 100644 --- a/docs/swervelib/package-summary.html +++ b/docs/swervelib/package-summary.html @@ -1,17 +1,18 @@ - -swervelib (YAGSL-Lib API) + +swervelib + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/package-tree.html b/docs/swervelib/package-tree.html index 20a8dc9..a43eb08 100644 --- a/docs/swervelib/package-tree.html +++ b/docs/swervelib/package-tree.html @@ -1,17 +1,18 @@ - -swervelib Class Hierarchy (YAGSL-Lib API) + +swervelib Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/PIDFConfig.html b/docs/swervelib/parser/PIDFConfig.html index a1f7f6c..6c21e69 100644 --- a/docs/swervelib/parser/PIDFConfig.html +++ b/docs/swervelib/parser/PIDFConfig.html @@ -1,17 +1,18 @@ - -PIDFConfig (YAGSL-Lib API) + +PIDFConfig + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/SwerveControllerConfiguration.html b/docs/swervelib/parser/SwerveControllerConfiguration.html index 9ef1616..20b60f7 100644 --- a/docs/swervelib/parser/SwerveControllerConfiguration.html +++ b/docs/swervelib/parser/SwerveControllerConfiguration.html @@ -1,17 +1,18 @@ - -SwerveControllerConfiguration (YAGSL-Lib API) + +SwerveControllerConfiguration + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -205,8 +206,8 @@ loadScripts(document, 'script');

    SwerveControllerConfiguration

    public SwerveControllerConfiguration(SwerveDriveConfiguration driveCfg, PIDFConfig headingPIDF)
    -
    Construct the swerve controller configuration. Assumes hypotenuse deadband of 0.5 (minimum - radius for angle to be set on angle joystick is .5 of the controller).
    +
    Construct the swerve controller configuration. Assumes hypotenuse deadband of 0.5 (minimum radius for angle to be + set on angle joystick is .5 of the controller).
    Parameters:
    driveCfg - Drive configuration.
    diff --git a/docs/swervelib/parser/SwerveDriveConfiguration.html b/docs/swervelib/parser/SwerveDriveConfiguration.html index bef1fa4..90214f0 100644 --- a/docs/swervelib/parser/SwerveDriveConfiguration.html +++ b/docs/swervelib/parser/SwerveDriveConfiguration.html @@ -1,17 +1,18 @@ - -SwerveDriveConfiguration (YAGSL-Lib API) + +SwerveDriveConfiguration + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/SwerveModuleConfiguration.html b/docs/swervelib/parser/SwerveModuleConfiguration.html index a84b687..d0d8660 100644 --- a/docs/swervelib/parser/SwerveModuleConfiguration.html +++ b/docs/swervelib/parser/SwerveModuleConfiguration.html @@ -1,17 +1,18 @@ - -SwerveModuleConfiguration (YAGSL-Lib API) + +SwerveModuleConfiguration + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -396,8 +397,7 @@ loadScripts(document, 'script');
    velocityPIDF - Velocity PIDF configuration.
    maxSpeed - Maximum speed in meters per second.
    physicalCharacteristics - Physical characteristics of the swerve module.
    -
    angleMotorEncoderPulsePerRevolution - The encoder pulse per revolution for the angle motor - encoder.
    +
    angleMotorEncoderPulsePerRevolution - The encoder pulse per revolution for the angle motor encoder.
    name - The name for the swerve module.
    @@ -416,8 +416,8 @@ loadScripts(document, 'script'); double maxSpeed, SwerveModulePhysicalCharacteristics physicalCharacteristics, String name) -
    Construct a configuration object for swerve modules. Assumes the absolute encoder and drive - motor are not inverted.
    +
    Construct a configuration object for swerve modules. Assumes the absolute encoder and drive motor are not + inverted.
    Parameters:
    driveMotor - Drive SwerveMotor.
    diff --git a/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html b/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html index e523337..be8cda2 100644 --- a/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html +++ b/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html @@ -1,17 +1,18 @@ - -SwerveModulePhysicalCharacteristics (YAGSL-Lib API) + +SwerveModulePhysicalCharacteristics + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -129,9 +130,8 @@ loadScripts(document, 'script');
    final double
    -
    Angle motor kV used for second order kinematics to tune the feedforward, this variable should - be adjusted so that your drive train does not drift towards the direction you are rotating - while you translate.
    +
    Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that + your drive train does not drift towards the direction you are rotating while you translate.
    final double
    @@ -216,8 +216,7 @@ loadScripts(document, 'script');

    driveGearRatio

    public final double driveGearRatio
    -
    Drive gear ratio. How many times the motor has to spin before the wheel makes a complete - rotation.
    +
    Drive gear ratio. How many times the motor has to spin before the wheel makes a complete rotation.
  • @@ -287,9 +286,9 @@ loadScripts(document, 'script');

    moduleSteerFFCL

    public final double moduleSteerFFCL
    -
    Angle motor kV used for second order kinematics to tune the feedforward, this variable should - be adjusted so that your drive train does not drift towards the direction you are rotating - while you translate. When set to 0 the calculated kV will be used.
    +
    Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that + your drive train does not drift towards the direction you are rotating while you translate. When set to 0 the + calculated kV will be used.
  • @@ -319,25 +318,21 @@ loadScripts(document, 'script');
    Parameters:
    driveGearRatio - Gear ratio of the drive motor. Number of motor rotations to rotate the - wheel.
    -
    angleGearRatio - Gear ratio of the angle motor. Number of motor rotations to spin the - wheel.
    + wheel. +
    angleGearRatio - Gear ratio of the angle motor. Number of motor rotations to spin the wheel.
    wheelDiameter - Wheel diameter in meters.
    -
    wheelGripCoefficientOfFriction - Wheel grip coefficient of friction on carpet given by - manufacturer.
    +
    wheelGripCoefficientOfFriction - Wheel grip coefficient of friction on carpet given by manufacturer.
    optimalVoltage - Optimal robot voltage.
    driveMotorCurrentLimit - Current limit for the drive motor.
    angleMotorCurrentLimit - Current limit for the angle motor.
    -
    driveMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. - (Prevents over drawing power from battery)
    -
    angleMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. - (Prevents overdrawing power and power loss).
    -
    driveEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for - integrated encoders.
    -
    angleEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for - integrated encoders.
    -
    moduleSteerFFCL - The kV applied to the steering motor to ensure your drivetrain does not - drift towards a direction when rotating while translating.
    +
    driveMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. (Prevents + over drawing power from battery)
    +
    angleMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. (Prevents + overdrawing power and power loss).
    +
    driveEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for integrated encoders.
    +
    angleEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for integrated encoders.
    +
    moduleSteerFFCL - The kV applied to the steering motor to ensure your drivetrain does not drift + towards a direction when rotating while translating.
    @@ -351,24 +346,20 @@ loadScripts(document, 'script'); double angleMotorRampRate, int driveEncoderPulsePerRotation, int angleEncoderPulsePerRotation) -
    Construct the swerve module physical characteristics. Assume coefficient of friction is 1.19 - (taken from blue nitrile on carpet from Studica) and optimal voltage is 12v. Assumes the drive - motor current limit is 40A, and the angle motor current limit is 20A.
    +
    Construct the swerve module physical characteristics. Assume coefficient of friction is 1.19 (taken from blue + nitrile on carpet from Studica) and optimal voltage is 12v. Assumes the drive motor current limit is 40A, and the + angle motor current limit is 20A.
    Parameters:
    -
    driveGearRatio - Gear ratio of the drive motor. Number of motor rotations to rotate the - wheel.
    -
    angleGearRatio - Gear ratio of the angle motor. Number of motor rotations to spin the - wheel.
    +
    driveGearRatio - Gear ratio of the drive motor. Number of motor rotations to rotate the wheel.
    +
    angleGearRatio - Gear ratio of the angle motor. Number of motor rotations to spin the wheel.
    wheelDiameter - Wheel diameter in meters.
    -
    driveMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. - (Prevents over drawing power from battery)
    -
    angleMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. - (Prevents overdrawing power and power loss).
    -
    driveEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for - integrated encoders.
    -
    angleEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for - integrated encoders.
    +
    driveMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. (Prevents over + drawing power from battery)
    +
    angleMotorRampRate - The time in seconds to go from 0 to full throttle on the motor. (Prevents + overdrawing power and power loss).
    +
    driveEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for integrated encoders.
    +
    angleEncoderPulsePerRotation - The number of encoder pulses per motor rotation, 1 for integrated encoders.
    diff --git a/docs/swervelib/parser/SwerveParser.html b/docs/swervelib/parser/SwerveParser.html index 88e5652..4a7db52 100644 --- a/docs/swervelib/parser/SwerveParser.html +++ b/docs/swervelib/parser/SwerveParser.html @@ -1,17 +1,18 @@ - -SwerveParser (YAGSL-Lib API) + +SwerveParser + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -95,24 +96,29 @@ loadScripts(document, 'script');
    Parsed controllerproperties.json
    -
    static ModuleJson[]
    - +
    private static final HashMap<String,Integer>
    +
    +
    Module number mapped to the JSON name.
    +
    +
    static ModuleJson[]
    + +
    Array holding the module jsons given in SwerveDriveJson.
    - - -
    + + +
    Parsed modules/physicalproperties.json
    - - -
    + + +
    Parsed modules/pidfproperties.json
    - - -
    + + +
    Parsed swervedrive.json
    @@ -144,17 +150,27 @@ loadScripts(document, 'script');
    Modifier and Type
    Method
    Description
    - - +
    private void
    +
    checkDirectory(File directory)
    +
    Check directory structure.
    +
    + + +
    Create SwerveDrive from JSON configuration directory.
    - -
    getModuleConfigurationByName(String name, + + -
    +
    Get the swerve module by the json name.
    +
    private com.fasterxml.jackson.databind.JsonNode
    +
    openJson(File file)
    +
    +
    Open JSON file.
    +
    @@ -173,6 +189,13 @@ loadScripts(document, 'script');

    Field Details

    • +
      +

      moduleConfigs

      +
      private static final HashMap<String,Integer> moduleConfigs
      +
      Module number mapped to the JSON name.
      +
      +
    • +
    • swerveDriveJson

      public static SwerveDriveJson swerveDriveJson
      @@ -253,6 +276,30 @@ loadScripts(document, 'script');
    • +
      +

      openJson

      +
      private com.fasterxml.jackson.databind.JsonNode openJson(File file)
      +
      Open JSON file.
      +
      +
      Parameters:
      +
      file - JSON File to open.
      +
      Returns:
      +
      JsonNode of file.
      +
      +
      +
    • +
    • +
      +

      checkDirectory

      +
      private void checkDirectory(File directory)
      +
      Check directory structure.
      +
      +
      Parameters:
      +
      directory - JSON Configuration Directory
      +
      +
      +
    • +
    • createSwerveDrive

      public SwerveDrive createSwerveDrive()
      diff --git a/docs/swervelib/parser/deserializer/PIDFRange.html b/docs/swervelib/parser/deserializer/PIDFRange.html index 2ad1fb9..619dd97 100644 --- a/docs/swervelib/parser/deserializer/PIDFRange.html +++ b/docs/swervelib/parser/deserializer/PIDFRange.html @@ -1,17 +1,18 @@ - -PIDFRange (YAGSL-Lib API) + +PIDFRange + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    diff --git a/docs/swervelib/parser/deserializer/package-summary.html b/docs/swervelib/parser/deserializer/package-summary.html index 63265e8..91ec27a 100644 --- a/docs/swervelib/parser/deserializer/package-summary.html +++ b/docs/swervelib/parser/deserializer/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.parser.deserializer (YAGSL-Lib API) + +swervelib.parser.deserializer + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/deserializer/package-tree.html b/docs/swervelib/parser/deserializer/package-tree.html index ec51ada..5cd63ab 100644 --- a/docs/swervelib/parser/deserializer/package-tree.html +++ b/docs/swervelib/parser/deserializer/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.parser.deserializer Class Hierarchy (YAGSL-Lib API) + +swervelib.parser.deserializer Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/ControllerPropertiesJson.html b/docs/swervelib/parser/json/ControllerPropertiesJson.html index e32cc2f..7b0eab2 100644 --- a/docs/swervelib/parser/json/ControllerPropertiesJson.html +++ b/docs/swervelib/parser/json/ControllerPropertiesJson.html @@ -1,17 +1,18 @@ - -ControllerPropertiesJson (YAGSL-Lib API) + +ControllerPropertiesJson + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/DeviceJson.html b/docs/swervelib/parser/json/DeviceJson.html index cc29e60..6b4b927 100644 --- a/docs/swervelib/parser/json/DeviceJson.html +++ b/docs/swervelib/parser/json/DeviceJson.html @@ -1,17 +1,18 @@ - -DeviceJson (YAGSL-Lib API) + +DeviceJson + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -224,8 +225,8 @@ loadScripts(document, 'script');
    Create a SwerveAbsoluteEncoder from the current configuration.
    Parameters:
    -
    motor - SwerveMotor of which attached encoders will be created from, only used - when the type is "attached" or "canandencoder".
    +
    motor - SwerveMotor of which attached encoders will be created from, only used when the type is + "attached" or "canandencoder".
    Returns:
    SwerveAbsoluteEncoder given.
    diff --git a/docs/swervelib/parser/json/ModuleJson.html b/docs/swervelib/parser/json/ModuleJson.html index 36f370f..5cfde78 100644 --- a/docs/swervelib/parser/json/ModuleJson.html +++ b/docs/swervelib/parser/json/ModuleJson.html @@ -1,17 +1,18 @@ - -ModuleJson (YAGSL-Lib API) + +ModuleJson + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/MotorConfigDouble.html b/docs/swervelib/parser/json/MotorConfigDouble.html new file mode 100644 index 0000000..8600daf --- /dev/null +++ b/docs/swervelib/parser/json/MotorConfigDouble.html @@ -0,0 +1,193 @@ + + + + +MotorConfigDouble + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class MotorConfigDouble

    +
    +
    java.lang.Object +
    swervelib.parser.json.MotorConfigDouble
    +
    +
    +
    +
    class MotorConfigDouble +extends Object
    +
    Used to store doubles for motor configuration.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        drive

        +
        public double drive
        +
        Drive motor.
        +
        +
      • +
      • +
        +

        angle

        +
        public double angle
        +
        Angle motor.
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        MotorConfigDouble

        +
        public MotorConfigDouble()
        +
        Default constructor.
        +
        +
      • +
      • +
        +

        MotorConfigDouble

        +
        public MotorConfigDouble(double angle, + double drive)
        +
        Default constructor.
        +
        +
        Parameters:
        +
        angle - Angle data.
        +
        drive - Drive data.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/docs/swervelib/parser/json/MotorConfigInt.html b/docs/swervelib/parser/json/MotorConfigInt.html new file mode 100644 index 0000000..e092c98 --- /dev/null +++ b/docs/swervelib/parser/json/MotorConfigInt.html @@ -0,0 +1,193 @@ + + + + +MotorConfigInt + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class MotorConfigInt

    +
    +
    java.lang.Object +
    swervelib.parser.json.MotorConfigInt
    +
    +
    +
    +
    class MotorConfigInt +extends Object
    +
    Used to store ints for motor configuration.
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        drive

        +
        public int drive
        +
        Drive motor.
        +
        +
      • +
      • +
        +

        angle

        +
        public int angle
        +
        Angle motor.
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        MotorConfigInt

        +
        public MotorConfigInt()
        +
        Default constructor.
        +
        +
      • +
      • +
        +

        MotorConfigInt

        +
        public MotorConfigInt(int drive, + int angle)
        +
        Default constructor with values.
        +
        +
        Parameters:
        +
        drive - Drive data.
        +
        angle - Angle data.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/docs/swervelib/parser/json/PIDFPropertiesJson.html b/docs/swervelib/parser/json/PIDFPropertiesJson.html index dd8eee2..12506da 100644 --- a/docs/swervelib/parser/json/PIDFPropertiesJson.html +++ b/docs/swervelib/parser/json/PIDFPropertiesJson.html @@ -1,17 +1,18 @@ - -PIDFPropertiesJson (YAGSL-Lib API) + +PIDFPropertiesJson + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/PhysicalPropertiesJson.html b/docs/swervelib/parser/json/PhysicalPropertiesJson.html index 67bf610..ec98e80 100644 --- a/docs/swervelib/parser/json/PhysicalPropertiesJson.html +++ b/docs/swervelib/parser/json/PhysicalPropertiesJson.html @@ -1,17 +1,18 @@ - -PhysicalPropertiesJson (YAGSL-Lib API) + +PhysicalPropertiesJson + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -77,8 +78,7 @@ loadScripts(document, 'script');
    public class PhysicalPropertiesJson extends Object
    -
    SwerveModulePhysicalCharacteristics parsed data. Used to configure the - SwerveModule.
    +
    SwerveModulePhysicalCharacteristics parsed data. Used to configure the SwerveModule.
      @@ -94,33 +94,30 @@ loadScripts(document, 'script');
      double
      -
      DEPRECATED: No longer needed, tune moduleFeedForwardClosedLoop - instead.
      +
      DEPRECATED: No longer needed, tune moduleFeedForwardClosedLoop instead.
      -
      swervelib.parser.json.MotorConfigInt
      +
      The current limit in AMPs to apply to the motors.
      -
      swervelib.parser.json.MotorConfigInt
      +
      Encoder pulse per rotation for non-integrated encoders.
      -
      swervelib.parser.json.MotorConfigDouble
      +
      -
      Gear ratio for the motors, number of times the motor has to spin before the wheel rotates a - single time.
      +
      Gear ratio for the motors, number of times the motor has to spin before the wheel rotates a single time.
      double
      -
      Angle motor kV used for second order kinematics to tune the feedforward, this variable should - be adjusted so that your drive train does not drift towards the direction you are rotating - while you translate.
      +
      Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that + your drive train does not drift towards the direction you are rotating while you translate.
      -
      swervelib.parser.json.MotorConfigDouble
      +
      The minimum number of seconds to take for the motor to go from 0 to full throttle.
      @@ -194,29 +191,28 @@ loadScripts(document, 'script');
    • gearRatio

      -
      public swervelib.parser.json.MotorConfigDouble gearRatio
      -
      Gear ratio for the motors, number of times the motor has to spin before the wheel rotates a - single time.
      +
      public MotorConfigDouble gearRatio
      +
      Gear ratio for the motors, number of times the motor has to spin before the wheel rotates a single time.
    • encoderPulsePerRotation

      -
      public swervelib.parser.json.MotorConfigInt encoderPulsePerRotation
      +
      public MotorConfigInt encoderPulsePerRotation
      Encoder pulse per rotation for non-integrated encoders. 1 for integrated encoders.
    • currentLimit

      -
      public swervelib.parser.json.MotorConfigInt currentLimit
      +
      public MotorConfigInt currentLimit
      The current limit in AMPs to apply to the motors.
    • rampRate

      -
      public swervelib.parser.json.MotorConfigDouble rampRate
      +
      public MotorConfigDouble rampRate
      The minimum number of seconds to take for the motor to go from 0 to full throttle.
    • @@ -224,26 +220,23 @@ loadScripts(document, 'script');

      wheelGripCoefficientOfFriction

      public double wheelGripCoefficientOfFriction
      -
      The grip tape coefficient of friction on carpet. Used to calculate the practical maximum - acceleration.
      +
      The grip tape coefficient of friction on carpet. Used to calculate the practical maximum acceleration.
    • moduleFeedForwardClosedLoop

      public double moduleFeedForwardClosedLoop
      -
      Angle motor kV used for second order kinematics to tune the feedforward, this variable should - be adjusted so that your drive train does not drift towards the direction you are rotating - while you translate. Default value is 0. If robot arcs while translating and rotating negate - this.
      +
      Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that + your drive train does not drift towards the direction you are rotating while you translate. Default value is 0. If + robot arcs while translating and rotating negate this.
    • angleMotorFreeSpeedRPM

      public double angleMotorFreeSpeedRPM
      -
      DEPRECATED: No longer needed, tune moduleFeedForwardClosedLoop - instead.
      +
      DEPRECATED: No longer needed, tune moduleFeedForwardClosedLoop instead.
    @@ -275,8 +268,7 @@ loadScripts(document, 'script');
    Create the physical characteristics based off the parsed data.
    Parameters:
    -
    optimalVoltage - Optimal voltage to compensate for and use to calculate drive motor - feedforward.
    +
    optimalVoltage - Optimal voltage to compensate for and use to calculate drive motor feedforward.
    Returns:
    SwerveModulePhysicalCharacteristics based on parsed data.
    diff --git a/docs/swervelib/parser/json/SwerveDriveJson.html b/docs/swervelib/parser/json/SwerveDriveJson.html index 620ef45..56930bd 100644 --- a/docs/swervelib/parser/json/SwerveDriveJson.html +++ b/docs/swervelib/parser/json/SwerveDriveJson.html @@ -1,17 +1,18 @@ - -SwerveDriveJson (YAGSL-Lib API) + +SwerveDriveJson + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -73,8 +74,7 @@ loadScripts(document, 'script');
    public class SwerveDriveJson extends Object
    -
    SwerveDrive JSON parsed class. Used to access parsed data from the - swervedrive.json file.
    +
    SwerveDrive JSON parsed class. Used to access parsed data from the swervedrive.json file.
      diff --git a/docs/swervelib/parser/json/modules/BoolMotorJson.html b/docs/swervelib/parser/json/modules/BoolMotorJson.html index 1953893..3f9a0d2 100644 --- a/docs/swervelib/parser/json/modules/BoolMotorJson.html +++ b/docs/swervelib/parser/json/modules/BoolMotorJson.html @@ -1,17 +1,18 @@ - -BoolMotorJson (YAGSL-Lib API) + +BoolMotorJson + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    diff --git a/docs/swervelib/parser/json/modules/LocationJson.html b/docs/swervelib/parser/json/modules/LocationJson.html index 9f814b3..3d7997f 100644 --- a/docs/swervelib/parser/json/modules/LocationJson.html +++ b/docs/swervelib/parser/json/modules/LocationJson.html @@ -1,17 +1,18 @@ - -LocationJson (YAGSL-Lib API) + +LocationJson + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -73,9 +74,8 @@ loadScripts(document, 'script');
    public class LocationJson extends Object
    -
    Location JSON parsed class. Used to access the JSON data. Module locations, in inches, as - distances to the center of the robot. +x is towards the robot front, and +y is towards robot - left.
    +
    Location JSON parsed class. Used to access the JSON data. Module locations, in inches, as distances to the center of + the robot. +x is towards the robot front, and +y is towards robot left.
      diff --git a/docs/swervelib/parser/json/modules/package-summary.html b/docs/swervelib/parser/json/modules/package-summary.html index b615a16..80381aa 100644 --- a/docs/swervelib/parser/json/modules/package-summary.html +++ b/docs/swervelib/parser/json/modules/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.parser.json.modules (YAGSL-Lib API) + +swervelib.parser.json.modules + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
    • Class
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    diff --git a/docs/swervelib/parser/json/modules/package-tree.html b/docs/swervelib/parser/json/modules/package-tree.html index 35c74ce..3d8490c 100644 --- a/docs/swervelib/parser/json/modules/package-tree.html +++ b/docs/swervelib/parser/json/modules/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.parser.json.modules Class Hierarchy (YAGSL-Lib API) + +swervelib.parser.json.modules Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/package-summary.html b/docs/swervelib/parser/json/package-summary.html index 32f4245..322fdaa 100644 --- a/docs/swervelib/parser/json/package-summary.html +++ b/docs/swervelib/parser/json/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.parser.json (YAGSL-Lib API) + +swervelib.parser.json + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,6 +104,14 @@ loadScripts(document, 'script');
    SwerveModule JSON parsed class.
    + +
    +
    Used to store doubles for motor configuration.
    +
    + +
    +
    Used to store ints for motor configuration.
    +
    diff --git a/docs/swervelib/parser/json/package-tree.html b/docs/swervelib/parser/json/package-tree.html index 6d26f9e..8329b8f 100644 --- a/docs/swervelib/parser/json/package-tree.html +++ b/docs/swervelib/parser/json/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.parser.json Class Hierarchy (YAGSL-Lib API) + +swervelib.parser.json Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -61,6 +62,8 @@ loadScripts(document, 'script');
  • swervelib.parser.json.ControllerPropertiesJson
  • swervelib.parser.json.DeviceJson
  • swervelib.parser.json.ModuleJson
  • +
  • swervelib.parser.json.MotorConfigDouble
  • +
  • swervelib.parser.json.MotorConfigInt
  • swervelib.parser.json.PhysicalPropertiesJson
  • swervelib.parser.json.PIDFPropertiesJson
  • swervelib.parser.json.SwerveDriveJson
  • diff --git a/docs/swervelib/parser/package-summary.html b/docs/swervelib/parser/package-summary.html index 2963aa0..3e093f2 100644 --- a/docs/swervelib/parser/package-summary.html +++ b/docs/swervelib/parser/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.parser (YAGSL-Lib API) + +swervelib.parser + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/package-tree.html b/docs/swervelib/parser/package-tree.html index c202f42..f31ec00 100644 --- a/docs/swervelib/parser/package-tree.html +++ b/docs/swervelib/parser/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.parser Class Hierarchy (YAGSL-Lib API) + +swervelib.parser Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/simulation/SwerveIMUSimulation.html b/docs/swervelib/simulation/SwerveIMUSimulation.html index ed0e979..eda8ce9 100644 --- a/docs/swervelib/simulation/SwerveIMUSimulation.html +++ b/docs/swervelib/simulation/SwerveIMUSimulation.html @@ -1,17 +1,18 @@ - -SwerveIMUSimulation (YAGSL-Lib API) + +SwerveIMUSimulation + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -81,6 +82,33 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private double
      + +
      +
      Heading of the robot.
      +
      +
      private double
      + +
      +
      The last time the timer was read, used to determine position changes.
      +
      +
      private final edu.wpi.first.wpilibj.Timer
      + +
      +
      Main timer to control movement estimations.
      +
      +
      +
      +
    • @@ -143,7 +171,8 @@ loadScripts(document, 'script'); edu.wpi.first.math.geometry.Pose2d[] modulePoses, edu.wpi.first.wpilibj.smartdashboard.Field2d field)
      -
      Update the odometry of the simulated SwerveDrive and post the SwerveModule states to the Field2d.
      +
      Update the odometry of the simulated SwerveDrive and post the SwerveModule + states to the Field2d.
      @@ -157,6 +186,35 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          timer

          +
          private final edu.wpi.first.wpilibj.Timer timer
          +
          Main timer to control movement estimations.
          +
          +
        • +
        • +
          +

          lastTime

          +
          private double lastTime
          +
          The last time the timer was read, used to determine position changes.
          +
          +
        • +
        • +
          +

          angle

          +
          private double angle
          +
          Heading of the robot.
          +
          +
        • +
        +
        +
      • @@ -225,8 +283,7 @@ loadScripts(document, 'script');

        getAccel

        public Optional<edu.wpi.first.math.geometry.Translation3d> getAccel()
        -
        Fetch the acceleration [x, y, z] from the IMU in m/s/s. If acceleration isn't supported returns - empty.
        +
        Fetch the acceleration [x, y, z] from the IMU in m/s/s. If acceleration isn't supported returns empty.
        Returns:
        Translation3d of the acceleration as an Optional.
        @@ -240,7 +297,8 @@ loadScripts(document, 'script'); SwerveModuleState2[] states, edu.wpi.first.math.geometry.Pose2d[] modulePoses, edu.wpi.first.wpilibj.smartdashboard.Field2d field) -
        Update the odometry of the simulated SwerveDrive and post the SwerveModule states to the Field2d.
        +
        Update the odometry of the simulated SwerveDrive and post the SwerveModule + states to the Field2d.
        Parameters:
        kinematics - SwerveKinematics2 of the swerve drive.
        diff --git a/docs/swervelib/simulation/SwerveModuleSimulation.html b/docs/swervelib/simulation/SwerveModuleSimulation.html index 471972b..2e32d6e 100644 --- a/docs/swervelib/simulation/SwerveModuleSimulation.html +++ b/docs/swervelib/simulation/SwerveModuleSimulation.html @@ -1,17 +1,18 @@ - -SwerveModuleSimulation (YAGSL-Lib API) + +SwerveModuleSimulation + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
      • Package
      • Tree
      • -
      • Index
      • +
      • Index
      • Help
      @@ -44,13 +45,13 @@ loadScripts(document, 'script'); @@ -81,6 +82,48 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Summary

        +
        Fields
        +
        +
        Modifier and Type
        +
        Field
        +
        Description
        +
        private double
        + +
        +
        Time delta since last update
        +
        +
        private double
        + +
        +
        Fake motor position.
        +
        +
        private double
        + +
        +
        The fake speed of the previous state, used to calculate fakePos.
        +
        +
        private double
        + +
        +
        Last time queried.
        +
        + + +
        +
        Current simulated swerve module state.
        +
        +
        private final edu.wpi.first.wpilibj.Timer
        + +
        +
        Main timer to simulate the passage of time.
        +
        +
        +
        +
      • @@ -134,6 +177,56 @@ loadScripts(document, 'script');
          + +
        • +
          +

          Field Details

          +
            +
          • +
            +

            timer

            +
            private final edu.wpi.first.wpilibj.Timer timer
            +
            Main timer to simulate the passage of time.
            +
            +
          • +
          • +
            +

            dt

            +
            private double dt
            +
            Time delta since last update
            +
            +
          • +
          • +
            +

            fakePos

            +
            private double fakePos
            +
            Fake motor position.
            +
            +
          • +
          • +
            +

            fakeSpeed

            +
            private double fakeSpeed
            +
            The fake speed of the previous state, used to calculate fakePos.
            +
            +
          • +
          • +
            +

            lastTime

            +
            private double lastTime
            +
            Last time queried.
            +
            +
          • +
          • +
            +

            state

            +
            private SwerveModuleState2 state
            +
            Current simulated swerve module state.
            +
            +
          • +
          +
          +
        • @@ -158,7 +251,8 @@ loadScripts(document, 'script');

          updateStateAndPosition

          public void updateStateAndPosition(SwerveModuleState2 desiredState)
          -
          Update the position and state of the module. Called from SwerveModule.setDesiredState(swervelib.math.SwerveModuleState2, boolean, boolean) function when simulated.
          +
          Update the position and state of the module. Called from SwerveModule.setDesiredState(swervelib.math.SwerveModuleState2, boolean, boolean) function + when simulated.
          Parameters:
          desiredState - State the swerve module is set to.
          diff --git a/docs/swervelib/simulation/ctre/PhysicsSim.SimProfile.html b/docs/swervelib/simulation/ctre/PhysicsSim.SimProfile.html new file mode 100644 index 0000000..5c28573 --- /dev/null +++ b/docs/swervelib/simulation/ctre/PhysicsSim.SimProfile.html @@ -0,0 +1,220 @@ + + + + +PhysicsSim.SimProfile + + + + + + + + + + + + + + + +
          + +
          +
          + +
          + +

          Class PhysicsSim.SimProfile

          +
          +
          java.lang.Object +
          swervelib.simulation.ctre.PhysicsSim.SimProfile
          +
          +
          +
          +
          Direct Known Subclasses:
          +
          TalonFXSimProfile, TalonSRXSimProfile, VictorSPXSimProfile
          +
          +
          +
          Enclosing class:
          +
          PhysicsSim
          +
          +
          +
          static class PhysicsSim.SimProfile +extends Object
          +
          Holds information about a simulated device.
          +
          +
          +
            + +
          • +
            +

            Field Summary

            +
            Fields
            +
            +
            Modifier and Type
            +
            Field
            +
            Description
            +
            private long
            + +
             
            +
            private boolean
            + +
             
            +
            +
            +
          • + +
          • +
            +

            Constructor Summary

            +
            Constructors
            +
            +
            Constructor
            +
            Description
            + +
             
            +
            +
            +
          • + +
          • +
            +

            Method Summary

            +
            +
            +
            +
            +
            Modifier and Type
            +
            Method
            +
            Description
            +
            protected double
            + +
            +
            Returns the time since last call, in milliseconds.
            +
            +
            void
            +
            run()
            +
            +
            Runs the simulation profile.
            +
            +
            +
            +
            +
            +

            Methods inherited from class java.lang.Object

            +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
            +
            +
          • +
          +
          +
          +
            + +
          • +
            +

            Field Details

            +
              +
            • +
              +

              _lastTime

              +
              private long _lastTime
              +
              +
            • +
            • +
              +

              _running

              +
              private boolean _running
              +
              +
            • +
            +
            +
          • + +
          • +
            +

            Constructor Details

            +
              +
            • +
              +

              SimProfile

              +
              SimProfile()
              +
              +
            • +
            +
            +
          • + +
          • +
            +

            Method Details

            +
              +
            • +
              +

              run

              +
              public void run()
              +
              Runs the simulation profile. Implemented by device-specific profiles.
              +
              +
            • +
            • +
              +

              getPeriod

              +
              protected double getPeriod()
              +
              Returns the time since last call, in milliseconds.
              +
              +
            • +
            +
            +
          • +
          +
          + +
          +
          +
          + + diff --git a/docs/swervelib/simulation/ctre/PhysicsSim.html b/docs/swervelib/simulation/ctre/PhysicsSim.html index c68582c..58b9447 100644 --- a/docs/swervelib/simulation/ctre/PhysicsSim.html +++ b/docs/swervelib/simulation/ctre/PhysicsSim.html @@ -1,17 +1,18 @@ - -PhysicsSim (YAGSL-Lib API) + +PhysicsSim + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
        • Package
        • Tree
        • -
        • Index
        • +
        • Index
        • Help
        @@ -43,14 +44,14 @@ loadScripts(document, 'script');
        @@ -81,6 +82,41 @@ loadScripts(document, 'script');
          + +
        • +
          +

          Nested Class Summary

          +
          Nested Classes
          +
          +
          Modifier and Type
          +
          Class
          +
          Description
          +
          (package private) static class 
          + +
          +
          Holds information about a simulated device.
          +
          +
          +
          +
        • + +
        • +
          +

          Field Summary

          +
          Fields
          +
          +
          Modifier and Type
          +
          Field
          +
          Description
          + + +
           
          +
          private static PhysicsSim
          + +
           
          +
          +
          +
        • @@ -145,6 +181,13 @@ loadScripts(document, 'script');
          Gets the robot simulator instance.
          +
          (package private) static double
          +
          random(double max)
          +
           
          +
          (package private) static double
          +
          random(double min, + double max)
          +
           
          void
          run()
          @@ -162,6 +205,26 @@ loadScripts(document, 'script');
            + +
          • +
            +

            Field Details

            + +
            +
          • @@ -193,6 +256,19 @@ loadScripts(document, 'script');
          • +
            +

            random

            +
            static double random(double min, + double max)
            +
            +
          • +
          • +
            +

            random

            +
            static double random(double max)
            +
            +
          • +
          • addTalonSRX

            public void addTalonSRX(com.ctre.phoenix.motorcontrol.can.TalonSRX talon, diff --git a/docs/swervelib/simulation/ctre/TalonFXSimProfile.html b/docs/swervelib/simulation/ctre/TalonFXSimProfile.html new file mode 100644 index 0000000..a97deb9 --- /dev/null +++ b/docs/swervelib/simulation/ctre/TalonFXSimProfile.html @@ -0,0 +1,259 @@ + + + + +TalonFXSimProfile + + + + + + + + + + + + + + + +
            + +
            +
            + +
            + +

            Class TalonFXSimProfile

            +
            +
            java.lang.Object +
            swervelib.simulation.ctre.PhysicsSim.SimProfile +
            swervelib.simulation.ctre.TalonFXSimProfile
            +
            +
            +
            +
            +
            class TalonFXSimProfile +extends PhysicsSim.SimProfile
            +
            Holds information about a simulated TalonFX.
            +
            +
            +
              + +
            • +
              +

              Field Summary

              +
              Fields
              +
              +
              Modifier and Type
              +
              Field
              +
              Description
              +
              private final double
              + +
               
              +
              private final com.ctre.phoenix.motorcontrol.can.TalonFX
              + +
               
              +
              private final double
              + +
               
              +
              private final boolean
              + +
               
              +
              private double
              + +
              +
              The current velocity
              +
              +
              +
              +
            • + +
            • +
              +

              Constructor Summary

              +
              Constructors
              +
              +
              Constructor
              +
              Description
              +
              TalonFXSimProfile(com.ctre.phoenix.motorcontrol.can.TalonFX falcon, + double accelToFullTime, + double fullVel, + boolean sensorPhase)
              +
              +
              Creates a new simulation profile for a TalonFX device.
              +
              +
              +
              +
            • + +
            • +
              +

              Method Summary

              +
              +
              +
              +
              +
              Modifier and Type
              +
              Method
              +
              Description
              +
              void
              +
              run()
              +
              +
              Runs the simulation profile.
              +
              +
              +
              +
              +
              +

              Methods inherited from class swervelib.simulation.ctre.PhysicsSim.SimProfile

              +getPeriod
              +
              +

              Methods inherited from class java.lang.Object

              +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
              +
              +
            • +
            +
            +
            +
              + +
            • +
              +

              Field Details

              +
                +
              • +
                +

                _falcon

                +
                private final com.ctre.phoenix.motorcontrol.can.TalonFX _falcon
                +
                +
              • +
              • +
                +

                _accelToFullTime

                +
                private final double _accelToFullTime
                +
                +
              • +
              • +
                +

                _fullVel

                +
                private final double _fullVel
                +
                +
              • +
              • +
                +

                _sensorPhase

                +
                private final boolean _sensorPhase
                +
                +
              • +
              • +
                +

                _vel

                +
                private double _vel
                +
                The current velocity
                +
                +
              • +
              +
              +
            • + +
            • +
              +

              Constructor Details

              +
                +
              • +
                +

                TalonFXSimProfile

                +
                public TalonFXSimProfile(com.ctre.phoenix.motorcontrol.can.TalonFX falcon, + double accelToFullTime, + double fullVel, + boolean sensorPhase)
                +
                Creates a new simulation profile for a TalonFX device.
                +
                +
                Parameters:
                +
                falcon - The TalonFX device
                +
                accelToFullTime - The time the motor takes to accelerate from 0 to full, in seconds
                +
                fullVel - The maximum motor velocity, in ticks per 100ms
                +
                sensorPhase - The phase of the TalonFX sensors
                +
                +
                +
              • +
              +
              +
            • + +
            • +
              +

              Method Details

              +
                +
              • +
                +

                run

                +
                public void run()
                +
                Runs the simulation profile. + +

                This uses very rudimentary physics simulation and exists to allow users to test features of + our products in simulation using our examples out of the box. Users may modify this to utilize more accurate + physics simulation.

                +
                +
                Overrides:
                +
                run in class PhysicsSim.SimProfile
                +
                +
                +
              • +
              +
              +
            • +
            +
            + +
            +
            +
            + + diff --git a/docs/swervelib/simulation/ctre/TalonSRXSimProfile.html b/docs/swervelib/simulation/ctre/TalonSRXSimProfile.html new file mode 100644 index 0000000..446855c --- /dev/null +++ b/docs/swervelib/simulation/ctre/TalonSRXSimProfile.html @@ -0,0 +1,259 @@ + + + + +TalonSRXSimProfile + + + + + + + + + + + + + + + +
            + +
            +
            + +
            + +

            Class TalonSRXSimProfile

            +
            +
            java.lang.Object +
            swervelib.simulation.ctre.PhysicsSim.SimProfile +
            swervelib.simulation.ctre.TalonSRXSimProfile
            +
            +
            +
            +
            +
            class TalonSRXSimProfile +extends PhysicsSim.SimProfile
            +
            Holds information about a simulated TalonSRX.
            +
            +
            +
              + +
            • +
              +

              Field Summary

              +
              Fields
              +
              +
              Modifier and Type
              +
              Field
              +
              Description
              +
              private final double
              + +
               
              +
              private final double
              + +
               
              +
              private final boolean
              + +
               
              +
              private final com.ctre.phoenix.motorcontrol.can.TalonSRX
              + +
               
              +
              private double
              + +
              +
              The current velocity
              +
              +
              +
              +
            • + +
            • +
              +

              Constructor Summary

              +
              Constructors
              +
              +
              Constructor
              +
              Description
              +
              TalonSRXSimProfile(com.ctre.phoenix.motorcontrol.can.TalonSRX talon, + double accelToFullTime, + double fullVel, + boolean sensorPhase)
              +
              +
              Creates a new simulation profile for a TalonSRX device.
              +
              +
              +
              +
            • + +
            • +
              +

              Method Summary

              +
              +
              +
              +
              +
              Modifier and Type
              +
              Method
              +
              Description
              +
              void
              +
              run()
              +
              +
              Runs the simulation profile.
              +
              +
              +
              +
              +
              +

              Methods inherited from class swervelib.simulation.ctre.PhysicsSim.SimProfile

              +getPeriod
              +
              +

              Methods inherited from class java.lang.Object

              +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
              +
              +
            • +
            +
            +
            +
              + +
            • +
              +

              Field Details

              +
                +
              • +
                +

                _talon

                +
                private final com.ctre.phoenix.motorcontrol.can.TalonSRX _talon
                +
                +
              • +
              • +
                +

                _accelToFullTime

                +
                private final double _accelToFullTime
                +
                +
              • +
              • +
                +

                _fullVel

                +
                private final double _fullVel
                +
                +
              • +
              • +
                +

                _sensorPhase

                +
                private final boolean _sensorPhase
                +
                +
              • +
              • +
                +

                _vel

                +
                private double _vel
                +
                The current velocity
                +
                +
              • +
              +
              +
            • + +
            • +
              +

              Constructor Details

              +
                +
              • +
                +

                TalonSRXSimProfile

                +
                public TalonSRXSimProfile(com.ctre.phoenix.motorcontrol.can.TalonSRX talon, + double accelToFullTime, + double fullVel, + boolean sensorPhase)
                +
                Creates a new simulation profile for a TalonSRX device.
                +
                +
                Parameters:
                +
                talon - The TalonSRX device
                +
                accelToFullTime - The time the motor takes to accelerate from 0 to full, in seconds
                +
                fullVel - The maximum motor velocity, in ticks per 100ms
                +
                sensorPhase - The phase of the TalonSRX sensors
                +
                +
                +
              • +
              +
              +
            • + +
            • +
              +

              Method Details

              +
                +
              • +
                +

                run

                +
                public void run()
                +
                Runs the simulation profile. + +

                This uses very rudimentary physics simulation and exists to allow users to test features of + our products in simulation using our examples out of the box. Users may modify this to utilize more accurate + physics simulation.

                +
                +
                Overrides:
                +
                run in class PhysicsSim.SimProfile
                +
                +
                +
              • +
              +
              +
            • +
            +
            + +
            +
            +
            + + diff --git a/docs/swervelib/simulation/ctre/VictorSPXSimProfile.html b/docs/swervelib/simulation/ctre/VictorSPXSimProfile.html new file mode 100644 index 0000000..264b30d --- /dev/null +++ b/docs/swervelib/simulation/ctre/VictorSPXSimProfile.html @@ -0,0 +1,211 @@ + + + + +VictorSPXSimProfile + + + + + + + + + + + + + + + +
            + +
            +
            + +
            + +

            Class VictorSPXSimProfile

            +
            +
            java.lang.Object +
            swervelib.simulation.ctre.PhysicsSim.SimProfile +
            swervelib.simulation.ctre.VictorSPXSimProfile
            +
            +
            +
            +
            +
            class VictorSPXSimProfile +extends PhysicsSim.SimProfile
            +
            Holds information about a simulated VictorSPX.
            +
            +
            +
              + +
            • +
              +

              Field Summary

              +
              Fields
              +
              +
              Modifier and Type
              +
              Field
              +
              Description
              +
              final com.ctre.phoenix.motorcontrol.can.VictorSPX
              + +
               
              +
              +
              +
            • + +
            • +
              +

              Constructor Summary

              +
              Constructors
              +
              +
              Constructor
              +
              Description
              +
              VictorSPXSimProfile(com.ctre.phoenix.motorcontrol.can.VictorSPX victor)
              +
              +
              Creates a new simulation profile for a VictorSPX device.
              +
              +
              +
              +
            • + +
            • +
              +

              Method Summary

              +
              +
              +
              +
              +
              Modifier and Type
              +
              Method
              +
              Description
              +
              void
              +
              run()
              +
              +
              Runs the simulation profile.
              +
              +
              +
              +
              +
              +

              Methods inherited from class swervelib.simulation.ctre.PhysicsSim.SimProfile

              +getPeriod
              +
              +

              Methods inherited from class java.lang.Object

              +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
              +
              +
            • +
            +
            +
            +
              + +
            • +
              +

              Field Details

              +
                +
              • +
                +

                _victor

                +
                public final com.ctre.phoenix.motorcontrol.can.VictorSPX _victor
                +
                +
              • +
              +
              +
            • + +
            • +
              +

              Constructor Details

              +
                +
              • +
                +

                VictorSPXSimProfile

                +
                public VictorSPXSimProfile(com.ctre.phoenix.motorcontrol.can.VictorSPX victor)
                +
                Creates a new simulation profile for a VictorSPX device.
                +
                +
                Parameters:
                +
                victor - The VictorSPX device
                +
                +
                +
              • +
              +
              +
            • + +
            • +
              +

              Method Details

              +
                +
              • +
                +

                run

                +
                public void run()
                +
                Runs the simulation profile. + +

                This uses very rudimentary physics simulation and exists to allow users to test features of + our products in simulation using our examples out of the box. Users may modify this to utilize more accurate + physics simulation.

                +
                +
                Overrides:
                +
                run in class PhysicsSim.SimProfile
                +
                +
                +
              • +
              +
              +
            • +
            +
            + +
            +
            +
            + + diff --git a/docs/swervelib/simulation/ctre/package-summary.html b/docs/swervelib/simulation/ctre/package-summary.html index 917f352..5261681 100644 --- a/docs/swervelib/simulation/ctre/package-summary.html +++ b/docs/swervelib/simulation/ctre/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.simulation.ctre (YAGSL-Lib API) + +swervelib.simulation.ctre + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
          • Class
          • Tree
          • -
          • Index
          • +
          • Index
          • Help
          @@ -87,6 +88,22 @@ loadScripts(document, 'script');
          Manages physics simulation for CTRE products.
          + +
          +
          Holds information about a simulated device.
          +
          + +
          +
          Holds information about a simulated TalonFX.
          +
          + +
          +
          Holds information about a simulated TalonSRX.
          +
          + +
          +
          Holds information about a simulated VictorSPX.
          +
        • diff --git a/docs/swervelib/simulation/ctre/package-tree.html b/docs/swervelib/simulation/ctre/package-tree.html index 9df5910..ab92c93 100644 --- a/docs/swervelib/simulation/ctre/package-tree.html +++ b/docs/swervelib/simulation/ctre/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.simulation.ctre Class Hierarchy (YAGSL-Lib API) + +swervelib.simulation.ctre Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
        • Package
        • Class
        • -
        • Index
        • +
        • Index
        • Help
        @@ -59,6 +60,13 @@ loadScripts(document, 'script');
      • java.lang.Object
      diff --git a/docs/swervelib/simulation/package-summary.html b/docs/swervelib/simulation/package-summary.html index f12084c..ad5b292 100644 --- a/docs/swervelib/simulation/package-summary.html +++ b/docs/swervelib/simulation/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.simulation (YAGSL-Lib API) + +swervelib.simulation + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
    • Class
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    diff --git a/docs/swervelib/simulation/package-tree.html b/docs/swervelib/simulation/package-tree.html index f397bec..b4acb60 100644 --- a/docs/swervelib/simulation/package-tree.html +++ b/docs/swervelib/simulation/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.simulation Class Hierarchy (YAGSL-Lib API) + +swervelib.simulation Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html b/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html index 2fd5de8..f8e4119 100644 --- a/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html +++ b/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html @@ -1,17 +1,18 @@ - -SwerveDriveTelemetry.TelemetryVerbosity (YAGSL-Lib API) + +SwerveDriveTelemetry.TelemetryVerbosity + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -127,6 +128,21 @@ loadScripts(document, 'script');
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Modifier
    +
    Constructor
    +
    Description
    +
    private
    + +
     
    +
    +
    +
  • @@ -200,6 +216,20 @@ the order they are declared.
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TelemetryVerbosity

      +
      private TelemetryVerbosity()
      +
      +
    • +
    +
    +
  • diff --git a/docs/swervelib/telemetry/SwerveDriveTelemetry.html b/docs/swervelib/telemetry/SwerveDriveTelemetry.html index 7051a5f..5395723 100644 --- a/docs/swervelib/telemetry/SwerveDriveTelemetry.html +++ b/docs/swervelib/telemetry/SwerveDriveTelemetry.html @@ -1,17 +1,18 @@ - -SwerveDriveTelemetry (YAGSL-Lib API) + +SwerveDriveTelemetry + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -77,8 +78,7 @@ loadScripts(document, 'script');
    public class SwerveDriveTelemetry extends Object
    -
    Telemetry to describe the SwerveDrive following frc-web-components. (Which - follows AdvantageKit)
    +
    Telemetry to describe the SwerveDrive following frc-web-components. (Which follows AdvantageKit)
      @@ -313,25 +313,24 @@ loadScripts(document, 'script');

      forwardDirection

      public static String forwardDirection
      -
      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'
      +
      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'
    • 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.
      +
      The maximum achievable angular velocity of the robot. This is used to visualize the angular velocity from the + chassis speeds properties.
    • measuredChassisSpeeds

      public static double[] measuredChassisSpeeds
      -
      The maximum achievable angular velocity of the robot. This is used to visualize the angular - velocity from the chassis speeds properties.
      +
      The maximum achievable angular velocity of the robot. This is used to visualize the angular velocity from the + chassis speeds properties.
    • diff --git a/docs/swervelib/telemetry/package-summary.html b/docs/swervelib/telemetry/package-summary.html index ca4469d..0e38229 100644 --- a/docs/swervelib/telemetry/package-summary.html +++ b/docs/swervelib/telemetry/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.telemetry (YAGSL-Lib API) + +swervelib.telemetry + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Class
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    diff --git a/docs/swervelib/telemetry/package-tree.html b/docs/swervelib/telemetry/package-tree.html index 9443fa8..afe8119 100644 --- a/docs/swervelib/telemetry/package-tree.html +++ b/docs/swervelib/telemetry/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.telemetry Class Hierarchy (YAGSL-Lib API) + +swervelib.telemetry Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/tag-search-index.js b/docs/tag-search-index.js index 0367dae..f2a440c 100644 --- a/docs/tag-search-index.js +++ b/docs/tag-search-index.js @@ -1 +1 @@ -tagSearchIndex = [];updateSearchResults(); \ No newline at end of file +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/type-search-index.js b/docs/type-search-index.js index 1631d5b..096b337 100644 --- a/docs/type-search-index.js +++ b/docs/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"p":"swervelib.imu","l":"ADIS16448Swerve"},{"p":"swervelib.imu","l":"ADIS16470Swerve"},{"p":"swervelib.imu","l":"ADXRS450Swerve"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"swervelib.encoders","l":"AnalogAbsoluteEncoderSwerve"},{"p":"swervelib.imu","l":"AnalogGyroSwerve"},{"p":"swervelib.parser.json.modules","l":"BoolMotorJson"},{"p":"swervelib.encoders","l":"CanAndCoderSwerve"},{"p":"swervelib.encoders","l":"CANCoderSwerve"},{"p":"swervelib.parser.json","l":"ControllerPropertiesJson"},{"p":"swervelib.parser.json","l":"DeviceJson"},{"p":"swervelib.parser.json.modules","l":"LocationJson"},{"p":"swervelib.math","l":"Matter"},{"p":"swervelib.parser.json","l":"ModuleJson"},{"p":"swervelib.imu","l":"NavXSwerve"},{"p":"swervelib.parser.json","l":"PhysicalPropertiesJson"},{"p":"swervelib.simulation.ctre","l":"PhysicsSim"},{"p":"swervelib.parser","l":"PIDFConfig"},{"p":"swervelib.parser.json","l":"PIDFPropertiesJson"},{"p":"swervelib.parser.deserializer","l":"PIDFRange"},{"p":"swervelib.imu","l":"Pigeon2Swerve"},{"p":"swervelib.imu","l":"PigeonSwerve"},{"p":"swervelib.motors","l":"SparkMaxBrushedMotorSwerve"},{"p":"swervelib.encoders","l":"SparkMaxEncoderSwerve"},{"p":"swervelib.motors","l":"SparkMaxSwerve"},{"p":"swervelib.encoders","l":"SwerveAbsoluteEncoder"},{"p":"swervelib","l":"SwerveController"},{"p":"swervelib.parser","l":"SwerveControllerConfiguration"},{"p":"swervelib","l":"SwerveDrive"},{"p":"swervelib.parser","l":"SwerveDriveConfiguration"},{"p":"swervelib.parser.json","l":"SwerveDriveJson"},{"p":"swervelib.math","l":"SwerveDriveOdometry2"},{"p":"swervelib.telemetry","l":"SwerveDriveTelemetry"},{"p":"swervelib.imu","l":"SwerveIMU"},{"p":"swervelib.simulation","l":"SwerveIMUSimulation"},{"p":"swervelib.math","l":"SwerveKinematics2"},{"p":"swervelib.math","l":"SwerveMath"},{"p":"swervelib","l":"SwerveModule"},{"p":"swervelib.parser","l":"SwerveModuleConfiguration"},{"p":"swervelib.parser","l":"SwerveModulePhysicalCharacteristics"},{"p":"swervelib.simulation","l":"SwerveModuleSimulation"},{"p":"swervelib.math","l":"SwerveModuleState2"},{"p":"swervelib.motors","l":"SwerveMotor"},{"p":"swervelib.parser","l":"SwerveParser"},{"p":"swervelib.math","l":"SwervePoseEstimator2"},{"p":"swervelib.motors","l":"TalonFXSwerve"},{"p":"swervelib.motors","l":"TalonSRXSwerve"},{"p":"swervelib.telemetry","l":"SwerveDriveTelemetry.TelemetryVerbosity"}];updateSearchResults(); \ No newline at end of file +typeSearchIndex = [{"p":"swervelib.imu","l":"ADIS16448Swerve"},{"p":"swervelib.imu","l":"ADIS16470Swerve"},{"p":"swervelib.imu","l":"ADXRS450Swerve"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"swervelib.encoders","l":"AnalogAbsoluteEncoderSwerve"},{"p":"swervelib.imu","l":"AnalogGyroSwerve"},{"p":"swervelib.parser.json.modules","l":"BoolMotorJson"},{"p":"swervelib.encoders","l":"CanAndCoderSwerve"},{"p":"swervelib.encoders","l":"CANCoderSwerve"},{"p":"swervelib.parser.json","l":"ControllerPropertiesJson"},{"p":"swervelib.parser.json","l":"DeviceJson"},{"p":"swervelib.math","l":"SwervePoseEstimator2.InterpolationRecord"},{"p":"swervelib.parser.json.modules","l":"LocationJson"},{"p":"swervelib.math","l":"Matter"},{"p":"swervelib.parser.json","l":"ModuleJson"},{"p":"swervelib.parser.json","l":"MotorConfigDouble"},{"p":"swervelib.parser.json","l":"MotorConfigInt"},{"p":"swervelib.imu","l":"NavXSwerve"},{"p":"swervelib.parser.json","l":"PhysicalPropertiesJson"},{"p":"swervelib.simulation.ctre","l":"PhysicsSim"},{"p":"swervelib.parser","l":"PIDFConfig"},{"p":"swervelib.parser.json","l":"PIDFPropertiesJson"},{"p":"swervelib.parser.deserializer","l":"PIDFRange"},{"p":"swervelib.imu","l":"Pigeon2Swerve"},{"p":"swervelib.imu","l":"PigeonSwerve"},{"p":"swervelib.simulation.ctre","l":"PhysicsSim.SimProfile"},{"p":"swervelib.motors","l":"SparkMaxSwerve.SparkMAX_slotIdx"},{"p":"swervelib.motors","l":"SparkMaxBrushedMotorSwerve"},{"p":"swervelib.encoders","l":"SparkMaxEncoderSwerve"},{"p":"swervelib.motors","l":"SparkMaxSwerve"},{"p":"swervelib.encoders","l":"SwerveAbsoluteEncoder"},{"p":"swervelib","l":"SwerveController"},{"p":"swervelib.parser","l":"SwerveControllerConfiguration"},{"p":"swervelib","l":"SwerveDrive"},{"p":"swervelib.parser","l":"SwerveDriveConfiguration"},{"p":"swervelib.parser.json","l":"SwerveDriveJson"},{"p":"swervelib.math","l":"SwerveDriveOdometry2"},{"p":"swervelib.telemetry","l":"SwerveDriveTelemetry"},{"p":"swervelib.imu","l":"SwerveIMU"},{"p":"swervelib.simulation","l":"SwerveIMUSimulation"},{"p":"swervelib.math","l":"SwerveKinematics2"},{"p":"swervelib.math","l":"SwerveMath"},{"p":"swervelib","l":"SwerveModule"},{"p":"swervelib.parser","l":"SwerveModuleConfiguration"},{"p":"swervelib.parser","l":"SwerveModulePhysicalCharacteristics"},{"p":"swervelib.simulation","l":"SwerveModuleSimulation"},{"p":"swervelib.math","l":"SwerveModuleState2"},{"p":"swervelib.motors","l":"SwerveMotor"},{"p":"swervelib.parser","l":"SwerveParser"},{"p":"swervelib.math","l":"SwervePoseEstimator2"},{"p":"swervelib.simulation.ctre","l":"TalonFXSimProfile"},{"p":"swervelib.motors","l":"TalonFXSwerve"},{"p":"swervelib.simulation.ctre","l":"TalonSRXSimProfile"},{"p":"swervelib.motors","l":"TalonSRXSwerve"},{"p":"swervelib.telemetry","l":"SwerveDriveTelemetry.TelemetryVerbosity"},{"p":"swervelib.simulation.ctre","l":"VictorSPXSimProfile"}];updateSearchResults(); \ No newline at end of file diff --git a/swervelib/SwerveDrive.java b/swervelib/SwerveDrive.java index 637dcb9..a003e09 100644 --- a/swervelib/SwerveDrive.java +++ b/swervelib/SwerveDrive.java @@ -601,7 +601,9 @@ public class SwerveDrive public void setMaximumSpeed(double maximumSpeed, boolean updateModuleFeedforward) { swerveDriveConfiguration.maxSpeed = maximumSpeed; +// swerveDriveConfiguration.attainableMaxTranslationalSpeedMetersPerSecond = maximumSpeed; swerveController.config.maxSpeed = maximumSpeed; +// swerveDriveConfiguration.attainableMaxRotationalVelocityRadiansPerSecond = swerveController.config.maxAngularVelocity; for (SwerveModule module : swerveModules) { module.configuration.maxSpeed = maximumSpeed; diff --git a/swervelib/math/SwerveModuleState2.java b/swervelib/math/SwerveModuleState2.java index b784355..f4497dc 100644 --- a/swervelib/math/SwerveModuleState2.java +++ b/swervelib/math/SwerveModuleState2.java @@ -65,11 +65,11 @@ public class SwerveModuleState2 extends SwerveModuleState SwerveModuleState2 optimized = new SwerveModuleState2(SwerveModuleState.optimize(desiredState, currentAngle), desiredState.omegaRadPerSecond); if (desiredState.angle.equals(currentAngle) || desiredState.angle.equals( - optimized.angle.rotateBy(Rotation2d.fromDegrees(180))) || moduleSteerFeedForwardClosedLoop == 0) + optimized.angle.rotateBy(Rotation2d.fromDegrees(90))) || moduleSteerFeedForwardClosedLoop == 0) { optimized.omegaRadPerSecond = 0; } - if (desiredState.angle.equals(optimized.angle.rotateBy(Rotation2d.fromDegrees(180)))) + if (desiredState.angle.equals(optimized.angle.rotateBy(Rotation2d.fromDegrees(90)))) { desiredState.omegaRadPerSecond = 0; return desiredState;