Commit | Line | Data |
---|---|---|
409d6878 ME |
1 | package org.usfirst.frc.team3501.robot; |
2 | ||
2ada01fd RH |
3 | import edu.wpi.cscore.AxisCamera; |
4 | import edu.wpi.cscore.UsbCamera; | |
b7b608d6 | 5 | import edu.wpi.cscore.VideoSource; |
409d6878 ME |
6 | import edu.wpi.first.wpilibj.CameraServer; |
7 | ||
8 | public 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 | |
85c0135e RH |
22 | usbCamName = intakeCam.getName(); |
23 | axisCamName = climberCam.getName(); | |
409d6878 | 24 | server = CameraServer.getInstance(); |
85c0135e | 25 | climberCam = server.addAxisCamera(axisCamName, "10.35.1.11"); |
4dff9cc3 RH |
26 | intakeCam = server.startAutomaticCapture(); |
27 | curCam = intakeCam; | |
9ea6a533 | 28 | curCam = climberCam; |
4dff9cc3 RH |
29 | usbCamName = intakeCam.getName(); |
30 | axisCamName = climberCam.getName(); | |
409d6878 | 31 | } |
7638f542 | 32 | |
4bc0cb18 | 33 | public static CameraFeeds getCameraFeeds() { |
7638f542 RH |
34 | if (cameraFeeds == null) { |
35 | cameraFeeds = new CameraFeeds(); | |
36 | } | |
37 | return cameraFeeds; | |
38 | ||
4bc0cb18 | 39 | } |
409d6878 ME |
40 | |
41 | public void init() { | |
85c0135e | 42 | changeCam(intakeCam); |
409d6878 ME |
43 | } |
44 | ||
4dff9cc3 | 45 | public void toggleCamera() { |
9ea6a533 | 46 | System.out.println("enter toggleCamer"); |
4dff9cc3 | 47 | if (curCam.equals(intakeCam)) { |
85c0135e | 48 | // changeCam(climberCam); |
4dff9cc3 | 49 | curCam = climberCam; |
85c0135e RH |
50 | // System.out.println("Switching to climber camera."); |
51 | } else if (curCam.equals(climberCam)) { | |
52 | // changeCam(intakeCam); | |
4dff9cc3 | 53 | curCam = intakeCam; |
85c0135e | 54 | // System.out.println("Switching to intake camera."); |
4dff9cc3 | 55 | } |
85c0135e | 56 | changeCam(curCam); |
409d6878 ME |
57 | } |
58 | ||
59 | /** | |
50a075d8 | 60 | * |
4bc0cb18 | 61 | * Change the camera to get image from to a different one |
409d6878 | 62 | * |
7638f542 | 63 | * newId for camera |
409d6878 | 64 | */ |
4dff9cc3 | 65 | public void changeCam(VideoSource cam) { |
85c0135e RH |
66 | server.removeCamera(curCam.getName()); |
67 | if (curCam.equals(intakeCam)) { | |
68 | server.addCamera(intakeCam); | |
69 | System.out.println("Switching to climber camera."); | |
70 | return; | |
71 | } | |
72 | ||
73 | if (curCam.equals(climberCam)) { | |
74 | server.addAxisCamera(axisCamName, "10.35.1.11"); | |
75 | // server.addCamera(climberCam); | |
76 | System.out.println("Switching to intake camera."); | |
77 | return; | |
78 | } | |
9ea6a533 ME |
79 | System.out.println("change camera"); |
80 | server.removeCamera(curCam.getName()); | |
4dff9cc3 | 81 | server.addCamera(cam); |
409d6878 | 82 | } |
9ea6a533 ME |
83 | |
84 | public String getCurrentCamName() { | |
85 | return curCam.getName(); | |
409d6878 ME |
86 | } |
87 | } |