From 373b4262e5d14ccc3f7790518f114993fd809d3b Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 29 Nov 2019 21:41:12 -0800 Subject: [PATCH] Misc fixes and cleanup --- .../chameleonvision/vision/VisionProcess.java | 24 +++---------------- .../chameleonvision/web/RequestHandler.java | 10 ++++---- .../chameleonvision/web/SocketHandler.java | 2 +- 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java b/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java index 2d7394941..8e8ec575e 100644 --- a/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java +++ b/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java @@ -25,16 +25,10 @@ import java.util.concurrent.LinkedBlockingDeque; public class VisionProcess { private final CameraCapture cameraCapture; - private final List pipelines = new ArrayList<>(); private final CameraStreamerRunnable streamRunnable; private final VisionProcessRunnable visionRunnable; public final CameraStreamer cameraStreamer; - public final PipelineManager pipelineManager; - -// private CVPipeline currentPipeline; -// private int currentPipelineIndex = 0; - -// private CVPipeline driverModePipeline = new DriverVisionPipeline(new CVPipelineSettings()); + public PipelineManager pipelineManager; private volatile CVPipelineResult lastPipelineResult; @@ -110,6 +104,7 @@ public class VisionProcess { ntPipelineListenerID = ntPipelineEntry.addListener(this::setPipeline, EntryListenerFlags.kUpdate); ntDriverModeEntry.setBoolean(false); ntPipelineEntry.setNumber(pipelineManager.getCurrentPipelineIndex()); + pipelineManager.ntIndexEntry = ntPipelineEntry; } private void setDriverMode(EntryNotification driverModeEntryNotification) { @@ -126,12 +121,7 @@ public class VisionProcess { */ private void setPipeline(EntryNotification notification) { var wantedPipelineIndex = (int) notification.value.getDouble(); - - if (wantedPipelineIndex >= pipelines.size()) { - ntPipelineEntry.setNumber(pipelineManager.getCurrentPipelineIndex()); - } else { - pipelineManager.setCurrentPipeline(wantedPipelineIndex); - } + pipelineManager.setCurrentPipeline(wantedPipelineIndex); } private void updateUI(CVPipelineResult data) { @@ -216,18 +206,10 @@ public class VisionProcess { return cameraCapture; } - public void setDriverModeSettings(CVPipelineSettings settings) { - pipelineManager.driverModePipeline.settings = settings; - } - public CVPipelineSettings getDriverModeSettings() { return pipelineManager.driverModePipeline.settings; } - public boolean getIsDriverMode() { - return pipelineManager.getDriverMode(); - } - /** * VisionProcessRunnable will process images as quickly as possible */ diff --git a/Main/src/main/java/com/chameleonvision/web/RequestHandler.java b/Main/src/main/java/com/chameleonvision/web/RequestHandler.java index 1e7809cf4..94534efa9 100644 --- a/Main/src/main/java/com/chameleonvision/web/RequestHandler.java +++ b/Main/src/main/java/com/chameleonvision/web/RequestHandler.java @@ -43,15 +43,17 @@ public class RequestHandler { VisionProcess currentVisionProcess = VisionManager.getCurrentUIVisionProcess(); CameraCapture currentCamera = currentVisionProcess.getCamera(); - Integer newFOV = (Integer) camSettings.get("fov"); - + double newFOV; + try { + newFOV = (Double) camSettings.get("fov"); + } catch (Exception ignored) { + newFOV = (Integer) camSettings.get("fov"); + } Integer newStreamDivisor = (Integer) camSettings.get("streamDivisor"); Integer newResolution = (Integer) camSettings.get("resolution"); currentCamera.getProperties().setFOV(newFOV); - currentVisionProcess.cameraStreamer.setDivisor(StreamDivisor.values()[newStreamDivisor], true); - currentCamera.setVideoMode(newResolution); VisionManager.saveCurrentCameraSettings(); diff --git a/Main/src/main/java/com/chameleonvision/web/SocketHandler.java b/Main/src/main/java/com/chameleonvision/web/SocketHandler.java index a79ea3d37..56f65da80 100644 --- a/Main/src/main/java/com/chameleonvision/web/SocketHandler.java +++ b/Main/src/main/java/com/chameleonvision/web/SocketHandler.java @@ -138,7 +138,7 @@ public class SocketHandler { default: { // TODO handle not setting binary stuff on driver mode - if(currentProcess.getIsDriverMode()) break; + if(currentProcess.pipelineManager.getDriverMode()) break; setField(currentPipeline.settings, entry.getKey(), entry.getValue()); switch (entry.getKey()) {