Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   Code not working (http://www.chiefdelphi.com/forums/showthread.php?t=114595)

Mr.Roboto3335 03-03-2013 16:51

Code not working
 
I'm having some trouble with my code. Everytime I try to upload it keeps on showing this:
[cRIO] FPGA Hardware GUID: 0xa14c11bde4bb64aef6a86fc52a294cd9
[cRIO] FPGA Software GUID: 0xa14c11bde4bb64aef6a86fc52a294cd9
[cRIO] java.lang.NullPointerException: Null motor provided
[cRIO] at edu.wpi.first.wpilibj.RobotDrive.<init>(RobotDrive .java:139)
[cRIO] at edu.wpi.first.wpilibj.templates.RobotTemplate.Robo tDriveInit(RobotTemplate.java:67)
[cRIO] at edu.wpi.first.wpilibj.templates.RobotTemplate.robo tInit(RobotTemplate.java:41)
[cRIO] at edu.wpi.first.wpilibj.IterativeRobot.startCompetit ion(IterativeRobot.java:72)
[cRIO] at edu.wpi.first.wpilibj.RobotBase.startApp(RobotBase .java:169)
[cRIO] in virtual method #10 of javax.microedition.midlet.MIDlet(bci=17)
[cRIO] at javax.microedition.midlet.MIDletTunnelImpl.callSta rtApp(64)
[cRIO] at com.sun.squawk.imp.MIDletMainWrapper.main(110)
[cRIO] in virtual method #95 of com.sun.squawk.Klass(bci=25)
[cRIO] at com.sun.squawk.Isolate.run(1506)
[cRIO] at java.lang.Thread.run(231)
[cRIO] in virtual method #47 of com.sun.squawk.VMThread(bci=42)
[cRIO] in static method #3 of com.sun.squawk.VM(bci=6)
[cRIO] WARNING: Robots don't quit!
[cRIO] ---> The startCompetition() method (or methods called by it) should have handled the exception above.


Code:
Code:

/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2008. All Rights Reserved.                            */
/* Open Source Software - may be modified and shared by FRC teams. The code  */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project.                                                              */
/*----------------------------------------------------------------------------*/

package edu.wpi.first.wpilibj.templates;


import edu.wpi.first.wpilibj.DriverStationLCD;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj.SpeedController;
import edu.wpi.first.wpilibj.Talon;
import edu.wpi.first.wpilibj.Victor;
import edu.wpi.first.wpilibj.camera.AxisCamera;


public class RobotTemplate extends IterativeRobot


    private Joystick leftStick;
    private Joystick rightStick;
    private Joystick shootStick;
    private SpeedController ShooterFront;
    private SpeedController ShooterBack;       
    private SpeedController Left;
    private SpeedController Right;
    private RobotDrive drive;
    private AxisCamera camera;
    private Servo servo;
    private DriverStationLCD lcd = DriverStationLCD.getInstance();
   
    public void robotInit()
    {
       
      JoystickInit();
      RobotDriveInit();
      TalonInit();
      ServoInit();
      VictorInit();
     
     
      getWatchdog().setExpiration(0.1);
        lcd.println(DriverStationLCD.Line.kUser2, 1, "Enabled!");
        lcd.updateLCD();
    }
   
    public void VictorInit()
    {
      ShooterFront = new Victor(4);
      ShooterBack = new Victor(3);
    }
   
    public void JoystickInit()
    {
        leftStick = new Joystick(1);
        rightStick = new Joystick(2);
        shootStick = new Joystick(3);
    }
   
    public void RobotDriveInit()
    {
        drive = new RobotDrive(Left, Right);
    }
       
    public void TalonInit()
    {
        Left = new Talon(1);
        Right = new Talon(2);
    }
   
    public void ServoInit()
    {
        servo = new Servo(7);
    }
   
    public void autonomousInit()
    {
        getWatchdog().setEnabled(true);
        lcd.println(DriverStationLCD.Line.kUser2, 1, "Autonomous!");
        lcd.updateLCD();
    }
   
    public void autonomousPeriodic()
    {
       
    }

    public void teleopInit()
    {
        getWatchdog().setEnabled(true);
        lcd.println(DriverStationLCD.Line.kUser2, 1, "Teleop!");
        lcd.updateLCD();
    }
    long x = 1;
    public void teleopContinuous()
    {
       
    }
   
    public void teleopPeriodic()
    {
        AxisCamera.getInstance().writeCompression(0);
        AxisCamera.getInstance().writeResolution(AxisCamera.ResolutionT.k320x240);
        AxisCamera.getInstance().writeBrightness(10);
       
        drive.tankDrive(-leftStick.getY(), -rightStick.getY());
       
        if(shootStick.getRawButton(1))
    {
            servo.setAngle(30);
    }
       
        else
    {
            servo.setAngle(0);
    }
       
        if(shootStick.getRawButton(6))
    {
            ShooterFront.set(100);
            ShooterBack.set(100);
    }
        else if(shootStick.getRawButton(7))
    {
            ShooterFront.set(0);
            ShooterBack.set(0);
    }
 }

    public void testPeriodic()
    {

    }
}


xForceDee 03-03-2013 17:09

Re: Code not working
 
A possible problem would be that your RobotDrive is getting a null pointer because it is trying to use motors that are still null. If that is the case, the solution is simple, just move the RobotDriveInit method below the TalonInit method. Let me know if that works.

Joe Ross 03-03-2013 17:32

Re: Code not working
 
Quote:

Originally Posted by xForceDee (Post 1242960)
A possible problem would be that your RobotDrive is getting a null pointer because it is trying to use motors that are still null.

That's exactly the problem.

Mr.Roboto3335 03-03-2013 18:03

Re: Code not working
 
It works! Thank you!


All times are GMT -5. The time now is 22:15.

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