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