Package swervelib.imu

Class NavXSwerve

java.lang.Object
swervelib.imu.SwerveIMU
swervelib.imu.NavXSwerve

public class NavXSwerve extends SwerveIMU
Communicates with the NavX as the IMU.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private com.kauailabs.navx.frc.AHRS
    NavX IMU.
    private boolean
    Inversion for the gyro
    private Alert
    An Alert for if there is an error instantiating the NavX.
    private edu.wpi.first.math.geometry.Rotation3d
    Offset for the NavX.
  • Constructor Summary

    Constructors
    Constructor
    Description
    NavXSwerve(edu.wpi.first.wpilibj.I2C.Port port)
    Constructor for the NavX swerve.
    NavXSwerve(edu.wpi.first.wpilibj.SerialPort.Port port)
    Constructor for the NavX swerve.
    NavXSwerve(edu.wpi.first.wpilibj.SPI.Port port)
    Constructor for the NavX swerve.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clear sticky faults on IMU.
    void
    Reset IMU to factory default.
    Optional<edu.wpi.first.math.geometry.Translation3d>
    Fetch the acceleration [x, y, z] from the IMU in meters per second squared.
    Get the instantiated IMU object.
    edu.wpi.first.math.geometry.Rotation3d
    Fetch the Rotation3d from the IMU without any zeroing.
    edu.wpi.first.math.geometry.Rotation3d
    Fetch the Rotation3d from the IMU.
    void
    setInverted(boolean invertIMU)
    Set the gyro to invert its default direction
    void
    setOffset(edu.wpi.first.math.geometry.Rotation3d offset)
    Set the gyro offset.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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.
    • invertedIMU

      private boolean invertedIMU
      Inversion for the gyro
  • Constructor Details

    • NavXSwerve

      public NavXSwerve(edu.wpi.first.wpilibj.SerialPort.Port port)
      Constructor for the NavX swerve.
      Parameters:
      port - Serial Port to connect to.
    • NavXSwerve

      public NavXSwerve(edu.wpi.first.wpilibj.SPI.Port port)
      Constructor for the NavX swerve.
      Parameters:
      port - SPI Port to connect to.
    • NavXSwerve

      public NavXSwerve(edu.wpi.first.wpilibj.I2C.Port port)
      Constructor for the NavX swerve.
      Parameters:
      port - I2C Port to connect to.
  • Method Details

    • factoryDefault

      public void factoryDefault()
      Reset IMU to factory default.
      Specified by:
      factoryDefault in class SwerveIMU
    • clearStickyFaults

      public void clearStickyFaults()
      Clear sticky faults on IMU.
      Specified by:
      clearStickyFaults in class SwerveIMU
    • setOffset

      public void setOffset(edu.wpi.first.math.geometry.Rotation3d offset)
      Set the gyro offset.
      Specified by:
      setOffset in class SwerveIMU
      Parameters:
      offset - gyro offset as a Rotation3d.
    • setInverted

      public void setInverted(boolean invertIMU)
      Set the gyro to invert its default direction
      Specified by:
      setInverted in class SwerveIMU
      Parameters:
      invertIMU - invert gyro direction
    • getRawRotation3d

      public edu.wpi.first.math.geometry.Rotation3d getRawRotation3d()
      Fetch the Rotation3d from the IMU without any zeroing. Robot relative.
      Specified by:
      getRawRotation3d in class SwerveIMU
      Returns:
      Rotation3d from the IMU.
    • getRotation3d

      public edu.wpi.first.math.geometry.Rotation3d getRotation3d()
      Fetch the Rotation3d from the IMU. Robot relative.
      Specified by:
      getRotation3d in class SwerveIMU
      Returns:
      Rotation3d from the IMU.
    • getAccel

      public Optional<edu.wpi.first.math.geometry.Translation3d> getAccel()
      Fetch the acceleration [x, y, z] from the IMU in meters per second squared. If acceleration isn't supported returns empty.
      Specified by:
      getAccel in class SwerveIMU
      Returns:
      Translation3d of the acceleration as an Optional.
    • getIMU

      public Object getIMU()
      Get the instantiated IMU object.
      Specified by:
      getIMU in class SwerveIMU
      Returns:
      IMU object.