From 3e879cc30f7f3ad11b2e724dcf5c5c9420d5c92d Mon Sep 17 00:00:00 2001 From: Sam Freund Date: Wed, 19 Mar 2025 16:29:59 -0500 Subject: [PATCH] feat: crosshair toggle for driver mode (#1822) closes #1818 ![image of added toggle](https://github.com/user-attachments/assets/9a8a4f88-3ce2-4fcd-b0ac-61f5b96d26e4) Here's what the added toggle looks like, I just put in the input settings. It'll also hide itself when drivermode is off. --- .../src/components/dashboard/tabs/InputTab.vue | 8 ++++++++ .../vision/pipeline/DriverModePipeline.java | 11 +++++++---- .../vision/pipeline/DriverModePipelineSettings.java | 1 + 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/photon-client/src/components/dashboard/tabs/InputTab.vue b/photon-client/src/components/dashboard/tabs/InputTab.vue index 8f0a2340c..90881f05c 100644 --- a/photon-client/src/components/dashboard/tabs/InputTab.vue +++ b/photon-client/src/components/dashboard/tabs/InputTab.vue @@ -170,5 +170,13 @@ const interactiveCols = computed(() => :select-cols="interactiveCols" @input="(args) => handleStreamResolutionChange(args)" /> + diff --git a/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipeline.java b/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipeline.java index 2da0f23a3..856c03579 100644 --- a/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipeline.java +++ b/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipeline.java @@ -68,10 +68,12 @@ public class DriverModePipeline if (!emptyIn) { totalNanos += resizeImagePipe.run(inputMat).nanosElapsed; - var draw2dCrosshairResult = draw2dCrosshairPipe.run(Pair.of(inputMat, List.of())); + if (settings.crosshair) { + var draw2dCrosshairResult = draw2dCrosshairPipe.run(Pair.of(inputMat, List.of())); - // calculate elapsed nanoseconds - totalNanos += draw2dCrosshairResult.nanosElapsed; + // calculate elapsed nanoseconds + totalNanos += draw2dCrosshairResult.nanosElapsed; + } } var fpsResult = calculateFPSPipe.run(null); @@ -92,6 +94,7 @@ public class DriverModePipeline @Override public void release() { - // we never actually need to give resources up since pipelinemanager only makes one of us + // we never actually need to give resources up since pipelinemanager only makes + // one of us } } diff --git a/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipelineSettings.java b/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipelineSettings.java index 70beebf7a..e09b107d5 100644 --- a/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipelineSettings.java +++ b/photon-core/src/main/java/org/photonvision/vision/pipeline/DriverModePipelineSettings.java @@ -24,6 +24,7 @@ import org.photonvision.vision.processes.PipelineManager; @JsonTypeName("DriverModePipelineSettings") public class DriverModePipelineSettings extends CVPipelineSettings { public DoubleCouple offsetPoint = new DoubleCouple(); + public boolean crosshair = true; public DriverModePipelineSettings() { super();