Advertisement
loepie

BigReactor wirelless monitor with 3 reactors

Feb 21st, 2014
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.28 KB | None | 0 0
  1. --Loepie78s Big Reactor Manager v0.1 based on :
  2. --FusionNrg's Big Reactor Manager v1.1
  3. --With wireless
  4. --last revised 22-2-2014
  5. -- designed for reactor to rear of computer with at least a 2x3 monitor on the top of the computer
  6. -- version 201402220041
  7.  
  8. function wrapmonitor()
  9. --applicable monitor variables
  10.     monitor = peripheral.wrap("right")
  11.     monitor.clear()
  12.     monitor.setCursorPos(1, 1)
  13.     monitor.write("System Initialized")
  14.     sleep(0,5)
  15.     width, height = monitor.getSize()
  16.     monitor.setCursorPos(1, 2)
  17.     monitor.write("Screen size:" ..width.." by:"..height)
  18.     sleep(0.5)
  19.     monitor.setCursorPos(1, 3)
  20.     monitor.write("Next step")
  21.     sleep(0.5)
  22. end
  23.  
  24. function configvars()
  25.     rods = 99
  26.     target = 8000000 -- adjustable between 0 and 10 million depending how much you want on hand
  27.     full = 10000000 -- full buffer size
  28. end
  29.  
  30. function wrapmodem()
  31. --applicable modem variables
  32.     monitor.setCursorPos(1, 4)
  33.     monitor.write("Opening Modem")
  34.     monitor.write(".")
  35.     monitor.write("..")
  36.     monitor.write("...")
  37.     monitor.write("....")
  38.     modem = peripheral.wrap("top")
  39.     monitor.setCursorPos(1, 5)
  40.     monitor.write("Done!, next step")
  41.     monitor.setCursorPos(1, 6)
  42.     monitor.write("Opening modemport 400 for Reactor Active")
  43.     modem.open(400)--Open channel 400 so that we can listen on it : Reactor Active
  44.     monitor.setCursorPos(1, 7)
  45.     monitor.write("Opening modemport 401 for Reactor Temperature")
  46.     modem.open(401)--Open channel 401 so that we can listen on it : Reactor Temperature
  47.     monitor.setCursorPos(1, 8)
  48.     monitor.write("Opening modemport 402 for Reactor Temperature")
  49.     modem.open(402)--Open channel 402 so that we can listen on it : Reactor Stored Energy
  50.     monitor.setCursorPos(1, 9)
  51.     monitor.write("Opening modemport 403 for Reactor Produced Energy")
  52.     modem.open(403)--Open channel 403 so that we can listen on it : Reactor Produced Energy
  53.     monitor.setCursorPos(1, 10)
  54.     monitor.write("Opening modemport 404 for Reactor Control Rod Level")
  55.     modem.open(404)--Open channel 404 so that we can listen on it : Reactor Control Rod Level
  56.     monitor.setCursorPos(1, 11)
  57.     monitor.write("All modem channels Reactor 1 open, Next reactor")
  58. -------------------------------------------------------
  59.     monitor.setCursorPos(1, 12)
  60.     monitor.write("Opening modemport 500 for Reactor Active")
  61.     modem.open(500)--Open channel 500 so that we can listen on it : Reactor Active
  62.     monitor.setCursorPos(1, 13)
  63.     monitor.write("Opening modemport 501 for Reactor Temperature")
  64.     modem.open(501)--Open channel 501 so that we can listen on it : Reactor Temperature
  65.     monitor.setCursorPos(1, 14)
  66.     monitor.write("Opening modemport 502 for Reactor Temperature")
  67.     modem.open(502)--Open channel 502 so that we can listen on it : Reactor Stored Energy
  68.     monitor.setCursorPos(1, 15)
  69.     monitor.write("Opening modemport 503 for Reactor Produced Energy")
  70.     modem.open(503)--Open channel 503 so that we can listen on it : Reactor Produced Energy
  71.     monitor.setCursorPos(1, 16)
  72.     monitor.write("Opening modemport 504 for Reactor Control Rod Level")
  73.     modem.open(504)--Open channel 504 so that we can listen on it : Reactor Control Rod Level
  74.     monitor.setCursorPos(1, 17)
  75.     monitor.write("All modem channels Reactor 2 open, Next reactor")
  76. -----------------------
  77.     monitor.setCursorPos(1, 18)
  78.     monitor.write("Opening modemport 600 for Reactor Active")
  79.     modem.open(600)--Open channel 600 so that we can listen on it : Reactor Active
  80.     monitor.setCursorPos(1, 19)
  81.     monitor.write("Opening modemport 601 for Reactor Temperature")
  82.     modem.open(601)--Open channel 601 so that we can listen on it : Reactor Temperature
  83.     monitor.setCursorPos(1, 20)
  84.     monitor.write("Opening modemport 602 for Reactor Temperature")
  85.     modem.open(602)--Open channel 602 so that we can listen on it : Reactor Stored Energy
  86.     monitor.setCursorPos(1, 21)
  87.     monitor.write("Opening modemport 603 for Reactor Produced Energy")
  88.     modem.open(603)--Open channel 603 so that we can listen on it : Reactor Produced Energy
  89.     monitor.setCursorPos(1, 22)
  90.     monitor.write("Opening modemport 604 for Reactor  Control Rod Level")
  91.     modem.open(604)--Open channel 604 so that we can listen on it : Reactor Control Rod Level
  92.     monitor.setCursorPos(1, 23)
  93.     monitor.write("All modem channels open, move along nothing to see here :)")
  94.     sleep(0.5)
  95. end
  96.  
  97.  
  98.  
  99. function getmodeminfo()
  100.     local event400, modemSide400, senderChannel400, replyChannel400, Message400, senderDistance400 = os.pullEvent("modem_message") --channel 400 so : Reactor Active
  101.     ReactorActive = Message400
  102.     print ("Reactor 400 active: " , ReactorActive)
  103.     local event401, modemSide401, senderChannel401, replyChannel401, Message401, senderDistance401 = os.pullEvent("modem_message") --channel 401 so : Reactor Temperature
  104.     ReactorTemp = Message401
  105.     print ("Reactor 400 Temp: " , ReactorTemp)
  106.     local event402, modemSide402, senderChannel402, replyChannel402, Message402, senderDistance402 = os.pullEvent("modem_message") --channel 402 so : Reactor Stored Energy
  107.     ReactorES = Message402
  108.     print ("Reactor 400 Stored Energy: " , ReactorES)
  109.     local event403, modemSide403, senderChannel403, replyChannel403, Message403, senderDistance403 = os.pullEvent("modem_message") --channel 403 so : Reactor Produced Energy
  110.     ReactorLT = Message403
  111.     print ("Reactor 400 produced Energy: " , ReactorLT)
  112.     local event404, modemSide404, senderChannel404, replyChannel404, Message404, senderDistance404 = os.pullEvent("modem_message") --channel 404 so : Reactor Control Rod Level
  113.     ReactorCRL = Message404
  114.     print ("Reactor 400 Control Rod: " , ReactorCRL)
  115. -----------------
  116.     local event500, modemSide500, senderChannel500, replyChannel500, Message500, senderDistance500 = os.pullEvent("modem_message") --channel 500 so : Reactor Active
  117.     ReactorActive5 = Message500
  118.     print ("Reactor 500 active: " , ReactorActive5)
  119.     local event501, modemSide501, senderChannel501, replyChannel501, Message501, senderDistance501 = os.pullEvent("modem_message") --channel 501 so : Reactor Temperature
  120.     ReactorTemp5 = Message501
  121.     print ("Reactor 500 Temp: " , ReactorTemp5)
  122.     local event502, modemSide502, senderChannel502, replyChannel502, Message502, senderDistance502 = os.pullEvent("modem_message") --channel 502 so : Reactor Stored Energy
  123.     ReactorES5 = Message502
  124.     print ("Reactor 500 Stored Energy: " , ReactorES5)
  125.     local event503, modemSide503, senderChannel503, replyChannel503, Message503, senderDistance503 = os.pullEvent("modem_message") --channel 503 so : Reactor Produced Energy
  126.     ReactorLT5 = Message503
  127.     print ("Reactor 500 produced Energy: " , ReactorLT5)
  128.     local event504, modemSide504, senderChannel504, replyChannel504, Message504, senderDistance504 = os.pullEvent("modem_message") --channel 504 so : Reactor Control Rod Level
  129.     ReactorCRL5 = Message504
  130.     print ("Reactor 500 Control Rod: " , ReactorCRL5)
  131. ---------------------------------  
  132.     local event600, modemSide600, senderChannel600, replyChannel600, Message600, senderDistance600 = os.pullEvent("modem_message") --channel 600 so : Reactor Active
  133.     ReactorActive6 = Message600
  134.     print ("Reactor 600 active: " , ReactorActive6)
  135.     local event601, modemSide601, senderChannel601, replyChannel601, Message601, senderDistance601 = os.pullEvent("modem_message") --channel 601 so : Reactor Temperature
  136.     ReactorTemp6 = Message601
  137.     print ("Reactor 600 Temp: " , ReactorTemp6)
  138.     local event602, modemSide602, senderChannel602, replyChannel602, Message602, senderDistance602 = os.pullEvent("modem_message") --channel 602 so : Reactor Stored Energy
  139.     ReactorES6 = Message602
  140.     print ("Reactor 600 Stored Energy: " , ReactorES6)
  141.     local event603, modemSide603, senderChannel603, replyChannel603, Message603, senderDistance603 = os.pullEvent("modem_message") --channel 603 so : Reactor Produced Energy
  142.     ReactorLT6 = Message603
  143.     print ("Reactor 600 produced Energy: " , ReactorLT6)
  144.     local event604, modemSide604, senderChannel604, replyChannel604, Message604, senderDistance604 = os.pullEvent("modem_message") --channel 604 so : Reactor Control Rod Level
  145.     ReactorCRL6 = Message604
  146.     print ("Reactor 600 Control Rod: " , ReactorCRL6)
  147. end
  148.  
  149. function displayStats() -- display stats to the monitor in 2 columns
  150. --wrap monitor and pull sizing
  151.     monitor.clear()
  152.     monitor.setCursorPos(1, 9)
  153.     monitor.write("Reactor 1 Active: ")
  154.     monitor.write(ReactorActive)
  155.     monitor.setCursorPos(1, 10)
  156.     monitor.write("Temp: ")
  157.     monitor.setCursorPos(1, 11)
  158.     monitor.write("Buffer: ")
  159.     monitor.setCursorPos(19, 10)
  160.     monitor.write(ReactorTemp)
  161.     monitor.write(" Cel. ")
  162.     monitor.setCursorPos(19, 11)
  163.     monitor.write(ReactorES)
  164.     monitor.write(" %")
  165.     monitor.setCursorPos(1, 12)
  166.     monitor.write("Energy Last Tick: ")
  167.     monitor.setCursorPos(19, 12)
  168.     monitor.write(ReactorLT)
  169.     monitor.write(" RF/t")
  170.     monitor.setCursorPos(1, 13)
  171.     monitor.write("Rod Insertion:")
  172.     monitor.setCursorPos(19, 13)
  173.     monitor.write(ReactorCRL)
  174.     monitor.write(" %")
  175. ------------------------------------------------
  176.     monitor.setCursorPos(1, 16)
  177.     monitor.write("Reactor 2 Active: ")
  178.     monitor.write(ReactorActive5)
  179.     monitor.setCursorPos(1, 17)
  180.     monitor.write("Temp: ")
  181.     monitor.setCursorPos(1, 18)
  182.     monitor.write("Buffer: ")
  183.     monitor.setCursorPos(19, 17)
  184.     monitor.write(ReactorTemp5)
  185.     monitor.write(" Cel. ")
  186.     monitor.setCursorPos(19, 18)
  187.     monitor.write(ReactorES5)
  188.     monitor.write(" %")
  189.     monitor.setCursorPos(1, 19)
  190.     monitor.write("Energy Last Tick: ")
  191.     monitor.setCursorPos(19, 19)
  192.     monitor.write(ReactorLT5)
  193.     monitor.write(" RF/t")
  194.     monitor.setCursorPos(1, 20)
  195.     monitor.write("Rod Insertion:")
  196.     monitor.setCursorPos(19, 20)
  197.     monitor.write(ReactorCRL5)
  198.     monitor.write(" %")
  199. -----------------------------------------------
  200.     monitor.setCursorPos(1, 23)
  201.     monitor.write("Reactor 3 Active: ")
  202.     monitor.write(ReactorActive6)
  203.     monitor.setCursorPos(1, 24)
  204.     monitor.write("Temp: ")
  205.     monitor.setCursorPos(1, 25)
  206.     monitor.write("Buffer: ")
  207.     monitor.setCursorPos(19, 24)
  208.     monitor.write(ReactorTemp6)
  209.     monitor.write(" Cel. ")
  210.     monitor.setCursorPos(19, 25)
  211.     monitor.write(ReactorES6)
  212.     monitor.write(" %")
  213.     monitor.setCursorPos(1, 26)
  214.     monitor.write("Energy Last Tick: ")
  215.     monitor.setCursorPos(19, 26)
  216.     monitor.write(ReactorLT6)
  217.     monitor.write(" RF/t")
  218.     monitor.setCursorPos(1, 27)
  219.     monitor.write("Rod Insertion:")
  220.     monitor.setCursorPos(19, 27)
  221.     monitor.write(ReactorCRL6)
  222.     monitor.write(" %")
  223.    
  224. end
  225.  
  226. function main()
  227.  x = 0
  228.     while (true) do
  229.         getmodeminfo()
  230.         sleep(1)
  231.         displayStats()
  232.         sleep(1)
  233.     end
  234. end
  235.  
  236. wrapmonitor()
  237. configvars()
  238. wrapmodem()
  239. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement