Queremos hacer que un device envié una señal a alguna tarea que esta esperando por esta. Lo que encontramos en los ejemplos es usar los calbacks, pero esto ejecuta una función cada vez que se envía la señal. Lo que probamos fue definir una wait en la tarea y que el device envié un signal, pero vemos que el device envía la señal pero nunca le llega a la tarea:
device.lua
.......
device.task = sched.run(function()
while true do
.............
procesa algo
..............
sched.signal('señal')
end
end)
tarea.lua
.....
local waitd = {emitter='*',
events={'señal'}
}
sched.run(function()
while true do
.......
--espero la señal del device
sched.wait(waitd)
end
end)