This commit is contained in:
Laurie Fisher 2025-06-27 13:40:42 +01:00
parent f0ad867a68
commit cf2eda8553
Signed by: PinkEyedOrphan
GPG Key ID: 7F827B68147AEE76

36
monitor_turtles.lua Normal file
View File

@ -0,0 +1,36 @@
local monitor = peripheral.find("monitor")
local turtleStates = {}
-- Set monitor display
monitor.setTextScale(0.5)
monitor.clear()
monitor.setCursorPos(1,1)
-- Pretty print function
local function draw()
monitor.clear()
monitor.setCursorPos(1,1)
monitor.write("Turtle Monitor")
local row = 2
for id, data in pairs(turtleStates) do
monitor.setCursorPos(1, row)
local age = os.clock() - data.time
local status = (age > 10) and "offline" or data.status
monitor.write(string.format("%s (ID %d): %s", data.label, id, status))
row = row + 1
end
end
-- Main loop
rednet.open("back") -- or side where modem is
while true do
local msg, proto
local id, message, protocol = rednet.receive("turtle_status", 2)
if id then
local ok, data = pcall(textutils.unserialize, message)
if ok and data and data.id then
turtleStates[data.id] = data
end
end
draw()
end