package org.usfirst.frc.team3501.robot;
-import com.ni.vision.NIVision;
import com.ni.vision.NIVision.Image;
import edu.wpi.cscore.AxisCamera;
// private final int intakeCam;
// private final int climberCam;
private Image frame;
- private String curCam = "intake";
+ private VideoSource curCam;
private CameraServer server;
private static UsbCamera intakeCam;
private static AxisCamera climberCam;
+ private static String usbCamName;
+ private static String axisCamName;
@SuppressWarnings("deprecation")
public CameraFeeds(/* Joystick Button */) {
* we'll give the img to server = CameraServer.getInstance();
* server.setSize(Constants.CameraFeeds.imgQuality);
*/
- intakeCam = CameraServer.getInstance().startAutomaticCapture();
- CameraServer.getInstance().startAutomaticCapture();
+
server = CameraServer.getInstance();
climberCam = server.addAxisCamera("axisCamera", "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");
changeCam(intakeCam);
}
- public void run()
- {
- if(/*add test for toggle*/)
- changeCam(intakeCam);
-
- if(/*add test for toggle*/)
+ public void toggleCamera() {
+ if (curCam.equals(intakeCam)) {
changeCam(climberCam);
+ curCam = climberCam;
+ }
- updateCam();
- }
-
- /**
- * Stop aka close camera stream
- */
- public void end() {
- // NIVision.IMAQdxStopAcquisition(curCam);
+ if (curCam.equals(climberCam)) {
+ changeCam(intakeCam);
+ curCam = intakeCam;
+ }
}
/**
* @param newId
* for camera
*/
- public void changeCam(/* int newId */) {
- if (curCam == "climber") {
- server.removeCamera(/* Axis Camera name */);
- server.addCamera(intakeCam);
- curCam = "intake";
- } else if (curCam == "intake") {
- server.removeCamera(/* Usb Camera name */);
- server.addCamera(climberCam);
- curCam = "climber";
- }
- // NIVision.IMAQdxStopAcquisition(curCam);
- // NIVision.IMAQdxConfigureGrab(newId);
- // NIVision.IMAQdxStartAcquisition(newId);
- // curCam = newId;
- }
-
- /**
- * Get the img from current camera and give it to the server
- */
- public void updateCam() {
- // NIVision.IMAQdxGrab(curCam, frame, 1);
- // server.setImage(frame);
+ public void changeCam(VideoSource cam) {
+ server.removeCamera(axisCamName);
+ server.removeCamera(usbCamName);
+ server.addCamera(cam);
}
}