From a2d43d0cfb5250f631ee0360d92fc019c3ff9a84 Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Mon, 16 Feb 2026 00:34:41 -0500 Subject: [PATCH] fix: Improve GPS position retrieval with error handling and retry logic --- turtle.lua | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/turtle.lua b/turtle.lua index 8213095..cea6532 100644 --- a/turtle.lua +++ b/turtle.lua @@ -555,12 +555,35 @@ end -- Main loop print("Initializing...") -updatePosition() +print("Checking for wireless modem...") +if not modem then + print("ERROR: Wireless modem not found!") +else + print("Wireless modem: OK") +end + +print("Attempting to get GPS position (this may take 10 seconds)...") +local gpsAttempts = 0 +local maxGpsAttempts = 3 + +while not state.position and gpsAttempts < maxGpsAttempts do + gpsAttempts = gpsAttempts + 1 + print("GPS attempt " .. gpsAttempts .. " of " .. maxGpsAttempts .. "...") + updatePosition() + if not state.position then + print("Waiting 2 seconds before retry...") + sleep(2) + end +end + updateFuel() if not state.position then - print("WARNING: No GPS signal!") - print("Limited functionality available") + print("WARNING: No GPS signal after " .. maxGpsAttempts .. " attempts!") + print("Make sure GPS hosts are set up correctly.") + print("Limited functionality available - position tracking disabled.") +else + print("GPS: OK - Position acquired!") end print("Ready! Waiting for commands...")