package org.usfirst.frc.team2503.r2016.input.joystick;

import org.usfirst.frc.team2503.r2016.input.Data;

public class MadCatzV1Joystick extends Joystick {

	public ControllerButton trigger = new ControllerButton(1);
	public ControllerButton button2 = new ControllerButton(2);
	public ControllerButton button3 = new ControllerButton(3);
	public ControllerButton button4 = new ControllerButton(4);
	public ControllerButton button5 = new ControllerButton(5);
	public ControllerButton button6 = new ControllerButton(6);
	public ControllerButton gripButton = new ControllerButton(7);

	public ControllerPOV pov = new ControllerPOV();

	public ControllerAxis x = new ControllerAxis(0, ControllerAxisType.NEGATIVE_TO_POSITIVE);
	public ControllerAxis y = new ControllerAxis(1, ControllerAxisType.NEGATIVE_TO_POSITIVE);
	public ControllerAxis throttle = new ControllerAxis(2, ControllerAxisType.ZERO_TO_POSITIVE);
	public ControllerAxis rotation = new ControllerAxis(3, ControllerAxisType.NEGATIVE_TO_POSITIVE);

	public Data getData() {
		return null;
	}

	public MadCatzV1Joystick(int port) {
		super(port);
	}

}

@@ -1012,38 +1012,965 @@
 lic 
-Data getData
+class DataReporter %7B%0A%09%09private Data data = new Data();%0A%09%09private Data buttons = new Data();%0A%09%09private Data axes = new Data();%0A%0A%09%09public void update() %7B%0A%09%09%09this.buttons.put(%22trigger%22, trigger.get());%0A%09%09%09this.buttons.put(%22button2%22, button2.get());%0A%09%09%09this.buttons.put(%22button3%22, button3.get());%0A%09%09%09this.buttons.put(%22button4%22, button4.get());%0A%09%09%09this.buttons.put(%22button5%22, button5.get());%0A%09%09%09this.buttons.put(%22button6%22, button6.get());%0A%09%09%09this.buttons.put(%22gripButton%22, gripButton.get());%0A%0A%09%09%09this.axes.put(%22x%22, x.get());%0A%09%09%09this.axes.put(%22y%22, y.get());%0A%09%09%09this.axes.put(%22throttle%22, throttle.get());%0A%09%09%09this.axes.put(%22rotation%22, rotation.get());%0A%09%09%7D%0A%0A%09%09public Data report
 () %7B%0A%09%09
+%09
 return 
-null
+this.data;%0A%09%09%7D%0A%0A%09%09public void compile() %7B%0A%09%09%09this.data.put(%22buttons%22, this.buttons);%0A%09%09%09this.data.put(%22axes%22, this.axes);%0A%09%09%7D%0A%09%7D%0A%0A%09private DataReporter DataReporter;%0A%0A%09public Data getData() %7B%0A%09%09DataReporter.update();%0A%09%09DataReporter.compile();%0A%09%09return DataReporter.report()
 ;%0A%09%7D
@@ -2023,15 +2023,58 @@
 r(port);
+%0A%0A%09%09this.DataReporter = new DataReporter();
 %0A%09%7D%0A%0A%7D%0A

Add DataReporter class for data collection