From 078a791abc089bd44adc8cc49034214a6c8e2f90 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Thu, 2 Feb 2023 10:38:04 -0600 Subject: [PATCH] Theoretically speed up SignalProcessor by assuming that the second round of recognitions is good enough --- .../states/autonomous/SignalProcessor.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/SignalProcessor.java b/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/SignalProcessor.java index 4d2d3d0..4333c0b 100644 --- a/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/SignalProcessor.java +++ b/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/SignalProcessor.java @@ -14,7 +14,7 @@ public class SignalProcessor extends CyberarmState { private final int fallbackPosition; private final boolean stateDisabled; - private List updatedRecognitions; + private List updatedRecognitions = null; public SignalProcessor(Robot robot, String groupName, String actionName) { this.robot = robot; @@ -54,7 +54,15 @@ public class SignalProcessor extends CyberarmState { // the last time that call was made. List recognitions = robot.getTfod().getUpdatedRecognitions(); + boolean secondPass = false; if (recognitions != null) { + /* Since recognitions will be null unless there has been a change and updatedRecognitions + will be null unless we have had a first pass of recognitions we can safely assume that + we are on our second pass. */ + if (updatedRecognitions != null) { + secondPass = true; + } + updatedRecognitions = recognitions; } @@ -76,6 +84,12 @@ public class SignalProcessor extends CyberarmState { } } } + + /* Attempt to speed up this state by assuming that the second pass of recognitions is + good enough and finish the state */ + if (secondPass) { + setHasFinished(true); + } } }