示例#1
0
/**
 * Sends data back to LabVIEW dashboard on computer. For camera targeting data, sensor feedback,
 * etc.
 *
 * @author Ziv
 */
public class Dashboards {

  private DriverStation ds = DriverStation.getInstance();
  private Dashboard lowDash = ds.getDashboardPackerLow();
  private static Dashboards instance = null;

  private Dashboards() {}

  public static Dashboards getInstance() {
    if (instance == null) {
      instance = new Dashboards();
    }
    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);
    // Shooter.
    lowDash.addDouble(CommandBase.shooter.getSetpoint());
    lowDash.addDouble(CommandBase.shooter.getRate());
    // Elevator.
    lowDash.addDouble(CommandBase.shooter.getPower());
    lowDash.finalizeCluster();
    lowDash.commit();
  }

  public void sendPeriodicData() {
    // SmartDashboard output stuff.
    SmartDashboard.putDouble("Force Sensor Value", CommandBase.elev.getPressure());
    SmartDashboard.putDouble("Yaw position", CommandBase.dt.yawGyro.getAngle());
    SmartDashboard.putDouble("Target1 X", CommandBase.cam.tracker.pidGet());
    SmartDashboard.putDouble("Cam servo", CommandBase.cam.getPos());
    SmartDashboard.putDouble("Shooter rate", CommandBase.shooter.getRate());
    SmartDashboard.putDouble("DT left", CommandBase.dt.getLeftPos());
    SmartDashboard.putDouble("DT right", CommandBase.dt.getRightPos());
    SmartDashboard.putDouble("Cam pos", CommandBase.cam.getPos());
    SmartDashboard.putDouble("Shooter power", CommandBase.shooter.getPower());
    SmartDashboard.putDouble("Throttle", CommandBase.oi.getDriveThrottle());
    SmartDashboard.putDouble("Wheel", CommandBase.oi.getDriveWheel());
    SmartDashboard.putDouble("Cam delta", CommandBase.oi.getCamDelta());
  }
}