opus/sys/autorun/gps.lua

43 lines
851 B
Lua
Raw Normal View History

2016-12-11 19:24:52 +00:00
if turtle and device.wireless_modem then
local s, m = turtle.run(function()
local homePt = turtle.loadLocation('gpsHome')
if homePt then
requireInjector(getfenv(1))
2016-12-11 19:24:52 +00:00
local Config = require('config')
local config = {
destructive = false,
}
Config.load('gps', config)
2017-05-24 23:48:48 +00:00
local s = turtle.enableGPS(2)
if not s then
s = turtle.enableGPS(2)
2016-12-11 19:24:52 +00:00
end
2017-05-24 23:48:48 +00:00
if not s and config.destructive then
2016-12-11 19:24:52 +00:00
turtle.setPolicy('turtleSafe')
2017-05-24 23:48:48 +00:00
s = turtle.enableGPS(2)
2016-12-11 19:24:52 +00:00
end
2017-05-24 23:48:48 +00:00
if not s then
2016-12-11 19:24:52 +00:00
error('Unable to get GPS position')
end
if config.destructive then
turtle.setPolicy('turtleSafe')
end
if not turtle.pathfind(homePt) then
error('Failed to return home')
end
end
end)
if not s and m then
error(m)
end
end