mirror of
https://github.com/kepler155c/opus
synced 2024-12-28 01:20:27 +00:00
40 lines
1003 B
Lua
40 lines
1003 B
Lua
require = requireInjector(getfenv(1))
|
|
local Event = require('event')
|
|
local Peripheral = require('peripheral')
|
|
|
|
multishell.setTitle(multishell.getCurrent(), 'Devices')
|
|
|
|
local attachColor = colors.green
|
|
local detachColor = colors.red
|
|
|
|
if not term.isColor() then
|
|
attachColor = colors.white
|
|
detachColor = colors.lightGray
|
|
end
|
|
|
|
Event.addHandler('peripheral', function(event, side)
|
|
if side then
|
|
local dev = Peripheral.addDevice(side)
|
|
if dev then
|
|
term.setTextColor(attachColor)
|
|
Util.print('[%s] %s attached', dev.side, dev.name)
|
|
os.queueEvent('device_attach', dev.name)
|
|
end
|
|
end
|
|
end)
|
|
|
|
Event.addHandler('peripheral_detach', function(event, side)
|
|
if side then
|
|
local dev = Util.find(device, 'side', side)
|
|
if dev then
|
|
term.setTextColor(detachColor)
|
|
Util.print('[%s] %s detached', dev.side, dev.name)
|
|
os.queueEvent('device_detach', dev.name)
|
|
device[dev.name] = nil
|
|
end
|
|
end
|
|
end)
|
|
|
|
print('waiting for peripheral changes')
|
|
Event.pullEvents()
|