Move ports and update from internet
This commit is contained in:
parent
6dcd1cd1b2
commit
637827c6af
|
@ -4,7 +4,7 @@ end)
|
||||||
|
|
||||||
if not wlan then error("no wireless interface") end
|
if not wlan then error("no wireless interface") end
|
||||||
|
|
||||||
wlan.open(9999)
|
wlan.open(9998)
|
||||||
|
|
||||||
local respondedTurtles = {}
|
local respondedTurtles = {}
|
||||||
local keyStates = {}
|
local keyStates = {}
|
||||||
|
@ -17,19 +17,19 @@ function()
|
||||||
elseif ev == "key_up" then keyStates[keycode] = false
|
elseif ev == "key_up" then keyStates[keycode] = false
|
||||||
end
|
end
|
||||||
|
|
||||||
if not repeating then
|
if ev == "key" and not repeating then
|
||||||
if keycode == keys.up then
|
if keycode == keys.up then
|
||||||
wlan.transmit(9999, 9999, { _ = "move", dir = "fwd", dig = keyStates[keys.leftShift] })
|
wlan.transmit(9999, 9998, { _ = "move", dir = "fwd", dig = keyStates[keys.leftShift] })
|
||||||
elseif keycode == keys.down then
|
elseif keycode == keys.down then
|
||||||
wlan.transmit(9999, 9999, { _ = "move", dir = "bck" })
|
wlan.transmit(9999, 9998, { _ = "move", dir = "bck" })
|
||||||
elseif keycode == keys.left then
|
elseif keycode == keys.left then
|
||||||
wlan.transmit(9999, 9999, { _ = "move", dir = "rotl" })
|
wlan.transmit(9999, 9998, { _ = "move", dir = "rotl" })
|
||||||
elseif keycode == keys.right then
|
elseif keycode == keys.right then
|
||||||
wlan.transmit(9999, 9999, { _ = "move", dir = "rotr" })
|
wlan.transmit(9999, 9998, { _ = "move", dir = "rotr" })
|
||||||
elseif keycode == keys.pageUp then
|
elseif keycode == keys.pageUp then
|
||||||
wlan.transmit(9999, 9999, { _ = "move", dir = "up", dig = keyStates[keys.leftShift] })
|
wlan.transmit(9999, 9998, { _ = "move", dir = "up", dig = keyStates[keys.leftShift] })
|
||||||
elseif keycode == keys.pageDown then
|
elseif keycode == keys.pageDown then
|
||||||
wlan.transmit(9999, 9999, { _ = "move", dir = "down", dig = keyStates[keys.leftShift] })
|
wlan.transmit(9999, 9998, { _ = "move", dir = "down", dig = keyStates[keys.leftShift] })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -38,7 +38,7 @@ end,
|
||||||
function()
|
function()
|
||||||
while true do
|
while true do
|
||||||
local _, side, chan, rchan, data, dist = os.pullEvent("modem_message")
|
local _, side, chan, rchan, data, dist = os.pullEvent("modem_message")
|
||||||
if chan == 9999 and rchan == chan then
|
if chan == 9998 and rchan == 9999 then
|
||||||
if data._ == "WakeUp" then
|
if data._ == "WakeUp" then
|
||||||
respondedTurtles[data.from] = { true, "Hello!" }
|
respondedTurtles[data.from] = { true, "Hello!" }
|
||||||
elseif data._ == "Ack" then
|
elseif data._ == "Ack" then
|
||||||
|
|
|
@ -8,7 +8,7 @@ wlan.open(9999)
|
||||||
|
|
||||||
local ID = os.getComputerID()
|
local ID = os.getComputerID()
|
||||||
|
|
||||||
wlan.transmit(9999, 9999, {
|
wlan.transmit(9998, 9999, {
|
||||||
["_"] = "WakeUp",
|
["_"] = "WakeUp",
|
||||||
["from"] = ID
|
["from"] = ID
|
||||||
})
|
})
|
||||||
|
@ -16,7 +16,7 @@ wlan.transmit(9999, 9999, {
|
||||||
parallel.waitForAll(function()
|
parallel.waitForAll(function()
|
||||||
while true do
|
while true do
|
||||||
local _, side, chan, rchan, data, dist = os.pullEvent("modem_message")
|
local _, side, chan, rchan, data, dist = os.pullEvent("modem_message")
|
||||||
if chan == 9999 and chan == rchan then
|
if chan == 9999 and rchan == 9998 then
|
||||||
if data._ == "move" then
|
if data._ == "move" then
|
||||||
wlan.transmit(rchan, chan, { ["_"] = "Ack", ["from"] = ID })
|
wlan.transmit(rchan, chan, { ["_"] = "Ack", ["from"] = ID })
|
||||||
if data.tgt == nil or data.tgt == ID then
|
if data.tgt == nil or data.tgt == ID then
|
||||||
|
|
|
@ -3,6 +3,8 @@ if not turtle then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local base_path = "https://git.salushnes.solutions/hkc/cc-stuff/raw/branch/master/turtos"
|
||||||
|
|
||||||
_G._TOS_VER = "N/A"
|
_G._TOS_VER = "N/A"
|
||||||
local tos_ver_fp = io.open("/.tos-ver", "r")
|
local tos_ver_fp = io.open("/.tos-ver", "r")
|
||||||
if tos_ver_fp then
|
if tos_ver_fp then
|
||||||
|
@ -10,12 +12,28 @@ if tos_ver_fp then
|
||||||
tos_ver_fp:close()
|
tos_ver_fp:close()
|
||||||
end
|
end
|
||||||
|
|
||||||
if fs.exists("/disk/update.json") then
|
local function getFile(url, path)
|
||||||
local info_fp = io.open("/disk/update.json", "r")
|
local r, err = http.get(url)
|
||||||
local info = textutils.unserializeJSON(info_fp:read("a"))
|
io.write("GET " .. path .. " ... ")
|
||||||
info_fp:close()
|
if not r then
|
||||||
|
print("FAIL: " .. err)
|
||||||
|
return false, err
|
||||||
|
end
|
||||||
|
io.open(path, "w"):write(r.readAll()):close()
|
||||||
|
io.write("OK\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local req, err = http.get(base_path .. "/update.json")
|
||||||
|
if not req then
|
||||||
|
printError("Failed to get update info:", err)
|
||||||
|
else
|
||||||
|
local info = textutils.unserializeJSON(req.readAll())
|
||||||
|
req.close()
|
||||||
|
|
||||||
print("OTP version: " .. info.ver)
|
print("OTP version: " .. info.ver)
|
||||||
print("H/W version: " .. _TOS_VER)
|
print("H/W version: " .. _TOS_VER)
|
||||||
|
|
||||||
if info.ver == _TOS_VER then
|
if info.ver == _TOS_VER then
|
||||||
print("Running on latest firmware")
|
print("Running on latest firmware")
|
||||||
else
|
else
|
||||||
|
@ -27,8 +45,7 @@ if fs.exists("/disk/update.json") then
|
||||||
term.write(" [DEL] ...")
|
term.write(" [DEL] ...")
|
||||||
fs.delete(file.dst)
|
fs.delete(file.dst)
|
||||||
end
|
end
|
||||||
fs.copy("/disk" .. file.src, file.dst)
|
getFile(base_path .. file.src, file.dst)
|
||||||
print(" OK, copied from", file.src)
|
|
||||||
end
|
end
|
||||||
print("Writing new version info")
|
print("Writing new version info")
|
||||||
io.open("/.tos-ver", "w"):write(info.ver):close()
|
io.open("/.tos-ver", "w"):write(info.ver):close()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"ver": "0.0.2",
|
"ver": "0.0.3",
|
||||||
"files": [
|
"files": [
|
||||||
{ "src": "/startup.lua", "dst": "/startup.lua" },
|
{ "src": "/startup.lua", "dst": "/startup.lua" },
|
||||||
{ "src": "/main.lua", "dst": "/main.lua" }
|
{ "src": "/main.lua", "dst": "/main.lua" }
|
||||||
|
|
Loading…
Reference in New Issue