Change axis camera to usb camera.
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / CameraFeeds.java
index 15ea3695efe43ba65a1743d32568fb9898c5ebda..4e4980a14e925a01985b160ec6523b315b204adf 100755 (executable)
@@ -1,76 +1,46 @@
 package org.usfirst.frc.team3501.robot;
 
-import edu.wpi.cscore.AxisCamera;
 import edu.wpi.cscore.UsbCamera;
-import edu.wpi.cscore.VideoSource;
 import edu.wpi.first.wpilibj.CameraServer;
 
 public class CameraFeeds {
   // private final int intakeCam;
   // private final int climberCam;
-  private VideoSource curCam;
+  private String curCam;
   private CameraServer server;
   private static UsbCamera intakeCam;
-  private static AxisCamera climberCam;
-  private static String usbCamName;
-  private static String axisCamName;
+  private static UsbCamera climberCam;
+  private static String intakeCamName;
+  private static String climberCamName;
   private static CameraFeeds cameraFeeds = null;
 
   @SuppressWarnings("deprecation")
-  public CameraFeeds(/* Joystick Button */) {
-    // Get camera id by supplying camera name example 'cam0', found on roborio
-    // web
-    // interface
-    /*
-     * intakeCam =
-     * NIVision.IMAQdxOpenCamera(Constants.CameraFeeds.camNameCenter,
-     * NIVision.IMAQdxCameraControlMode.CameraControlModeController); climberCam
-     * = NIVision.IMAQdxOpenCamera(Constants.CameraFeeds.camNameRight,
-     * NIVision.IMAQdxCameraControlMode.CameraControlModeController); curCam =
-     * intakeCam; // Image that will contain camera image frame =
-     * NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_RGB, 0); // Server that
-     * we'll give the image to server = CameraServer.getInstance();
-     * server.setSize(Constants.CameraFeeds.imgQuality);
-     */
-
+  private CameraFeeds(/* Joystick Button */) {
+    System.out.println("Enter CameraFeeds constructor");
     server = CameraServer.getInstance();
-    climberCam = server.addAxisCamera("axisCamera", "10.35.1.11");
+    climberCam = server.startAutomaticCapture();
     intakeCam = server.startAutomaticCapture();
-    curCam = intakeCam;
-    usbCamName = intakeCam.getName();
-    axisCamName = climberCam.getName();
-
-    // server = CameraServer.getInstance();
-    // axisCamera = cameraServer2.addAxisCamera("axisCamera", "10.35.1.11");
-    // cameraFeeds = new CameraFeeds();
+    intakeCamName = intakeCam.getName();
+    climberCamName = climberCam.getName();
+    curCam = "intakeCam";
+    System.out.println("Leaving CameraFeeds constructor");
   }
 
   public static CameraFeeds getCameraFeeds() {
+    System.out.println("Enter CameraFeeds.getCameraFeeds");
     if (cameraFeeds == null) {
       cameraFeeds = new CameraFeeds();
     }
+    System.out.println("Leaving CameraFeeds.getCameraFeeds");
     return cameraFeeds;
-
   }
 
   public void init() {
-    changeCam(climberCam);
+    System.out.println("Initializing...");
   }
 
   public void toggleCamera() {
-    if (curCam.equals(intakeCam)) {
-      changeCam(climberCam);
-      curCam = climberCam;
-      System.out.println("Switching to climber camera.");
-      return;
-    }
-
-    if (curCam.equals(climberCam)) {
-      changeCam(intakeCam);
-      curCam = intakeCam;
-      System.out.println("Switching to intake camera.");
-      return;
-    }
+    changeCam();
   }
 
   /**
@@ -79,9 +49,16 @@ public class CameraFeeds {
    *
    * newId for camera
    */
-  public void changeCam(VideoSource cam) {
-    server.removeCamera(axisCamName);
-    server.removeCamera(usbCamName);
-    server.addCamera(cam);
+  public void changeCam() {
+    System.out.println("enter toggleCamera");
+    if (curCam == "intakeCam") {
+      server.getVideo(climberCamName);
+      curCam = "climberCam";
+      System.out.println("Switching to climber camera, curCam = " + curCam);
+    } else if (curCam == "climberCam") {
+      server.getVideo(intakeCamName);
+      curCam = "intakeCam";
+      System.out.println("Switching to intake camera, curCam = " + curCam);
+    }
   }
 }