Compare commits

...

2 Commits

Author SHA1 Message Date
0544d04e85 react: switch to percentage 2024-10-25 00:56:48 +02:00
19741c17a8 update README 2024-10-25 00:56:41 +02:00
2 changed files with 21 additions and 19 deletions

View File

@ -1,4 +1,4 @@
Set up on the computer with `wget https://git.navidsassan.ch/navid.sassan/computercraft/-/raw/master/get get`. Set up on the computer with `wget https://git.navidsassan.ch/navid.sassan/computercraft/raw/branch/master/get get`. Make sure to enable the http API in the computercraft config file on the server.
Then use `get README.md` for example, to download the `README.md`. Then use `get README.md` for example, to download the `README.md`.

38
react
View File

@ -3,18 +3,6 @@
--import utils for lamp rednet stuffs --import utils for lamp rednet stuffs
require("git-scripts.utils") require("git-scripts.utils")
--regulate in between these in normal operation
NORMAL_THRESHOLD_U = 8000000
NORMAL_THRESHOLD_L = 7000000
--control rod pos for normal operation
NORMAL_ROD_POS = 81
--proportionally increase production when energy
--storage drops below this level
--(by removing control rods)
HIGH_THRESHOLD = 6000000
local active = false local active = false
local ctrl_rods = NORMAL_ROD_POS local ctrl_rods = NORMAL_ROD_POS
@ -28,7 +16,21 @@ if modemSide then --not nil
lampID = rednet.lookup("reactLamp", "reactLamp") lampID = rednet.lookup("reactLamp", "reactLamp")
end end
--regulate in between these in normal operation
NORMAL_THRESHOLD_U = 0.8 * reactor.getEnergyCapacity()
NORMAL_THRESHOLD_L = 0.7 * reactor.getEnergyCapacity()
--control rod pos for normal operation
NORMAL_ROD_POS = 81
--proportionally increase production when energy
--storage drops below this level
--(by removing control rods)
HIGH_THRESHOLD = 0.6 * reactor.getEnergyCapacity()
print("Monitoring reactor...") print("Monitoring reactor...")
print("NORMAL_THRESHOLD_U: " .. NORMAL_THRESHOLD_U)
print("NORMAL_THRESHOLD_L: " .. NORMAL_THRESHOLD_L)
print("HIGH_THRESHOLD: " .. HIGH_THRESHOLD)
while (true) while (true)
do do
@ -42,7 +44,7 @@ do
mon.write(energy) mon.write(energy)
mon.write("RF") mon.write("RF")
if (energy > NORMAL_THRESHOLD_U) if (energy > NORMAL_THRESHOLD_U)
then then
active = false active = false
@ -57,10 +59,10 @@ do
end end
end end
end end
--actually set state --actually set state
mon.setCursorPos(1, 2) mon.setCursorPos(1, 2)
if (active) if (active)
then then
reactor.setActive(true) reactor.setActive(true)
mon.write("On") mon.write("On")
@ -68,7 +70,7 @@ do
reactor.setActive(false) reactor.setActive(false)
mon.write("Off") mon.write("Off")
end end
mon.setCursorPos(1, 4) mon.setCursorPos(1, 4)
reactor.setAllControlRodLevels(ctrl_rods) reactor.setAllControlRodLevels(ctrl_rods)
mon.write(ctrl_rods) mon.write(ctrl_rods)
@ -79,12 +81,12 @@ do
mon.setCursorPos(1, 3) mon.setCursorPos(1, 3)
mon.write(math.floor(reactor.getEnergyProducedLastTick())) mon.write(math.floor(reactor.getEnergyProducedLastTick()))
mon.write("RF/t") mon.write("RF/t")
--also check if fuel has run out --also check if fuel has run out
--(if the fuel inside the reactor isn't --(if the fuel inside the reactor isn't
--getting refilled anymore) --getting refilled anymore)
local deltaFuel = reactor.getFuelAmountMax() - reactor.getFuelAmount() local deltaFuel = reactor.getFuelAmountMax() - reactor.getFuelAmount()
if (deltaFuel > 2000) --more than 2 buckets (1 for core possibly not being full, another for waste) if (deltaFuel > 2000) --more than 2 buckets (1 for core possibly not being full, another for waste)
then then