View difference between Paste ID: gvNB6iFL and cnYySucD
SHOW: | | - or go back to the newest paste.
1
local reactor
2
local temp
3
local energy
4
local rdata
5
6
function refreshdata()
7
  local datarec = {}
8
  datarec.connected = reactor.getConnected()
9
  datarec.active = reactor.getActive()
10
  datarec.getnumrods = reactor.getNumberOfControlRods()
11
  datarec.energy = reactor.getEnergyStored()
12
  datarec.fueltemp = reactor.getFuelTemperature()
13
  datarec.casetemp = reactor.getCasingTemperature()
14
  datarec.fuelamt = reactor.getFuelAmount()
15
  datarec.wasteamt = reactor.getWasteAmount()
16
  datarec.capacity = reactor.getFuelAmountMax()
17
  datarec.rodname = reactor.getControlRodName(0)
18
  datarec.rodlevel = reactor.getControlRodLevel(0)
19
  return datarec
20
end
21
22-
reactor = peripheral.wrap("back")
22+
function data2str(d)
23
  
24
  local result = string.format("%d; %d; %d; %d; %d; %d; %d; %d",
25
                               d.getnumrods, d.energy, d.fueltemp,
26
                               d.casetemp, d.fuelamt, d.wasteamt, d.capacity,
27
                               d.rodlevel)
28
  return result
29
end
30
31
reactor = peripheral.wrap("right")
32
-- temp = reactor.getFuelTemperature()
33
-- energy = reactor.getEnergyStored()
34
-- term.write(" temp ")
35
-- term.write(temp)
36
-- term.write(" energy" )
37
-- term.write(energy)
38
term.clear()
39
rednet.open("left")
40
rdata = refreshdata()
41
rednet.broadcast(data2str(rdata))
42
43
while rdata.connected and rdata.active do
44-
  if rdata.energy < 9000000 and rdata.rodlevel > 0 then
44+
45
  rednet.broadcast(data2str(rdata))
46-
    reactor.setControlRodLevel(0,0)
46+
47
  term.setCursorPos(1,1)
48
  term.write(" energy ")
49-
  else if rdata.energy > 9000000 and rdata.rodlevel == 0 then
49+
50
  term.setCursorPos(1,2)
51-
     reactor.setControlRodLevel(0,100)
51+
52
  term.write(rdata.rodlevel)
53
  term.setCursorPos(5,5)
54
--  term.write(i)
55
56
  if rdata.energy < 3000000 and rdata.rodlevel > 0 then
57
    for rod = 0, rdata.getnumrods-1 do
58
      reactor.setControlRodLevel(rod,0)
59
    end
60
    term.setCursorPos(6,6)
61
    term.write("pullrod")
62
  else if rdata.energy > 7000000 and rdata.rodlevel == 0 then
63
     for rod = 0, rdata.getnumrods-1 do
64
       reactor.setControlRodLevel(rod,100)
65
     end
66
     term.setCursorPos(7,7)
67
     term.write("pushrod")
68
  else
69
     term.setCursorPos(6,6)
70
     term.write("f     f")
71
     term.setCursorPos(7,7)
72
     term.write("f     f")
73
  end
74
  os.sleep(2)
75
end
76
end
77
term.setCursorPos(0,8)
78
term.write("shutdown")
79
term.setCursorPos(0,9)