fix ToggleCameraFeed command
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / CameraFeeds.java
CommitLineData
409d6878
ME
1package org.usfirst.frc.team3501.robot;
2
2ada01fd
RH
3import edu.wpi.cscore.AxisCamera;
4import edu.wpi.cscore.UsbCamera;
b7b608d6 5import edu.wpi.cscore.VideoSource;
409d6878
ME
6import edu.wpi.first.wpilibj.CameraServer;
7
8public class CameraFeeds {
50a075d8
RH
9 // private final int intakeCam;
10 // private final int climberCam;
4dff9cc3 11 private VideoSource curCam;
409d6878 12 private CameraServer server;
50a075d8
RH
13 private static UsbCamera intakeCam;
14 private static AxisCamera climberCam;
4dff9cc3
RH
15 private static String usbCamName;
16 private static String axisCamName;
4bc0cb18 17 private static CameraFeeds cameraFeeds = null;
409d6878 18
fbc1210e 19 @SuppressWarnings("deprecation")
9ea6a533 20 private CameraFeeds(/* Joystick Button */) {
4dff9cc3 21
409d6878 22 server = CameraServer.getInstance();
50a075d8 23 climberCam = server.addAxisCamera("axisCamera", "10.35.1.11");
4dff9cc3 24 intakeCam = server.startAutomaticCapture();
9ea6a533 25 curCam = climberCam;
4dff9cc3
RH
26 usbCamName = intakeCam.getName();
27 axisCamName = climberCam.getName();
2ada01fd 28
409d6878 29 }
7638f542 30
4bc0cb18 31 public static CameraFeeds getCameraFeeds() {
7638f542
RH
32 if (cameraFeeds == null) {
33 cameraFeeds = new CameraFeeds();
34 }
35 return cameraFeeds;
36
4bc0cb18 37 }
409d6878
ME
38
39 public void init() {
9ea6a533 40 changeCam(intakeCam);
409d6878
ME
41 }
42
4dff9cc3 43 public void toggleCamera() {
9ea6a533 44 System.out.println("enter toggleCamer");
4dff9cc3 45 if (curCam.equals(intakeCam)) {
409d6878 46 changeCam(climberCam);
4dff9cc3 47 curCam = climberCam;
7638f542
RH
48 System.out.println("Switching to climber camera.");
49 return;
4dff9cc3 50 }
409d6878 51
4dff9cc3
RH
52 if (curCam.equals(climberCam)) {
53 changeCam(intakeCam);
54 curCam = intakeCam;
7638f542
RH
55 System.out.println("Switching to intake camera.");
56 return;
4dff9cc3 57 }
409d6878
ME
58 }
59
60 /**
50a075d8 61 *
4bc0cb18 62 * Change the camera to get image from to a different one
409d6878 63 *
7638f542 64 * newId for camera
409d6878 65 */
4dff9cc3 66 public void changeCam(VideoSource cam) {
9ea6a533
ME
67 System.out.println("change camera");
68 server.removeCamera(curCam.getName());
4dff9cc3 69 server.addCamera(cam);
409d6878 70 }
9ea6a533
ME
71
72 public String getCurrentCamName() {
73 return curCam.getName();
74 }
409d6878 75}