Files
nova-corp/main.lua
2025-06-14 13:11:32 -04:00

62 lines
1.8 KiB
Lua

local kernel = require("kernel")
local tempDriver = kernel.addDriver("temperature_driver")
local coolantDriver = kernel.addDriver("coolant_driver")
local reactor = peripheral.find("fissionReactorLogicAdapter")
local monitor = peripheral.find("monitor")
local function runMonitors()
while true do
tempDriver.watch(reactor, monitor)
coolantDriver.watch(reactor, monitor)
end
end
local function runDisplay()
while true do
monitor.setCursorPos(1,1)
local data = {
{ Label = "Temperature", value = tempDriver.report(reactor)},
{ Label = "Coolant", value = coolantDriver.report(reactor) },
{ Label = "Humidity", value = "45%" }
}
for i, item in ipairs(data) do
monitor.clearLine();
monitor.write(item.Label .. ": " .. item.value)
monitor.setCursorPos(1, i + 1)
end
sleep(0.25) -- Update every quarter second
end
end
local function run()
parallel.waitForAll(runMonitors, runDisplay)
end
return { run = run}
-- local monitor = peripheral.wrap("top")
-- local modem = peripheral.wrap("back")
-- print(monitor)
-- monitor.clear()
-- monitor.setTextScale(1)
-- local maxWidth, maxHeight = monitor.getSize()
-- local y = 1
-- monitor.setCursorPos(1, y)
-- local init = "Initalizing stream...."
-- monitor.write(init)
-- print(init)
-- y = y+1
-- modem.open(80)
-- while true do
-- local _, _, _, _, message = os.pullEvent("modem_message")
-- monitor.setCursorPos(1, y)
-- print(message)
-- monitor.write(message)
-- y=y+1
-- if(y > maxHeight) then
-- y=maxHeight
-- monitor.scroll(1)
-- end
-- end