added more scripts
This commit is contained in:
parent
c4c7e9046c
commit
3eedbc3b62
84
react.lua
Normal file
84
react.lua
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
--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 ctrl_rods = NORMAL_ROD_POS
|
||||||
|
|
||||||
|
local reactor = peripheral.wrap("back")
|
||||||
|
local mon = peripheral.wrap("right")
|
||||||
|
|
||||||
|
print("Monitoring reactor...")
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
do
|
||||||
|
--setup monitor
|
||||||
|
mon.clear()
|
||||||
|
|
||||||
|
--get reactor energy
|
||||||
|
local energy = reactor.getEnergyStored()
|
||||||
|
--display
|
||||||
|
mon.setCursorPos(1, 1) --why is there no print() ???
|
||||||
|
mon.write(energy)
|
||||||
|
mon.write("RF")
|
||||||
|
|
||||||
|
|
||||||
|
if (energy > NORMAL_THRESHOLD_U)
|
||||||
|
then
|
||||||
|
active = false
|
||||||
|
else
|
||||||
|
if (energy < NORMAL_THRESHOLD_L)
|
||||||
|
then
|
||||||
|
active = true
|
||||||
|
if (energy < HIGH_THRESHOLD)
|
||||||
|
then
|
||||||
|
--proportional control
|
||||||
|
ctrl_rods = NORMAL_ROD_POS * (energy / HIGH_THRESHOLD)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--actually set state
|
||||||
|
mon.setCursorPos(1, 2)
|
||||||
|
if (active)
|
||||||
|
then
|
||||||
|
reactor.setActive(true)
|
||||||
|
mon.write("On")
|
||||||
|
else
|
||||||
|
reactor.setActive(false)
|
||||||
|
mon.write("Off")
|
||||||
|
end
|
||||||
|
|
||||||
|
mon.setCursorPos(1, 4)
|
||||||
|
reactor.setAllControlRodLevels(ctrl_rods)
|
||||||
|
mon.write(ctrl_rods)
|
||||||
|
mon.write("%")
|
||||||
|
|
||||||
|
|
||||||
|
--display power produced
|
||||||
|
mon.setCursorPos(1, 3)
|
||||||
|
mon.write(math.floor(reactor.getEnergyProducedLastTick()))
|
||||||
|
mon.write("RF/t")
|
||||||
|
|
||||||
|
|
||||||
|
--also check if fuel has run out
|
||||||
|
--(if the fuel inside the reactor isn't
|
||||||
|
--getting refilled anymore)
|
||||||
|
|
||||||
|
local deltaFuel = reactor.getFuelAmountMax() - reactor.getFuelAmount()
|
||||||
|
if (deltaFuel > 1000) --more than 1 bucket
|
||||||
|
then
|
||||||
|
mon.setCursorPos(1, 5)
|
||||||
|
mon.write("REFUEL!")
|
||||||
|
end
|
||||||
|
|
||||||
|
sleep(1)
|
||||||
|
end
|
22
recv_file.lua
Normal file
22
recv_file.lua
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
local sides = peripheral.getNames()
|
||||||
|
for i = 1, #sides do
|
||||||
|
if peripheral.getType(sides[i]) == "modem" then
|
||||||
|
modemSide = sides[i]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
rednet.open(modemSide)
|
||||||
|
|
||||||
|
id, msg, dist = rednet.receive()
|
||||||
|
print("Received data:")
|
||||||
|
term.write("Filename: ")
|
||||||
|
name = tostring(read())
|
||||||
|
|
||||||
|
print(msg)
|
||||||
|
content = textutils.unserialize(msg)
|
||||||
|
local file = fs.open(name, "w")
|
||||||
|
file.write(content)
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
rednet.close(modemSide)
|
33
send_file.lua
Normal file
33
send_file.lua
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
local sides = peripheral.getNames()
|
||||||
|
for i = 1, #sides do
|
||||||
|
if peripheral.getType(sides[i]) == "modem" then
|
||||||
|
modemSide = sides[i]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
rednet.open(modemSide)
|
||||||
|
|
||||||
|
term.write("Path: ")
|
||||||
|
path = tostring(read())
|
||||||
|
|
||||||
|
local file = fs.open(path, "r")
|
||||||
|
content = file.readAll()
|
||||||
|
data = textutils.serialize(content)
|
||||||
|
|
||||||
|
term.write("Receiver id: ")
|
||||||
|
id = tonumber(read())
|
||||||
|
|
||||||
|
print("Initialize receiver please!")
|
||||||
|
print("Press 's' to send")
|
||||||
|
|
||||||
|
local event, c = os.pullEvent("char")
|
||||||
|
if c == "s" then
|
||||||
|
print("Sending...")
|
||||||
|
print(id)
|
||||||
|
rednet.send(id, data)
|
||||||
|
else
|
||||||
|
print("Aborted.")
|
||||||
|
end
|
||||||
|
|
||||||
|
rednet.close(modemSide)
|
Loading…
x
Reference in New Issue
Block a user