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()
{
}
}