From c339d2f4827e49b6fdfc247b72f80fdb4216d0ee Mon Sep 17 00:00:00 2001 From: thenetworkgrinch Date: Mon, 15 Jan 2024 14:39:17 -0600 Subject: [PATCH] Updated to YAGSL 2024 --- docs/allclasses-index.html | 196 ++--- docs/allpackages-index.html | 17 +- docs/constant-values.html | 96 +-- docs/element-list | 4 - docs/help-doc.html | 13 +- docs/index-files/index-1.html | 243 ++++++ docs/index-files/index-10.html | 65 ++ docs/index-files/index-11.html | 107 +++ docs/index-files/index-12.html | 223 +++++ docs/index-files/index-13.html | 93 +++ docs/index-files/index-14.html | 113 +++ docs/index-files/index-15.html | 200 +++++ docs/index-files/index-16.html | 65 ++ docs/index-files/index-17.html | 98 +++ docs/index-files/index-18.html | 765 ++++++++++++++++++ docs/index-files/index-19.html | 107 +++ docs/index-files/index-2.html | 91 +++ docs/index-files/index-20.html | 82 ++ docs/index-files/index-21.html | 110 +++ docs/index-files/index-22.html | 77 ++ docs/index-files/index-23.html | 69 ++ docs/index-files/index-24.html | 69 ++ docs/index-files/index-25.html | 65 ++ docs/index-files/index-3.html | 463 +++++++++++ docs/index-files/index-4.html | 151 ++++ docs/index-files/index-5.html | 101 +++ docs/index-files/index-6.html | 193 +++++ docs/index-files/index-7.html | 503 ++++++++++++ docs/index-files/index-8.html | 85 ++ docs/index-files/index-9.html | 165 ++++ docs/index.html | 20 +- docs/jquery-ui.overrides.css | 3 +- docs/legal/jquery.md | 8 +- docs/member-search-index.js | 2 +- docs/overview-summary.html | 5 +- docs/overview-tree.html | 48 +- docs/package-search-index.js | 2 +- .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes docs/script-dir/jquery-3.5.1.min.js | 2 + docs/script-dir/jquery-ui.min.css | 7 +- docs/script-dir/jquery-ui.min.js | 4 +- docs/script-dir/jquery-ui.structure.min.css | 5 + docs/stylesheet.css | 4 - docs/swervelib/SwerveController.html | 9 +- docs/swervelib/SwerveDrive.html | 258 +++++- docs/swervelib/SwerveModule.html | 85 +- .../encoders/AnalogAbsoluteEncoderSwerve.html | 21 +- docs/swervelib/encoders/CANCoderSwerve.html | 9 +- .../swervelib/encoders/CanAndCoderSwerve.html | 21 +- .../encoders/PWMDutyCycleEncoderSwerve.html | 49 +- .../encoders/SparkMaxAnalogEncoderSwerve.html | 53 +- .../encoders/SparkMaxEncoderSwerve.html | 53 +- .../encoders/SwerveAbsoluteEncoder.html | 9 +- docs/swervelib/encoders/package-summary.html | 9 +- docs/swervelib/encoders/package-tree.html | 9 +- docs/swervelib/imu/ADIS16448Swerve.html | 57 +- docs/swervelib/imu/ADIS16470Swerve.html | 57 +- docs/swervelib/imu/ADXRS450Swerve.html | 57 +- docs/swervelib/imu/AnalogGyroSwerve.html | 57 +- docs/swervelib/imu/NavXSwerve.html | 57 +- docs/swervelib/imu/Pigeon2Swerve.html | 57 +- docs/swervelib/imu/PigeonSwerve.html | 57 +- docs/swervelib/imu/SwerveIMU.html | 9 +- docs/swervelib/imu/package-summary.html | 9 +- docs/swervelib/imu/package-tree.html | 9 +- docs/swervelib/math/Matter.html | 9 +- docs/swervelib/math/SwerveMath.html | 106 ++- docs/swervelib/math/package-summary.html | 9 +- docs/swervelib/math/package-tree.html | 9 +- .../SparkFlexSwerve.SparkMAX_slotIdx.html | 268 ++++++ docs/swervelib/motors/SparkFlexSwerve.html | 156 ++-- .../motors/SparkMaxBrushedMotorSwerve.html | 137 ++-- .../SparkMaxSwerve.SparkMAX_slotIdx.html | 268 ++++++ docs/swervelib/motors/SparkMaxSwerve.html | 156 ++-- docs/swervelib/motors/SwerveMotor.html | 9 +- docs/swervelib/motors/TalonFXSwerve.html | 113 ++- docs/swervelib/motors/TalonSRXSwerve.html | 125 ++- docs/swervelib/motors/package-summary.html | 37 +- docs/swervelib/motors/package-tree.html | 24 +- docs/swervelib/package-summary.html | 9 +- docs/swervelib/package-tree.html | 9 +- docs/swervelib/parser/PIDFConfig.html | 9 +- .../parser/SwerveControllerConfiguration.html | 9 +- .../parser/SwerveDriveConfiguration.html | 9 +- .../parser/SwerveModuleConfiguration.html | 9 +- .../SwerveModulePhysicalCharacteristics.html | 9 +- docs/swervelib/parser/SwerveParser.html | 103 ++- .../parser/deserializer/PIDFRange.html | 9 +- .../parser/deserializer/package-summary.html | 9 +- .../parser/deserializer/package-tree.html | 9 +- .../parser/json/ControllerPropertiesJson.html | 9 +- docs/swervelib/parser/json/DeviceJson.html | 9 +- docs/swervelib/parser/json/ModuleJson.html | 9 +- .../parser/json/MotorConfigDouble.html | 9 +- .../swervelib/parser/json/MotorConfigInt.html | 9 +- .../parser/json/PIDFPropertiesJson.html | 9 +- .../parser/json/PhysicalPropertiesJson.html | 9 +- .../parser/json/SwerveDriveJson.html | 9 +- .../parser/json/modules/BoolMotorJson.html | 9 +- .../parser/json/modules/LocationJson.html | 9 +- .../parser/json/modules/package-summary.html | 9 +- .../parser/json/modules/package-tree.html | 9 +- .../parser/json/package-summary.html | 9 +- docs/swervelib/parser/json/package-tree.html | 9 +- docs/swervelib/parser/package-summary.html | 9 +- docs/swervelib/parser/package-tree.html | 9 +- .../simulation/SwerveIMUSimulation.html | 69 +- .../simulation/SwerveModuleSimulation.html | 105 ++- .../swervelib/simulation/package-summary.html | 9 +- docs/swervelib/simulation/package-tree.html | 9 +- ...erveDriveTelemetry.TelemetryVerbosity.html | 38 +- .../telemetry/SwerveDriveTelemetry.html | 9 +- docs/swervelib/telemetry/package-summary.html | 9 +- docs/swervelib/telemetry/package-tree.html | 9 +- docs/type-search-index.js | 2 +- 125 files changed, 6918 insertions(+), 854 deletions(-) create mode 100644 docs/index-files/index-1.html create mode 100644 docs/index-files/index-10.html create mode 100644 docs/index-files/index-11.html create mode 100644 docs/index-files/index-12.html create mode 100644 docs/index-files/index-13.html create mode 100644 docs/index-files/index-14.html create mode 100644 docs/index-files/index-15.html create mode 100644 docs/index-files/index-16.html create mode 100644 docs/index-files/index-17.html create mode 100644 docs/index-files/index-18.html create mode 100644 docs/index-files/index-19.html create mode 100644 docs/index-files/index-2.html create mode 100644 docs/index-files/index-20.html create mode 100644 docs/index-files/index-21.html create mode 100644 docs/index-files/index-22.html create mode 100644 docs/index-files/index-23.html create mode 100644 docs/index-files/index-24.html create mode 100644 docs/index-files/index-25.html create mode 100644 docs/index-files/index-3.html create mode 100644 docs/index-files/index-4.html create mode 100644 docs/index-files/index-5.html create mode 100644 docs/index-files/index-6.html create mode 100644 docs/index-files/index-7.html create mode 100644 docs/index-files/index-8.html create mode 100644 docs/index-files/index-9.html create mode 100644 docs/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 docs/script-dir/images/ui-bg_glass_65_dadada_1x400.png create mode 100644 docs/script-dir/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 docs/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 docs/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 docs/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 docs/script-dir/images/ui-icons_222222_256x240.png create mode 100644 docs/script-dir/images/ui-icons_2e83ff_256x240.png create mode 100644 docs/script-dir/images/ui-icons_454545_256x240.png create mode 100644 docs/script-dir/images/ui-icons_888888_256x240.png create mode 100644 docs/script-dir/images/ui-icons_cd0a0a_256x240.png create mode 100644 docs/script-dir/jquery-3.5.1.min.js create mode 100644 docs/script-dir/jquery-ui.structure.min.css create mode 100644 docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html create mode 100644 docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html index ac17b2f..e9631d8 100644 --- a/docs/allclasses-index.html +++ b/docs/allclasses-index.html @@ -1,17 +1,18 @@ - -All Classes and Interfaces (YAGSL-Example API) + +All Classes and Interfaces + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -59,41 +60,25 @@ loadScripts(document, 'script');
    Class
    Description
    - +
    -
    An example command that uses an example subsystem.
    -
    - -
    -
    A more advanced Swerve Control System that has 4 buttons for which direction to face
    -
    - -
    -
    An example command that uses an example subsystem.
    -
    - -
    IMU Swerve class for the ADIS16448_IMU device.
    - -
    + +
    IMU Swerve class for the ADIS16470_IMU device.
    - -
    + +
    IMU Swerve class for the ADXRS450_Gyro device.
    - -
    + +
    Swerve Absolute Encoder for Thrifty Encoders and other analog encoders.
    - -
    -
    Creates a IMU for AnalogGyro devices, only uses yaw.
    -
    - +
    -
    Auto Balance command using a simple PID controller.
    +
    Creates a IMU for AnalogGyro devices, only uses yaw.
    @@ -107,16 +92,6 @@ loadScripts(document, 'script');
    Swerve Absolute Encoder for CTRE CANCoders.
    - -
    -
    The Constants class provides a convenient place for teams to hold robot-wide numerical or boolean constants.
    -
    - -
     
    - -
     
    - -
     
    SwerveController parsed class.
    @@ -129,72 +104,63 @@ loadScripts(document, 'script');
    Location JSON parsed class.
    - +
    -
    Do NOT add any static variables to this class, or any initialization at all.
    -
    - -
    Object with significant mass that needs to be taken into account.
    - -
    + +
    SwerveModule JSON parsed class.
    - -
    + +
    Used to store doubles for motor configuration.
    - -
    + +
    Used to store ints for motor configuration.
    - -
    + +
    Communicates with the NavX as the IMU.
    - -
    + + - -
    + +
    Hold the PIDF and Integral Zone values for a PID.
    - -
    + +
    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.
    - -
    + +
    DutyCycle encoders such as "US Digital MA3 with PWM Output, the CTRE Mag Encoder, the Rev Hex Encoder, and the AM Mag Encoder." attached via a PWM lane.
    - -
    -
    The VM is configured to automatically run this class, and to call the functions corresponding to each mode, as - described in the TimedRobot documentation.
    -
    - +
    -
    This class is where the bulk of the robot should be declared.
    -
    - -
    An implementation of CANSparkFlex as a SwerveMotor.
    + +
    +
    REV Slots for PID configuration.
    +
    SparkMax absolute encoder, attached through the data port analog pin.
    @@ -211,76 +177,78 @@ loadScripts(document, 'script');
    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..
    - -
    + +
    Controller class used to convert raw inputs into robot speeds.
    - -
    + +
    Swerve Controller configuration class which is used to configure SwerveController.
    - -
    + +
    Swerve Drive class representing and controlling the swerve drive.
    - -
    + +
    Swerve drive configurations used during SwerveDrive construction.
    - -
    + +
    SwerveDrive JSON parsed class.
    - -
    + +
    Telemetry to describe the SwerveDrive following frc-web-components.
    - -
    + +
    Verbosity of telemetry data sent back.
    - -
    + +
    Swerve IMU abstraction to define a standard interface with a swerve drive.
    - -
    + +
    Simulation for SwerveDrive IMU.
    - -
    + +
    Mathematical functions which pertain to swerve drive.
    - -
    + +
    The Swerve Module class which represents and controls Swerve Modules for the swerve drive.
    - -
    + +
    Swerve Module configuration class which is used to configure SwerveModule.
    - -
    + +
    Configuration class which stores physical characteristics shared between every swerve module.
    - -
    + +
    Class to hold simulation data for SwerveModule
    - -
    + +
    Swerve motor abstraction which defines a standard interface for motors within a swerve module.
    - -
    + +
    Helper class used to parse the JSON directory with specified configuration options.
    - -
     
    TalonFX Swerve Motor.
    @@ -289,10 +257,6 @@ loadScripts(document, 'script');
    WPI_TalonSRX Swerve Motor.
    - -
    -
    An example command that uses an example subsystem.
    -
    diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html index e760a66..7cf0fe2 100644 --- a/docs/allpackages-index.html +++ b/docs/allpackages-index.html @@ -1,17 +1,18 @@ - -All Packages (YAGSL-Example API) + +All Packages + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -53,14 +54,6 @@ loadScripts(document, 'script');
    Package
    Description
    - -
     
    - -
     
    - -
     
    - -
     
    Yet-Another Generic Swerve Library (YAGSL) main package AKA swervelib.
    diff --git a/docs/constant-values.html b/docs/constant-values.html index 59209af..ed08ca5 100644 --- a/docs/constant-values.html +++ b/docs/constant-values.html @@ -1,17 +1,18 @@ - -Constant Field Values (YAGSL-Example API) + +Constant Field Values + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -51,69 +52,22 @@ loadScripts(document, 'script');

    Contents

    -
    -

    frc.robot.*

    +
    +

    swervelib.*

    @@ -148,6 +102,34 @@ loadScripts(document, 'script');
    5
    +
  • +
    swervelib.motors.TalonFXSwerve
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private final boolean
    + +
    false
    +
    private final boolean
    + +
    false
    +
    +
  • +
  • +
    swervelib.motors.TalonSRXSwerve
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private final boolean
    + +
    false
    +
    private final boolean
    + +
    false
    +
    +
  • diff --git a/docs/element-list b/docs/element-list index a203d46..8b5fb27 100644 --- a/docs/element-list +++ b/docs/element-list @@ -1,7 +1,3 @@ -frc.robot -frc.robot.commands.swervedrive.auto -frc.robot.commands.swervedrive.drivebase -frc.robot.subsystems.swervedrive swervelib swervelib.encoders swervelib.imu diff --git a/docs/help-doc.html b/docs/help-doc.html index d70070c..354cf45 100644 --- a/docs/help-doc.html +++ b/docs/help-doc.html @@ -1,17 +1,18 @@ - -API Help (YAGSL-Example API) + +API Help + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • @@ -77,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

    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..4e71eca --- /dev/null +++ b/docs/index-files/index-1.html @@ -0,0 +1,243 @@ + + + + +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.SparkFlexSwerve
    +
    +
    Absolute encoder attached to the SparkMax (if exists)
    +
    +
    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.
    +
    +
    addVisionMeasurement(Pose2d, 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, 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.
    +
    +
    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.
    +
    +
    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.
    +
    +
    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(SwerveModuleState, SwerveModuleState, 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.SwerveDrive
    +
    +
    The absolute max speed the robot can reach while rotating radians per second.
    +
    +
    attainableMaxTranslationalSpeedMetersPerSecond - Variable in class swervelib.SwerveDrive
    +
    +
    The absolute max speed that your robot can reach while translating 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..6be2af0 --- /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.
    +
    +
    +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..f297874 --- /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..9b1a62c --- /dev/null +++ b/docs/index-files/index-12.html @@ -0,0 +1,223 @@ + + + + +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_angleVoltageSetter - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    Motion magic angle voltage setter.
    +
    +
    m_velocityVoltageSetter - Variable in class swervelib.motors.TalonFXSwerve
    +
    +
    Velocity voltage setter for controlling drive motor.
    +
    +
    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.
    +
    +
    maximumRetries - Variable in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    The maximum amount of times the swerve encoder will attempt to configure itself if failures occur.
    +
    +
    maximumRetries - Variable in class swervelib.motors.SwerveMotor
    +
    +
    The maximum amount of times the swerve motor will attempt to configure a motor if failures occur.
    +
    +
    maxSpeed - Variable in class swervelib.SwerveModule
    +
    +
    Maximum speed of the drive motors 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.
    +
    +
    maxSpeedMPS - Variable in class swervelib.SwerveDrive
    +
    +
    Maximum speed of the robot in meters per second.
    +
    +
    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
    +
    +
    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.
    +
    +
    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.
    +
    +
    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.SparkFlexSwerve
    +
    +
    SparkMAX Instance.
    +
    +
    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..84959e3 --- /dev/null +++ b/docs/index-files/index-13.html @@ -0,0 +1,93 @@ + + + + +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(I2C.Port) - Constructor for class swervelib.imu.NavXSwerve
    +
    +
    Constructor for the NavX swerve.
    +
    +
    NavXSwerve(SerialPort.Port) - Constructor for class swervelib.imu.NavXSwerve
    +
    +
    Constructor for the NavX swerve.
    +
    +
    NavXSwerve(SPI.Port) - Constructor for class swervelib.imu.NavXSwerve
    +
    +
    Constructor for the NavX swerve.
    +
    +
    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..76d5fa2 --- /dev/null +++ b/docs/index-files/index-14.html @@ -0,0 +1,113 @@ + + + + +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

    +
    +
    odometryLock - Variable in class swervelib.SwerveDrive
    +
    +
    Odometry lock to ensure thread safety.
    +
    +
    odometryThread - Variable in class swervelib.SwerveDrive
    +
    +
    WPILib Notifier to keep odometry up to date.
    +
    +
    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.
    +
    +
    openJson(File) - Method in class swervelib.parser.SwerveParser
    +
    +
    Open JSON file.
    +
    +
    optimalVoltage - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    The voltage to use for the smart motor voltage compensation, default is 12.
    +
    +
    optimalVoltage - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    The voltage to use for the smart motor voltage compensation.
    +
    +
    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..02a9456 --- /dev/null +++ b/docs/index-files/index-15.html @@ -0,0 +1,200 @@ + + + + +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.SwerveDriveConfiguration
    +
    +
    Physical characteristics of the swerve drive from physicalproperties.json.
    +
    +
    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
    +
     
    +
    pid - Variable in class swervelib.motors.SparkFlexSwerve
    +
    +
    Closed-loop PID controller.
    +
    +
    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.
    +
    +
    position - Variable in class swervelib.math.Matter
    +
    +
    Position in meters from robot center in 3d space.
    +
    +
    Position - Enum constant in enum class swervelib.motors.SparkFlexSwerve.SparkMAX_slotIdx
    +
    +
    Slot 1, used for position PID's.
    +
    +
    Position - Enum constant in enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
    +
    Slot 1, used for position PID's.
    +
    +
    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
    +
    +
    pushOffsetsToControllers() - Method in class swervelib.SwerveDrive
    +
    +
    Pushes the Absolute Encoder offsets to the Encoder or Motor Controller, depending on type.
    +
    +
    pushOffsetsToControllers() - Method in class swervelib.SwerveModule
    +
    +
    Push absolute encoder offset in the memory of the encoder or controller.
    +
    +
    PWMDutyCycleEncoderSwerve - Class in swervelib.encoders
    +
    +
    DutyCycle encoders such as "US Digital MA3 with PWM Output, the CTRE Mag Encoder, the Rev Hex Encoder, and the AM Mag + Encoder." attached via a PWM lane.
    +
    +
    PWMDutyCycleEncoderSwerve(int) - Constructor for class swervelib.encoders.PWMDutyCycleEncoderSwerve
    +
    +
    Constructor for the PWM duty cycle 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-16.html b/docs/index-files/index-16.html new file mode 100644 index 0000000..e072adb --- /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..cbd8ab5 --- /dev/null +++ b/docs/index-files/index-17.html @@ -0,0 +1,98 @@ + + + + +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.
    +
    +
    readingError - Variable in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Last angle reading was faulty.
    +
    +
    replaceSwerveModuleFeedforward(SimpleMotorFeedforward) - Method in class swervelib.SwerveDrive
    +
    +
    Setup the swerve module feedforward.
    +
    +
    resetDriveEncoders() - 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.
    +
    +
    restoreInternalOffset() - Method in class swervelib.SwerveDrive
    +
    +
    Restores Internal YAGSL Encoder offsets and sets the Encoder stored offset back to 0
    +
    +
    restoreInternalOffset() - Method in class swervelib.SwerveModule
    +
    +
    Restore internal offset in YAGSL and either sets absolute encoder offset to 0 or restores old value.
    +
    +
    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
    +
    +
    +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..c233800 --- /dev/null +++ b/docs/index-files/index-18.html @@ -0,0 +1,765 @@ + + + + +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.SparkFlexSwerve
    +
    +
    Set the percentage output.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Set the absolute encoder to be a compatible absolute encoder.
    +
    +
    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.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Cannot Set the offset of an Analog Absolute Encoder.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Cannot set the offset of the CanAndCoder.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Sets the Absolute Encoder Offset within the CANcoder's Memory.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.PWMDutyCycleEncoderSwerve
    +
    +
    Sets the offset of the Encoder in the WPILib Encoder Library.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    Sets the Absolute Encoder offset at the Encoder Level.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Sets the Absolute Encoder Offset inside of the SparkMax's Memory.
    +
    +
    setAbsoluteEncoderOffset(double) - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Sets the Absolute Encoder offset at the Encoder Level.
    +
    +
    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.
    +
    +
    setAngleMotorConversionFactor(double) - Method in class swervelib.SwerveDrive
    +
    +
    Set the conversion factor for the angle/azimuth motor controller.
    +
    +
    setAngleMotorConversionFactor(double) - Method in class swervelib.SwerveModule
    +
    +
    Set the conversion factor for the angle/azimuth motor controller.
    +
    +
    setAngleMotorVoltageCompensation(double) - Method in class swervelib.SwerveModule
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    setChassisSpeeds(ChassisSpeeds) - Method in class swervelib.SwerveDrive
    +
    +
    Set chassis speeds with closed-loop velocity control.
    +
    +
    setCurrentLimit(int) - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    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.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(SwerveModuleState, boolean, boolean) - Method in class swervelib.SwerveModule
    +
    +
    Set the desired state of the swerve module.
    +
    +
    setDriveMotorConversionFactor(double) - Method in class swervelib.SwerveDrive
    +
    +
    Set the conversion factor for the drive motor controller.
    +
    +
    setDriveMotorConversionFactor(double) - Method in class swervelib.SwerveModule
    +
    +
    Set the conversion factor for the drive motor controller.
    +
    +
    setDriveMotorVoltageCompensation(double) - Method in class swervelib.SwerveModule
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    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.
    +
    +
    setHeadingCorrection(boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Set the heading correction capabilities of YAGSL.
    +
    +
    setInverted(boolean) - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Set the motor to be inverted.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Set the maximum rate the open/closed loop output can change by.
    +
    +
    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
    +
    +
    Set the maximum speed of the drive motors, modified SwerveDrive.maxSpeedMPS which is used for the + SwerveDrive.setRawModuleStates(SwerveModuleState[], boolean) function and + SwerveController.getTargetSpeeds(double, double, double, double, double) functions.
    +
    +
    setMaximumSpeed(double, boolean, double) - Method in class swervelib.SwerveDrive
    +
    +
    Set the maximum speed of the drive motors, modified SwerveDrive.maxSpeedMPS which is used for the + SwerveDrive.setRawModuleStates(SwerveModuleState[], boolean) function and + SwerveController.getTargetSpeeds(double, double, double, double, double) functions.
    +
    +
    setMaximumSpeeds(double, double, double) - Method in class swervelib.SwerveDrive
    +
    +
    Set the maximum speeds for desaturation.
    +
    +
    setModuleStates(SwerveModuleState[], boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Set the module states (azimuth and velocity) directly.
    +
    +
    setMotorBrake(boolean) - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Set the idle mode.
    +
    +
    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.
    +
    +
    setOdometryPeriod(double) - Method in class swervelib.SwerveDrive
    +
    +
    Set the odometry update period in seconds.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Set the integrated encoder position.
    +
    +
    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(SwerveModuleState[], boolean) - Method in class swervelib.SwerveDrive
    +
    +
    Set the module states (azimuth and velocity) directly.
    +
    +
    setReference(double, double) - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Set the closed loop PID controller reference point.
    +
    +
    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.SparkFlexSwerve
    +
    +
    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.
    +
    +
    setVoltageCompensation(double) - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Set the voltage compensation for the swerve module motor.
    +
    +
    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.
    +
    +
    simIMU - Variable in class swervelib.SwerveDrive
    +
    +
    Simulation of the swerve drive.
    +
    +
    simModule - Variable in class swervelib.SwerveModule
    +
    +
    Simulated swerve module.
    +
    +
    Simulation - Enum constant in enum class swervelib.motors.SparkFlexSwerve.SparkMAX_slotIdx
    +
    +
    Slot 3, used arbitrarily.
    +
    +
    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.
    +
    +
    SparkFlexSwerve - Class in swervelib.motors
    +
    +
    An implementation of CANSparkFlex as a SwerveMotor.
    +
    +
    SparkFlexSwerve(int, boolean) - Constructor for class swervelib.motors.SparkFlexSwerve
    +
    +
    Initialize the SwerveMotor as a CANSparkMax connected to a Brushless Motor.
    +
    +
    SparkFlexSwerve(CANSparkFlex, boolean) - Constructor for class swervelib.motors.SparkFlexSwerve
    +
    +
    Initialize the swerve motor.
    +
    +
    SparkFlexSwerve.SparkMAX_slotIdx - Enum Class in swervelib.motors
    +
    +
    REV Slots for PID configuration.
    +
    +
    SparkMAX_slotIdx() - Constructor for enum class swervelib.motors.SparkFlexSwerve.SparkMAX_slotIdx
    +
     
    +
    SparkMAX_slotIdx() - Constructor for enum class swervelib.motors.SparkMaxSwerve.SparkMAX_slotIdx
    +
     
    +
    SparkMaxAnalogEncoderSwerve - Class in swervelib.encoders
    +
    +
    SparkMax absolute encoder, attached through the data port analog pin.
    +
    +
    SparkMaxAnalogEncoderSwerve(SwerveMotor) - Constructor for class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    Create the SparkMaxAnalogEncoderSwerve object as a analog sensor from the CANSparkMax motor data + port analog pin.
    +
    +
    SparkMaxBrushedMotorSwerve - Class in swervelib.motors
    +
    +
    Brushed motor control with SparkMax.
    +
    +
    SparkMaxBrushedMotorSwerve(int, boolean, SparkRelativeEncoder.Type, int, boolean) - Constructor for class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Initialize the SwerveMotor as a CANSparkMax connected to a Brushless Motor.
    +
    +
    SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkRelativeEncoder.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 SparkMaxEncoderSwerve object as a duty cycle from the CANSparkMax motor.
    +
    +
    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
    +
    +
    Standard deviation of encoders and gyroscopes, usually should not change.
    +
    +
    stopOdometryThread() - Method in class swervelib.SwerveDrive
    +
    +
    Stop the odometry thread in favor of manually updating odometry.
    +
    +
    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, double) - Constructor for class swervelib.parser.SwerveControllerConfiguration
    +
    +
    Construct the swerve controller configuration.
    +
    +
    SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double, 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, double) - 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, boolean, SimpleMotorFeedforward, SwerveModulePhysicalCharacteristics) - 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
    +
     
    +
    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.
    +
    +
    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.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, SimpleMotorFeedforward) - 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, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, String) - Constructor for class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Construct a configuration object for swerve modules.
    +
    +
    SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, 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(MotorConfigDouble, double, double) - Constructor for class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    +
    Construct the swerve module physical characteristics.
    +
    +
    SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double, int, int, double, 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.
    +
    +
    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.
    +
    +
    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..849ee7b --- /dev/null +++ b/docs/index-files/index-19.html @@ -0,0 +1,107 @@ + + + + +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

    +
    +
    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(TalonFX, boolean) - Constructor for class swervelib.motors.TalonFXSwerve
    +
    +
    Constructor for TalonFX swerve motor.
    +
    +
    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.
    +
    +
    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..4163cd4 --- /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

    +
    +
    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.SparkFlexSwerve
    +
    +
    Save the configurations from flash to EEPROM.
    +
    +
    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..40d916e --- /dev/null +++ b/docs/index-files/index-20.html @@ -0,0 +1,82 @@ + + + + +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

    +
    +
    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(SwerveDriveKinematics, SwerveModuleState[], Pose2d[], Field2d) - Method in class swervelib.simulation.SwerveIMUSimulation
    +
    +
    Update the odometry of the simulated SwerveDrive and post the SwerveModule + states to the Field2d.
    +
    +
    updateStateAndPosition(SwerveModuleState) - Method in class swervelib.simulation.SwerveModuleSimulation
    +
    +
    Update the position and state of the module.
    +
    +
    updateTelemetry() - Method in class swervelib.SwerveModule
    +
    +
    Update data sent to SmartDashboard.
    +
    +
    +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..99a2cb4 --- /dev/null +++ b/docs/index-files/index-21.html @@ -0,0 +1,110 @@ + + + + +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.SparkFlexSwerve.SparkMAX_slotIdx
    +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    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.SparkFlexSwerve.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.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.SparkFlexSwerve.SparkMAX_slotIdx
    +
    +
    Slot 2, used for velocity PID's.
    +
    +
    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.
    +
    +
    visionMeasurementStdDevs - Variable in class swervelib.SwerveDrive
    +
    +
    The standard deviation of the vision measurement, for best accuracy calculate the standard deviation at 2 or more + points and fit a line to it and modify this using SwerveDrive.addVisionMeasurement(Pose2d, double, Matrix) + with the calculated optimal standard deviation.
    +
    +
    +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..40f77fb --- /dev/null +++ b/docs/index-files/index-22.html @@ -0,0 +1,77 @@ + + + + +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

    +
    +
    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..22f3e9f --- /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..a157b0e --- /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..a444663 --- /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-3.html b/docs/index-files/index-3.html new file mode 100644 index 0000000..1401854 --- /dev/null +++ b/docs/index-files/index-3.html @@ -0,0 +1,463 @@ + + + + +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.PWMDutyCycleEncoderSwerve
    +
    +
    Clear sticky faults on the encoder.
    +
    +
    clearStickyFaults() - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    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.SparkFlexSwerve
    +
    +
    Clear the sticky faults on the motor controller.
    +
    +
    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.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.PWMDutyCycleEncoderSwerve
    +
    +
    Configure the inversion state of the encoder.
    +
    +
    configure(boolean) - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    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.SparkFlexSwerve
    +
    +
    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, 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.SparkFlexSwerve
    +
    +
    Configure the integrated encoder for the swerve module.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Configure the PIDF values for the closed loop controller.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Configure the PID wrapping for the position 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.
    +
    +
    configureSparkFlex(Supplier<REVLibError>) - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Run the configuration until it succeeds or times out.
    +
    +
    configureSparkMax(Supplier<REVLibError>) - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    Run the configuration until it succeeds or times out.
    +
    +
    configureSparkMax(Supplier<REVLibError>) - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Run the configuration until it succeeds or times out.
    +
    +
    configureSparkMax(Supplier<REVLibError>) - Method in class swervelib.motors.SparkMaxBrushedMotorSwerve
    +
    +
    Run the configuration until it succeeds or times out.
    +
    +
    configureSparkMax(Supplier<REVLibError>) - Method in class swervelib.motors.SparkMaxSwerve
    +
    +
    Run the configuration until it succeeds or times out.
    +
    +
    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
    +
     
    +
    conversionFactor - Variable in class swervelib.parser.json.ModuleJson
    +
    +
    Conversion factor for the module, if different from the one in swervedrive.json
    +
    +
    conversionFactor - Variable in class swervelib.parser.json.PhysicalPropertiesJson
    +
    +
    Conversion factor applied to the motor controllers PID loops.
    +
    +
    conversionFactor - Variable in class swervelib.parser.SwerveModulePhysicalCharacteristics
    +
    + +
    +
    conversionFactors - Variable in class swervelib.parser.SwerveModuleConfiguration
    +
    +
    Conversion factor for drive motor onboard PID's and angle PID's.
    +
    +
    convertToNativeSensorUnits(double, double) - Method in class swervelib.motors.TalonSRXSwerve
    +
    +
    Convert the setpoint into native sensor units.
    +
    +
    correctionEnabled - Variable in class swervelib.SwerveDrive
    +
    +
    Whether heading correction PID is currently active.
    +
    +
    createControllerConfiguration(SwerveDriveConfiguration, double) - Method in class swervelib.parser.json.ControllerPropertiesJson
    +
    +
    Create the SwerveControllerConfiguration based on parsed and given data.
    +
    +
    createDriveFeedforward(double, double, double) - Static method in class swervelib.math.SwerveMath
    +
    +
    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.
    +
    +
    createModuleConfiguration(PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String) - Method in class swervelib.parser.json.ModuleJson
    +
    +
    Create the swerve module configuration based off of parsed data.
    +
    +
    createModules(SwerveModuleConfiguration[], SimpleMotorFeedforward) - 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() - 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(double) - Method in class swervelib.parser.SwerveParser
    +
    +
    Create SwerveDrive from JSON configuration directory.
    +
    +
    createSwerveDrive(double, double, double) - Method in class swervelib.parser.SwerveParser
    +
    +
    Create SwerveDrive from JSON configuration directory.
    +
    +
    createSwerveDrive(SimpleMotorFeedforward, double) - Method in class swervelib.parser.SwerveParser
    +
    +
    Create SwerveDrive from JSON configuration directory.
    +
    +
    createSwerveDrive(SimpleMotorFeedforward, double, double, double) - 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..28f5303 --- /dev/null +++ b/docs/index-files/index-4.html @@ -0,0 +1,151 @@ + + + + +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.
    +
    +
    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
    +
     
    +
    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, Translation2d) - Method in class swervelib.SwerveDrive
    +
    +
    The primary method for controlling the drivebase.
    +
    +
    drive(ChassisSpeeds) - Method in class swervelib.SwerveDrive
    +
    +
    Secondary method for controlling the drivebase.
    +
    +
    drive(ChassisSpeeds, boolean, Translation2d) - Method in class swervelib.SwerveDrive
    +
    +
    The primary method for controlling the drivebase.
    +
    +
    drive(ChassisSpeeds, Translation2d) - Method in class swervelib.SwerveDrive
    +
    +
    Secondary method for controlling the drivebase.
    +
    +
    driveFieldOriented(ChassisSpeeds) - Method in class swervelib.SwerveDrive
    +
    +
    Secondary method of controlling the drive base given velocity and adjusting it for field oriented use.
    +
    +
    driveFieldOriented(ChassisSpeeds, Translation2d) - Method in class swervelib.SwerveDrive
    +
    +
    Secondary method of controlling the drive base given velocity and adjusting it for field oriented use.
    +
    +
    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..76d8609 --- /dev/null +++ b/docs/index-files/index-5.html @@ -0,0 +1,101 @@ + + + + +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

    +
    +
    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.PWMDutyCycleEncoderSwerve
    +
    +
    Duty Cycle Encoder.
    +
    +
    encoder - Variable in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    The SparkAnalogSensor representing the duty cycle encoder attached to the SparkMax analog port.
    +
    +
    encoder - Variable in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    The AbsoluteEncoder representing the duty cycle encoder attached to the SparkMax.
    +
    +
    encoder - Variable in class swervelib.motors.SparkFlexSwerve
    +
    +
    Integrated encoder.
    +
    +
    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.
    +
    +
    +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..8a38b47 --- /dev/null +++ b/docs/index-files/index-6.html @@ -0,0 +1,193 @@ + + + + +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.PWMDutyCycleEncoderSwerve
    +
    +
    Reset the encoder to factory defaults.
    +
    +
    factoryDefault() - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    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.SparkFlexSwerve
    +
    +
    Factory default already occurred.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Configure the factory defaults.
    +
    +
    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..8dacbee --- /dev/null +++ b/docs/index-files/index-7.html @@ -0,0 +1,503 @@ + + + + +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

    +
    +
    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.PWMDutyCycleEncoderSwerve
    +
    +
    Get the encoder object.
    +
    +
    getAbsoluteEncoder() - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    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.
    +
    +
    getAbsoluteEncoderReadIssue() - Method in class swervelib.SwerveModule
    +
    +
    Get if the last Absolute Encoder had a read issue, such as it does not exist.
    +
    +
    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.PWMDutyCycleEncoderSwerve
    +
    +
    Get the absolute position of the encoder.
    +
    +
    getAbsolutePosition() - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    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.
    +
    +
    getDriveBaseRadiusMeters() - Method in class swervelib.parser.SwerveDriveConfiguration
    +
    +
    Assume the first module is the furthest.
    +
    +
    getDriveMotor() - Method in class swervelib.SwerveModule
    +
    +
    Get the drive SwerveMotor for the SwerveModule.
    +
    +
    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.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Get the motor object from the module.
    +
    +
    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.
    +
    +
    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.
    +
    +
    getPosition() - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Get the position of the integrated encoder.
    +
    +
    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.
    +
    +
    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 SwerveModuleState 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, 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, 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.encoders.AnalogAbsoluteEncoderSwerve
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.encoders.CanAndCoderSwerve
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.encoders.CANCoderSwerve
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.encoders.PWMDutyCycleEncoderSwerve
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.encoders.SparkMaxAnalogEncoderSwerve
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.encoders.SparkMaxEncoderSwerve
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.encoders.SwerveAbsoluteEncoder
    +
    +
    Get the velocity in degrees/sec.
    +
    +
    getVelocity() - Method in class swervelib.motors.SparkFlexSwerve
    +
    +
    Get the velocity of the integrated encoder.
    +
    +
    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.
    +
    +
    +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..0c212ef --- /dev/null +++ b/docs/index-files/index-8.html @@ -0,0 +1,85 @@ + + + + +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

    +
    +
    heading - Variable in class swervelib.parser.json.ControllerPropertiesJson
    +
    +
    The PID used to control the robot heading.
    +
    +
    HEADING_CORRECTION_DEADBAND - Variable in class swervelib.SwerveDrive
    +
    +
    Deadband for speeds in heading correction.
    +
    +
    headingCalculate(double, double) - Method in class swervelib.SwerveController
    +
    +
    Calculate the angular velocity given the current and target heading angle in radians.
    +
    +
    headingCorrection - Variable in class swervelib.SwerveDrive
    +
    +
    Whether to correct heading when driving translationally.
    +
    +
    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..fcde147 --- /dev/null +++ b/docs/index-files/index-9.html @@ -0,0 +1,165 @@ + + + + +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.
    +
    +
    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.SparkFlexSwerve
    +
    +
    Queries whether the absolute encoder is directly attached to the motor controller.
    +
    +
    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.
    +
    +
    isInverted - Variable in class swervelib.encoders.PWMDutyCycleEncoderSwerve
    +
    +
    Inversion state.
    +
    +
    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 08df6c8..81d015e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,17 +1,18 @@ - -Overview (YAGSL-Example API) + +Overview + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -46,22 +47,11 @@ loadScripts(document, 'script');
    -
    -

    YAGSL-Example API

    -
    Packages
    Package
    Description
    - -
     
    - -
     
    - -
     
    - -
     
    Yet-Another Generic Swerve Library (YAGSL) main package AKA swervelib.
    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/jquery.md b/docs/legal/jquery.md index f7b72e3..8054a34 100644 --- a/docs/legal/jquery.md +++ b/docs/legal/jquery.md @@ -1,9 +1,9 @@ -## jQuery v3.6.0 +## jQuery v3.5.1 ### jQuery License ``` -jQuery v 3.6.0 -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.0 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 3f4bcd6..94cc77d 100644 --- a/docs/member-search-index.js +++ b/docs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDrive","l":"AbsoluteDrive(SwerveSubsystem, DoubleSupplier, DoubleSupplier, DoubleSupplier, DoubleSupplier)","u":"%3Cinit%3E(frc.robot.subsystems.swervedrive.SwerveSubsystem,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier)"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDriveAdv","l":"AbsoluteDriveAdv(SwerveSubsystem, DoubleSupplier, DoubleSupplier, DoubleSupplier, BooleanSupplier, BooleanSupplier, BooleanSupplier, BooleanSupplier)","u":"%3Cinit%3E(frc.robot.subsystems.swervedrive.SwerveSubsystem,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.BooleanSupplier,java.util.function.BooleanSupplier,java.util.function.BooleanSupplier,java.util.function.BooleanSupplier)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"absoluteEncoder"},{"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":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteFieldDrive","l":"AbsoluteFieldDrive(SwerveSubsystem, DoubleSupplier, DoubleSupplier, DoubleSupplier)","u":"%3Cinit%3E(frc.robot.subsystems.swervedrive.SwerveSubsystem,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"addFakeVisionReading()"},{"p":"swervelib","c":"SwerveController","l":"addSlewRateLimiters(SlewRateLimiter, SlewRateLimiter, SlewRateLimiter)","u":"addSlewRateLimiters(edu.wpi.first.math.filter.SlewRateLimiter,edu.wpi.first.math.filter.SlewRateLimiter,edu.wpi.first.math.filter.SlewRateLimiter)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, Matrix)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,edu.wpi.first.math.Matrix)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"ADIS16448Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"ADIS16470Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"ADXRS450Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.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":"frc.robot","c":"Constants.Auton","l":"angleAutoPID"},{"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":"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(SwerveModuleState, SwerveModuleState, double)","u":"antiJitter(edu.wpi.first.math.kinematics.SwerveModuleState,edu.wpi.first.math.kinematics.SwerveModuleState,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"applyDeadband(double, boolean, double)","u":"applyDeadband(double,boolean,double)"},{"p":"frc.robot.commands.swervedrive.auto","c":"AutoBalanceCommand","l":"AutoBalanceCommand(SwerveSubsystem)","u":"%3Cinit%3E(frc.robot.subsystems.swervedrive.SwerveSubsystem)"},{"p":"frc.robot","c":"Constants.Auton","l":"Auton()","u":"%3Cinit%3E()"},{"p":"frc.robot","c":"Robot","l":"autonomousInit()"},{"p":"frc.robot","c":"Robot","l":"autonomousPeriodic()"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"BoolMotorJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"burnFlash()"},{"p":"swervelib.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":"frc.robot","c":"Constants","l":"CHASSIS"},{"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":"PWMDutyCycleEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"clearStickyFaults()"},{"p":"swervelib","c":"SwerveController","l":"config"},{"p":"swervelib","c":"SwerveModule","l":"configuration"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"configure(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"frc.robot","c":"Constants","l":"Constants()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"controllerPropertiesJson"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"ControllerPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"conversionFactor"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"conversionFactors"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"createControllerConfiguration(SwerveDriveConfiguration, double)","u":"createControllerConfiguration(swervelib.parser.SwerveDriveConfiguration,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"createDriveFeedforward(double, double, double)","u":"createDriveFeedforward(double,double,double)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createEncoder(SwerveMotor)","u":"createEncoder(swervelib.motors.SwerveMotor)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createIMU()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"createModuleConfiguration(PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String)","u":"createModuleConfiguration(swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"createModules(SwerveModuleConfiguration[], SimpleMotorFeedforward)","u":"createModules(swervelib.parser.SwerveModuleConfiguration[],edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createMotor(boolean)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"createPhysicalProperties()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"createPIDController()"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double, double, double)","u":"createSwerveDrive(double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double, double, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double,double,double)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"currentLimit"},{"p":"swervelib.parser","c":"PIDFConfig","l":"d"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredStates"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"DeviceJson()","u":"%3Cinit%3E()"},{"p":"frc.robot","c":"Robot","l":"disabledInit()"},{"p":"frc.robot","c":"Robot","l":"disabledPeriodic()"},{"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":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"drive(ChassisSpeeds)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, boolean, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"drive(Translation2d, double, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean, Translation2d)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"frc.robot","c":"Constants.Drivebase","l":"Drivebase()","u":"%3Cinit%3E()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"driveFieldOriented(ChassisSpeeds)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds, Translation2d)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorRampRate"},{"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":"SparkMaxAnalogEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"encoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"encoder"},{"p":"frc.robot.commands.swervedrive.auto","c":"AutoBalanceCommand","l":"end(boolean)"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDrive","l":"end(boolean)"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDriveAdv","l":"end(boolean)"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteFieldDrive","l":"end(boolean)"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"TeleopDrive","l":"end(boolean)"},{"p":"frc.robot.commands.swervedrive.auto","c":"AutoBalanceCommand","l":"execute()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDrive","l":"execute()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDriveAdv","l":"execute()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteFieldDrive","l":"execute()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"TeleopDrive","l":"execute()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"f"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"factoryDefault()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaults()"},{"p":"swervelib","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.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsoluteEncoder()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsoluteEncoderReadIssue()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsolutePosition()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsolutePosition()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getAccel()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getAccel()"},{"p":"swervelib","c":"SwerveDrive","l":"getAccel()"},{"p":"swervelib","c":"SwerveModule","l":"getAngleMotor()"},{"p":"frc.robot","c":"RobotContainer","l":"getAutonomousCommand()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getAutonomousCommand(String, boolean)","u":"getAutonomousCommand(java.lang.String,boolean)"},{"p":"swervelib","c":"SwerveModule","l":"getConfiguration()"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"getDriveBaseRadiusMeters()"},{"p":"swervelib","c":"SwerveModule","l":"getDriveMotor()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getFieldVelocity()"},{"p":"swervelib","c":"SwerveDrive","l":"getFieldVelocity()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getGyroRotation3d()"},{"p":"swervelib","c":"SwerveDrive","l":"getGyroRotation3d()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getHeading()"},{"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":"frc.robot","c":"Robot","l":"getInstance()"},{"p":"swervelib","c":"SwerveController","l":"getJoystickAngle(double, double)","u":"getJoystickAngle(double,double)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getKinematics()"},{"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":"SparkFlexSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getMotor()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getPitch()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPitch()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getPose()"},{"p":"swervelib","c":"SwerveDrive","l":"getPose()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getPosition()"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"getPosition()"},{"p":"swervelib","c":"SwerveModule","l":"getPosition()"},{"p":"swervelib.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":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getRobotVelocity()"},{"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":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getSwerveController()"},{"p":"swervelib","c":"SwerveDrive","l":"getSwerveController()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getSwerveDriveConfiguration()"},{"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":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","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":"getTargetSpeeds(double, double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double,double)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"getTargetSpeeds(double, double, Rotation2d)","u":"getTargetSpeeds(double,double,edu.wpi.first.math.geometry.Rotation2d)"},{"p":"swervelib","c":"SwerveController","l":"getTranslation2d(ChassisSpeeds)","u":"getTranslation2d(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getVelocity()"},{"p":"swervelib.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","c":"SwerveDrive","l":"headingCorrection"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"headingPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"HIGH"},{"p":"swervelib.parser","c":"PIDFConfig","l":"i"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"id"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"imu"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"imu"},{"p":"frc.robot.commands.swervedrive.auto","c":"AutoBalanceCommand","l":"initialize()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDrive","l":"initialize()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDriveAdv","l":"initialize()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteFieldDrive","l":"initialize()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"TeleopDrive","l":"initialize()"},{"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":"SparkFlexSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isDriveMotor"},{"p":"frc.robot.commands.swervedrive.auto","c":"AutoBalanceCommand","l":"isFinished()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDrive","l":"isFinished()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteDriveAdv","l":"isFinished()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"AbsoluteFieldDrive","l":"isFinished()"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"TeleopDrive","l":"isFinished()"},{"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":"frc.robot","c":"Constants.OperatorConstants","l":"LEFT_X_DEADBAND"},{"p":"frc.robot","c":"Constants.OperatorConstants","l":"LEFT_Y_DEADBAND"},{"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":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"lock()"},{"p":"swervelib","c":"SwerveDrive","l":"lockPose()"},{"p":"frc.robot","c":"Constants","l":"LOOP_TIME"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"LOW"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"MACHINE"},{"p":"frc.robot","c":"Main","l":"main(String...)","u":"main(java.lang.String...)"},{"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":"frc.robot","c":"Constants.Auton","l":"MAX_ACCELERATION"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"maxAngularVelocity"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxAngularVelocity"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"maximumRetries"},{"p":"swervelib.motors","c":"SwerveMotor","l":"maximumRetries"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"maximumSpeed"},{"p":"swervelib","c":"SwerveModule","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":"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.motors","c":"SparkFlexSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxSwerve","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(I2C.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.I2C.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SerialPort.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SerialPort.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SPI.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SPI.Port)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"NONE"},{"p":"swervelib.math","c":"SwerveMath","l":"normalizeAngle(double)"},{"p":"frc.robot","c":"Constants.OperatorConstants","l":"OperatorConstants()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"optimalVoltage"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"optimalVoltage"},{"p":"swervelib.parser","c":"PIDFConfig","l":"output"},{"p":"swervelib.parser","c":"PIDFConfig","l":"p"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"periodic()"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveParser","l":"physicalPropertiesJson"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"PhysicalPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"pid"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double)","u":"%3Cinit%3E(double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double)","u":"%3Cinit%3E(double,double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double, double)","u":"%3Cinit%3E(double,double,double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"pidfPropertiesJson"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"PIDFPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"PIDFRange()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"PigeonSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.math","c":"SwerveMath","l":"placeInAppropriate0To360Scope(double, double)","u":"placeInAppropriate0To360Scope(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"PoseLog(Pose2d)","u":"PoseLog(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"Matter","l":"position"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"postTrajectory(Trajectory)","u":"postTrajectory(edu.wpi.first.math.trajectory.Trajectory)"},{"p":"swervelib","c":"SwerveDrive","l":"postTrajectory(Trajectory)","u":"postTrajectory(edu.wpi.first.math.trajectory.Trajectory)"},{"p":"swervelib","c":"SwerveDrive","l":"pushOffsetsToControllers()"},{"p":"swervelib","c":"SwerveModule","l":"pushOffsetsToControllers()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"PWMDutyCycleEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib","c":"SwerveModule","l":"queueSynchronizeEncoders()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"rampRate"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"readingError"},{"p":"swervelib","c":"SwerveDrive","l":"replaceSwerveModuleFeedforward(SimpleMotorFeedforward)","u":"replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib","c":"SwerveDrive","l":"resetDriveEncoders()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"restoreInternalOffset()"},{"p":"swervelib","c":"SwerveModule","l":"restoreInternalOffset()"},{"p":"frc.robot","c":"Constants.OperatorConstants","l":"RIGHT_X_DEADBAND"},{"p":"frc.robot","c":"Constants","l":"ROBOT_MASS"},{"p":"frc.robot","c":"Robot","l":"Robot()","u":"%3Cinit%3E()"},{"p":"frc.robot","c":"RobotContainer","l":"RobotContainer()","u":"%3Cinit%3E()"},{"p":"frc.robot","c":"Robot","l":"robotInit()"},{"p":"frc.robot","c":"Robot","l":"robotPeriodic()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"robotRotation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"rotationUnit"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"set(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorVoltageCompensation(double)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib","c":"SwerveModule","l":"setDesiredState(SwerveModuleState, boolean, boolean)","u":"setDesiredState(edu.wpi.first.math.kinematics.SwerveModuleState,boolean,boolean)"},{"p":"frc.robot","c":"RobotContainer","l":"setDriveMode()"},{"p":"swervelib","c":"SwerveDrive","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyro(Rotation3d)","u":"setGyro(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyroOffset(Rotation3d)","u":"setGyroOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setHeadingCorrection(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib","c":"SwerveController","l":"setMaximumAngularVelocity(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double, boolean, double)","u":"setMaximumSpeed(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeeds(double, double, double)","u":"setMaximumSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStates(SwerveModuleState[], boolean)","u":"setModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"frc.robot","c":"RobotContainer","l":"setMotorBrake(boolean)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveModule","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setMotorIdleMode(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setOdometryPeriod(double)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"SwerveIMU","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"setupPathPlanner()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setVoltageCompensation(double)"},{"p":"frc.robot","c":"Robot","l":"simulationInit()"},{"p":"frc.robot","c":"Robot","l":"simulationPeriodic()"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"simulationPeriodic()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeFrontBack"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeLeftRight"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(CANSparkFlex, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkFlex,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"SparkMaxAnalogEncoderSwerve(SwerveMotor)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(int, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(int,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"SparkMaxEncoderSwerve(SwerveMotor, int)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(CANSparkMax, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"stateStdDevs"},{"p":"swervelib","c":"SwerveDrive","l":"stopOdometryThread()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"SwerveAbsoluteEncoder()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveController"},{"p":"swervelib","c":"SwerveController","l":"SwerveController(SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDriveConfiguration"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, boolean, SimpleMotorFeedforward, SwerveModulePhysicalCharacteristics)","u":"%3Cinit%3E(swervelib.parser.SwerveModuleConfiguration[],swervelib.imu.SwerveIMU,boolean,edu.wpi.first.math.controller.SimpleMotorFeedforward,swervelib.parser.SwerveModulePhysicalCharacteristics)"},{"p":"swervelib.parser","c":"SwerveParser","l":"swerveDriveJson"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"SwerveDriveJson()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDrivePoseEstimator"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"SwerveDriveTelemetry()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"SwerveIMU()","u":"%3Cinit%3E()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"SwerveIMUSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveMath","l":"SwerveMath()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"SwerveModule(int, SwerveModuleConfiguration, SimpleMotorFeedforward)","u":"%3Cinit%3E(int,swervelib.parser.SwerveModuleConfiguration,edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,boolean,boolean,boolean,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double, int, int, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double,int,int,double,double)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"SwerveModuleSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"SwerveMotor()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"SwerveParser(File)","u":"%3Cinit%3E(java.io.File)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"SwerveSubsystem(File)","u":"%3Cinit%3E(java.io.File)"},{"p":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"SwerveSubsystem(SwerveDriveConfiguration, SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib","c":"SwerveDrive","l":"synchronizeModuleEncoders()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, String, boolean)","u":"%3Cinit%3E(int,java.lang.String,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(TalonFX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix6.hardware.TalonFX,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(WPI_TalonSRX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX,boolean)"},{"p":"frc.robot.commands.swervedrive.drivebase","c":"TeleopDrive","l":"TeleopDrive(SwerveSubsystem, DoubleSupplier, DoubleSupplier, DoubleSupplier, BooleanSupplier)","u":"%3Cinit%3E(frc.robot.subsystems.swervedrive.SwerveSubsystem,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.DoubleSupplier,java.util.function.BooleanSupplier)"},{"p":"frc.robot","c":"Robot","l":"teleopInit()"},{"p":"frc.robot","c":"Robot","l":"teleopPeriodic()"},{"p":"frc.robot","c":"Robot","l":"testInit()"},{"p":"frc.robot","c":"Robot","l":"testPeriodic()"},{"p":"swervelib","c":"SwerveController","l":"thetaController"},{"p":"frc.robot","c":"Constants.Auton","l":"TranslationPID"},{"p":"frc.robot","c":"Constants.OperatorConstants","l":"TURN_CONSTANT"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"type"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"updateData()"},{"p":"swervelib","c":"SwerveDrive","l":"updateOdometry()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"updateOdometry(SwerveDriveKinematics, SwerveModuleState[], Pose2d[], Field2d)","u":"updateOdometry(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.kinematics.SwerveModuleState[],edu.wpi.first.math.geometry.Pose2d[],edu.wpi.first.wpilibj.smartdashboard.Field2d)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"updateStateAndPosition(SwerveModuleState)","u":"updateStateAndPosition(edu.wpi.first.math.kinematics.SwerveModuleState)"},{"p":"swervelib","c":"SwerveModule","l":"updateTelemetry()"},{"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":"frc.robot","c":"Constants.Drivebase","l":"WHEEL_LOCK_TIME"},{"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":"frc.robot.subsystems.swervedrive","c":"SwerveSubsystem","l":"zeroGyro()"},{"p":"swervelib","c":"SwerveDrive","l":"zeroGyro()"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"absoluteEncoder"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"absoluteEncoder"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"absoluteEncoder"},{"p":"swervelib","c":"SwerveModule","l":"absoluteEncoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"absoluteEncoderInverted"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"absoluteEncoderInverted"},{"p":"swervelib.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","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double)"},{"p":"swervelib","c":"SwerveDrive","l":"addVisionMeasurement(Pose2d, double, Matrix)","u":"addVisionMeasurement(edu.wpi.first.math.geometry.Pose2d,double,edu.wpi.first.math.Matrix)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"ADIS16448Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"ADIS16470Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"ADXRS450Swerve()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"AnalogAbsoluteEncoderSwerve(AnalogInput)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.AnalogInput)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"AnalogAbsoluteEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"AnalogGyroSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"angle"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"angle"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"angle"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"angle"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"angle"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"angle"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"angleJoystickRadiusDeadband"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"angleJoyStickRadiusDeadband"},{"p":"swervelib","c":"SwerveController","l":"angleLimiter"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotor"},{"p":"swervelib","c":"SwerveModule","l":"angleMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"angleMotorRampRate"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"angleOffset"},{"p":"swervelib","c":"SwerveModule","l":"angleOffset"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"anglePIDF"},{"p":"swervelib.math","c":"SwerveMath","l":"antiJitter(SwerveModuleState, SwerveModuleState, double)","u":"antiJitter(edu.wpi.first.math.kinematics.SwerveModuleState,edu.wpi.first.math.kinematics.SwerveModuleState,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"applyDeadband(double, boolean, double)","u":"applyDeadband(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"attainableMaxRotationalVelocityRadiansPerSecond"},{"p":"swervelib","c":"SwerveDrive","l":"attainableMaxTranslationalSpeedMetersPerSecond"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"BoolMotorJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"burnFlash()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"burnFlash()"},{"p":"swervelib.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":"PWMDutyCycleEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"clearStickyFaults()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"clearStickyFaults()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"clearStickyFaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"clearStickyFaults()"},{"p":"swervelib","c":"SwerveController","l":"config"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configChanged"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configuration"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configuration"},{"p":"swervelib","c":"SwerveModule","l":"configuration"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configure(boolean)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"configure(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureCANStatusFrames(int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureCANStatusFrames(int, int, int, int, int, int, int, int, int, int, int)","u":"configureCANStatusFrames(int,int,int,int,int,int,int,int,int,int,int)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configureIntegratedEncoder(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDF(PIDFConfig)","u":"configurePIDF(swervelib.parser.PIDFConfig)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"configurePIDWrapping(double, double)","u":"configurePIDWrapping(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"configureSparkFlex(Supplier)","u":"configureSparkFlex(java.util.function.Supplier)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"configureSparkMax(Supplier)","u":"configureSparkMax(java.util.function.Supplier)"},{"p":"swervelib.parser","c":"SwerveParser","l":"controllerPropertiesJson"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"ControllerPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"conversionFactor"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"conversionFactor"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"conversionFactors"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"convertToNativeSensorUnits(double, double)","u":"convertToNativeSensorUnits(double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"correctionEnabled"},{"p":"swervelib.parser.json","c":"ControllerPropertiesJson","l":"createControllerConfiguration(SwerveDriveConfiguration, double)","u":"createControllerConfiguration(swervelib.parser.SwerveDriveConfiguration,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"createDriveFeedforward(double, double, double)","u":"createDriveFeedforward(double,double,double)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createEncoder(SwerveMotor)","u":"createEncoder(swervelib.motors.SwerveMotor)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createIMU()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"createModuleConfiguration(PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String)","u":"createModuleConfiguration(swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"createModules(SwerveModuleConfiguration[], SimpleMotorFeedforward)","u":"createModules(swervelib.parser.SwerveModuleConfiguration[],edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"createMotor(boolean)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"createPhysicalProperties()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"createPIDController()"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(double, double, double)","u":"createSwerveDrive(double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"createSwerveDrive(SimpleMotorFeedforward, double, double, double)","u":"createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward,double,double,double)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"currentLimit"},{"p":"swervelib.parser","c":"PIDFConfig","l":"d"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"desiredStates"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"DeviceJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"drive"},{"p":"swervelib.parser.json.modules","c":"BoolMotorJson","l":"drive"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"drive"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"drive"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"drive"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, boolean, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(ChassisSpeeds, Translation2d)","u":"drive(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"drive(Translation2d, double, boolean, boolean, Translation2d)","u":"drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib","c":"SwerveDrive","l":"driveFieldOriented(ChassisSpeeds, Translation2d)","u":"driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotor"},{"p":"swervelib","c":"SwerveModule","l":"driveMotor"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorCurrentLimit"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"driveMotorInverted"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"driveMotorRampRate"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"dt"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"encoder"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"encoder"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"encoder"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"encoder"},{"p":"swervelib.parser","c":"PIDFConfig","l":"f"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"factoryDefault()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"factoryDefault()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"factoryDefault()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaultOccurred"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"factoryDefaults()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"factoryDefaults()"},{"p":"swervelib.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.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsoluteEncoder()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsoluteEncoder()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsoluteEncoderReadIssue()"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getAbsolutePosition()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getAbsolutePosition()"},{"p":"swervelib","c":"SwerveModule","l":"getAbsolutePosition()"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"NavXSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"getAccel()"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"getAccel()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"getAccel()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getAccel()"},{"p":"swervelib","c":"SwerveDrive","l":"getAccel()"},{"p":"swervelib","c":"SwerveModule","l":"getAngleMotor()"},{"p":"swervelib","c":"SwerveModule","l":"getConfiguration()"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"getDriveBaseRadiusMeters()"},{"p":"swervelib","c":"SwerveModule","l":"getDriveMotor()"},{"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","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":"SparkFlexSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getMotor()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getMotor()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPitch()"},{"p":"swervelib","c":"SwerveDrive","l":"getPose()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getPosition()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getPosition()"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"getPosition()"},{"p":"swervelib","c":"SwerveModule","l":"getPosition()"},{"p":"swervelib.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, double)","u":"getTargetSpeeds(double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTargetSpeeds(double, double, double, double, double, double)","u":"getTargetSpeeds(double,double,double,double,double,double)"},{"p":"swervelib","c":"SwerveController","l":"getTranslation2d(ChassisSpeeds)","u":"getTranslation2d(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"getVelocity()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"getVelocity()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"getVelocity()"},{"p":"swervelib.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.parser.json","c":"ControllerPropertiesJson","l":"heading"},{"p":"swervelib","c":"SwerveDrive","l":"HEADING_CORRECTION_DEADBAND"},{"p":"swervelib","c":"SwerveController","l":"headingCalculate(double, double)","u":"headingCalculate(double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"headingCorrection"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"headingPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"HIGH"},{"p":"swervelib.parser","c":"PIDFConfig","l":"i"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"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.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":"SparkFlexSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"isAttachedAbsoluteEncoder()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"isDriveMotor"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"isInverted"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"isSimulation"},{"p":"swervelib.parser","c":"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.motors","c":"TalonFXSwerve","l":"m_angleVoltageSetter"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"m_velocityVoltageSetter"},{"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.encoders","c":"SwerveAbsoluteEncoder","l":"maximumRetries"},{"p":"swervelib.motors","c":"SwerveMotor","l":"maximumRetries"},{"p":"swervelib","c":"SwerveModule","l":"maxSpeed"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"maxSpeed"},{"p":"swervelib","c":"SwerveDrive","l":"maxSpeedMPS"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"measuredChassisSpeeds"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"measuredStates"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"min"},{"p":"swervelib.parser","c":"SwerveParser","l":"moduleConfigs"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"moduleCount"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"moduleCount"},{"p":"swervelib.parser.json","c":"ModuleJson","l":"ModuleJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"moduleJsons"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"moduleLocation"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"moduleLocationsMeters"},{"p":"swervelib","c":"SwerveModule","l":"moduleNumber"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"modules"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"modules"},{"p":"swervelib","c":"SwerveDrive","l":"moduleSynchronizationCounter"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"motor"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"motor"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"motor"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"motor"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"MotorConfigDouble()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"MotorConfigDouble","l":"MotorConfigDouble(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"MotorConfigInt()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.json","c":"MotorConfigInt","l":"MotorConfigInt(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"name"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(I2C.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.I2C.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SerialPort.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SerialPort.Port)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"NavXSwerve(SPI.Port)","u":"%3Cinit%3E(edu.wpi.first.wpilibj.SPI.Port)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"nominalVoltage"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"NONE"},{"p":"swervelib.math","c":"SwerveMath","l":"normalizeAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"odometryLock"},{"p":"swervelib","c":"SwerveDrive","l":"odometryThread"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"offset"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"offset"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"offset"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"offset"},{"p":"swervelib.imu","c":"NavXSwerve","l":"offset"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"offset"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"offset"},{"p":"swervelib.parser","c":"SwerveParser","l":"openJson(File)","u":"openJson(java.io.File)"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"optimalVoltage"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"optimalVoltage"},{"p":"swervelib.parser","c":"PIDFConfig","l":"output"},{"p":"swervelib.parser","c":"PIDFConfig","l":"p"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"physicalCharacteristics"},{"p":"swervelib.parser","c":"SwerveParser","l":"physicalPropertiesJson"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"PhysicalPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"pid"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"pid"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double)","u":"%3Cinit%3E(double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double)","u":"%3Cinit%3E(double,double,double,double)"},{"p":"swervelib.parser","c":"PIDFConfig","l":"PIDFConfig(double, double, double, double, double)","u":"%3Cinit%3E(double,double,double,double,double)"},{"p":"swervelib.parser","c":"SwerveParser","l":"pidfPropertiesJson"},{"p":"swervelib.parser.json","c":"PIDFPropertiesJson","l":"PIDFPropertiesJson()","u":"%3Cinit%3E()"},{"p":"swervelib.parser.deserializer","c":"PIDFRange","l":"PIDFRange()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"Pigeon2Swerve(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"PigeonSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib.math","c":"SwerveMath","l":"placeInAppropriate0To360Scope(double, double)","u":"placeInAppropriate0To360Scope(double,double)"},{"p":"swervelib.math","c":"SwerveMath","l":"PoseLog(Pose2d)","u":"PoseLog(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib.math","c":"Matter","l":"position"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Position"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"positionConversionFactor"},{"p":"swervelib","c":"SwerveDrive","l":"postTrajectory(Trajectory)","u":"postTrajectory(edu.wpi.first.math.trajectory.Trajectory)"},{"p":"swervelib","c":"SwerveDrive","l":"pushOffsetsToControllers()"},{"p":"swervelib","c":"SwerveModule","l":"pushOffsetsToControllers()"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"PWMDutyCycleEncoderSwerve(int)","u":"%3Cinit%3E(int)"},{"p":"swervelib","c":"SwerveModule","l":"queueSynchronizeEncoders()"},{"p":"swervelib.parser.json","c":"PhysicalPropertiesJson","l":"rampRate"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"readingError"},{"p":"swervelib","c":"SwerveDrive","l":"replaceSwerveModuleFeedforward(SimpleMotorFeedforward)","u":"replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib","c":"SwerveDrive","l":"resetDriveEncoders()"},{"p":"swervelib","c":"SwerveDrive","l":"resetOdometry(Pose2d)","u":"resetOdometry(edu.wpi.first.math.geometry.Pose2d)"},{"p":"swervelib","c":"SwerveDrive","l":"restoreInternalOffset()"},{"p":"swervelib","c":"SwerveModule","l":"restoreInternalOffset()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"robotRotation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"rotationUnit"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"set(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"set(double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setAbsoluteEncoder(SwerveAbsoluteEncoder)","u":"setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)"},{"p":"swervelib.encoders","c":"AnalogAbsoluteEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CanAndCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"CANCoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"PWMDutyCycleEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"setAbsoluteEncoderOffset(double)"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngle(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setAngleMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setChassisSpeeds(ChassisSpeeds)","u":"setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setCurrentLimit(int)"},{"p":"swervelib","c":"SwerveModule","l":"setDesiredState(SwerveModuleState, boolean, boolean)","u":"setDesiredState(edu.wpi.first.math.kinematics.SwerveModuleState,boolean,boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorConversionFactor(double)"},{"p":"swervelib","c":"SwerveModule","l":"setDriveMotorVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyro(Rotation3d)","u":"setGyro(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setGyroOffset(Rotation3d)","u":"setGyroOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib","c":"SwerveDrive","l":"setHeadingCorrection(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setInverted(boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setLoopRampRate(double)"},{"p":"swervelib","c":"SwerveController","l":"setMaximumAngularVelocity(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeed(double, boolean, double)","u":"setMaximumSpeed(double,boolean,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setMaximumSpeeds(double, double, double)","u":"setMaximumSpeeds(double,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"setModuleStates(SwerveModuleState[], boolean)","u":"setModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveModule","l":"setMotorBrake(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setMotorIdleMode(boolean)"},{"p":"swervelib","c":"SwerveDrive","l":"setOdometryPeriod(double)"},{"p":"swervelib.imu","c":"ADIS16448Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADIS16470Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"ADXRS450Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"AnalogGyroSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"NavXSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"Pigeon2Swerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"PigeonSwerve","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.imu","c":"SwerveIMU","l":"setOffset(Rotation3d)","u":"setOffset(edu.wpi.first.math.geometry.Rotation3d)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setPosition(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setPosition(double)"},{"p":"swervelib","c":"SwerveDrive","l":"setRawModuleStates(SwerveModuleState[], boolean)","u":"setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[],boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double)","u":"setReference(double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setReference(double, double, double)","u":"setReference(double,double,double)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"SwerveMotor","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"setVoltageCompensation(double)"},{"p":"swervelib","c":"SwerveDrive","l":"simIMU"},{"p":"swervelib","c":"SwerveModule","l":"simModule"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Simulation"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Simulation"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeFrontBack"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"sizeLeftRight"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(CANSparkFlex, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkFlex,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve","l":"SparkFlexSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"SparkMAX_slotIdx()","u":"%3Cinit%3E()"},{"p":"swervelib.encoders","c":"SparkMaxAnalogEncoderSwerve","l":"SparkMaxAnalogEncoderSwerve(SwerveMotor)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(CANSparkMax, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.motors","c":"SparkMaxBrushedMotorSwerve","l":"SparkMaxBrushedMotorSwerve(int, boolean, SparkRelativeEncoder.Type, int, boolean)","u":"%3Cinit%3E(int,boolean,com.revrobotics.SparkRelativeEncoder.Type,int,boolean)"},{"p":"swervelib.encoders","c":"SparkMaxEncoderSwerve","l":"SparkMaxEncoderSwerve(SwerveMotor, int)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,int)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(CANSparkMax, boolean)","u":"%3Cinit%3E(com.revrobotics.CANSparkMax,boolean)"},{"p":"swervelib.motors","c":"SparkMaxSwerve","l":"SparkMaxSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"state"},{"p":"swervelib","c":"SwerveDrive","l":"stateStdDevs"},{"p":"swervelib","c":"SwerveDrive","l":"stopOdometryThread()"},{"p":"swervelib.encoders","c":"SwerveAbsoluteEncoder","l":"SwerveAbsoluteEncoder()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveController"},{"p":"swervelib","c":"SwerveController","l":"SwerveController(SwerveControllerConfiguration)","u":"%3Cinit%3E(swervelib.parser.SwerveControllerConfiguration)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double)"},{"p":"swervelib.parser","c":"SwerveControllerConfiguration","l":"SwerveControllerConfiguration(SwerveDriveConfiguration, PIDFConfig, double, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.PIDFConfig,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"SwerveDrive(SwerveDriveConfiguration, SwerveControllerConfiguration, double)","u":"%3Cinit%3E(swervelib.parser.SwerveDriveConfiguration,swervelib.parser.SwerveControllerConfiguration,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDriveConfiguration"},{"p":"swervelib.parser","c":"SwerveDriveConfiguration","l":"SwerveDriveConfiguration(SwerveModuleConfiguration[], SwerveIMU, boolean, SimpleMotorFeedforward, SwerveModulePhysicalCharacteristics)","u":"%3Cinit%3E(swervelib.parser.SwerveModuleConfiguration[],swervelib.imu.SwerveIMU,boolean,edu.wpi.first.math.controller.SimpleMotorFeedforward,swervelib.parser.SwerveModulePhysicalCharacteristics)"},{"p":"swervelib.parser","c":"SwerveParser","l":"swerveDriveJson"},{"p":"swervelib.parser.json","c":"SwerveDriveJson","l":"SwerveDriveJson()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveDrive","l":"swerveDrivePoseEstimator"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"SwerveDriveTelemetry()","u":"%3Cinit%3E()"},{"p":"swervelib.imu","c":"SwerveIMU","l":"SwerveIMU()","u":"%3Cinit%3E()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"SwerveIMUSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.math","c":"SwerveMath","l":"SwerveMath()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveModule","l":"SwerveModule(int, SwerveModuleConfiguration, SimpleMotorFeedforward)","u":"%3Cinit%3E(int,swervelib.parser.SwerveModuleConfiguration,edu.wpi.first.math.controller.SimpleMotorFeedforward)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, boolean, boolean, boolean, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,boolean,boolean,boolean,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"SwerveModuleConfiguration(SwerveMotor, SwerveMotor, MotorConfigDouble, SwerveAbsoluteEncoder, double, double, double, PIDFConfig, PIDFConfig, SwerveModulePhysicalCharacteristics, String)","u":"%3Cinit%3E(swervelib.motors.SwerveMotor,swervelib.motors.SwerveMotor,swervelib.parser.json.MotorConfigDouble,swervelib.encoders.SwerveAbsoluteEncoder,double,double,double,swervelib.parser.PIDFConfig,swervelib.parser.PIDFConfig,swervelib.parser.SwerveModulePhysicalCharacteristics,java.lang.String)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double)"},{"p":"swervelib.parser","c":"SwerveModulePhysicalCharacteristics","l":"SwerveModulePhysicalCharacteristics(MotorConfigDouble, double, double, int, int, double, double)","u":"%3Cinit%3E(swervelib.parser.json.MotorConfigDouble,double,double,int,int,double,double)"},{"p":"swervelib","c":"SwerveDrive","l":"swerveModules"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"SwerveModuleSimulation()","u":"%3Cinit%3E()"},{"p":"swervelib.motors","c":"SwerveMotor","l":"SwerveMotor()","u":"%3Cinit%3E()"},{"p":"swervelib.parser","c":"SwerveParser","l":"SwerveParser(File)","u":"%3Cinit%3E(java.io.File)"},{"p":"swervelib","c":"SwerveModule","l":"synchronizeEncoderQueued"},{"p":"swervelib","c":"SwerveDrive","l":"synchronizeModuleEncoders()"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(int, String, boolean)","u":"%3Cinit%3E(int,java.lang.String,boolean)"},{"p":"swervelib.motors","c":"TalonFXSwerve","l":"TalonFXSwerve(TalonFX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix6.hardware.TalonFX,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(int, boolean)","u":"%3Cinit%3E(int,boolean)"},{"p":"swervelib.motors","c":"TalonSRXSwerve","l":"TalonSRXSwerve(WPI_TalonSRX, boolean)","u":"%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX,boolean)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"TelemetryVerbosity()","u":"%3Cinit%3E()"},{"p":"swervelib","c":"SwerveController","l":"thetaController"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"timer"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"timer"},{"p":"swervelib.parser.json","c":"DeviceJson","l":"type"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"updateData()"},{"p":"swervelib","c":"SwerveDrive","l":"updateOdometry()"},{"p":"swervelib.simulation","c":"SwerveIMUSimulation","l":"updateOdometry(SwerveDriveKinematics, SwerveModuleState[], Pose2d[], Field2d)","u":"updateOdometry(edu.wpi.first.math.kinematics.SwerveDriveKinematics,edu.wpi.first.math.kinematics.SwerveModuleState[],edu.wpi.first.math.geometry.Pose2d[],edu.wpi.first.wpilibj.smartdashboard.Field2d)"},{"p":"swervelib.simulation","c":"SwerveModuleSimulation","l":"updateStateAndPosition(SwerveModuleState)","u":"updateStateAndPosition(edu.wpi.first.math.kinematics.SwerveModuleState)"},{"p":"swervelib","c":"SwerveModule","l":"updateTelemetry()"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"values()"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry.TelemetryVerbosity","l":"values()"},{"p":"swervelib.motors","c":"SparkFlexSwerve.SparkMAX_slotIdx","l":"Velocity"},{"p":"swervelib.motors","c":"SparkMaxSwerve.SparkMAX_slotIdx","l":"Velocity"},{"p":"swervelib.parser","c":"SwerveModuleConfiguration","l":"velocityPIDF"},{"p":"swervelib.telemetry","c":"SwerveDriveTelemetry","l":"verbosity"},{"p":"swervelib","c":"SwerveDrive","l":"visionMeasurementStdDevs"},{"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 fa49c18..9fdda1c 100644 --- a/docs/overview-summary.html +++ b/docs/overview-summary.html @@ -1,10 +1,11 @@ - -YAGSL-Example API + +Generated Documentation (Untitled) + diff --git a/docs/overview-tree.html b/docs/overview-tree.html index 93d90c2..e654c5e 100644 --- a/docs/overview-tree.html +++ b/docs/overview-tree.html @@ -1,17 +1,18 @@ - -Class Hierarchy (YAGSL-Example API) + +Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -50,10 +51,6 @@ loadScripts(document, 'script');

    Hierarchy For All Packages

    Package Hierarchies:
      -
    • frc.robot,
    • -
    • frc.robot.commands.swervedrive.auto,
    • -
    • frc.robot.commands.swervedrive.drivebase,
    • -
    • frc.robot.subsystems.swervedrive,
    • swervelib,
    • swervelib.encoders,
    • swervelib.imu,
    • @@ -73,23 +70,9 @@ loadScripts(document, 'script');
    • java.lang.Object
      • swervelib.parser.json.modules.BoolMotorJson
      • -
      • edu.wpi.first.wpilibj2.command.Command (implements edu.wpi.first.util.sendable.Sendable) - -
      • -
      • frc.robot.Constants
      • -
      • frc.robot.Constants.Auton
      • -
      • frc.robot.Constants.Drivebase
      • -
      • frc.robot.Constants.OperatorConstants
      • swervelib.parser.json.ControllerPropertiesJson
      • swervelib.parser.json.DeviceJson
      • swervelib.parser.json.modules.LocationJson
      • -
      • frc.robot.Main
      • swervelib.math.Matter
      • swervelib.parser.json.ModuleJson
      • swervelib.parser.json.MotorConfigDouble
      • @@ -98,25 +81,6 @@ loadScripts(document, 'script');
      • swervelib.parser.PIDFConfig
      • swervelib.parser.json.PIDFPropertiesJson
      • swervelib.parser.deserializer.PIDFRange
      • -
      • edu.wpi.first.wpilibj.RobotBase (implements java.lang.AutoCloseable) -
          -
        • edu.wpi.first.wpilibj.IterativeRobotBase -
            -
          • edu.wpi.first.wpilibj.TimedRobot - -
          • -
          -
        • -
        -
      • -
      • frc.robot.RobotContainer
      • -
      • edu.wpi.first.wpilibj2.command.SubsystemBase (implements edu.wpi.first.util.sendable.Sendable, edu.wpi.first.wpilibj2.command.Subsystem) - -
      • swervelib.encoders.SwerveAbsoluteEncoder
        • swervelib.encoders.AnalogAbsoluteEncoderSwerve
        • @@ -171,6 +135,8 @@ loadScripts(document, 'script');
          • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
          • diff --git a/docs/package-search-index.js b/docs/package-search-index.js index 303d351..0f0b91e 100644 --- a/docs/package-search-index.js +++ b/docs/package-search-index.js @@ -1 +1 @@ -packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"frc.robot"},{"l":"frc.robot.commands.swervedrive.auto"},{"l":"frc.robot.commands.swervedrive.drivebase"},{"l":"frc.robot.subsystems.swervedrive"},{"l":"swervelib"},{"l":"swervelib.encoders"},{"l":"swervelib.imu"},{"l":"swervelib.math"},{"l":"swervelib.motors"},{"l":"swervelib.parser"},{"l":"swervelib.parser.deserializer"},{"l":"swervelib.parser.json"},{"l":"swervelib.parser.json.modules"},{"l":"swervelib.simulation"},{"l":"swervelib.telemetry"}];updateSearchResults(); \ No newline at end of file +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"swervelib"},{"l":"swervelib.encoders"},{"l":"swervelib.imu"},{"l":"swervelib.math"},{"l":"swervelib.motors"},{"l":"swervelib.parser"},{"l":"swervelib.parser.deserializer"},{"l":"swervelib.parser.json"},{"l":"swervelib.parser.json.modules"},{"l":"swervelib.simulation"},{"l":"swervelib.telemetry"}];updateSearchResults(); \ No newline at end of file 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 0000000000000000000000000000000000000000..34abd18f32d3a55a297fdcf93409bd033ae573e7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&ALRXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^403@vmGjdTsnLJUl-Obo4zO|=aStPBhe<(7X!(U6;;l9^VCTf=69^L{`L N44$rjF6*2UngDu&PXPb` literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a90afb8bf8028404d206114965669b023dcb85ea GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4hES%`s&m5HI1v5B^Uft7(lid2moiiX_$l+3hB+!{pPkNg5^ OVDNPHb6Mw<&;$T*0!_~V literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..dbe091f6dc036fc1dc11b005738e951e27a43f7a GIT binary patch literal 332 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�_j6WK+Gj+xJRxVvl#lh7y-4uY);t)n47k4ot z9YsU`HVk7fg4;r{;)FHk7ZHyZJ+W|$aKwj=g&_$VCVFn5%XzSA`|z}+4ItZ|`hB}R z>h-6Be`d>nmv8;kQHJg!HMr^cCGG=T5;3HhZ_JRq0_4a3TsY7Pz{V+}z>;!R^U4*c zJ>wRI59B-)92Vi?b&EWvH(`<(G5A?W)z>EuDMG@VENAb7aHa`I#tKw{0uUc3(#J8& z*_S%A_ZxCIY385{%qN-b1K)TWmCjUA4nWKx_ZnKLSvEf0($&_0@DS~ zN8JOXJXXcaFm^OCYrz(R7N5DQkXKGnnt}yzfw^8s%=A?7hxza;ylJ;XQ&XtC`pM%b z6$5Ff0{(ALcSlTKvIbr@mR`0Z)*iM`2EfO|E5OMk$jQsE!^mat*drqV literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1f5f49756ca64bd20a1048bd7a3a584457d4bf00 GIT binary patch literal 4549 zcmeHK2U8PFw@yL`geFZ|P@*V;w1D&)N-z*QNarO;QRz)l2oR(yU5bE$@JbZ~M4A){ zMUW<7Xc|gHkY1#>kc)mZ-`x8j?lU`k&hG3pXZP8eGv_=pHoVEqz{dap0GM^r+NJ;i z@XQ5l($k#H6S{hbXB#ZW`sOH!2L%N^&k_wk58Uw#*BX~{9Oe{(!2H)ZKd9X_X#oyfU5m#1Q82_f^tw6O11(<7c zWrG0%qDlJqcA8#ZrRU7cn@;N9VJUYHk^lTY3j(~2xv33^rM-YYTR?r#*8XSqkBCLbg&Z9G zp-dC_BuoqAkc7;MJ$9jCDbZN_FFIp=mvYI8l)OlkJ2GcKGFRh03>eyeeRF`W3VO-< zC@;;5k3f&*z5C#XoxT-q8o(%^R8K&f=k{8C{Y0uqmWi%PaU6jYo(5);yFd`Pn(!El z9h1vEhwlH1Q*|5X!lGvH`BD!7(^?OdAd$XP8=x~O{-Q}sy<2@T8`8IN;o*)L;K1*C zz~`x^5S%i=-8fHXQ{cyPiZj`|pV*e}T1g-QFmGBzZJ}z9t&~LL?-9yqp3x_EMw?h% zR0P^RfsG7yxX`l^uHgxl8V3PJTxM-b@>%bt-xEPCC)WNC4L*~?BL_6;e`XLVLVOkZ zaY1crUf;C9r#r|ebAHIp$KdM#$G60s#+4?*)mH)^4Rrn^&ZPOyOvZQO09veRcnbCX zWQc5fEAPmQd7=aqrZPBYAy;!Ph{cmfC@z-hpTuotqr$Mt? zY7woww1bOdZZNt7uHxGKm9$w8ozW}U!S8~V?{0A^bi{^$t00v7M zy;S7sm>vMCBz+=8TH~>zJ3!E9INJ1E6=!x^{;q9Biu$){2DGEIbB=oh!`QMCEx$ds$)Rc&7P*}`pd3{PqA}tIjp&y&{w{YrsPqhxaO4qerTDpM`WTlW5 zu*{F5ID98N%XU%ltVphxZ4Tra!)bpNih&)&Xx+d#q1{G`5icBuvTfv^7X{W}JXD*B z5!u=L*x{^0TXODlF@ziPt+=ars9OiJOv1hU4sSKFa z=)|j@+%OFH1Oa3f>ffz{O6~wHhDJrN4=)Y|I6DD)9CPw@Ytx6M2-O;{GQTQG&gg?A zr_VPJ&6+f^hXn|7pvwa+o;bXAc{n)lTn{~TF;3#>=AS1_iaGZheU=*xbHD8CUNUCj z^3&DKA#op+3tPQa@eK1RUg%D!n%5J4ICni7xELQIvd$Qz&+%!EZ!S{js)F!S5x>3O zLCB>-TbYHXS1?}__Xfm{r>(wAU3INPvHaWIIYbsxO^Oe0h0xglZWFakn6z+$6`V(< zSimFunLw;GdHMnWx=-GqPeuvo)l|sHaFJ~`DxMN)4Y7U!J8D=^MqeQn$`lS|1%mdN zK^morEND%3ee@_Yb<>IVIW2*6NZ^*QDg@w`H$3}uYsbleFidycDox+uzraGexRKEV z)Wd(JYU$(enZkGJ3{9REQOJppi6EBrWrXU;Ho*EGRUG&RC-ceTd@*C1J$c=Jk~Ty0 zAJE}+ZgP611Nw}-*K%$Od}R)=^6W|sl);faH`l2OA>=zFmy@8vVK$&%4OTWEhnx^< zs6V-c51bUMvJ@`4zcieGu?{L+ z6(ZMYhQND%M5s7uB)($Pv`1e&xPRDwWGD>e&;;;sA;yn_>F>rJH-M!+=wbl1_|+h6ttu(NB3r*FCdU;|1QOB?AGaVz-O zFMj-^FpfDR$apG zp!5Ji|53`FLrz-d>YnYEv6T0wDN8?-+$@_Nk-6nai){TtA=w&Qa=^woXbB~azV{PSFnB7zJF-k|zJbp8E$W1!v#tcX8%TiKFo-n7uCut-v(fLn$6ypSnrZ z$*S34s_(`S1jtESyVuI|{3uW2BhK-{jQp05>-^UGi}#K$%3bE8bM>i8<~MKu=Z4e! zh0A#tX_IOB39o+SdnJzu7<`KoCri$9{I*mr4A2uJr&$q1-r=Lzfussme7r{sQYl;m0a`a^hI)69ux681k(h4* zN9|Ywb^i7xF=uPVr*az7RYlVWPxhKmOE)Fgo>mlB<7pYaz6VsBW7J04%DxENck4rx zgM6#>hT78o;>S1Jt8MqV+4Jng1ERmSoX9dGIW`CC2VaF9CwL8-Bi|83mD2!Dee`Lm zCU-luuD>aLYJU7ZD?3R8tYYSVzoEVM_7n=hEcv1FN{h`Dk*ik1Q)z?ie^&}a1;86B!(s%}s%T_y4o&Ilh~d4DHn(86bo>p-*Ct4!-v)W$h1{J?4IrLKT@^?`26FF*@(2A4^@6og<7ngtWmIBVp>g{gwCG=1WX4srm*>E(6gC>!E~o-<{=AHg;~h zr)4{j`glAMBt_n{+%n8))~tNAyYCizc)D8wlZ8(Mn(svkWSi{A*vq>kCT}fIzl|Cn zy>PR|9cIRx;PBE5*-4+O?~_|$F<}5ur(2S|FAw=N&4pNnTk#=xhxAK3L=6a{X{DRocw%r8utUc^U?}*_ zr(y*T#U}{tCh=GT-ig;Dn~K`ilK*9stV#@EBAC9TOf4ugkA;~Nt2ej0?du%%-=F_m zz_LA$2jOO2Xk0r}zAZwZs7;VwA4S}3#)0t0SXSerLIo`;%;<|0ji~+vl}hOk9i+zx zUuZGWeo-DskUoPx=uJ)C!2Ep5@-PzwsF1^fj6kXJV!gU9L;{+5Gue#|!$uOssQo@K zR+uvJS*YTwuIPpVsz4PRkj93f17`97b|eBhl?7-Z9~n0f6EDor>foo2fPb$h4?A7> zT%r7x%5bpcUlV8+ByvZ7G1za^zhKiWJonD$xaS#k!hAE4p;QgaM*&tH)GI*HnxRE` zKM&1Lk7kAdR0w0M^qbP-LBil+NXKi;ihqCio{6=#|O(C$v0m`Z##4NXD+__-g z(_-U=I?+`IvcD6z77?Nw;fys4D9CFwg)Aldh6fQ?7N5`ui7^y6CC!+Es(Gr9qTHPK z-0ma)tFN+?V$ZP1e1t=yi(Zs8_S&zkh{hmaoulswfZ1Dqa1RNYC-25^Rm!I<>GW3k zjUOHLY78yVOfQ4@4mA&>xohn_3&n{JwbI7c3dEV^o%%0Fv=51+iH6T4?jF;IPPfqw zokxnwN5uxo9?XI&Sz@-f12P;WQ%GNbFK1CCdDhs}sVDCdBr~;?W)WZ)U0iw42JJnB z7i*tnrsnBMBpw^Ay}gobnSM$V#D;&2_@aql^X86vylX4gc?Y;m(y8v2NuB;;wJQoV^z3UpIO6adgOK|rh`I83cQ92vN z*nDrN5bxLa^N8pN&PPh7e;t?O#;^ACf0T)hr9bD^{p0K0aKs6fP=#ZL0@Q)?jH1G4 zmGhC&x$cBzQD~bW$K$+5{ylRuGYJ=lL0%_3KE(evW+WZI`zqmN3H0Yi?*N0(R64#J z>}+>eAmE{uko29IXjycIN3NS#IqY;9$u>caW?(bvKw+_ zgG{F`FVBpFDwJwR~R;O-V!9D+Lphp>2% zCAeJPdrp0I&;9O?nVzZYuAY9Td#2`@Ff|ofJRC|K004j|F9+2C0DzA}z%e%ZV=t5G zEb%Bnri!vqfK1uzM9#CcN_%;z#n=8gA#PS3;tcI;~uofXisxsK~{&;VR#1 z!o>>A2X%jk6mmfdq0-jyMN=cu0=VG)#_Jf_>&KuMX8ti@lH{h`>lhL}=z0k4IB519 z2z+_ZC;46kNd^v6LH`zyWz zc=pCDRd~N_<2su2s8&{(HU!aVC@&H;3-}=D4 zmn4&Xqtz|N;fr4ZX*`x)O>~I#fDAFWbF}%9b@c^V1-YMxSf6U)DQRkB+43Xqb9MFy zjo;f7Zl(+0@U{ZOZ-5LtI^A(gphls-(I>bAO%b)X0%Rr}JgWGZvD+JlsTxN^% zxJBLbH-$q!0L=#%jxX5Vq_FKJ<2w!*===-Y@qzQ*_ z&ov@B+(5Xb?{lf2ViA!OfgI3o#$9BtFq%%7KSq&MDxi7pySJYoi*Mo(W6r!DLSMQT z5R^D?yx*g7)k}}4ziwHEoWI5K%3hPst6voipJkIw?!%9N$K$TWC4VuQM9)7yVq;a$ z=Z;n#4~)-1561t|Pxey=Qu^0P2#JYboJR5co5Ktl*iAC2?$BN>JINDo_+7dptH4MZ z=#a=xrMtj%`CVN()`GKp3RFADpy$xF7~O&&p0-yeG=xW8uhj9Af`YV6uf@~_v;;D#h=*T)D!O`_6(IwY zIw^B!$W|O05eRI*b>Pe%GGlOW`<(mkpbS$G@7HEko`s{=g~2c4kqO2D{R_c$HXzr|(vU9~bVZ9Zw90;2AsK2ig}XTGY6fY#HgGpEaxY zO`D_Z@O8%f#^@5G;myQ5fA(JXK{rgcieDr!{s`~{nU%CRe=1;4og^%^Ts{A8>Sq8@ z7MLFuiJ9lh@TXEbSXQb0;l#nbg^u{Ky;vCuCLR537HT%5FxM^fs5pS1gq3J(Tf!*6 zAc~!aiCB8(;cEmBeX<`V&xqvsk92&%dsXd*G@M$W7!TVsoD%c%!p~lGHEz(ckd{tR z##JAyc1)YR0b@JW|HWX=EIHNMaui<>jUPal5F|-#l#?ar-oHSbCyZG*EuqOC?V5Iz zROd8mBy{ukJ_DuzLTBsPdF^WZ7NW}CWcww?Uwp))_brh+D#JdL%%G}bh zEbmg}yJc_xX1_|6iSomOV4IgTV&UNVe-P4B!*v}&@hLXe=h7%`bcW^Eta_BE?bf*&82)UKj^6nE@ zA$RoKncM;1&!nmY^=yjr6=wgBr%e9BXAxKh^0A1=&iQhn5mfUB$_1N5DJ-DZ4!pLCChW*MHin>-!AX+Twe_SsV%)n#? z9m<01Z}*b;{SU$Rd-`axfZ;y8#-Dau@wD~tukEo#I1b5JhkDp%r;hf2&TH29Y`$=G zCT=}&CU#_(G5)E0y~*>piG@IHnT&WP>Bef5eoMnuRP?tb7aFH_AYy@I!S34oD{g9j zt&5vt`pheqh=GvgZDzlqDuidT)11qC;R35@PC4Z4(p=SICoeHq+3uEqgbmq)}q|_NRzcOHv0J`WLpt+1=j?0A{<5%OLxd!f~^V zfofe-Y;s4+yganmBlRs9L-MCkb@HkcIGzakx6p52sHx;MA}LA_@xo(MP} zDc);OVH(SgwrVlgqy!Vb7cIqe8X$!ECB5e#-)15warssOnkR%x%-o>1T_T=}^z83m z>?c?Vcl|}zH)Gve#!UTymO66c$B^I*%B*@2y23hf5=?aCeBzz7EJe|b9Sex0(wO>7 zRb>P4peOZ<5iwK?l!Imu++&w7Syj6VQ7HaGhAd%tr!?^1W9BpDb9K6w6&K*5X?Mg{ zJ-9!QlR>z>DK+)226mPe<+h_rzFAHI!mzVV#GU?Fzw~_RoaIT4yg6y4BAsT`&lzDE zN8&hg3mPdVnZE*z(B&{cUCbdEZcwCc!M07oJQWk{gQd-> zr9dqLy@o0}77srWq=#f}hD*4;Wr{`XhNy3(QRG7u=})1~*VvvJg7)}?r}&$RlQwv$ zXdGV%bswf)=onk3jFfL;P++Q%v8Zx@HLpgdXD??Rgfd0J7%TheMo&G8Ri zY%xQ58GYjiumJ@R#%;;*4f6=Jqyt;B^WLz4)&y*MwAuEm);Ad)VfKQ8Sr0CY@t@~> zUQjgZ#QB*y&{~9gc(!{BsVt<##<@4;&)IsJD6YtQmo_p%?&3O=8)wZazJdioWa<4X zlrD5`HRzYUVx9XSHNrRMeJbsZXE$L%`CjK>#AvI+17q)*ws2o~m+2h|RXRpuvZ;D* zQY%WR`fzBy@JjoZU*XW8`Fqv?ZRVOCeS4``J028Q{72zS6OggtuOq;?NrF=gLU{T1 z2Ey5bAX2R!_@I`V<&n7vuSD$!&t^oE$C16?6i^2+oXgJEQ^GRtyq7y|3J zjS5W(iH2Od&+O~1mD#qt_V(U2`D~yWIe}Wmh)Pz z`3B*tPj%Q1@@njj!dC^nL67Y3HjBux!~dkMt88TTtEyZ&gy!?kq=hW3X+P_Vrv0a= zk$G`d4jR#UC3q&uVr_NfxeAI|1?9Qb7nKH>x*7HzWEl1J7=Vy~_xZtg^d+=;~q6HX~P<3!HF61g_w>7y^ge1>z>0>CJBlwhy*m zu^e%|FDE`Pg>^K2tw_~`;#;lt;kHE=dWx%}d@{Ep`+}fUYEkRY@7R4z^Gi3a z%p3!^U0{T-%L?kl_g;>HbVbT_)6tT-&YtzE=5CeyU1!c&e8r`X(rWY(&&Hn$;!z<3 z@ZD^M|7w69ux8!!$a=u3Jm9vMnxk@c@;-#Vi;?20XYrZU4{Zg*wkL!!)33(XXlz1R zYdSCxbAF4VGcc|P>jR^>ye$Fvd;}`W;VnrnsgUp09az2h?}6$Hh^S}<)Tc=<&3>*uCLEyR_hY_tr{or zrLSkS#T^|h1|_TSdo$fLueegLlN{0i)^=e2EtbySBh*?saAY}fWW_pZPj89qIdGQG zuxq;}FZf}T8*ZUnyil7Q8o@Dmf8dp6l_IDkJXm0=&ivCe1tvmX*|Y9)KZx>*u)cj!gV3~eOWE0KE$Vd(C$NowTz3Z#GR58MoW7U>(7WibQR7zU zr(M+U)R3#cCD?IbC3MmtR7?nlyi9(d)Z8dBwm5Yv#gE zH~5Y@zD>tVcGN_vSwLt5=jvf;p2JDnXQDL55iWH_(o7-&$C@w1ezEAGF`loMo{^9s z+qL-4cT!g|bS7(^aDM{#4CP=QsdpQhA-B3WQ@8x}1Z~5_L6>yv41-IOKT3S%nn6e5 zjJw+eepy<9mtX+LaCH|?5I*+c*Y9Mnr%8@i5vn4Hu@i=9XtWGol{AM#ixz~m!Q15N zdc*o)e1I~VccQpl$M!|<;DHX$F%un;kJwM!;3X{(+24sQz;UoP+D;pG5OrK;NSpRJ zAoo7h4z`5^2%$YZK@il;j!YY-k-Zk}e^u&AqL*9qyz-Oxo3!(5hwER%GJ1>eeJHnI(0ne%RzAyI5mDgG%|(-4~b=*CY8r|1uLy`6pa z`a`AqLvAMzmPMnOi;v!%;Z#k2RPeMo!UaOYtBz2^Z@;8%ZuCM|L0q-P*6`3fqiw^L zL3`*T0~C5-#Fy`zV$lw~_4mI6WLZS@zu$b)@(M16E0J%hHBZ=3P0gJyo*6+fXZ0|) zB~_}943 z?Lc#&-_51qs+HcN0==Y{;S2E*(c#J}TF1dOq>+oBq7^BO)gtN36`@RskHQ1S3iYcE zdr^>R{%$WSvX(kRE8=0x3WtG3iW!hA)a`Qss{lN*6S62fAT80qpF>~U0K*^ef>uYa zroXwa>=4bE(Me{aSAcQ#S=$1-=uQTg;;=5KvvH5q>2fiJX)f+RsBB9uXVi%6<=o_J z;Fb|nE-|%J+QxjX*FPtOMZ0yTw$HWu++eB$65&pLY_$8rd6A`F5DZM&a@ox>EyZF; zI35+4PUyZ(Fq1PdiWWylndF0L`Bi&mEFQ4%ig#h6sXl- zY}`wuiiW&n92*N#!?nXU?R|&(llg1N@n!AqFF{IZ&>!ujl|0-wU5gGY2E08{lSjF4 zt|sNhwGNVmJc`EVWEc7S%r0=*uWj19qAzg@1=s-H)o&Wz<Lli7-+}2Ha{kq=!XZ~pZc&+Q=0Cr|?#_d2wy>XJyrz^0!NJym zO7^0TjMo8~-}C35db!jXTrFn2nwOg2p{IJ)TMKtnrmOTK9*AKe0{j(&<)*eqt8N!v zpq|U58&sl=USB36p%G@>`5=>n9`TBDZ+p}y$w2uADdGxvcz^~D|-g+X6KZ?b`a6w%sL2=P|o1#BP})wq9P6^I;EBnI=7-f6T*2aKAh(r zXjh?;*}}bE?&sMes#m4`20olUS!0kmkhy2DS0V9I zOVfN+i{L@-)F3v$JA2t)D}TAUs6WZNKJ{$kx`%Omgx%I7Je24zhTUZh(V%L!aHijs zeCcMA`}iNqfj%Fu?+*QOj<}bl1LV*Ss@{fNU5=lL+RyR}X`nw|5$c(I=~X%=VUF8A zjt6XyO6Eiq%OTZ+GJkTSuKVD2LWrlV!?~tMbg?upc?2iFnnE_oJ8?xt5w%`pFE$TSofbGY9Nn%^00N{i~> z!<-d}5xbK}N##I0*iFO8_PIgdMSVO=^HewXRYhMjzGFhagblsyGGu2-wW7GZZ{ zQoU1S*zc%l7-^UdxP0GxT<1fpCrTSsH9D$z?_|R6 z_Vg7Qh~N<#KqCEj{{Z9*u}7$G?~LK>=6PI~v3uf)l@UJV^0t@wG+ak)aZ`yOwUxZ0 ziHYw>>qDBv?tyTN>lry=XZ*IuTz=$P-6wpGW>1{a66PVs?H#@p6~=_6dhZ zQ_C6oC7I*oSKm7UI^y|S@_%pNF_jc0z9XL9|03`HyXxpE1D3c|=~P-|F$QK4)n|(p zysic<{o^^p=+kD)6#_wCVnRh3{vm;FfO(3hp^DhdCadwzK8XzOBXkoPy^at}Pap*v zBU(QN-y|aejaOi@kWw<2H}EDHC;A&JKG2L*Bi1ZUvuMuO9`swC=#*((@P6()>?sWt zSXDf0QV4qoH^Tn-f32+A7sI%V8~ZP)1~6@8g`2`)UUIaRX&f=wzC8&T0D+%B;88ZL z&{X@v#(SwT20&G$4|rq^D~AiK(oG-XF=1UsB7s4^AE5^`5hh(e;#fOR%+1EhfO@H| z^%1^X;6oC2lZX7+_QP$!5C2yH7CdlD4a*frVc;CDYPb|XeSReoPs*JS;SMlZ9?j#N z08l}h{pNsNINt0bkR@G~?a{{%xO{8T{LwZ*OrlaiqT}-+i-P#Wt~zlIz^>o7J46EY zIKG)9Tbm%h6~Cx4ESc-WZhQQJVs@2z?`m%1Y5_5Gws;f(UNDa!Cs>G+hwmK^7{bc~ z5fI@3gCSrr6)-H~KMd?0&220_|EB?11i~u_5#axq0cs?h@X_G;KOQt4EnVGBoGk#7 j=8mQoFXZh_tSmGvOw2u<1}#J%l>qWGD$oikWB>mG5~xOM literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ee5e33f27235d1b5cf0259f63f3894a6be33c679 GIT binary patch literal 6999 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7e8ebc180a2d2a74739059799407b8b7b57a9092 GIT binary patch literal 4549 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 Mq_Ix57W&cu0AIB!=l}o! literal 0 HcmV?d00001 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 7cc1fff..96dba7f 100644 --- a/docs/swervelib/SwerveController.html +++ b/docs/swervelib/SwerveController.html @@ -1,17 +1,18 @@ - -SwerveController (YAGSL-Example API) + +SwerveController + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
        • Package
        • Tree
        • -
        • Index
        • +
        • Index
        • Help
      diff --git a/docs/swervelib/SwerveDrive.html b/docs/swervelib/SwerveDrive.html index b18d9d5..c89a11b 100644 --- a/docs/swervelib/SwerveDrive.html +++ b/docs/swervelib/SwerveDrive.html @@ -1,17 +1,18 @@ - -SwerveDrive (YAGSL-Example API) + +SwerveDrive + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    @@ -90,52 +91,112 @@ loadScripts(document, 'script');
    Modifier and Type
    Field
    Description
    +
    private double
    + +
    +
    The absolute max speed the robot can reach while rotating radians per second.
    +
    +
    private double
    + +
    +
    The absolute max speed that your robot can reach while translating in meters per second.
    +
    boolean
    Correct chassis velocity in drive(Translation2d, double, boolean, boolean) using 254's correction.
    -
    edu.wpi.first.wpilibj.smartdashboard.Field2d
    - +
    private boolean
    +
    +
    Whether heading correction PID is currently active.
    +
    +
    edu.wpi.first.wpilibj.smartdashboard.Field2d
    + +
    Field object.
    +
    private final double
    + +
    +
    Deadband for speeds in heading correction.
    +
    boolean
    Whether to correct heading when driving translationally.
    -
    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.
    -
    final edu.wpi.first.math.kinematics.SwerveDriveKinematics
    - -
    +
    final edu.wpi.first.math.kinematics.SwerveDriveKinematics
    + +
    Swerve Kinematics object.
    -
    edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
    - +
    private double
    + +
    +
    The last heading set in radians.
    +
    +
    private double
    +
    +
    Maximum speed of the robot in meters per second.
    +
    +
    private int
    + +
    +
    Counter to synchronize the modules relative encoder with absolute encoder when not moving.
    +
    +
    private final Lock
    + +
    +
    Odometry lock to ensure thread safety.
    +
    +
    private final edu.wpi.first.wpilibj.Notifier
    + +
    +
    WPILib Notifier to keep odometry up to date.
    +
    + + +
    +
    Simulation of the swerve drive.
    +
    +
    edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
    + +
    Standard deviation of encoders and gyroscopes, usually should not change.
    - - -
    + + +
    Swerve controller for controlling heading of the robot.
    - - -
    + + +
    Swerve drive configuration.
    -
    final edu.wpi.first.math.estimator.SwerveDrivePoseEstimator
    - -
    +
    final edu.wpi.first.math.estimator.SwerveDrivePoseEstimator
    + +
    Swerve odometry.
    +
    private final SwerveModule[]
    + +
    +
    Swerve modules.
    +
    edu.wpi.first.math.Matrix<edu.wpi.first.math.numbers.N3,edu.wpi.first.math.numbers.N1>
    @@ -371,8 +432,8 @@ loadScripts(document, 'script');
    void
    setMaximumSpeed(double maximumSpeed)
    -
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the - setRawModuleStates(SwerveModuleState[], boolean) function and +
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the + setRawModuleStates(SwerveModuleState[], boolean) function and SwerveController.getTargetSpeeds(double, double, double, double, double) functions.
    void
    @@ -380,8 +441,8 @@ loadScripts(document, 'script'); boolean updateModuleFeedforward, double optimalVoltage)
    -
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the - setRawModuleStates(SwerveModuleState[], boolean) function and +
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the + setRawModuleStates(SwerveModuleState[], boolean) function and SwerveController.getTargetSpeeds(double, double, double, double, double) functions.
    void
    @@ -407,24 +468,30 @@ loadScripts(document, 'script');
    Set the odometry update period in seconds.
    -
    void
    - +
    private void
    +
    setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[] desiredStates, + boolean isOpenLoop)
    +
    Set the module states (azimuth and velocity) directly.
    +
    +
    void
    + +
    Stop the odometry thread in favor of manually updating odometry.
    -
    void
    - -
    +
    void
    + +
    Synchronize angle motor integrated encoders with data from absolute encoders.
    -
    void
    - -
    +
    void
    + +
    Update odometry should be run every loop.
    -
    void
    - -
    +
    void
    + +
    Resets the gyro angle to zero and resets odometry to the same position, but facing toward 0.
    @@ -466,6 +533,27 @@ loadScripts(document, 'script');
  • +
    +

    swerveModules

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

    odometryThread

    +
    private final edu.wpi.first.wpilibj.Notifier odometryThread
    +
    WPILib Notifier to keep odometry up to date.
    +
    +
  • +
  • +
    +

    odometryLock

    +
    private final Lock odometryLock
    +
    Odometry lock to ensure thread safety.
    +
    +
  • +
  • field

    public edu.wpi.first.wpilibj.smartdashboard.Field2d field
    @@ -513,12 +601,83 @@ loadScripts(document, 'script');
  • +
    +

    correctionEnabled

    +
    private boolean correctionEnabled
    +
    Whether heading correction PID is currently active.
    +
    +
  • +
  • headingCorrection

    public boolean headingCorrection
    Whether to correct heading when driving translationally. Set to true to enable.
  • +
  • +
    +

    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.
    +
    +
  • +
  • +
    +

    HEADING_CORRECTION_DEADBAND

    +
    private final double HEADING_CORRECTION_DEADBAND
    +
    Deadband for speeds in heading correction.
    +
    +
    See Also:
    +
    + +
    +
    +
    +
  • +
  • +
    +

    lastHeadingRadians

    +
    private double lastHeadingRadians
    +
    The last heading set in radians.
    +
    +
  • +
  • +
    +

    attainableMaxTranslationalSpeedMetersPerSecond

    +
    private double attainableMaxTranslationalSpeedMetersPerSecond
    +
    The absolute max speed that your robot can reach while translating in meters per second.
    +
    +
  • +
  • +
    +

    attainableMaxRotationalVelocityRadiansPerSecond

    +
    private double attainableMaxRotationalVelocityRadiansPerSecond
    +
    The absolute max speed the robot can reach while rotating radians per second.
    +
    +
  • +
  • +
    +

    maxSpeedMPS

    +
    private double maxSpeedMPS
    +
    Maximum speed of the robot in meters per second.
    +
    +
  • @@ -534,9 +693,9 @@ loadScripts(document, 'script'); SwerveControllerConfiguration controllerConfig, double maxSpeedMPS)
    Creates a new swerve drivebase subsystem. Robot is controlled via the drive(edu.wpi.first.math.kinematics.ChassisSpeeds) method, or via the - setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[], boolean) method. The drive(edu.wpi.first.math.kinematics.ChassisSpeeds) method incorporates kinematics-- it + setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[], boolean) method. The drive(edu.wpi.first.math.kinematics.ChassisSpeeds) method incorporates kinematics-- it takes a translation and rotation, as well as parameters for field-centric and closed-loop velocity control. - setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[], boolean) takes a list of SwerveModuleStates and directly passes them to the modules. + setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[], boolean) takes a list of SwerveModuleStates and directly passes them to the modules. This subsystem also handles odometry.
    Parameters:
    @@ -745,6 +904,19 @@ loadScripts(document, 'script');
  • +
    +

    setRawModuleStates

    +
    private void setRawModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[] 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.
    +
    +
    +
  • +
  • setModuleStates

    public void setModuleStates(edu.wpi.first.math.kinematics.SwerveModuleState[] desiredStates, @@ -927,8 +1099,8 @@ loadScripts(document, 'script');
    public void setMaximumSpeed(double maximumSpeed, boolean updateModuleFeedforward, double optimalVoltage)
    -
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the - setRawModuleStates(SwerveModuleState[], boolean) function and +
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the + setRawModuleStates(SwerveModuleState[], 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.
    @@ -945,8 +1117,8 @@ loadScripts(document, 'script');

    setMaximumSpeed

    public void setMaximumSpeed(double maximumSpeed)
    -
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the - setRawModuleStates(SwerveModuleState[], boolean) function and +
    Set the maximum speed of the drive motors, modified maxSpeedMPS which is used for the + setRawModuleStates(SwerveModuleState[], 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.
    diff --git a/docs/swervelib/SwerveModule.html b/docs/swervelib/SwerveModule.html index a046be1..283d279 100644 --- a/docs/swervelib/SwerveModule.html +++ b/docs/swervelib/SwerveModule.html @@ -1,17 +1,18 @@ - -SwerveModule (YAGSL-Example 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 double
    + +
    +
    Angle offset from the absolute encoder.
    +
    + + +
    Swerve module configuration options.
    +
    private final SwerveMotor
    + +
    +
    Swerve Motors.
    +
    edu.wpi.first.math.controller.SimpleMotorFeedforward
    @@ -115,6 +136,16 @@ loadScripts(document, 'script');
    Module number for kinematics, usually 0 to 3.
    + + +
    +
    Simulated swerve module.
    +
    +
    private boolean
    + +
    +
    Encoder synchronization queued.
    +
  • @@ -268,6 +299,27 @@ loadScripts(document, 'script');
  • +
    +

    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
    @@ -295,6 +347,27 @@ loadScripts(document, 'script');
    Last swerve module state applied.
  • +
  • +
    +

    angleOffset

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

    simModule

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

    synchronizeEncoderQueued

    +
    private boolean synchronizeEncoderQueued
    +
    Encoder synchronization queued.
    +
    +
  • diff --git a/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html b/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html index 18692ae..2f31382 100644 --- a/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html +++ b/docs/swervelib/encoders/AnalogAbsoluteEncoderSwerve.html @@ -1,17 +1,18 @@ - -AnalogAbsoluteEncoderSwerve (YAGSL-Example 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

    @@ -192,6 +198,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 59d380e..35d315e 100644 --- a/docs/swervelib/encoders/CANCoderSwerve.html +++ b/docs/swervelib/encoders/CANCoderSwerve.html @@ -1,17 +1,18 @@ - -CANCoderSwerve (YAGSL-Example API) + +CANCoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/encoders/CanAndCoderSwerve.html b/docs/swervelib/encoders/CanAndCoderSwerve.html index 3b8588b..a866d7d 100644 --- a/docs/swervelib/encoders/CanAndCoderSwerve.html +++ b/docs/swervelib/encoders/CanAndCoderSwerve.html @@ -1,17 +1,18 @@ - -CanAndCoderSwerve (YAGSL-Example 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

    @@ -188,6 +194,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/PWMDutyCycleEncoderSwerve.html b/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html index f2b04a8..bc82f6e 100644 --- a/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html +++ b/docs/swervelib/encoders/PWMDutyCycleEncoderSwerve.html @@ -1,17 +1,18 @@ - -PWMDutyCycleEncoderSwerve (YAGSL-Example API) + +PWMDutyCycleEncoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -50,7 +51,7 @@ loadScripts(document, 'script'); @@ -92,6 +93,22 @@ loadScripts(document, 'script');
  • Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final edu.wpi.first.wpilibj.DutyCycleEncoder
    + +
    +
    Duty Cycle Encoder.
    +
    +
    private boolean
    + +
    +
    Inversion state.
    +
    +

    Fields inherited from class swervelib.encoders.SwerveAbsoluteEncoder

    maximumRetries, readingError
    @@ -170,6 +187,28 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        encoder

        +
        private final edu.wpi.first.wpilibj.DutyCycleEncoder encoder
        +
        Duty Cycle Encoder.
        +
        +
      • +
      • +
        +

        isInverted

        +
        private boolean isInverted
        +
        Inversion state.
        +
        +
      • +
      +
      +
    • diff --git a/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html b/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html index d1c6d0c..1e56d15 100644 --- a/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html +++ b/docs/swervelib/encoders/SparkMaxAnalogEncoderSwerve.html @@ -1,17 +1,18 @@ - -SparkMaxAnalogEncoderSwerve (YAGSL-Example API) + +SparkMaxAnalogEncoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
  • @@ -140,29 +141,34 @@ loadScripts(document, 'script');
    Configure the absolute encoder to read from [0, 360) per second.
    -
    void
    - +
    private void
    +
    configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
    +
    Run the configuration until it succeeds or times out.
    +
    +
    void
    + +
    Reset the encoder to factory defaults.
    - - -
    + + +
    Get the instantiated absolute encoder Object.
    -
    double
    - -
    +
    double
    + +
    Get the absolute position of the encoder.
    -
    double
    - -
    +
    double
    + +
    Get the velocity in degrees/sec.
    -
    boolean
    -
    setAbsoluteEncoderOffset(double offset)
    -
    +
    boolean
    +
    setAbsoluteEncoderOffset(double offset)
    +
    Sets the Absolute Encoder offset at the Encoder Level.
    @@ -218,6 +224,17 @@ loadScripts(document, 'script');

    Method Details

    • +
      +

      configureSparkMax

      +
      private void configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
      +
      Run the configuration until it succeeds or times out.
      +
      +
      Parameters:
      +
      config - Lambda supplier returning the error state.
      +
      +
      +
    • +
    • factoryDefault

      public void factoryDefault()
      diff --git a/docs/swervelib/encoders/SparkMaxEncoderSwerve.html b/docs/swervelib/encoders/SparkMaxEncoderSwerve.html index cf1e327..012c053 100644 --- a/docs/swervelib/encoders/SparkMaxEncoderSwerve.html +++ b/docs/swervelib/encoders/SparkMaxEncoderSwerve.html @@ -1,17 +1,18 @@ - -SparkMaxEncoderSwerve (YAGSL-Example API) + +SparkMaxEncoderSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    @@ -140,29 +141,34 @@ loadScripts(document, 'script');
    Configure the absolute encoder to read from [0, 360) per second.
    -
    void
    - +
    private void
    +
    configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
    +
    Run the configuration until it succeeds or times out.
    +
    +
    void
    + +
    Reset the encoder to factory defaults.
    - - -
    + + +
    Get the instantiated absolute encoder Object.
    -
    double
    - -
    +
    double
    + +
    Get the absolute position of the encoder.
    -
    double
    - -
    +
    double
    + +
    Get the velocity in degrees/sec.
    -
    boolean
    -
    setAbsoluteEncoderOffset(double offset)
    -
    +
    boolean
    +
    setAbsoluteEncoderOffset(double offset)
    +
    Sets the Absolute Encoder Offset inside of the SparkMax's Memory.
    @@ -219,6 +225,17 @@ loadScripts(document, 'script');

    Method Details

    • +
      +

      configureSparkMax

      +
      private void configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
      +
      Run the configuration until it succeeds or times out.
      +
      +
      Parameters:
      +
      config - Lambda supplier returning the error state.
      +
      +
      +
    • +
    • factoryDefault

      public void factoryDefault()
      diff --git a/docs/swervelib/encoders/SwerveAbsoluteEncoder.html b/docs/swervelib/encoders/SwerveAbsoluteEncoder.html index 83b90b6..486e90f 100644 --- a/docs/swervelib/encoders/SwerveAbsoluteEncoder.html +++ b/docs/swervelib/encoders/SwerveAbsoluteEncoder.html @@ -1,17 +1,18 @@ - -SwerveAbsoluteEncoder (YAGSL-Example API) + +SwerveAbsoluteEncoder + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    diff --git a/docs/swervelib/encoders/package-summary.html b/docs/swervelib/encoders/package-summary.html index 57037b7..bffc541 100644 --- a/docs/swervelib/encoders/package-summary.html +++ b/docs/swervelib/encoders/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.encoders (YAGSL-Example API) + +swervelib.encoders + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/encoders/package-tree.html b/docs/swervelib/encoders/package-tree.html index d1b33b7..106f64e 100644 --- a/docs/swervelib/encoders/package-tree.html +++ b/docs/swervelib/encoders/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.encoders Class Hierarchy (YAGSL-Example 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 d3a767a..44f6aa7 100644 --- a/docs/swervelib/imu/ADIS16448Swerve.html +++ b/docs/swervelib/imu/ADIS16448Swerve.html @@ -1,17 +1,18 @@ - -ADIS16448Swerve (YAGSL-Example 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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private final edu.wpi.first.wpilibj.ADIS16448_IMU
      + +
      +
      ADIS16448_IMU device to read the current headings from.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the ADIS16448.
      +
      +
      +
      +
    • @@ -156,6 +179,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          imu

          +
          private final edu.wpi.first.wpilibj.ADIS16448_IMU imu
          +
          ADIS16448_IMU device to read the current headings from.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the ADIS16448.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/ADIS16470Swerve.html b/docs/swervelib/imu/ADIS16470Swerve.html index 8bc7125..e92f6e7 100644 --- a/docs/swervelib/imu/ADIS16470Swerve.html +++ b/docs/swervelib/imu/ADIS16470Swerve.html @@ -1,17 +1,18 @@ - -ADIS16470Swerve (YAGSL-Example API) + +ADIS16470Swerve + - + @@ -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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private final edu.wpi.first.wpilibj.ADIS16470_IMU
      + +
      +
      ADIS16470_IMU device to read the current headings from.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the ADIS16470.
      +
      +
      +
      +
    • @@ -156,6 +179,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          imu

          +
          private final edu.wpi.first.wpilibj.ADIS16470_IMU imu
          +
          ADIS16470_IMU device to read the current headings from.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the ADIS16470.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/ADXRS450Swerve.html b/docs/swervelib/imu/ADXRS450Swerve.html index 9f5d6de..c0918f6 100644 --- a/docs/swervelib/imu/ADXRS450Swerve.html +++ b/docs/swervelib/imu/ADXRS450Swerve.html @@ -1,17 +1,18 @@ - -ADXRS450Swerve (YAGSL-Example API) + +ADXRS450Swerve + - + @@ -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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private final edu.wpi.first.wpilibj.ADXRS450_Gyro
      + +
      +
      ADXRS450_Gyro device to read the current headings from.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the ADXRS450.
      +
      +
      +
      +
    • @@ -156,6 +179,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          imu

          +
          private final edu.wpi.first.wpilibj.ADXRS450_Gyro imu
          +
          ADXRS450_Gyro device to read the current headings from.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the ADXRS450.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/AnalogGyroSwerve.html b/docs/swervelib/imu/AnalogGyroSwerve.html index 784ed4f..abd2a5d 100644 --- a/docs/swervelib/imu/AnalogGyroSwerve.html +++ b/docs/swervelib/imu/AnalogGyroSwerve.html @@ -1,17 +1,18 @@ - -AnalogGyroSwerve (YAGSL-Example API) + +AnalogGyroSwerve + - + @@ -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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private final edu.wpi.first.wpilibj.AnalogGyro
      + +
      +
      Gyroscope object.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the analog gyro.
      +
      +
      +
      +
    • @@ -156,6 +179,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          gyro

          +
          private final edu.wpi.first.wpilibj.AnalogGyro gyro
          +
          Gyroscope object.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the analog gyro.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/NavXSwerve.html b/docs/swervelib/imu/NavXSwerve.html index 64a366d..3923263 100644 --- a/docs/swervelib/imu/NavXSwerve.html +++ b/docs/swervelib/imu/NavXSwerve.html @@ -1,17 +1,18 @@ - -NavXSwerve (YAGSL-Example API) + +NavXSwerve + - + @@ -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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      private com.kauailabs.navx.frc.AHRS
      + +
      +
      NavX IMU.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the NavX.
      +
      +
      +
      +
    • @@ -164,6 +187,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          gyro

          +
          private com.kauailabs.navx.frc.AHRS gyro
          +
          NavX IMU.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the NavX.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/Pigeon2Swerve.html b/docs/swervelib/imu/Pigeon2Swerve.html index ce32867..777a827 100644 --- a/docs/swervelib/imu/Pigeon2Swerve.html +++ b/docs/swervelib/imu/Pigeon2Swerve.html @@ -1,17 +1,18 @@ - -Pigeon2Swerve (YAGSL-Example API) + +Pigeon2Swerve + - + @@ -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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      (package private) com.ctre.phoenix6.hardware.Pigeon2
      + +
      +
      Pigeon2 IMU device.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the Pigeon 2.
      +
      +
      +
      +
    • @@ -161,6 +184,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          imu

          +
          com.ctre.phoenix6.hardware.Pigeon2 imu
          +
          Pigeon2 IMU device.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the Pigeon 2.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/PigeonSwerve.html b/docs/swervelib/imu/PigeonSwerve.html index 5914b6f..7939367 100644 --- a/docs/swervelib/imu/PigeonSwerve.html +++ b/docs/swervelib/imu/PigeonSwerve.html @@ -1,17 +1,18 @@ - -PigeonSwerve (YAGSL-Example API) + +PigeonSwerve + - + @@ -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');
      + +
    • +
      +

      Field Summary

      +
      Fields
      +
      +
      Modifier and Type
      +
      Field
      +
      Description
      +
      (package private) com.ctre.phoenix.sensors.WPI_PigeonIMU
      + +
      +
      Pigeon v1 IMU device.
      +
      +
      private edu.wpi.first.math.geometry.Rotation3d
      + +
      +
      Offset for the Pigeon.
      +
      +
      +
      +
    • @@ -156,6 +179,28 @@ loadScripts(document, 'script');
        + +
      • +
        +

        Field Details

        +
          +
        • +
          +

          imu

          +
          com.ctre.phoenix.sensors.WPI_PigeonIMU imu
          +
          Pigeon v1 IMU device.
          +
          +
        • +
        • +
          +

          offset

          +
          private edu.wpi.first.math.geometry.Rotation3d offset
          +
          Offset for the Pigeon.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/imu/SwerveIMU.html b/docs/swervelib/imu/SwerveIMU.html index aaf54c5..c839d3a 100644 --- a/docs/swervelib/imu/SwerveIMU.html +++ b/docs/swervelib/imu/SwerveIMU.html @@ -1,17 +1,18 @@ - -SwerveIMU (YAGSL-Example API) + +SwerveIMU + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
      • Package
      • Tree
      • -
      • Index
      • +
      • Index
      • Help
    diff --git a/docs/swervelib/imu/package-summary.html b/docs/swervelib/imu/package-summary.html index f4cf474..ecbc0cf 100644 --- a/docs/swervelib/imu/package-summary.html +++ b/docs/swervelib/imu/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.imu (YAGSL-Example API) + +swervelib.imu + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/imu/package-tree.html b/docs/swervelib/imu/package-tree.html index 6feac39..4854111 100644 --- a/docs/swervelib/imu/package-tree.html +++ b/docs/swervelib/imu/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.imu Class Hierarchy (YAGSL-Example API) + +swervelib.imu Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/math/Matter.html b/docs/swervelib/math/Matter.html index 0984f73..f6e08c7 100644 --- a/docs/swervelib/math/Matter.html +++ b/docs/swervelib/math/Matter.html @@ -1,17 +1,18 @@ - -Matter (YAGSL-Example API) + +Matter + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/math/SwerveMath.html b/docs/swervelib/math/SwerveMath.html index d738727..edad40c 100644 --- a/docs/swervelib/math/SwerveMath.html +++ b/docs/swervelib/math/SwerveMath.html @@ -1,17 +1,18 @@ - -SwerveMath (YAGSL-Example API) + +SwerveMath + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -119,79 +120,87 @@ 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.
    -
    static edu.wpi.first.math.controller.SimpleMotorFeedforward
    -
    createDriveFeedforward(double optimalVoltage, +
    static edu.wpi.first.math.controller.SimpleMotorFeedforward
    +
    createDriveFeedforward(double optimalVoltage, double maxSpeed, double wheelGripCoefficientOfFriction)
    -
    +
    Create the drive feedforward for swerve modules.
    - -
    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.
    @@ -359,6 +368,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)
    @@ -381,7 +411,7 @@ 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). +
    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:
    diff --git a/docs/swervelib/math/package-summary.html b/docs/swervelib/math/package-summary.html index 681c4ac..d0ff2e1 100644 --- a/docs/swervelib/math/package-summary.html +++ b/docs/swervelib/math/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.math (YAGSL-Example API) + +swervelib.math + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/math/package-tree.html b/docs/swervelib/math/package-tree.html index 2aa09c1..5aaf957 100644 --- a/docs/swervelib/math/package-tree.html +++ b/docs/swervelib/math/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.math Class Hierarchy (YAGSL-Example API) + +swervelib.math Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html b/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html new file mode 100644 index 0000000..c320afa --- /dev/null +++ b/docs/swervelib/motors/SparkFlexSwerve.SparkMAX_slotIdx.html @@ -0,0 +1,268 @@ + + + + +SparkFlexSwerve.SparkMAX_slotIdx + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Enum Class SparkFlexSwerve.SparkMAX_slotIdx

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

      Enum Constant Details

      + +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        SparkMAX_slotIdx

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

      Method Details

      +
        +
      • +
        +

        values

        +
        public static SparkFlexSwerve.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 SparkFlexSwerve.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/SparkFlexSwerve.html b/docs/swervelib/motors/SparkFlexSwerve.html index 69a694a..a6f2581 100644 --- a/docs/swervelib/motors/SparkFlexSwerve.html +++ b/docs/swervelib/motors/SparkFlexSwerve.html @@ -1,17 +1,18 @@ - -SparkFlexSwerve (YAGSL-Example API) + +SparkFlexSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -43,7 +44,7 @@ loadScripts(document, 'script');
    @@ -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.SparkPIDController
    - -
    +
    com.revrobotics.SparkPIDController
    + +
    Closed-loop PID controller.
    @@ -191,83 +197,88 @@ loadScripts(document, 'script');
    Configure the PID wrapping for the position closed loop controller.
    -
    void
    - +
    private void
    +
    configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
    +
    Run the configuration until it succeeds or times out.
    +
    +
    void
    + +
    Configure the factory defaults.
    - - -
    + + +
    Get the motor object from the module.
    -
    double
    - -
    +
    double
    + +
    Get the position of the integrated encoder.
    -
    double
    - -
    +
    double
    + +
    Get the velocity of the integrated encoder.
    -
    boolean
    - -
    +
    boolean
    + +
    Queries whether the absolute encoder is directly attached to the motor controller.
    -
    void
    -
    set(double percentOutput)
    -
    +
    void
    +
    set(double percentOutput)
    +
    Set the percentage output.
    - - -
    + + +
    Set the absolute encoder to be a compatible absolute encoder.
    -
    void
    -
    setCurrentLimit(int currentLimit)
    -
    +
    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.
    -
    void
    -
    setInverted(boolean inverted)
    -
    +
    void
    +
    setInverted(boolean inverted)
    +
    Set the motor to be inverted.
    -
    void
    -
    setLoopRampRate(double rampRate)
    -
    +
    void
    +
    setLoopRampRate(double rampRate)
    +
    Set the maximum rate the open/closed loop output can change by.
    -
    void
    -
    setMotorBrake(boolean isBrakeMode)
    -
    +
    void
    +
    setMotorBrake(boolean isBrakeMode)
    +
    Set the idle mode.
    -
    void
    -
    setPosition(double position)
    -
    +
    void
    +
    setPosition(double position)
    +
    Set the integrated encoder position.
    -
    void
    -
    setReference(double setpoint, - double feedforward)
    -
    -
    Set the closed loop PID controller reference point.
    -
    void
    -
    setReference(double setpoint, - double feedforward, - double position)
    +
    setReference(double setpoint, + double feedforward)
    Set the closed loop PID controller reference point.
    void
    -
    setVoltageCompensation(double nominalVoltage)
    +
    setReference(double setpoint, + double feedforward, + double position)
    +
    Set the closed loop PID controller reference point.
    +
    +
    void
    +
    setVoltageCompensation(double nominalVoltage)
    +
    Set the voltage compensation for the swerve module motor.
    @@ -315,6 +326,13 @@ loadScripts(document, 'script');
    Closed-loop PID controller.
    +
  • +
    +

    factoryDefaultOccurred

    +
    private boolean factoryDefaultOccurred
    +
    Factory default already occurred.
    +
    +
  • @@ -370,6 +388,17 @@ loadScripts(document, 'script');

    Method Details

    • +
      +

      configureSparkMax

      +
      private void configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
      +
      Run the configuration until it succeeds or times out.
      +
      +
      Parameters:
      +
      config - Lambda supplier returning the error state.
      +
      +
      +
    • +
    • setVoltageCompensation

      public void setVoltageCompensation(double nominalVoltage)
      diff --git a/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html b/docs/swervelib/motors/SparkMaxSwerve.SparkMAX_slotIdx.html new file mode 100644 index 0000000..077333a --- /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 8a77870..e0a751f 100644 --- a/docs/swervelib/motors/SparkMaxSwerve.html +++ b/docs/swervelib/motors/SparkMaxSwerve.html @@ -1,17 +1,18 @@ - -SparkMaxSwerve (YAGSL-Example API) + +SparkMaxSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
    • Package
    • Tree
    • -
    • Index
    • +
    • Index
    • Help
    @@ -43,7 +44,7 @@ loadScripts(document, 'script');
    diff --git a/docs/swervelib/motors/TalonFXSwerve.html b/docs/swervelib/motors/TalonFXSwerve.html index f395123..63f45ef 100644 --- a/docs/swervelib/motors/TalonFXSwerve.html +++ b/docs/swervelib/motors/TalonFXSwerve.html @@ -1,17 +1,18 @@ - -TalonFXSwerve (YAGSL-Example API) + +TalonFXSwerve + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -50,7 +51,7 @@ loadScripts(document, 'script'); @@ -87,6 +88,42 @@ loadScripts(document, 'script');
  • Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final boolean
    + +
    +
    Whether the absolute encoder is integrated.
    +
    +
    private com.ctre.phoenix6.configs.TalonFXConfiguration
    + +
    +
    Current TalonFX configuration.
    +
    +
    private final boolean
    + +
    +
    Factory default already occurred.
    +
    +
    private final com.ctre.phoenix6.controls.MotionMagicVoltage
    + +
    +
    Motion magic angle voltage setter.
    +
    +
    private final com.ctre.phoenix6.controls.VelocityVoltage
    + +
    +
    Velocity voltage setter for controlling drive motor.
    +
    +
    (package private) com.ctre.phoenix6.hardware.TalonFX
    + +
    +
    TalonFX motor controller.
    +
    +

    Fields inherited from class swervelib.motors.SwerveMotor

    isDriveMotor, maximumRetries
    @@ -267,6 +304,72 @@ loadScripts(document, 'script');
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        factoryDefaultOccurred

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

        configuration

        +
        private com.ctre.phoenix6.configs.TalonFXConfiguration configuration
        +
        Current TalonFX configuration.
        +
        +
      • +
      • +
        +

        absoluteEncoder

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

        m_angleVoltageSetter

        +
        private final com.ctre.phoenix6.controls.MotionMagicVoltage m_angleVoltageSetter
        +
        Motion magic angle voltage setter.
        +
        +
      • +
      • +
        +

        m_velocityVoltageSetter

        +
        private final com.ctre.phoenix6.controls.VelocityVoltage m_velocityVoltageSetter
        +
        Velocity voltage setter for controlling drive motor.
        +
        +
      • +
      • +
        +

        motor

        +
        com.ctre.phoenix6.hardware.TalonFX motor
        +
        TalonFX motor controller.
        +
        +
      • +
      +
      +
    • diff --git a/docs/swervelib/motors/TalonSRXSwerve.html b/docs/swervelib/motors/TalonSRXSwerve.html index 8da5843..d813a8e 100644 --- a/docs/swervelib/motors/TalonSRXSwerve.html +++ b/docs/swervelib/motors/TalonSRXSwerve.html @@ -1,17 +1,18 @@ - -TalonSRXSwerve (YAGSL-Example 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, maximumRetries
    @@ -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.
        +
        +
      • +
      +
      +
    • diff --git a/docs/swervelib/motors/package-summary.html b/docs/swervelib/motors/package-summary.html index 2960d5f..dd152e6 100644 --- a/docs/swervelib/motors/package-summary.html +++ b/docs/swervelib/motors/package-summary.html @@ -1,21 +1,26 @@ - -swervelib.motors (YAGSL-Example API) + +swervelib.motors + - + -
  • @@ -79,22 +84,31 @@ loadScripts(document, 'script');
  • -
    Classes
    -
    +
    +
    +
    Class
    Description
    An implementation of CANSparkFlex as a SwerveMotor.
    - -
    + +
    +
    REV Slots for PID configuration.
    +
    + +
    Brushed motor control with SparkMax.
    - -
    + +
    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.
    @@ -109,6 +123,7 @@ loadScripts(document, 'script');
    +
  • diff --git a/docs/swervelib/motors/package-tree.html b/docs/swervelib/motors/package-tree.html index 5e34559..0cd84f5 100644 --- a/docs/swervelib/motors/package-tree.html +++ b/docs/swervelib/motors/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.motors Class Hierarchy (YAGSL-Example API) + +swervelib.motors Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -71,6 +72,21 @@ loadScripts(document, 'script'); +
    +

    Enum Class Hierarchy

    + +
    diff --git a/docs/swervelib/package-summary.html b/docs/swervelib/package-summary.html index 09686c8..59c261d 100644 --- a/docs/swervelib/package-summary.html +++ b/docs/swervelib/package-summary.html @@ -1,17 +1,18 @@ - -swervelib (YAGSL-Example 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 17014c0..5b48ea6 100644 --- a/docs/swervelib/package-tree.html +++ b/docs/swervelib/package-tree.html @@ -1,17 +1,18 @@ - -swervelib Class Hierarchy (YAGSL-Example 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 874fa1a..29b6986 100644 --- a/docs/swervelib/parser/PIDFConfig.html +++ b/docs/swervelib/parser/PIDFConfig.html @@ -1,17 +1,18 @@ - -PIDFConfig (YAGSL-Example 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 074e693..4b47e8a 100644 --- a/docs/swervelib/parser/SwerveControllerConfiguration.html +++ b/docs/swervelib/parser/SwerveControllerConfiguration.html @@ -1,17 +1,18 @@ - -SwerveControllerConfiguration (YAGSL-Example API) + +SwerveControllerConfiguration + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/SwerveDriveConfiguration.html b/docs/swervelib/parser/SwerveDriveConfiguration.html index 3c58ae5..d8dc712 100644 --- a/docs/swervelib/parser/SwerveDriveConfiguration.html +++ b/docs/swervelib/parser/SwerveDriveConfiguration.html @@ -1,17 +1,18 @@ - -SwerveDriveConfiguration (YAGSL-Example 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 1dfe39c..d0b7bbe 100644 --- a/docs/swervelib/parser/SwerveModuleConfiguration.html +++ b/docs/swervelib/parser/SwerveModuleConfiguration.html @@ -1,17 +1,18 @@ - -SwerveModuleConfiguration (YAGSL-Example API) + +SwerveModuleConfiguration + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html b/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html index 945e603..2c8f994 100644 --- a/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html +++ b/docs/swervelib/parser/SwerveModulePhysicalCharacteristics.html @@ -1,17 +1,18 @@ - -SwerveModulePhysicalCharacteristics (YAGSL-Example API) + +SwerveModulePhysicalCharacteristics + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/SwerveParser.html b/docs/swervelib/parser/SwerveParser.html index b7c3930..cd043d1 100644 --- a/docs/swervelib/parser/SwerveParser.html +++ b/docs/swervelib/parser/SwerveParser.html @@ -1,17 +1,18 @@ - -SwerveParser (YAGSL-Example 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,38 +150,48 @@ loadScripts(document, 'script');
    Modifier and Type
    Method
    Description
    - -
    createSwerveDrive(double maxSpeed)
    +
    private void
    +
    checkDirectory(File directory)
    -
    Create SwerveDrive from JSON configuration directory.
    +
    Check directory structure.
    -
    createSwerveDrive(double maxSpeed, - double angleMotorConversionFactor, - double driveMotorConversion)
    +
    createSwerveDrive(double maxSpeed)
    Create SwerveDrive from JSON configuration directory.
    -
    createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward driveFeedforward, - double maxSpeed)
    +
    createSwerveDrive(double maxSpeed, + double angleMotorConversionFactor, + double driveMotorConversion)
    Create SwerveDrive from JSON configuration directory.
    -
    createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward driveFeedforward, +
    createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward driveFeedforward, + double maxSpeed)
    +
    +
    Create SwerveDrive from JSON configuration directory.
    +
    + +
    createSwerveDrive(edu.wpi.first.math.controller.SimpleMotorFeedforward driveFeedforward, double maxSpeed, double angleMotorConversionFactor, double driveMotorConversion)
    -
    +
    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.
    +
    @@ -194,6 +210,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
      @@ -274,6 +297,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(double maxSpeed)
      diff --git a/docs/swervelib/parser/deserializer/PIDFRange.html b/docs/swervelib/parser/deserializer/PIDFRange.html index 9fe6c3f..7ad3dad 100644 --- a/docs/swervelib/parser/deserializer/PIDFRange.html +++ b/docs/swervelib/parser/deserializer/PIDFRange.html @@ -1,17 +1,18 @@ - -PIDFRange (YAGSL-Example 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 1afd5b3..8154be6 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-Example 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 727f1fa..577c398 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-Example 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 a9cd037..9e7a3aa 100644 --- a/docs/swervelib/parser/json/ControllerPropertiesJson.html +++ b/docs/swervelib/parser/json/ControllerPropertiesJson.html @@ -1,17 +1,18 @@ - -ControllerPropertiesJson (YAGSL-Example 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 1c8c75a..d457aa3 100644 --- a/docs/swervelib/parser/json/DeviceJson.html +++ b/docs/swervelib/parser/json/DeviceJson.html @@ -1,17 +1,18 @@ - -DeviceJson (YAGSL-Example API) + +DeviceJson + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/ModuleJson.html b/docs/swervelib/parser/json/ModuleJson.html index 710fd50..93d6e4d 100644 --- a/docs/swervelib/parser/json/ModuleJson.html +++ b/docs/swervelib/parser/json/ModuleJson.html @@ -1,17 +1,18 @@ - -ModuleJson (YAGSL-Example 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 index d800414..0d1ddc5 100644 --- a/docs/swervelib/parser/json/MotorConfigDouble.html +++ b/docs/swervelib/parser/json/MotorConfigDouble.html @@ -1,17 +1,18 @@ - -MotorConfigDouble (YAGSL-Example API) + +MotorConfigDouble + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/MotorConfigInt.html b/docs/swervelib/parser/json/MotorConfigInt.html index ca89296..d7b6603 100644 --- a/docs/swervelib/parser/json/MotorConfigInt.html +++ b/docs/swervelib/parser/json/MotorConfigInt.html @@ -1,17 +1,18 @@ - -MotorConfigInt (YAGSL-Example API) + +MotorConfigInt + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/PIDFPropertiesJson.html b/docs/swervelib/parser/json/PIDFPropertiesJson.html index 4f8ac35..c8a8f84 100644 --- a/docs/swervelib/parser/json/PIDFPropertiesJson.html +++ b/docs/swervelib/parser/json/PIDFPropertiesJson.html @@ -1,17 +1,18 @@ - -PIDFPropertiesJson (YAGSL-Example 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 c6457c7..11ce9bd 100644 --- a/docs/swervelib/parser/json/PhysicalPropertiesJson.html +++ b/docs/swervelib/parser/json/PhysicalPropertiesJson.html @@ -1,17 +1,18 @@ - -PhysicalPropertiesJson (YAGSL-Example API) + +PhysicalPropertiesJson + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/SwerveDriveJson.html b/docs/swervelib/parser/json/SwerveDriveJson.html index 34a6cdf..3815370 100644 --- a/docs/swervelib/parser/json/SwerveDriveJson.html +++ b/docs/swervelib/parser/json/SwerveDriveJson.html @@ -1,17 +1,18 @@ - -SwerveDriveJson (YAGSL-Example API) + +SwerveDriveJson + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/modules/BoolMotorJson.html b/docs/swervelib/parser/json/modules/BoolMotorJson.html index cb26f88..107974e 100644 --- a/docs/swervelib/parser/json/modules/BoolMotorJson.html +++ b/docs/swervelib/parser/json/modules/BoolMotorJson.html @@ -1,17 +1,18 @@ - -BoolMotorJson (YAGSL-Example 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 70dbedd..aea4f11 100644 --- a/docs/swervelib/parser/json/modules/LocationJson.html +++ b/docs/swervelib/parser/json/modules/LocationJson.html @@ -1,17 +1,18 @@ - -LocationJson (YAGSL-Example API) + +LocationJson + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/modules/package-summary.html b/docs/swervelib/parser/json/modules/package-summary.html index 824c224..7467e83 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-Example 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 d691d87..e1ae450 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-Example 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 e50522f..e6a7eba 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-Example API) + +swervelib.parser.json + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Class
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/json/package-tree.html b/docs/swervelib/parser/json/package-tree.html index 95cda37..d986dbd 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-Example API) + +swervelib.parser.json Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/parser/package-summary.html b/docs/swervelib/parser/package-summary.html index a0917aa..a30acd3 100644 --- a/docs/swervelib/parser/package-summary.html +++ b/docs/swervelib/parser/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.parser (YAGSL-Example 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 cc715f4..a7052eb 100644 --- a/docs/swervelib/parser/package-tree.html +++ b/docs/swervelib/parser/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.parser Class Hierarchy (YAGSL-Example 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 d89375f..965f603 100644 --- a/docs/swervelib/simulation/SwerveIMUSimulation.html +++ b/docs/swervelib/simulation/SwerveIMUSimulation.html @@ -1,17 +1,18 @@ - -SwerveIMUSimulation (YAGSL-Example 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.
      +
      +
      +
      +
    • @@ -158,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.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/simulation/SwerveModuleSimulation.html b/docs/swervelib/simulation/SwerveModuleSimulation.html index 9d6b683..bfec4ee 100644 --- a/docs/swervelib/simulation/SwerveModuleSimulation.html +++ b/docs/swervelib/simulation/SwerveModuleSimulation.html @@ -1,17 +1,18 @@ - -SwerveModuleSimulation (YAGSL-Example 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.
      +
      +
      private edu.wpi.first.math.kinematics.SwerveModuleState
      + +
      +
      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 edu.wpi.first.math.kinematics.SwerveModuleState state
          +
          Current simulated swerve module state.
          +
          +
        • +
        +
        +
      • diff --git a/docs/swervelib/simulation/package-summary.html b/docs/swervelib/simulation/package-summary.html index 51af011..c8b5331 100644 --- a/docs/swervelib/simulation/package-summary.html +++ b/docs/swervelib/simulation/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.simulation (YAGSL-Example 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 207eae3..35ce1eb 100644 --- a/docs/swervelib/simulation/package-tree.html +++ b/docs/swervelib/simulation/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.simulation Class Hierarchy (YAGSL-Example 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 587dfee..f31d31f 100644 --- a/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html +++ b/docs/swervelib/telemetry/SwerveDriveTelemetry.TelemetryVerbosity.html @@ -1,17 +1,18 @@ - -SwerveDriveTelemetry.TelemetryVerbosity (YAGSL-Example 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 77da0f4..2502afb 100644 --- a/docs/swervelib/telemetry/SwerveDriveTelemetry.html +++ b/docs/swervelib/telemetry/SwerveDriveTelemetry.html @@ -1,17 +1,18 @@ - -SwerveDriveTelemetry (YAGSL-Example API) + +SwerveDriveTelemetry + - + @@ -35,7 +36,7 @@ loadScripts(document, 'script');
  • Package
  • Tree
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/swervelib/telemetry/package-summary.html b/docs/swervelib/telemetry/package-summary.html index af1dc20..dc6a500 100644 --- a/docs/swervelib/telemetry/package-summary.html +++ b/docs/swervelib/telemetry/package-summary.html @@ -1,17 +1,18 @@ - -swervelib.telemetry (YAGSL-Example 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 2109d3a..9a8bb03 100644 --- a/docs/swervelib/telemetry/package-tree.html +++ b/docs/swervelib/telemetry/package-tree.html @@ -1,17 +1,18 @@ - -swervelib.telemetry Class Hierarchy (YAGSL-Example API) + +swervelib.telemetry Class Hierarchy + - + @@ -31,7 +32,7 @@ loadScripts(document, 'script');
  • Package
  • Class
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/type-search-index.js b/docs/type-search-index.js index 5e0eb7f..6f56053 100644 --- a/docs/type-search-index.js +++ b/docs/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"p":"frc.robot.commands.swervedrive.drivebase","l":"AbsoluteDrive"},{"p":"frc.robot.commands.swervedrive.drivebase","l":"AbsoluteDriveAdv"},{"p":"frc.robot.commands.swervedrive.drivebase","l":"AbsoluteFieldDrive"},{"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":"frc.robot.commands.swervedrive.auto","l":"AutoBalanceCommand"},{"p":"frc.robot","l":"Constants.Auton"},{"p":"swervelib.parser.json.modules","l":"BoolMotorJson"},{"p":"swervelib.encoders","l":"CanAndCoderSwerve"},{"p":"swervelib.encoders","l":"CANCoderSwerve"},{"p":"frc.robot","l":"Constants"},{"p":"swervelib.parser.json","l":"ControllerPropertiesJson"},{"p":"swervelib.parser.json","l":"DeviceJson"},{"p":"frc.robot","l":"Constants.Drivebase"},{"p":"swervelib.parser.json.modules","l":"LocationJson"},{"p":"frc.robot","l":"Main"},{"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":"frc.robot","l":"Constants.OperatorConstants"},{"p":"swervelib.parser.json","l":"PhysicalPropertiesJson"},{"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.encoders","l":"PWMDutyCycleEncoderSwerve"},{"p":"frc.robot","l":"Robot"},{"p":"frc.robot","l":"RobotContainer"},{"p":"swervelib.motors","l":"SparkFlexSwerve"},{"p":"swervelib.encoders","l":"SparkMaxAnalogEncoderSwerve"},{"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.telemetry","l":"SwerveDriveTelemetry"},{"p":"swervelib.imu","l":"SwerveIMU"},{"p":"swervelib.simulation","l":"SwerveIMUSimulation"},{"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.motors","l":"SwerveMotor"},{"p":"swervelib.parser","l":"SwerveParser"},{"p":"frc.robot.subsystems.swervedrive","l":"SwerveSubsystem"},{"p":"swervelib.motors","l":"TalonFXSwerve"},{"p":"swervelib.motors","l":"TalonSRXSwerve"},{"p":"swervelib.telemetry","l":"SwerveDriveTelemetry.TelemetryVerbosity"},{"p":"frc.robot.commands.swervedrive.drivebase","l":"TeleopDrive"}];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.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.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.encoders","l":"PWMDutyCycleEncoderSwerve"},{"p":"swervelib.motors","l":"SparkFlexSwerve"},{"p":"swervelib.motors","l":"SparkFlexSwerve.SparkMAX_slotIdx"},{"p":"swervelib.motors","l":"SparkMaxSwerve.SparkMAX_slotIdx"},{"p":"swervelib.encoders","l":"SparkMaxAnalogEncoderSwerve"},{"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.telemetry","l":"SwerveDriveTelemetry"},{"p":"swervelib.imu","l":"SwerveIMU"},{"p":"swervelib.simulation","l":"SwerveIMUSimulation"},{"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.motors","l":"SwerveMotor"},{"p":"swervelib.parser","l":"SwerveParser"},{"p":"swervelib.motors","l":"TalonFXSwerve"},{"p":"swervelib.motors","l":"TalonSRXSwerve"},{"p":"swervelib.telemetry","l":"SwerveDriveTelemetry.TelemetryVerbosity"}];updateSearchResults(); \ No newline at end of file