USB Class FF Subclass 00 Prot 00: Technical Details and Compatibility
USB класс FF, подкласс 00 и протокол 00 относятся к устройствам, которые не соответствуют никакому стандартному классу USB.
Это означает, что устройство реализует свой собственный интерфейс взаимодействия с компьютером через USB-порт.
Например, такое устройство может быть производственным контроллером для автоматизации производственных процессов, где требуется специфический протокол связи и управления.
Пример кода для работы с устройством, использующим класс FF, подкласс 00 и протокол 00, может выглядеть следующим образом:
#include
usb_dev_handle *dev_handle;
// открываем USB-устройство с нужными параметрами класса, подкласса и протокола
dev_handle = usb_open_device_with_vid_pid(NULL, vendor_id, product_id);
usb_detach_kernel_driver_np(dev_handle, interface_number); // отключаем ядро-драйвер
// отправляем команду на устройство
unsigned char buffer[64];
int bytes_sent = usb_control_msg(dev_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE |
USB_ENDPOINT_OUT, request_code, value, index, buffer, length, timeout);
// считываем данные от устройства
unsigned char receive_buffer[64];
int bytes_received = usb_control_msg(dev_handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE |
USB_ENDPOINT_IN, request_code, value, index, receive_buffer, length, timeout);
// закрываем устройство
usb_close(dev_handle);
Здесь используется функционал стандартной библиотеки libusb для работы с USB-устройствами и отправки контрольных сообщений через USB-интерфейс.