Package edu.wpi.first.wpilibj
Class ADIS16448_IMU
java.lang.Object
edu.wpi.first.wpilibj.ADIS16448_IMU
- All Implemented Interfaces:
NTSendable,Sendable,AutoCloseable
public class ADIS16448_IMU extends Object implements AutoCloseable, NTSendable
This class is for the ADIS16448 IMU that connects to the RoboRIO MXP port.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classADIS16448_IMU.CalibrationTimestatic classADIS16448_IMU.IMUAxis -
Constructor Summary
Constructors Constructor Description ADIS16448_IMU()ADIS16448_IMU(ADIS16448_IMU.IMUAxis yaw_axis, SPI.Port port, ADIS16448_IMU.CalibrationTime cal_time) -
Method Summary
Modifier and Type Method Description voidcalibrate()Calibrate the gyro.voidclose()Delete (free) the spi port used for the IMU.intconfigCalTime(ADIS16448_IMU.CalibrationTime new_cal_time)Configures calibration timeintconfigDecRate(int m_decRate)doublegetAccelX()doublegetAccelY()doublegetAccelZ()doublegetAngle()doublegetBarometricPressure()doublegetGyroAngleX()doublegetGyroAngleY()doublegetGyroAngleZ()doublegetGyroRateX()doublegetGyroRateY()doublegetGyroRateZ()doublegetMagneticFieldX()doublegetMagneticFieldY()doublegetMagneticFieldZ()intgetPort()Get the SPI port number.doublegetRate()doublegetTemperature()doublegetXComplementaryAngle()doublegetXFilteredAccelAngle()ADIS16448_IMU.IMUAxisgetYawAxis()doublegetYComplementaryAngle()doublegetYFilteredAccelAngle()voidinitSendable(NTSendableBuilder builder)Initializes thisSendableobject.voidreset()intsetYawAxis(ADIS16448_IMU.IMUAxis yaw_axis)Sets the yaw axisstatic inttoUShort(int... buf)
-
Constructor Details
-
ADIS16448_IMU
public ADIS16448_IMU() -
ADIS16448_IMU
public ADIS16448_IMU(ADIS16448_IMU.IMUAxis yaw_axis, SPI.Port port, ADIS16448_IMU.CalibrationTime cal_time)- Parameters:
yaw_axis- The axis that measures the yawport- The SPI Port the gyro is plugged intocal_time- Calibration time
-
-
Method Details
-
toUShort
-
configDecRate
-
configCalTime
Configures calibration time- Parameters:
new_cal_time- New calibration time- Returns:
- 1 if the new calibration time is the same as the current one else 0
-
calibrate
Calibrate the gyro. It's important to make sure that the robot is not moving while the calibration is in progress, this is typically done when the robot is first turned on while it's sitting at rest before the match starts. -
setYawAxis
Sets the yaw axis- Parameters:
yaw_axis- The new yaw axis to use- Returns:
- 1 if the new yaw axis is the same as the current one else 0.
-
reset
-
close
Delete (free) the spi port used for the IMU.- Specified by:
closein interfaceAutoCloseable
-
getAngle
- Returns:
- Yaw axis angle in degrees (CCW positive)
-
getRate
- Returns:
- Yaw axis angular rate in degrees per second (CCW positive)
-
getYawAxis
- Returns:
- Yaw Axis
-
getGyroAngleX
- Returns:
- accumulated gyro angle in the X axis in degrees
-
getGyroAngleY
- Returns:
- accumulated gyro angle in the Y axis in degrees
-
getGyroAngleZ
- Returns:
- accumulated gyro angle in the Z axis in degrees
-
getGyroRateX
- Returns:
- gyro angular rate in the X axis in degrees per second
-
getGyroRateY
- Returns:
- gyro angular rate in the Y axis in degrees per second
-
getGyroRateZ
- Returns:
- gyro angular rate in the Z axis in degrees per second
-
getAccelX
- Returns:
- urrent acceleration in the X axis in meters per second squared
-
getAccelY
- Returns:
- current acceleration in the Y axis in meters per second squared
-
getAccelZ
- Returns:
- current acceleration in the Z axis in meters per second squared
-
getMagneticFieldX
- Returns:
- Magnetic field strength in the X axis in Tesla
-
getMagneticFieldY
- Returns:
- Magnetic field strength in the Y axis in Tesla
-
getMagneticFieldZ
- Returns:
- Magnetic field strength in the Z axis in Tesla
-
getXComplementaryAngle
- Returns:
- X axis complementary angle in degrees
-
getYComplementaryAngle
- Returns:
- Y axis complementary angle in degrees
-
getXFilteredAccelAngle
- Returns:
- X axis filtered acceleration angle in degrees
-
getYFilteredAccelAngle
- Returns:
- Y axis filtered acceleration angle in degrees
-
getBarometricPressure
- Returns:
- Barometric Pressure in PSI
-
getTemperature
- Returns:
- Temperature in degrees Celsius
-
getPort
Get the SPI port number.- Returns:
- The SPI port number.
-
initSendable
Description copied from interface:NTSendableInitializes thisSendableobject.- Specified by:
initSendablein interfaceNTSendable- Parameters:
builder- sendable builder
-