Fix bug on LaserDistance generating huge logs
This commit is contained in:
@@ -1,17 +1,27 @@
|
||||
class LaserDistance(ReadonlyRegisterBase):
|
||||
def __init__(self):
|
||||
ReadonlyRegisterBase.__init__(self, "laser_distance")
|
||||
|
||||
def doRead(self):
|
||||
ret = ue.readable.read()
|
||||
ret = 0.0 if math.isnan(ret) else ret
|
||||
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):
|
||||
laser_distance.setCache( 0.0 if math.isnan(value) else value, None)
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user