From 3d3061d9a89758568b11429cfbf251e9eaa4e85c Mon Sep 17 00:00:00 2001 From: ori agranat Date: Sat, 23 Nov 2019 18:29:16 +0200 Subject: [PATCH] initial work on saveCameras --- .../classabstraction/VisionManager.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java b/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java index d4f9b0e2f..003cc7dae 100644 --- a/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java +++ b/Main/src/main/java/com/chameleonvision/classabstraction/VisionManager.java @@ -4,6 +4,7 @@ import com.chameleonvision.classabstraction.camera.CameraProcess; import com.chameleonvision.classabstraction.camera.USBCameraProcess; import com.chameleonvision.classabstraction.config.CameraConfig; import com.chameleonvision.classabstraction.config.ConfigManager; +import com.chameleonvision.classabstraction.pipeline.CVPipelineSettings; import com.chameleonvision.settings.Platform; import com.chameleonvision.vision.camera.USBCamera; import edu.wpi.cscore.UsbCamera; @@ -15,7 +16,8 @@ import java.util.*; import java.util.stream.Collectors; public class VisionManager { - private VisionManager() {} + private VisionManager() { + } private static final LinkedHashMap UsbCameraInfosByCameraName = new LinkedHashMap<>(); private static final LinkedList LoadedCameraConfigs = new LinkedList<>(); @@ -54,7 +56,7 @@ public class VisionManager { truePath = Arrays.stream(cameraInfo.otherPaths).filter(x -> x.contains("/dev/v4l/by-path")).findFirst().orElse(cameraInfo.path); } - preliminaryConfigs.add(new CameraConfig(truePath, cameraInfo.name)); + preliminaryConfigs.add(new CameraConfig(truePath, cameraInfo.name)); }); LoadedCameraConfigs.addAll(ConfigManager.initializeCameraConfig(preliminaryConfigs)); @@ -109,4 +111,14 @@ public class VisionManager { public static List getAllCameraNicknames() { return VisionProcessesByIndex.values().stream().map(processNamePair -> processNamePair.getLeft().getCamera().getProperties().getNickname()).collect(Collectors.toList()); } + + public static void saveCameras() { + VisionProcessesByIndex.forEach((index, process) -> { + VisionProcess p = process.getLeft(); + String name = process.getRight(); + List pipelines = p.getPipelines().stream().map(cvPipeline -> cvPipeline.settings).collect(Collectors.toList()); + CVPipelineSettings driverMode = p.getDriverModeSettings(); + //TODO: get camera config and serialize into folder with camera name + }); + } }