make so does not crash
authorLogan Howard <logan@oflogan.com>
Thu, 23 Apr 2015 05:49:39 +0000 (00:49 -0500)
committerLogan Howard <logan@oflogan.com>
Thu, 23 Apr 2015 05:49:39 +0000 (00:49 -0500)
src/org/usfirst/frc/team3501/bases/Command.java
src/org/usfirst/frc/team3501/bases/CommandBase.java [deleted file]
src/org/usfirst/frc/team3501/bases/CommandGroup.java
src/org/usfirst/frc/team3501/robot/Joystick.java
src/org/usfirst/frc/team3501/robot/Robot.java
src/org/usfirst/frc/team3501/robot/commands/DriveWithJoysticks.java

index b25eb391d65ced392634ebc403702b068e0f5e7c..e543c2ceaf71be50396b1fbae0ca44e9d4c17e11 100644 (file)
@@ -1,13 +1,40 @@
 package org.usfirst.frc.team3501.bases;
 
+import org.usfirst.frc.team3501.robot.OI;
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.Arm;
+import org.usfirst.frc.team3501.robot.subsystems.Claw;
+import org.usfirst.frc.team3501.robot.subsystems.Drivetrain;
+import org.usfirst.frc.team3501.robot.subsystems.Pneumatics;
+import org.usfirst.frc.team3501.util.AutonData;
+
 import edu.wpi.first.wpilibj.command.Scheduler;
 
 public abstract class Command
-    extends edu.wpi.first.wpilibj.command.Command
-    implements CommandBase {
+    extends edu.wpi.first.wpilibj.command.Command {
+
+    protected static OI oi;
+
+    protected static AutonData autonData;
+
+    protected static Drivetrain drivetrain;
+    protected static Arm arm;
+    protected static Claw claw;
+
+    protected static Pneumatics pneumatics;
 
     public Command(String commandName) {
         super(commandName);
+
+        oi = Robot.oi;
+
+        autonData = Robot.autonData;
+
+        drivetrain = Robot.drivetrain;
+        arm        = Robot.arm;
+        claw       = Robot.claw;
+
+        pneumatics = Robot.pneumatics;
     }
 
     protected void schedule(Command c) {
diff --git a/src/org/usfirst/frc/team3501/bases/CommandBase.java b/src/org/usfirst/frc/team3501/bases/CommandBase.java
deleted file mode 100644 (file)
index 770f48d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.usfirst.frc.team3501.bases;
-
-import org.usfirst.frc.team3501.robot.OI;
-import org.usfirst.frc.team3501.robot.Robot;
-import org.usfirst.frc.team3501.robot.subsystems.*;
-import org.usfirst.frc.team3501.util.AutonData;
-
-public interface CommandBase {
-
-    final static OI oi = Robot.oi;
-
-    final static AutonData autonData = Robot.autonData;
-
-    final static Drivetrain drivetrain = Robot.drivetrain;
-    final static               Arm arm = Robot.arm;
-    final static             Claw claw = Robot.claw;
-
-    final static Pneumatics pneumatics = Robot.pneumatics;
-}
index b1d5c31b7bcbb2d85308ccbaa712f7339e0c4c75..006f67656214898e1d316cbb8ec70b4e5e23cd8b 100644 (file)
@@ -1,10 +1,37 @@
 package org.usfirst.frc.team3501.bases;
 
+import org.usfirst.frc.team3501.robot.OI;
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.Arm;
+import org.usfirst.frc.team3501.robot.subsystems.Claw;
+import org.usfirst.frc.team3501.robot.subsystems.Drivetrain;
+import org.usfirst.frc.team3501.robot.subsystems.Pneumatics;
+import org.usfirst.frc.team3501.util.AutonData;
+
 public abstract class CommandGroup
-    extends edu.wpi.first.wpilibj.command.CommandGroup
-    implements CommandBase {
+    extends edu.wpi.first.wpilibj.command.CommandGroup {
+
+    protected static OI oi;
+
+    protected static AutonData autonData;
+
+    protected static Drivetrain drivetrain;
+    protected static Arm arm;
+    protected static Claw claw;
+
+    protected static Pneumatics pneumatics;
 
     public CommandGroup(String commandGroupName) {
         super(commandGroupName);
+
+        oi = Robot.oi;
+
+        autonData = Robot.autonData;
+
+        drivetrain = Robot.drivetrain;
+        arm        = Robot.arm;
+        claw       = Robot.claw;
+
+        pneumatics = Robot.pneumatics;
     }
 }
index fab679234f9c1486cd4a427da34aab418a786bd2..7eac768cb0554bce4dcafdb9386bd2794898b7c6 100644 (file)
@@ -13,7 +13,9 @@ public class Joystick extends edu.wpi.first.wpilibj.Joystick {
     public Joystick(int port) {
         super(port);
 
-        IntStream.rangeClosed(1, 12).forEach((b) -> {
+        buttons = new HashMap<Integer, JoystickButton>();
+
+        IntStream.rangeClosed(1, getButtonCount()).forEach((b) -> {
             buttons.put(b, new JoystickButton(this, b));
         });
     }
index c7ef783478c8307e5b01d3e5ae714dd192e9b887..84fd2f9faa8afa3fc1726a564d18c5abcae4433e 100644 (file)
@@ -29,8 +29,6 @@ public class Robot extends IterativeRobot {
     private Command autonomousCommand;
 
     public void robotInit() {
-               oi = new OI();
-
                drivetrain = new Drivetrain();
                arm        = new Arm();
                claw       = new Claw();
@@ -39,6 +37,8 @@ public class Robot extends IterativeRobot {
 
                autonData = new AutonData();
 
+               oi = new OI();
+
                chooseAuto();
     }
 
@@ -62,7 +62,8 @@ public class Robot extends IterativeRobot {
     public void teleopInit() {
         schedule(new TurnOnCompressor());
 
-        autonomousCommand.cancel();
+        if (autonomousCommand != null)
+            autonomousCommand.cancel();
     }
 
     public void teleopPeriodic() {
index 5e935c97e0c99294eb9c32411107883a3a2fcc18..79d687d454a1621a862046db4671b4c4d42508a0 100644 (file)
@@ -6,6 +6,7 @@ public class DriveWithJoysticks extends Command {
 
     public DriveWithJoysticks() {
         super("DriveWithJoysticks");
+
         requires(drivetrain);
     }