Advertisement
Guest User

energyMonitor.lua

a guest
Feb 18th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.93 KB | None | 0 0
  1. rp = require("remotePeripherie")
  2. local monitor = peripheral.find("monitor") or term
  3. local core = rp.wrap(15,"bottom")
  4. local turbine = rp.wrap(24, "right")
  5.  
  6.  
  7. local function niceNrString(n,m)
  8.   local metrics = {[0]="","k","M","G","T","P"}
  9.   local im = 0
  10.   while #(""..n) > 4 and (#metrics -1) > im do
  11.     n = math.floor(n/1000)
  12.     im = im + 1
  13.   end
  14.   return n.." "..metrics[im]..m
  15. end
  16.  
  17. local function toDisplay(m,...)
  18.   m.clear()
  19.   for i,v in ipairs(arg) do
  20.     m.setCursorPos(1,i)
  21.     m.write(""..v)
  22.   end
  23. end
  24.  
  25. while true do
  26.   local e = core.getEnergyStored()
  27.   local p = math.floor(100*e / core.getMaxEnergyStored())
  28.   local r = core.getTransferPerTick()
  29.   local s = turbine.getRotorSpeed()
  30.   local tr= turbine.getEnergyProducedLastTick()
  31.   e = niceNrString(e,"rf")
  32.   p = p.." %"
  33.   r = niceNrString(r,"rf/t")
  34.   s = math.floor(s).."rp/m"
  35.   tr= niceNrString(tr,"rf/t")
  36.   toDisplay(monitor, e, p, r, s, tr)
  37.   sleep(5)
  38. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement