From 28203cac8b60429ca32e73163c320a0e79457694 Mon Sep 17 00:00:00 2001 From: itzmarkoni Date: Sat, 14 Jun 2025 14:16:32 -0400 Subject: [PATCH] added status driver --- main.lua | 3 +++ status_driver.lua | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 status_driver.lua diff --git a/main.lua b/main.lua index eb89022..b2205ec 100644 --- a/main.lua +++ b/main.lua @@ -3,11 +3,13 @@ local reactor = peripheral.find("fissionReactorLogicAdapter") local monitor = peripheral.find("monitor") local tempDriver = kernel.addDriver("temperature_driver") local coolantDriver = kernel.addDriver("coolant_driver") +local statusDriver = kernel.addDriver("status_driver") local function runMonitors() while true do tempDriver.watch(reactor, monitor) coolantDriver.watch(reactor, monitor) + statusDriver.watch(reactor, monitor) end end @@ -18,6 +20,7 @@ local function runDisplay() monitor.setCursorPos(1, 1) local drivers = { + { Label = "Status", driver = statusDriver }, { Label = "Temperature", driver = tempDriver }, { Label = "Coolant", driver = coolantDriver }, } diff --git a/status_driver.lua b/status_driver.lua new file mode 100644 index 0000000..fa4ffcf --- /dev/null +++ b/status_driver.lua @@ -0,0 +1,23 @@ + +local function getValue(reactor) + return reactor.Status() or false +end + +local function color(reactor) + local value = getValue(reactor) + return colors.black +end + +local function watch(reactor, monitor) + print("Status: " .. getValue(reactor)) + sleep(1) +end + +local function report(reactor, monitor) + local value = getValue(reactor) + local color = color(reactor) + monitor.setBackgroundColor(color) + monitor.clearLine() + monitor.write("Reactor Status: " .. tostring(value)) +end +return { report = report, watch = watch } \ No newline at end of file