В следующем фрагменте кода я могу отправить значения, которые я хочу, на последовательную консоль.Но мне нужно хранить их в 2 x, y переменных и возвращать их в результате функции.Если я присваиваю e.value
s на лету созданную переменную x как x = e.value
и так далее в течение секунды, если блок с y
и попытаться return x,y
в конце.Я сталкиваюсь с ошибками.
Я имею в виду, если я добавляю закомментированные строки, я сталкиваюсь с ошибками.Что не так?
Как я могу привести e.value
s к целому числу или строке, передать другой функции и безупречно использовать ее повторно?
import serial
import libevdev
def serialHandler():
ser = serial.Serial(
port = '/dev/ttyS0',
baudrate = 115200,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 0
)
fd = open ('/dev/input/event0', 'rb')
d = libevdev.Device(fd)
if not d.has(libevdev.EV_ABS.ABS_X):
print('This is not your touch device.')
sys.exit(0)
while True:
for e in d.events():
if e.matches(libevdev.EV_ABS):
if e.matches(libevdev.EV_ABS.ABS_X):
ser.write(bytes("ABSOLUTE X {}\n".format(e.value),encoding='utf-8'))
#x = e.value
if e.matches(libevdev.EV_ABS.ABS_Y):
ser.write(bytes("ABSOLUTE Y {}\n".format(e.value),encoding='utf-8'))
#y = e.value
#return x, y
#anotherFunc(serialHandler())