• 1000 1003 *
Мне нужен скрипт raspberrypi python для проверки двух инфракрасных датчиков (левого и правого) каждые 500 мс. Если левый датчик получил код в течение этого временного интервала 500 мс, покажите полученный код, в противном случае покажите, что левый датчик не получил код. Процесс повторяется с правым датчиком.
Я создал для этого простой python скрипт. Однако мне всегда нужно очищать буфер, чтобы старые значения, которые были прочитаны, не мешали проверке. Я делаю это, "пока" читаю значения буфера одно за другим.
Есть ли в EVDEV функция flu sh для очистки буфера или есть лучший способ сделать это?
#!/usr/bin/python2.7
from evdev import InputDevice
import time
device1 = InputDevice('/dev/input/event4')
device2 = InputDevice('/dev/input/event3')
while(True):
dataSensor1 = device1.read_one()
dataSensor2 = device2.read_one()
if(dataSensor1!=None):
print("Left: ", dataSensor1.value)
#delete old readings from the Left sensor queue
while device1.read_one()!=None:
pass
else:
print("no reading on the left sensor")
if(dataSensor2!=None):
print("Right: ", dataSensor2.value)
#delete old readings from the Right sensor queue
while device2.read_one()!=None:
pass
else:
print("no reading on the right sensor")
time.sleep(0.5)