ADiS16470 Not Working


#1

I am trying to use the ADiS16470 with my robot code, but the only output it is giving me is 0. The power light turns on when I plug it in, but it doesn’t seem to work. I know that there are known issues with this, but I have tried the work around, and I have also tried installing the v13 RoboRIO image, and none of this has fixed the issue.

Thanks for the help.


#2

Hi @trey_w, the FRC 2019 Update Suite [FRCLabVIEWUpdate2019.1.0] has been posted and should fix this problem. Download and install from http://www.ni.com/download/first-robotics-software-2017/7904/en/ Reimaging your roboRIO with the new FRC_roboRIO_2019_v13 image will fix this issue.


#3

Was wondering if you managed to get this working. We have the updated firmware on our Roborio and the returned value is still 0.0. If I need to create a new thread for this I will.

Thanks


#4

We are also experiencing the same issue (return value is 0). We have FRC_roboRIO_2019_v13 and FRCLabVIEWUpdate2019.1.0 installed.


#5

I am also experiencing the same issue. I went through and flashed the new v13 firmware onto the Roborio, and was not able to deploy code to the robot. I was attempting to test my ADIS 16448 board but had trouble once my code failed to upload. This is the error I received on my VSCode Terminal:


It seems as though the code I am running does not like the new v13, and instead is looking for v12. I don’t know how to fix this. Here is the code I am trying to run:

package frc.robot;

import edu.wpi.first.wpilibj.TimedRobot;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import com.analog.adis16448.frc.ADIS16448_IMU;

public class Robot extends TimedRobot {
public static final ADIS16448_IMU imu = new ADIS16448_IMU();


@Override
public void robotInit() {

}

@Override
public void robotPeriodic() {

SmartDashboard.putNumber("Gyro-X", imu.getAngleX());
SmartDashboard.putNumber("Gyro-Y", imu.getAngleY());
SmartDashboard.putNumber("Gyro-Z", imu.getAngleZ());

SmartDashboard.putNumber("Accel-X", imu.getAccelX());
SmartDashboard.putNumber("Accel-Y", imu.getAccelY());
SmartDashboard.putNumber("Accel-Z", imu.getAccelZ());

SmartDashboard.putNumber("Pitch", imu.getPitch());
SmartDashboard.putNumber("Roll", imu.getRoll());
SmartDashboard.putNumber("Yaw", imu.getYaw());

SmartDashboard.putNumber("Pressure: ", imu.getBarometricPressure());
SmartDashboard.putNumber("Temperature: ", imu.getTemperature()); 
}

@Override
public void autonomousInit() {

}

@Override
public void autonomousPeriodic() {

}

@Override
public void teleopPeriodic() {

}

@Override
public void testPeriodic() {
 }
}

Any help would be very much appreciated. Thanks!


#6

You need to update WPILib to 2019.2.1 for v13 support. If you install the offline installer it will prompt you when opening the project whether you want to upgrade the project.


#7

I resolved the “RoboRIO Image invalid” issue by changing the GradleRIO version listed in the plugins section of the build.gradle to be “2019.2.1”.


#8

Thanks @Peter_Johnson. After downloading the new software everything seems to check out! I got some weird errors until I only downloaded the WpiLib Dependencies, which is apparently all I needed.


#9

@cjstepan In case you are still having any issues, we discovered another bug deep in the WPI libraries which affected the ADIS16470. More info in this announcement: [IMPORTANT] Updates Involving the Functionality and Legality of Analog Devices IMUs and Gyro Boards


#10

@ImAnEngiNERD Thank you, I have been following the other IMU threads closely as to stay informed about new changes.