View difference between Paste ID: 9qYkD6A8 and ixCryhur
SHOW: | | - or go back to the newest paste.
1
local s = "back"
2-
local m = peripheral.find "modem"
2+
local fr = peripheral.find "nc_fusion_reactor"
3-
local name = os.getComputerLabel()
3+
local name = ("%s_%s_%d"):format(fr.getFirstFusionFuel(), fr.getSecondFusionFuel(), os.getComputerID())
4-
local o = peripheral.wrap(s)
4+
local m = peripheral.find("modem", function(_, o) return o.isWireless() end)
5
6
local function send_metric(...)
7
	m.transmit(3054, 3054, {...})
8
end
9
10
local NC_HEAT_CONSTANT = 1218.76
11-
    local l = o.getEnergyStored() / o.getEnergyCapacity()
11+
12-
	send_metric("reactor_energy/" .. name, "energy stored by reactor", "set", l)
12+
13-
    print(l)
13+
    local l = fr.getEnergyStored() / fr.getMaxEnergyStored()
14-
    rs.setOutput(s, l < 0.8)
14+
	local target_temp = fr.getFusionComboHeatVariable() * NC_HEAT_CONSTANT * 1000
15-
    sleep(0.5)
15+
	local temp = fr.getTemperature()
16
	send_metric("reactor_energy/" .. name, "energy stored", "set", l)
17
	send_metric("fusion_efficiency/" .. name, "efficiency of fusion reactor 0 to 100", "set", fr.getEfficiency())
18
	send_metric("fusion_temp/" .. name, "temperature of fusion reactor, relative to optimum", "set", temp / target_temp)
19
    print(temp / target_temp, l)
20
	sleep(1)
21
end