Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   ADIS16448 reading y values (http://www.chiefdelphi.com/forums/showthread.php?t=144468)

josephno1 02-22-2016 09:19 PM

ADIS16448 reading y values
 
Alright so I have downloaded this file
https://github.com/juchong/ADIS16448...16448_IMU.java

Anyways I want to access the method
Code:

  public synchronized double getAngleY() {
    return m_integ_gyro_y;
  }

So in my Robot.java file I added the line
Code:

SmartDashboard.putNumber("IMU",imu.getAngleY());
Here the except of the code where that is from
Code:

package org.usfirst.frc.team3647.robot;

import edu.wpi.first.wpilibj.BuiltInAccelerometer;
import edu.wpi.first.wpilibj.Compressor;
//import edu.wpi.first.wpilibj.DriverStation;
//import edu.wpi.first.wpilibj.CANTalon;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.command.Command;
import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.wpilibj.command.Command;
import edu.wpi.first.wpilibj.command.Scheduler;
import edu.wpi.first.wpilibj.smartdashboard.*;

import org.usfirst.frc.team3647.auto.*;
import org.usfirst.frc.team3647.subsystems.ADIS16448_IMU;

//import edu.wpi.first.wpilibj.Joystick;

/**
 * The VM is configured to automatically run this class, and to call the
 * functions corresponding to each mode, as described in the IterativeRobot
 * documentation. If you change the name of this class or the package after
 * creating this project, you must also update the manifest file in the resource
 * directory.
 */

public class Robot extends IterativeRobot {

        public static boolean shootTest = false;
        public static boolean shootTest1 = false;
       
        Compressor c = new Compressor();
       
        private BuiltInAccelerometer accel = new BuiltInAccelerometer();
        ADIS16448_IMU imu=new ADIS16448_IMU();
       
        Command autonomousCommand;
        SendableChooser autoChooser;
       
       
       

        /**
        * This function is run when the robot is first started up and should be
        * used for any initialization code.
        */
        public void robotInit() {
               
                updateDashboard();
               
            autoChooser = new SendableChooser();
            autoChooser.addDefault("Default Autonomous", new Default());
 
            SmartDashboard.putData("Autonomous mode chooser", autoChooser);
           
            System.out.println("The Robot is ready");

        }

        /**
        * This function is called periodically during autonomous
        */
        public void autonomousInit(){
                    //resetAndDisableSystems();
                   
                    autonomousCommand = (Command) autoChooser.getSelected();
                    autonomousCommand.start();
                   
                   
            }
       
        public void autonomousPeriodic() {
                Scheduler.getInstance().run();
            updateDashboard();
        }

        /**
        * This function is called periodically during operator control
        */
        public void teleopPeriodic() {
                // resetAndDisable();
                updateDashboard();
                LogitechJoystick.controllers();
                Drivetrain.arcadeDrive();
                ShooterAngleMotor.angleShooter();
                BallShooter.shootBalls();

        }

        /**
        * This function is called periodically during test mode
        */
        public void testPeriodic() {

        }

        public void resetAndDisable() {
                // BallShooter.LShooter.set(0);
                BallShooter.rShooter.set(0);
                ShooterAngleMotor.angle.set(0);
                // Piston.BallShooterPiston.set(0);
        }
       
        public void updateDashboard() {

                SmartDashboard.putData("IMUs", imu);
                imu.updateTable();
                SmartDashboard.putNumber("IMU",imu.getAngleY());
                System.out.println(imu.getAngleY());
        }
        }


pblankenbaker 02-23-2016 05:22 AM

Re: ADIS16448 reading y values
 
I don't have any experience working with this sensor (my disclaimer), however in looking at the source, I did notice two things to check:
  1. Did you connect your sensor to the SPI pins on the expansion port (the MXP port)? This looks like what the default constructor expects. If you have connected your sensor to the main SPI port on the roboRIO, you may need to change line 117 in ADIS16448_IMU.java.
  2. When you put your driver station in test mode, do you see the "ADIS16448_IMU" object displayed and does it report angle information?

Finally, you may want to see if there are any error messages or stack trace dumps in the driver station console (or riolog viewer) to help track down where things are going bad.

josephno1 02-23-2016 11:27 AM

Re: ADIS16448 reading y values
 
Quote:

Originally Posted by pblankenbaker (Post 1544875)
I don't have any experience working with this sensor (my disclaimer), however in looking at the source, I did notice two things to check:
  1. Did you connect your sensor to the SPI pins on the expansion port (the MXP port)? This looks like what the default constructor expects. If you have connected your sensor to the main SPI port on the roboRIO, you may need to change line 117 in ADIS16448_IMU.java.
  2. When you put your driver station in test mode, do you see the "ADIS16448_IMU" object displayed and does it report angle information?

Finally, you may want to see if there are any error messages or stack trace dumps in the driver station console (or riolog viewer) to help track down where things are going bad.

I'll try putting it on test once I get to work the robot today.
The sensor is plugged in on the custom electronics port


All times are GMT -5. The time now is 08:00 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi