added energy_control
This commit is contained in:
parent
02924eb7bf
commit
3d99d2b302
78
energy_control
Normal file
78
energy_control
Normal file
@ -0,0 +1,78 @@
|
||||
redstone_toggle_id = 48
|
||||
de_store_mon_id = nil
|
||||
redstone_toggle_state = nil
|
||||
|
||||
function dump(o)
|
||||
if o == nil then
|
||||
return ""
|
||||
end
|
||||
|
||||
if type(o) == 'table' then
|
||||
local s = '{ '
|
||||
for k,v in pairs(o) do
|
||||
if type(k) ~= 'number' then k = '"'..k..'"' end
|
||||
s = s .. '['..k..'] = ' .. dump(v) .. ','
|
||||
end
|
||||
return s .. '} '
|
||||
end
|
||||
|
||||
return tostring(o)
|
||||
end
|
||||
|
||||
function poll()
|
||||
if redstone_toggle_id ~= nil then
|
||||
rednet.send(redstone_toggle_id, "get_state")
|
||||
end
|
||||
if de_store_mon_id ~= nil then
|
||||
-- todo
|
||||
end
|
||||
end
|
||||
|
||||
function recv()
|
||||
while true do
|
||||
local id, data = rednet.receive()
|
||||
if id == redstone_toggle_id then
|
||||
if type(data) == 'table' then
|
||||
if data[1] == 'output_state' then
|
||||
redstone_toggle_state = data[2]
|
||||
end
|
||||
end
|
||||
elseif id == de_store_mon_id then
|
||||
-- todo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function draw_screen()
|
||||
while true do
|
||||
term.clear()
|
||||
term.setCursorPos(0, 0)
|
||||
term.setTextColor(colors.white)
|
||||
term.getBackgroundColor(colors.black)
|
||||
term.write('Press "R" to toggle the rainbows\n')
|
||||
term.write('Rainbows state: ')
|
||||
if redstone_toggle_state == true then
|
||||
term.getBackgroundColor(colors.green)
|
||||
term.write('On')
|
||||
else
|
||||
term.getBackgroundColor(colors.red)
|
||||
term.write('Off')
|
||||
end
|
||||
term.getBackgroundColor(colors.black)
|
||||
sleep(0.5)
|
||||
end
|
||||
end
|
||||
|
||||
local sides = peripheral.getNames()
|
||||
for i = 1, #sides do
|
||||
if peripheral.getType(sides[i]) == "modem" then
|
||||
modemSide = sides[i]
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
rednet.open(modemSide)
|
||||
rednet.host("rmm", "master")
|
||||
|
||||
parallel.waitForAny(recv, control)
|
||||
rednet.close(modemSide)
|
Loading…
x
Reference in New Issue
Block a user