Управление потоковой передачей аудио с помощью pyusb

#usb #stm32 #pyusb

Вопрос:

В настоящее время я работаю над проектом с использованием составного USB-устройства, для этого процесса я использую STM32Fxx. Одним из классов является класс USB Audio, который отлично работает(протестирован с помощью audacity).

Из-за моих требований мне нужно управлять потоковой передачей аудио с помощью pyusb. Я уже отсоединил драйверы, подключенные к устройству, используя следующее

 dev = usb.core.find(idVendor=1155, idProduct=22362)

c = 1
for config in dev:
    for i in range(config.bNumInterfaces):
        if dev.is_kernel_driver_active(i):
            dev.detach_kernel_driver(i)
        print (i)
    c =1
 

Можно ли управлять потоковой передачей аудио с помощью pyusb после отсоединения драйверов и использовать audacity для ее проверки?

Ответ №1:

Отдельные интерфейсы, соответствующие классу, можно отсоединить, слегка изменив приведенный выше код

 if dev.is_kernel_driver_active(i):
    dev.detach_kernel_driver(i)
 

где i — соответствующий номер интерфейса.

Это отключит только те интерфейсы, которые вам нужно протестировать, оставив другие интерфейсы функциональными. Отдельные интерфейсы и их соответствующий номер можно найти с помощью lsusb команды