Try to understand why axis camera does turn on while toggling.
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / CameraFeeds.java
index 15ea3695efe43ba65a1743d32568fb9898c5ebda..f5d0384121d24ef8663d339f8e62ed8bb377f603 100755 (executable)
@@ -33,12 +33,12 @@ public class CameraFeeds {
      * server.setSize(Constants.CameraFeeds.imgQuality);
      */
 
+    usbCamName = intakeCam.getName();
+    axisCamName = climberCam.getName();
     server = CameraServer.getInstance();
-    climberCam = server.addAxisCamera("axisCamera", "10.35.1.11");
+    climberCam = server.addAxisCamera(axisCamName, "10.35.1.11");
     intakeCam = server.startAutomaticCapture();
     curCam = intakeCam;
-    usbCamName = intakeCam.getName();
-    axisCamName = climberCam.getName();
 
     // server = CameraServer.getInstance();
     // axisCamera = cameraServer2.addAxisCamera("axisCamera", "10.35.1.11");
@@ -54,23 +54,20 @@ public class CameraFeeds {
   }
 
   public void init() {
-    changeCam(climberCam);
+    changeCam(intakeCam);
   }
 
   public void toggleCamera() {
     if (curCam.equals(intakeCam)) {
-      changeCam(climberCam);
+      // changeCam(climberCam);
       curCam = climberCam;
-      System.out.println("Switching to climber camera.");
-      return;
-    }
-
-    if (curCam.equals(climberCam)) {
-      changeCam(intakeCam);
+      // System.out.println("Switching to climber camera.");
+    } else if (curCam.equals(climberCam)) {
+      // changeCam(intakeCam);
       curCam = intakeCam;
-      System.out.println("Switching to intake camera.");
-      return;
+      // System.out.println("Switching to intake camera.");
     }
+    changeCam(curCam);
   }
 
   /**
@@ -80,8 +77,18 @@ public class CameraFeeds {
    * newId for camera
    */
   public void changeCam(VideoSource cam) {
-    server.removeCamera(axisCamName);
-    server.removeCamera(usbCamName);
-    server.addCamera(cam);
+    server.removeCamera(curCam.getName());
+    if (curCam.equals(intakeCam)) {
+      server.addCamera(intakeCam);
+      System.out.println("Switching to climber camera.");
+      return;
+    }
+
+    if (curCam.equals(climberCam)) {
+      server.addAxisCamera(axisCamName, "10.35.1.11");
+      // server.addCamera(climberCam);
+      System.out.println("Switching to intake camera.");
+      return;
+    }
   }
 }