Repeated Error

Everytime I attempt to run a command based robot code I get this error. It only happens as soon as I add subsystems and is a command based.


ERROR
Unhandled exception instantiating robot
org.usfirst.frc2509.Robot2015d.v3.Robot java.lang.NullPointerException
at [org.usfirst.frc2509.Robot2015d.v3.Robot.<init>(Robot.java:46),
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method),
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62),
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45),
java.lang.reflect.Constructor.newInstance(Constructor.java:408),
java.lang.Class.newInstance(Class.java:433),
edu.wpi.first.wpilibj.RobotBase.main(RobotBase.java:204)

If anyone can help me go in the right direction to fix this error that would be great. Here is the link to the code.

Quick and Dirty Answer:

You refer to Robot.oi.lStick on line 46 of Robot.java. (See the top of the stack trace). At that point of code execution Robot.oi has been declared (see line 35), but not assigned a value yet. That doesn’t happen until late inside the robotInit() function (function starts line 52, assigned value at 67).

If you just declare the variable, and remove the assignment at 46 (and 47) and assign the value in robotInit() after line 67, you should get past that problem.

(Sorry I didn’t check for any others you might run into after this.)