Advertisement
Guest User

reactor

a guest
Mar 17th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.41 KB | None | 0 0
  1. local r = peripheral.wrap("back")
  2. local m = peripheral.wrap("top")
  3.  
  4. local tSetPoint = 300
  5. local sRodLevel = 60
  6.  
  7. m.clear()
  8.  
  9.  
  10. function sOnline()
  11.   m.setCursorPos(1,1)
  12.   if r.getConnected then
  13.     m.setTextColor(colors.green)
  14.     m.write("online")
  15.   else
  16.     m.setTextColor(colors.red)
  17.     m.write("offline")
  18.   end
  19. end
  20.  
  21. function sActive()
  22.   m.setCursorPos(11,1)
  23.   if r.getActive then
  24.     m.setTextColor(colors.green)
  25.     m.write("active")
  26.   else
  27.     m.setTextColor(colors.red)
  28.     m.write("inactive")
  29.   end
  30. end
  31.  
  32.  
  33. function sFuelTemp()
  34.   m.setCursorPos(1,3)
  35.   m.setTextColor(colors.white)
  36.   m.write("Fuel Temp: ")
  37.   m.setCursorPos(12,3)
  38.   m.setTextColor(colors.yellow)
  39.   m.write(math.floor(r.getFuelTemperature()))
  40. end  
  41.  
  42. function setRods(level)
  43.   level = math.floor(level)
  44.   r.setControlRodLevel(0,level)
  45.   r.setControlRodLevel(1,level)
  46.   r.setControlRodLevel(2,level)
  47.   r.setControlRodLevel(3,level)
  48.   r.setControlRodLevel(4,level)
  49.   m.setCursorPos(1,4)
  50.   m.setTextColor(colors.white)
  51.   m.write("Rods: ")
  52.   m.setCursorPos(12,4)
  53.   m.setTextColor(colors.yellow)
  54.   m.write(level.."%")
  55. end
  56.  
  57. function controlLoop()
  58.   drift = tSetPoint - r.getFuelTemperature()
  59.   sRodLevel = sRodLevel - drift/200
  60.   sRodLevel = math.min(100,math.max(15,sRodLevel))
  61. end
  62.  
  63. setRods(sRodLevel)
  64.  
  65. while true do  
  66.   controlLoop()
  67.   setRods(sRodLevel)
  68.   sOnline()
  69.   sActive()
  70.   sFuelTemp()
  71.   os.sleep(1)
  72. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement