m0nstar

reactor_status_monitor

Jul 28th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.20 KB | None | 0 0
  1. --[[
  2.  
  3. Reactor Status Monitor
  4.  
  5. Monitors Big Reactor stats and sends to channel for Base status display
  6.  
  7. ]]--
  8.  
  9. local status_channel = 2
  10.  
  11. local wlan = peripheral.wrap('right')
  12. local modem = peripheral.wrap('top')
  13.  
  14. function logtransmit(x)
  15.   print(x)
  16.   wlan.transmit(status_channel,12,x)
  17. end
  18.  
  19. -- Round num to dec places
  20. function round(num, dec)
  21.   local shift = 10^(dec or 2)
  22.   return math.floor(num * shift + 0.5) / shift
  23. end
  24.  
  25. -- Get the first Big Reactor
  26. local connected = modem.getNamesRemote()
  27. for i=1, #connected do
  28.   if string.match(peripheral.getType(connected[i]),"Reactor") then
  29.     print ("found reactor "..connected[i])
  30.     reac = connected[i]
  31.     break
  32.   end
  33. end
  34. reactor = peripheral.wrap(reac)
  35.  
  36. print('loop...')
  37. while true do
  38.  
  39.   state = reactor.getActive() and "Online" or "Offline"
  40.   rods = reactor.getControlRodLevel(1)
  41.   heat = math.floor(reactor.getFuelTemperature())
  42.   fueltick = round(reactor.getFuelConsumedLastTick(),2)
  43.   rftick = round( (reactor.getEnergyProducedLastTick()/1000),2)
  44.  
  45.   logtransmit("state="..state)
  46.   logtransmit("rods="..rods)
  47.   logtransmit("heat="..heat)
  48.   logtransmit("fueltick="..fueltick)
  49.   logtransmit("rftick="..rftick)
  50.  
  51.   sleep(5)
  52. end
Add Comment
Please, Sign In to add comment