Используя Python, мне нужен цикл одновременно с циклом событий контроллера PS4
Используя Python, я хочу запускать два цикла одновременно. Первый - это обычный цикл while. Второй - это цикл while, основанный на файловых событиях от контроллера PS4, подключенного через Bluetooth.
Две петли должны знать, чем занимаются другие петли.
Вот соответствующий код с некоторыми комментариями к отсутствующему коду:
# Read PS4 controller events
infile_path = "/dev/input/event4"
in_file = open(infile_path, "rb")
FORMAT = 'llHHi'
EVENT_SIZE = struct.calcsize(FORMAT)
event = in_file.read(EVENT_SIZE)
# Event while loop reacting to PS4 events
while event:
# React to a PS4 controller event
# For example, start a motor when the X button is pressed
# Or stop the motor when the X button is released
# Read the next event
event = in_file.read(EVENT_SIZE)
# Regular while loop
while True:
# While Loop Code
# I need code in here to be able to override the event loop
# For example, stop the motor (even if the X button is pressed) if the motor senses resistance
in_file.close()
Я не думаю, что это действительно важно, но я использую Pybricks, он построен на MicroPython и оптимизирован для робототехники. Я также использую ev3dev, это образ Debian, также оптимизированный для робототехники. Мой полный код доступен на моем GitHub.