Я реализацией пользовательским HID устройством, которое имеет следующий интерфейс:USB HID разницы между «Get Input Report» и «отчетом Input»
0x06, 0xA0, 0xFF, // Usage Page (Vendor Defined 0xFFA0)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x01, 0x00, // Logical Maximum (1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x01, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x01, 0x00, // Logical Maximum (1)
0x75, 0x01, // Report Size (1)
0x95, 0x02, // Report Count (2)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x06, // Report Size (6)
0x95, 0x01, // Report Count (1)
0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x03, // Report ID (1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (65535)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
При подключении этого устройства к компьютеру через USB-логику анализатор Я вижу это перечисление, то что-то (я не уверен, что любые идеи?) использует спрятанный дескриптор отчета разумно захватить кучу отчетов:
(control)(endpoint 0) Get Input Report[1]
(control)(endpoint 0) Get Feature Report[1]
запись «Get Input Report» перепутал меня Я думал, что входные отчеты были отправлены через передачу прерываний. Если я использую hid_write usbhid, я вижу следующую запись, так что я должен быть, по крайней мере половина прав относительно входных отчетов, отправляемых через прерывания передачи ...:
(interrupt)(endpoint 1) Input Report[1]"
Я не смог найти информацию, которая описывает разницу между «получать входные отчеты» и прерывать передачу «входных отчетов», о которых я надеюсь, что один из вас узнает.
Почему существует контроль над «получением входных отчетов»?
Почему бы не указать мандат спецификации для записи входного отчета «входной отчет»?
Почему что-то захватывает отчеты ввода/функции для каждого определенного отчета ввода/функции, используя передачу управления для входных отчетов и передачу прерываний?