# Hierarchy For All Packages

Package Hierarchies:

- frc.robot.subsystems.swervedrive.swerve,
- frc.robot.subsystems.swervedrive.swerve.encoders,
- frc.robot.subsystems.swervedrive.swerve.kinematics,
- frc.robot.subsystems.swervedrive.swerve.motors

## Class Hierarchy

- java.lang.Object
  - edu.wpi.first.wpilibj.MotorSafety
    - edu.wpi.first.wpilibj.drive.RobotDriveBase
      - frc.robot.subsystems.swervedrive.swerve.SwerveDrive (implements java.lang.AutoCloseable, edu.wpi.first.util.sendable.Sendable)
  - frc.robot.subsystems.swervedrive.swerve.SwerveDrive.SwerveModuleConfig<DriveMotorType,​SteeringMotorType,​AbsoluteEncoder>
  - edu.wpi.first.math.kinematics.SwerveDriveKinematics
    - frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveDriveKinematics2
  - frc.robot.subsystems.swervedrive.swerve.SwerveEncoder<AbsoluteEncoderType>
    - frc.robot.subsystems.swervedrive.swerve.encoders.CTRECANCoder
    - frc.robot.subsystems.swervedrive.swerve.encoders.PWMAnalogEncoder
    - frc.robot.subsystems.swervedrive.swerve.encoders.PWMDutyCycleEncoder
    - frc.robot.subsystems.swervedrive.swerve.encoders.REVAbsoluteEncoder
  - frc.robot.subsystems.swervedrive.swerve.SwerveModule<DriveMotorType,​AngleMotorType,​AbsoluteEncoderType> (implements java.lang.AutoCloseable, edu.wpi.first.wpilibj.motorcontrol.MotorController, edu.wpi.first.util.sendable.Sendable)
  - edu.wpi.first.math.kinematics.SwerveModuleState (implements java.lang.Comparable<T>)
    - frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2
  - frc.robot.subsystems.swervedrive.swerve.SwerveMotor
    - frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor
    - frc.robot.subsystems.swervedrive.swerve.motors.REVSwerveMotor
  - frc.robot.subsystems.swervedrive.swerve.SwerveParser

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor.CTRE_pidIdx
    - frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor.CTRE_remoteSensor
    - frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor.CTRE_slotIdx
    - frc.robot.subsystems.swervedrive.swerve.motors.REVSwerveMotor.REV_slotIdx
    - frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation
    - frc.robot.subsystems.swervedrive.swerve.SwerveModule.Verbosity
    - frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType