28 lines
885 B
Python
28 lines
885 B
Python
class LaserDistance(ReadonlyRegisterBase):
|
|
def __init__(self):
|
|
ReadonlyRegisterBase.__init__(self, "laser_distance")
|
|
|
|
def doRead(self):
|
|
ret = ue.readable.read()
|
|
ret = None if ret is None else (0.0 if math.isnan(ret) else ret)
|
|
return ret
|
|
|
|
class ListenerAI (DeviceListener):
|
|
def onValueChanged(self, device, value, former):
|
|
if laser_distance is not None:
|
|
value = None if value is None else (0.0 if math.isnan(value) else value)
|
|
laser_distance.setCache(value, None)
|
|
|
|
|
|
for l in ue.listeners:
|
|
if Nameable.getShortClassName(l.getClass()) == "ListenerAI":
|
|
ue.removeListener(l)
|
|
|
|
|
|
listenerAI = ListenerAI()
|
|
ue.addListener(listenerAI)
|
|
|
|
laser_distance=LaserDistance()
|
|
add_device(laser_distance, True)
|
|
laser_distance.update()
|