Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- EnergyReader = {
- cell = nil,
- controllerCompID = 89,
- modem = nil,
- }
- function EnergyReader:findRedstoneCell()
- for _, side in pairs(rs.getSides()) do
- if peripheral.getType(side) == "redstone_energy_cell" then
- self.cell = peripheral.wrap(side)
- return true
- end
- end
- return false
- end
- function EnergyReader:findWirelessModem()
- for _, side in pairs(rs.getSides()) do
- if peripheral.getType(side) == "modem" then
- self.modem = rednet.open(side)
- return true
- end
- end
- return false
- end
- function EnergyReader:readEnergy()
- return self.cell.getEnergyStored()
- end
- function EnergyReader:updateController(energy)
- local message = "energyStored:" .. tostring(energy)
- rednet.send(self.controllerCompID, message)
- end
- function EnergyReader:mainLoop()
- os.startTimer(30)
- while true do
- event, param1, param2, param3 = os.pullEvent()
- if event == 'timer' then
- print("Updating controller")
- local stored = self:readEnergy()
- self:updateController(stored)
- os.startTimer(30)
- end
- end
- end
- er = EnergyReader
- er:findRedstoneCell()
- er:findWirelessModem()
- er:mainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement