// Path: src/edu/neu/nutrons/reboundrumble/commands/CommandBase.java
// public abstract class CommandBase extends Command {
// 
//     // Single static instance of OI and all subsystems.
//     public static OI oi;
//     public static DTPIDController dtPID;
//     public static DriveTrain dt = new DriveTrain();
//     public static Shifter shifter = new Shifter();
//     public static Camera cam = new Camera();
//     public static Shooter shooter = new Shooter();
//     public static Hood hood = new Hood();
//     public static Elevator elev = new Elevator();
//     public static Intake intake = new Intake();
// 
//     // Some commands to be used in multiple places.
//     public static Command prepareFenderCmd(boolean manual) {
//         if(manual) {
//             return new PrepareManualShootingCmd(Shooter.FENDER_POWER, false, Camera.FENDER_POS);
//         }
//         else {
//             return new PrepareShootingCmd(Shooter.FENDER_RATE, false, Camera.FENDER_POS);
//         }
//     }
// 
//     public static Command prepareFenderCmd() {
//         return prepareFenderCmd(false);
//     }
// 
//     public static Command prepareKeyCmd(boolean manual) {
//         if(manual) {
//             return new PrepareManualShootingCmd(Shooter.KEY_POWER, true, Camera.KEY_POS);
//         }
//         else {
//             return new PrepareShootingCmd(Shooter.KEY_RATE, true, Camera.KEY_POS);
//         }
//     }
// 
//     public static Command prepareKeyCmd() {
//         return prepareKeyCmd(false);
//     }
// 
//     public static void init() {
//         // This MUST be here. If the OI creates Commands (which it very likely
//         // will), constructing it during the construction of CommandBase (from
//         // which commands extend), subsystems are not guaranteed to be
//         // yet. Thus, their requires() statements may grab null pointers. Bad
//         // news. Don't move it.
//         oi = new OI();
//         dtPID = new DTPIDController();
// 
//         // Display subsystem data on SmartDashboard.
//         SmartDashboard.putData(dt);
//         SmartDashboard.putData(cam);
//         SmartDashboard.putData(shooter);
//         SmartDashboard.putData(hood);
//         // Drive train PID put on SmartDashboard in dtPID constructor.
//     }
// 
//     public CommandBase(String name) {
//         super(name);
//     }
// 
//     public CommandBase() {
//         super();
//     }
// }


import edu.neu.nutrons.reboundrumble.commands.CommandBase;
import edu.wpi.first.wpilibj.Dashboard;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;

        return instance;
    }

    public void sendContinuousData() {
        // LabVIEW stuff.
        lowDash.addCluster(); // top
            lowDash.addCluster(); // target1 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxHeight);
            lowDash.finalizeCluster();
            lowDash.addCluster(); // target2 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxHeight);
            lowDash.finalizeCluster();
            lowDash.addCluster(); // target3 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxHeight);
            lowDash.finalizeCluster();
            lowDash.addCluster(); // target4 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxHeight);
            lowDash.finalizeCluster();

// Path: src/edu/neu/nutrons/reboundrumble/commands/CommandBase.java
// public abstract class CommandBase extends Command {
// 
//     // Single static instance of OI and all subsystems.
//     public static OI oi;
//     public static DTPIDController dtPID;
//     public static DriveTrain dt = new DriveTrain();
//     public static Shifter shifter = new Shifter();
//     public static Camera cam = new Camera();
//     public static Shooter shooter = new Shooter();
//     public static Hood hood = new Hood();
//     public static Elevator elev = new Elevator();
//     public static Intake intake = new Intake();
// 
//     // Some commands to be used in multiple places.
//     public static Command prepareFenderCmd(boolean manual) {
//         if(manual) {
//             return new PrepareManualShootingCmd(Shooter.FENDER_POWER, false, Camera.FENDER_POS);
//         }
//         else {
//             return new PrepareShootingCmd(Shooter.FENDER_RATE, false, Camera.FENDER_POS);
//         }
//     }
// 
//     public static Command prepareFenderCmd() {
//         return prepareFenderCmd(false);
//     }
// 
//     public static Command prepareKeyCmd(boolean manual) {
//         if(manual) {
//             return new PrepareManualShootingCmd(Shooter.KEY_POWER, true, Camera.KEY_POS);
//         }
//         else {
//             return new PrepareShootingCmd(Shooter.KEY_RATE, true, Camera.KEY_POS);
//         }
//     }
// 
//     public static Command prepareKeyCmd() {
//         return prepareKeyCmd(false);
//     }
// 
//     public static void init() {
//         // This MUST be here. If the OI creates Commands (which it very likely
//         // will), constructing it during the construction of CommandBase (from
//         // which commands extend), subsystems are not guaranteed to be
//         // yet. Thus, their requires() statements may grab null pointers. Bad
//         // news. Don't move it.
//         oi = new OI();
//         dtPID = new DTPIDController();
// 
//         // Display subsystem data on SmartDashboard.
//         SmartDashboard.putData(dt);
//         SmartDashboard.putData(cam);
//         SmartDashboard.putData(shooter);
//         SmartDashboard.putData(hood);
//         // Drive train PID put on SmartDashboard in dtPID constructor.
//     }
// 
//     public CommandBase(String name) {
//         super(name);
//     }
// 
//     public CommandBase() {
//         super();
//     }
// }


// Path: src/edu/neu/nutrons/reboundrumble/Dashboards.java
import edu.neu.nutrons.reboundrumble.commands.CommandBase;
import edu.wpi.first.wpilibj.Dashboard;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;

        return instance;
    }

    public void sendContinuousData() {
        // LabVIEW stuff.
        lowDash.addCluster(); // top
            lowDash.addCluster(); // target1 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget1().rawBboxHeight);
            lowDash.finalizeCluster();
            lowDash.addCluster(); // target2 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget2().rawBboxHeight);
            lowDash.finalizeCluster();
            lowDash.addCluster(); // target3 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget3().rawBboxHeight);
            lowDash.finalizeCluster();
            lowDash.addCluster(); // target4 tracking
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxCornerX);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxCornerY);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxWidth);
                lowDash.addInt((int)CommandBase.cam.tracker.getTarget4().rawBboxHeight);
            lowDash.finalizeCluster();

            lowDash.addDouble(CommandBase.cam.tracker.getBestTarget().centerX);
