diff --git a/Main/src/main/java/com/chameleonvision/Main.java b/Main/src/main/java/com/chameleonvision/Main.java index 30de2923d..5f1ba3330 100644 --- a/Main/src/main/java/com/chameleonvision/Main.java +++ b/Main/src/main/java/com/chameleonvision/Main.java @@ -14,7 +14,7 @@ public class Main { new Thread(new VisionProcess(camSet.getValue())).start(); } NetworkTableInstance.getDefault().startClientTeam(SettingsManager.GeneralSettings.team_number); - //NetworkTableInstance.getDefault().startClient("localhost"); +// NetworkTableInstance.getDefault().startClient("localhost"); Server.main(8888); } else { System.err.println("No cameras connected!"); diff --git a/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java b/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java index 27c44b884..6e2af5d8f 100644 --- a/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java +++ b/Main/src/main/java/com/chameleonvision/vision/camera/Camera.java @@ -140,7 +140,7 @@ public class Camera { return currentPipelineIndex; } - void setCurrentPipelineIndex(int pipelineNumber) { + public void setCurrentPipelineIndex(int pipelineNumber) { if (pipelineNumber - 1 > pipelines.size()) return; currentPipelineIndex = pipelineNumber; } diff --git a/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java b/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java index ec09f6afd..0d1ef3ec8 100644 --- a/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java +++ b/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java @@ -3,7 +3,9 @@ package com.chameleonvision.vision.process; import com.chameleonvision.settings.SettingsManager; import com.chameleonvision.vision.Pipeline; import com.chameleonvision.vision.camera.Camera; +import com.chameleonvision.web.Server; import com.chameleonvision.web.ServerHandler; +import edu.wpi.cscore.VideoException; import edu.wpi.first.networktables.*; import org.opencv.core.*; import org.opencv.imgproc.Imgproc; @@ -77,12 +79,18 @@ public class VisionProcess implements Runnable { if (camera.getPipelines().containsKey(ntPipelineIndex)) { // camera.setEntryNotification.value.getString()); var pipeline = camera.getCurrentPipeline(); - - camera.setExposure(pipeline.exposure); + camera.setCurrentPipelineIndex(ntPipelineIndex); + try{ + camera.setExposure(pipeline.exposure); + } + catch (VideoException e){ + System.err.println(e.toString()); + } camera.setBrightness(pipeline.brightness); HashMap pipeChange = new HashMap<>(); pipeChange.put("curr_pipeline", ntPipelineIndex); ServerHandler.broadcastMessage(pipeChange); + ServerHandler.sendFullSettings(); } else { ntPipelineEntry.setString("pipeline" + camera.getCurrentPipelineIndex()); diff --git a/Main/src/main/java/com/chameleonvision/web/ServerHandler.java b/Main/src/main/java/com/chameleonvision/web/ServerHandler.java index 2516cde7d..453d6d6c7 100644 --- a/Main/src/main/java/com/chameleonvision/web/ServerHandler.java +++ b/Main/src/main/java/com/chameleonvision/web/ServerHandler.java @@ -99,12 +99,13 @@ public class ServerHandler { sendFullSettings(); break; case "curr_pipeline": - String newPipeline = (String) value; + String newPipeline = value.toString(); var pipelineNumber = Integer.parseInt(newPipeline.replace("pipeline", "")); System.out.printf("Changing pipeline to %s\n", newPipeline); CameraManager.setCurrentPipeline(pipelineNumber); // broadcastMessage(allFieldsToMap(CameraManager.getCurrentPipeline())); broadcastMessage(allFieldsToMap(CameraManager.getCurrentPipeline())); + break; case "resolution": int newVideoMode = (int) value;