diff --git a/photon-server/src/main/java/org/photonvision/vision/camera/USBCameraSource.java b/photon-server/src/main/java/org/photonvision/vision/camera/USBCameraSource.java index 5af19c92e..7b8d11ce6 100644 --- a/photon-server/src/main/java/org/photonvision/vision/camera/USBCameraSource.java +++ b/photon-server/src/main/java/org/photonvision/vision/camera/USBCameraSource.java @@ -19,6 +19,7 @@ package org.photonvision.vision.camera; import edu.wpi.cscore.CvSink; import edu.wpi.cscore.UsbCamera; +import edu.wpi.cscore.VideoException; import edu.wpi.cscore.VideoMode; import edu.wpi.first.cameraserver.CameraServer; import java.util.*; @@ -71,38 +72,35 @@ public class USBCameraSource implements VisionSource { frameStaticProperties = new FrameStaticProperties(getCurrentVideoMode(), getFOV()); } - @Override - public int getExposure() { - return camera.getProperty("exposure").get(); - } - @Override public void setExposure(int exposure) { - camera.setExposureManual(exposure); - camera.setExposureManual(exposure); - } - - @Override - public int getBrightness() { - return camera.getBrightness(); + try { + camera.setExposureManual(exposure); + camera.setExposureManual(exposure); + } catch (VideoException e) { + logger.error("Failed to set camera exposure!", e); + } } @Override public void setBrightness(int brightness) { - camera.setBrightness(brightness); - camera.setBrightness(brightness); - } - - @Override - public int getGain() { - return !cameraQuirks.hasQuirk(CameraQuirk.Gain) ? -1 : camera.getProperty("gain").get(); + try { + camera.setBrightness(brightness); + camera.setBrightness(brightness); + } catch (VideoException e) { + logger.error("Failed to set camera brightness!", e); + } } @Override public void setGain(int gain) { - if (cameraQuirks.hasQuirk(CameraQuirk.Gain)) { - camera.getProperty("gain_automatic").set(0); - camera.getProperty("gain").set(gain); + try { + if (cameraQuirks.hasQuirk(CameraQuirk.Gain)) { + camera.getProperty("gain_automatic").set(0); + camera.getProperty("gain").set(gain); + } + } catch (VideoException e) { + logger.error("Failed to set camera gain!", e); } } @@ -113,12 +111,16 @@ public class USBCameraSource implements VisionSource { @Override public void setCurrentVideoMode(VideoMode videoMode) { - if (videoMode == null) { - logger.error("Got a null video mode! Doing nothing..."); - return; + try { + if (videoMode == null) { + logger.error("Got a null video mode! Doing nothing..."); + return; + } + camera.setVideoMode(videoMode); + this.frameStaticProperties = new FrameStaticProperties(getCurrentVideoMode(), getFOV()); + } catch (Exception e) { + logger.error("Failed to set video mode!", e); } - camera.setVideoMode(videoMode); - this.frameStaticProperties = new FrameStaticProperties(getCurrentVideoMode(), getFOV()); } @Override diff --git a/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java b/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java index 22e00fef2..3f03fc65e 100644 --- a/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java +++ b/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceSettables.java @@ -36,16 +36,10 @@ public abstract class VisionSourceSettables { return configuration; } - public abstract int getExposure(); - public abstract void setExposure(int exposure); - public abstract int getBrightness(); - public abstract void setBrightness(int brightness); - public abstract int getGain(); - public abstract void setGain(int gain); public abstract VideoMode getCurrentVideoMode(); diff --git a/photon-server/src/test/java/org/photonvision/vision/processes/VisionModuleManagerTest.java b/photon-server/src/test/java/org/photonvision/vision/processes/VisionModuleManagerTest.java index 7015b35ad..b35ddd37a 100644 --- a/photon-server/src/test/java/org/photonvision/vision/processes/VisionModuleManagerTest.java +++ b/photon-server/src/test/java/org/photonvision/vision/processes/VisionModuleManagerTest.java @@ -63,27 +63,12 @@ public class VisionModuleManagerTest { super(configuration); } - @Override - public int getExposure() { - return 0; - } - @Override public void setExposure(int exposure) {} - @Override - public int getBrightness() { - return 0; - } - @Override public void setBrightness(int brightness) {} - @Override - public int getGain() { - return 0; - } - @Override public void setGain(int gain) {}