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 AEE |
17 | private static CameraFeeds cameraFeeds = null; |
18 | ||
409d6878 | 19 | |
fbc1210e | 20 | @SuppressWarnings("deprecation") |
50a075d8 | 21 | public CameraFeeds(/* Joystick Button */) { |
4bc0cb18 | 22 | // Get camera id by supplying camera name example 'cam0', found on roborio web |
409d6878 | 23 | // interface |
50a075d8 RH |
24 | /* |
25 | * intakeCam = | |
26 | * NIVision.IMAQdxOpenCamera(Constants.CameraFeeds.camNameCenter, | |
27 | * NIVision.IMAQdxCameraControlMode.CameraControlModeController); climberCam | |
28 | * = NIVision.IMAQdxOpenCamera(Constants.CameraFeeds.camNameRight, | |
29 | * NIVision.IMAQdxCameraControlMode.CameraControlModeController); curCam = | |
4bc0cb18 | 30 | * intakeCam; // Image that will contain camera image frame = |
50a075d8 | 31 | * NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_RGB, 0); // Server that |
4bc0cb18 | 32 | * we'll give the image to server = CameraServer.getInstance(); |
50a075d8 RH |
33 | * server.setSize(Constants.CameraFeeds.imgQuality); |
34 | */ | |
4dff9cc3 | 35 | |
409d6878 | 36 | server = CameraServer.getInstance(); |
50a075d8 | 37 | climberCam = server.addAxisCamera("axisCamera", "10.35.1.11"); |
4dff9cc3 RH |
38 | intakeCam = server.startAutomaticCapture(); |
39 | curCam = intakeCam; | |
40 | usbCamName = intakeCam.getName(); | |
41 | axisCamName = climberCam.getName(); | |
2ada01fd RH |
42 | |
43 | // server = CameraServer.getInstance(); | |
44 | // axisCamera = cameraServer2.addAxisCamera("axisCamera", "10.35.1.11"); | |
45 | // cameraFeeds = new CameraFeeds(); | |
409d6878 | 46 | } |
4bc0cb18 AEE |
47 | |
48 | public static CameraFeeds getCameraFeeds() { | |
49 | if (cameraFeeds == null) { | |
50 | cameraFeeds = new CameraFeeds(); | |
51 | } | |
52 | return cameraFeeds; | |
53 | ||
54 | ||
55 | } | |
409d6878 ME |
56 | |
57 | public void init() { | |
58 | changeCam(intakeCam); | |
59 | } | |
60 | ||
4dff9cc3 RH |
61 | public void toggleCamera() { |
62 | if (curCam.equals(intakeCam)) { | |
409d6878 | 63 | changeCam(climberCam); |
4dff9cc3 RH |
64 | curCam = climberCam; |
65 | } | |
409d6878 | 66 | |
4dff9cc3 RH |
67 | if (curCam.equals(climberCam)) { |
68 | changeCam(intakeCam); | |
69 | curCam = intakeCam; | |
70 | } | |
409d6878 ME |
71 | } |
72 | ||
73 | /** | |
50a075d8 | 74 | * |
4bc0cb18 | 75 | * Change the camera to get image from to a different one |
409d6878 | 76 | * |
4bc0cb18 | 77 | * newId |
409d6878 ME |
78 | * for camera |
79 | */ | |
4dff9cc3 RH |
80 | public void changeCam(VideoSource cam) { |
81 | server.removeCamera(axisCamName); | |
82 | server.removeCamera(usbCamName); | |
83 | server.addCamera(cam); | |
409d6878 ME |
84 | } |
85 | } |