From e326eee89a763da76f5b719cb18e9fa2f7cc6486 Mon Sep 17 00:00:00 2001 From: Blizzard Finnegan Date: Wed, 15 Mar 2023 18:17:20 -0400 Subject: [PATCH] Finish removing infinite loop --- src/main/java/org/baxter/disco/ocr/MovementFacade.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/baxter/disco/ocr/MovementFacade.java b/src/main/java/org/baxter/disco/ocr/MovementFacade.java index 263ab24..0543fc7 100644 --- a/src/main/java/org/baxter/disco/ocr/MovementFacade.java +++ b/src/main/java/org/baxter/disco/ocr/MovementFacade.java @@ -303,7 +303,7 @@ public class MovementFacade int upTravelCounter = 0; motorDirectionDown(); motorOn(); - for(downTravelCounter = 0; downTravelCounter < Integer.MAX_VALUE; downTravelCounter++) + for(downTravelCounter = 0; downTravelCounter < TIMEOUT; downTravelCounter++) { try{ Thread.sleep(POLL_WAIT); } catch(Exception e){ ErrorLogging.logError(e); } if(lowerLimit.isOn()) @@ -314,12 +314,13 @@ public class MovementFacade } motorOff(); if(lowerLimit.isOff()) ErrorLogging.logError("DEBUG: False positive on findDistance down!"); + if(downTravelCounter == TIMEOUT) throw new Exception("Failed GPIO initialisation!"); ErrorLogging.logError("DEBUG: Down travel count: " + downTravelCounter); motorDirectionUp(); motorOn(); - for(upTravelCounter = 0; upTravelCounter < Integer.MAX_VALUE; upTravelCounter++) + for(upTravelCounter = 0; upTravelCounter < TIMEOUT; upTravelCounter++) { try{ Thread.sleep(POLL_WAIT); } catch(Exception e){ ErrorLogging.logError(e); } if(upperLimit.isOn()) @@ -330,6 +331,7 @@ public class MovementFacade } motorOff(); if(upperLimit.isOff()) ErrorLogging.logError("DEBUG: False positive on findDistance up!"); + if(upTravelCounter == TIMEOUT) throw new Exception("Failed GPIO initialisation!"); ErrorLogging.logError("DEBUG: Up travel count: " + downTravelCounter);