From a7124f0d2a3a93bdefb38f1a797e932eb6ee557e Mon Sep 17 00:00:00 2001 From: BlitzCityDIY Date: Tue, 18 Nov 2025 12:35:30 -0500 Subject: [PATCH 1/3] resolve mouse errors --- Metro/Metro_RP2350_Memory/memory_game/code.py | 34 +++++-------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/Metro/Metro_RP2350_Memory/memory_game/code.py b/Metro/Metro_RP2350_Memory/memory_game/code.py index 4e2b38a0a..35540078f 100644 --- a/Metro/Metro_RP2350_Memory/memory_game/code.py +++ b/Metro/Metro_RP2350_Memory/memory_game/code.py @@ -10,7 +10,6 @@ import array import random import time -import atexit from displayio import Group, OnDiskBitmap, TileGrid from adafruit_display_text.bitmap_label import Label from adafruit_display_text.text_box import TextBox @@ -299,20 +298,18 @@ def update_score_text(): print(f"{device.idVendor:04x}:{device.idProduct:04x}") print(device.manufacturer, device.product) print(device.serial_number) - - config_descriptor = adafruit_usb_host_descriptors.get_configuration_descriptor( - device, 0 - ) - - _possible_interface_index, _possible_endpoint_address = ( + mouse_interface_index, mouse_endpoint_address = ( adafruit_usb_host_descriptors.find_boot_mouse_endpoint(device)) - if _possible_interface_index is not None and _possible_endpoint_address is not None: + if mouse_interface_index is not None and mouse_endpoint_address is not None: mouse = device - mouse_interface_index = _possible_interface_index - mouse_endpoint_address = _possible_endpoint_address - print(f"mouse interface: {mouse_interface_index}", end="") - print(f"endpoint_address: {hex(mouse_endpoint_address)}") + print( + f"mouse interface: {mouse_interface_index} " + + f"endpoint_address: {hex(mouse_endpoint_address)}" + ) + + break + mouse_was_attached = None if mouse is not None: @@ -326,19 +323,6 @@ def update_score_text(): # set configuration on the mouse so we can use it mouse.set_configuration() - -def atexit_callback(): - """ - re-attach USB devices to kernel if needed. - :return: - """ - print("inside atexit callback") - if mouse_was_attached and not mouse.is_kernel_driver_active(0): - mouse.attach_kernel_driver(0) - - -atexit.register(atexit_callback) - # Buffer to hold data read from the mouse # Boot mice have 4 byte reports buf = array.array("b", [0] * 4) From 3df4d26e2194d4af77e6b4c869c70979e96d558f Mon Sep 17 00:00:00 2001 From: BlitzCityDIY Date: Tue, 18 Nov 2025 13:29:11 -0500 Subject: [PATCH 2/3] add back atexit_callback() --- Metro/Metro_RP2350_Memory/memory_game/code.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Metro/Metro_RP2350_Memory/memory_game/code.py b/Metro/Metro_RP2350_Memory/memory_game/code.py index 35540078f..db8a5b060 100644 --- a/Metro/Metro_RP2350_Memory/memory_game/code.py +++ b/Metro/Metro_RP2350_Memory/memory_game/code.py @@ -18,6 +18,7 @@ import supervisor import terminalio import usb.core +import atexit from adafruit_fruitjam.peripherals import request_display_config import adafruit_usb_host_descriptors from adafruit_pathlib import Path @@ -323,6 +324,18 @@ def update_score_text(): # set configuration on the mouse so we can use it mouse.set_configuration() +def atexit_callback(): + """ + re-attach USB devices to kernel if needed. + :return: + """ + print("inside atexit callback") + if mouse_was_attached and not mouse.is_kernel_driver_active(0): + mouse.attach_kernel_driver(0) + + +atexit.register(atexit_callback) + # Buffer to hold data read from the mouse # Boot mice have 4 byte reports buf = array.array("b", [0] * 4) From b0cf84c1542a7f61667967967379accccbf6df23 Mon Sep 17 00:00:00 2001 From: BlitzCityDIY Date: Tue, 18 Nov 2025 13:32:57 -0500 Subject: [PATCH 3/3] lint --- Metro/Metro_RP2350_Memory/memory_game/code.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Metro/Metro_RP2350_Memory/memory_game/code.py b/Metro/Metro_RP2350_Memory/memory_game/code.py index db8a5b060..b01b58bbf 100644 --- a/Metro/Metro_RP2350_Memory/memory_game/code.py +++ b/Metro/Metro_RP2350_Memory/memory_game/code.py @@ -10,6 +10,7 @@ import array import random import time +import atexit from displayio import Group, OnDiskBitmap, TileGrid from adafruit_display_text.bitmap_label import Label from adafruit_display_text.text_box import TextBox @@ -18,7 +19,6 @@ import supervisor import terminalio import usb.core -import atexit from adafruit_fruitjam.peripherals import request_display_config import adafruit_usb_host_descriptors from adafruit_pathlib import Path