Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Todo
- -- - Write code for alarm.
- -- For use with http://www.talonfiremage.pwp.blueyonder.co.uk/v3/reactorplanner.html?21p7gt721nc1rlniiwup3u8mge15p7ok6nzx3dm9lx4a017gypeys5qjxtmtrlpa5vaaiko7uk9cpa8
- os.loadAPI('/ocs/apis/sensor')
- Reactor = {--{{{
- powerOnSide = 'back',
- onSignal = true,
- }--}}}
- function Reactor:powerOn()--{{{
- rs.setOutput(self.powerOnSide, self.onSignal)
- end--}}}
- function Reactor:powerOff()--{{{
- rs.setOutput(self.powerOnSide, not self.onSignal)
- end--}}}
- function Reactor:getOn()--{{{
- if rs.getOutput("back") == self.onSignal then
- return true
- else
- return false
- end
- end--}}}
- Sensor = {--{{{
- sensor = sensor.wrap("top")
- }--}}}
- function Sensor:getMFSPerc(target)--{{{
- return self.sensor.getTargetDetails(target)['StoredPercentage']
- end--}}}
- ReactorRegulator = {--{{{
- sensor = Sensor,
- reactor = Reactor,
- mfsCoords = "-3,-1,3",
- pollTime = 10,
- }--}}}
- function ReactorRegulator:getMFSPerc()--{{{
- return self.sensor:getMFSPerc(self.mfsCoords)
- end--}}}
- regulator = ReactorRegulator
- os.startTimer(regulator.pollTime)
- while true do
- os.pullEvent('timer')
- mfsperc = regulator:getMFSPerc()
- reactorOn = regulator.reactor:getOn()
- if mfsperc < 10 and not reactorOn then
- print("MFS at " .. tostring(mfsperc) .. "% powering on reactor.")
- regulator.reactor:powerOn()
- elseif mfsperc > 90 and reactorOn then
- -- power off reactor
- print("MFS at " .. tostring(mfsperc) .. "% powering off reactor.")
- regulator.reactor:powerOff()
- else
- print("MFS at " .. tostring(mfsperc) .. ".")
- end
- os.startTimer(regulator.pollTime)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement