This commit is contained in:
Matthew Wilbern 2024-04-29 11:58:44 +02:00 committed by GitHub
commit b1079159a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 3 deletions

View File

@ -148,8 +148,8 @@ function locate(_nTimeout, _bDebug)
local sSide, sChannel, sReplyChannel, tMessage, nDistance = p1, p2, p3, p4, p5
if sSide == sModemSide and sChannel == CHANNEL_GPS and sReplyChannel == CHANNEL_GPS and nDistance then
-- Received the correct message from the correct modem: use it to determine position
if type(tMessage) == "table" and #tMessage == 3 and tonumber(tMessage[1]) and tonumber(tMessage[2]) and tonumber(tMessage[3]) then
local tFix = { vPosition = vector.new(tMessage[1], tMessage[2], tMessage[3]), nDistance = nDistance }
if type(tMessage) == "table" and (#tMessage == 3 or #tMessage == 4 and tonumber(tMessage[4])) and tonumber(tMessage[1]) and tonumber(tMessage[2]) and tonumber(tMessage[3]) then
local tFix = { vPosition = vector.new(tMessage[1], tMessage[2], tMessage[3]), nDistance = tonumber(tMessage[4]) or nDistance }
if _bDebug then
print(tFix.nDistance .. " metres from " .. tostring(tFix.vPosition))
end

View File

@ -79,7 +79,7 @@ elseif sCommand == "host" then
local sSide, sChannel, sReplyChannel, sMessage, nDistance = p1, p2, p3, p4, p5
if sSide == sModemSide and sChannel == gps.CHANNEL_GPS and sMessage == "PING" and nDistance then
-- We received a ping message on the GPS channel, send a response
modem.transmit(sReplyChannel, gps.CHANNEL_GPS, { x, y, z })
modem.transmit(sReplyChannel, gps.CHANNEL_GPS, { x, y, z, nDistance })
-- Print the number of requests handled
nServed = nServed + 1