This commit is contained in:
2025-06-14 13:41:19 -04:00
parent 51cda50b3c
commit 83030e6869
3 changed files with 68 additions and 23 deletions

View File

@@ -1,15 +1,43 @@
local function report(reactor) local maxValue = 100
local minValue = 0
local function configureReport(monitor)
local x,y = term.getCursorPos()
monitor.setCursorPos(x, y + 1)
monitor.clearLine()
end
local function getValue(reactor)
return (reactor.getCoolantFilledPercentage() or 0) * 100
end
local function watch(reactor, monitor)
local coolantLevel = getValue(reactor)
print("Coolant: " .. coolantLevel)
sleep(1)
end
local function report(reactor, monitor)
if reactor then if reactor then
return (reactor.getCoolantFilledPercentage() or 0) * 100 local value = getValue(reactor)
local color = color(reactor)
configureReport(monitor)
monitor.setBackgroundColor(color)
monitor.write("Coolant: " .. value .. "%")
else else
return "No reactor found" return "No reactor found"
end end
end end
local function watch(reactor, monitor) local function configureReport(monitor)
local coolantLevel = local x,y = monitor.getCursorPos()
print("Coolant: " .. report(reactor)) monitor.setCursorPos(x, y + 1)
sleep(1) monitor.clearLine()
end end
return { report = report, watch = watch } local function color(reactor)
local coolantLevel = getValue(reactor)
return colors.black
end
return { report = report, watch = watch}

View File

@@ -1,8 +1,7 @@
local kernel = require("kernel") local kernel = require("kernel")
local tempDriver = kernel.addDriver("temperature_driver") local tempDriver = kernel.addDriver("temperature_driver")
local coolantDriver = kernel.addDriver("coolant_driver") local coolantDriver = kernel.addDriver("coolant_driver")
local reactor = peripheral.find("fissionReactorLogicAdapter")
local monitor = peripheral.find("monitor")
local function runMonitors() local function runMonitors()
while true do while true do
@@ -14,17 +13,15 @@ end
local function runDisplay() local function runDisplay()
while true do while true do
monitor.setCursorPos(1,1) monitor.setCursorPos(1,1)
local data = { local drivers = {
{ Label = "Temperature", value = tempDriver.report(reactor)}, { Label = "Temperature", driver = tempDriver },
{ Label = "Coolant", value = coolantDriver.report(reactor) }, { Label = "Coolant", driver = coolantDriver },
{ Label = "Humidity", value = "45%" }
} }
for i, item in ipairs(data) do for _, item in ipairs(drivers) do
monitor.clearLine(); item.driver.report(reactor, monitor)
monitor.write(item.Label .. ": " .. item.value)
monitor.setCursorPos(1, i + 1)
end end
sleep(0.25) -- Update every quarter second sleep(0.25) -- Update every quarter second
end end
end end

View File

@@ -1,14 +1,34 @@
local function report(reactor)
local function getValue(reactor)
return reactor.getTemperature() or 0
end
local function watch(reactor, monitor)
print("Temperature: " .. getValue(reactor))
sleep(1)
end
local function color(reactor)
local temperature = getValue(reactor)
return colors.black
end
local function report(reactor, monitor)
if reactor then if reactor then
return reactor.getTemperature() local value = getValue(reactor)
local color = color(reactor)
configureReport(monitor)
monitor.setBackgroundColor(color)
monitor.write("Coolant: " .. value .. "%")
else else
return "No reactor found" return "No reactor found"
end end
end end
local function watch(reactor, monitor) local function configureReport(monitor)
print("Temperature: " .. report(reactor)) local x,y = monitor.getCursorPos()
sleep(1) monitor.setCursorPos(x, y + 1)
monitor.clearLine()
end end
return { report = report, watch = watch } return { report = report, watch = watch}