Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local r = peripheral.wrap("back")
- local m = peripheral.wrap("top")
- local tSetPoint = 300
- local sRodLevel = 60
- m.clear()
- function sOnline()
- m.setCursorPos(1,1)
- if r.getConnected then
- m.setTextColor(colors.green)
- m.write("online")
- else
- m.setTextColor(colors.red)
- m.write("offline")
- end
- end
- function sActive()
- m.setCursorPos(11,1)
- if r.getActive then
- m.setTextColor(colors.green)
- m.write("active")
- else
- m.setTextColor(colors.red)
- m.write("inactive")
- end
- end
- function sFuelTemp()
- m.setCursorPos(1,3)
- m.setTextColor(colors.white)
- m.write("Fuel Temp: ")
- m.setCursorPos(12,3)
- m.setTextColor(colors.yellow)
- m.write(math.floor(r.getFuelTemperature()))
- end
- function setRods(level)
- level = math.floor(level)
- r.setControlRodLevel(0,level)
- r.setControlRodLevel(1,level)
- r.setControlRodLevel(2,level)
- r.setControlRodLevel(3,level)
- r.setControlRodLevel(4,level)
- m.setCursorPos(1,4)
- m.setTextColor(colors.white)
- m.write("Rods: ")
- m.setCursorPos(12,4)
- m.setTextColor(colors.yellow)
- m.write(level.."%")
- end
- function controlLoop()
- drift = tSetPoint - r.getFuelTemperature()
- sRodLevel = sRodLevel - drift/200
- sRodLevel = math.min(100,math.max(15,sRodLevel))
- end
- setRods(sRodLevel)
- while true do
- controlLoop()
- setRods(sRodLevel)
- sOnline()
- sActive()
- sFuelTemp()
- os.sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement