Advertisement
tbrixey

broadcast battery levels

Oct 12th, 2022 (edited)
1,216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.06 KB | None | 0 0
  1. rednet.open("top")
  2. induction = peripheral.wrap("back")
  3.  
  4. function rnd (val, dec)
  5.   local X = math.pow(10, dec)
  6.   return math.floor(val * X) / X
  7. end
  8.  
  9. function pwr (val, dec)
  10.   local pre = ''
  11.   local suf = ''
  12.  
  13.   local is_neg = false
  14.   if val < 0 then
  15.     pre = '-'
  16.     is_neg = true
  17.     val = -val
  18.   end
  19.  
  20.   val = mekanismEnergyHelper.joulesToFE(val)
  21.  
  22.   if val > 1000 then
  23.     suf = 'k'
  24.     val = val / 1000
  25.   end
  26.  
  27.   if val > 1000 then
  28.     suf = 'M'
  29.     val = val / 1000
  30.   end
  31.  
  32.   if val > 1000 then
  33.     suf = 'G'
  34.     val = val / 1000
  35.   end
  36.  
  37.   if val > 1000 then
  38.     suf = 'T'
  39.     val = val / 1000
  40.   end
  41.  
  42.   return pre .. rnd(val, dec or 1) .. suf
  43. end
  44.  
  45. function broadcastBattery()
  46.   while true do
  47.     messageToSend = "Battery "
  48.     messageToSend = messageToSend .. induction.getEnergyFilledPercentage() * 100 .. "% "
  49.     messageToSend = messageToSend .. "In: " .. pwr(induction.getLastInput()) .. " Out: " .. pwr(induction.getLastOutput())
  50.     rednet.broadcast(messageToSend, "battery")
  51.     sleep(20)
  52.   end
  53. end
  54.  
  55. broadcastBattery()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement