support open os command line programs

This commit is contained in:
kepler155c@gmail.com
2019-04-07 10:09:47 -04:00
parent 737ac095de
commit 4f9bd8eb0f
9 changed files with 146 additions and 65 deletions

27
sys/init/3.relay.lua Normal file
View File

@@ -0,0 +1,27 @@
local device = _G.device
local kernel = _G.kernel
local function register(v)
if v and v.isWireless and v.getMetadata and v.getNamesRemote then
v.children = { }
for _, name in pairs(v.getNamesRemote()) do
local dev = v.getMethodsRemote(name)
if dev then
dev.name = name
dev.side = name
dev.type = v.getTypeRemote(name)
device[name] = dev
table.insert(v._children, dev)
end
end
end
end
for _,v in pairs(device) do
register(v)
end
-- register oc devices as peripherals
kernel.hook('device_attach', function(_, eventData)
register(device[eventData[2]])
end)