Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 59

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 53 54 55 56 57 58 < 59 > 60 61 62 63 64 65 .. 166 >> Следующая

REPORT_COUNT (1) 95 01
REPORT_SIZE (5) 75 05
INPUT (Cnst,Var,Abs) 81 03
USAGE-PAGE (Generic Desktop) 05 01
USAGE (X) 09 30
USAGE (Y) 09 31
LOGICAL_MINIMUM (-127) 15 81
LOGICAL-MAXIMUM (127) 25 7F
REPORT_SIZE (8) 75 08
REP0RT_C0UNT (2) 95 02
INPUT (Data,Var,Rel) 81 06
END_COLLECTION CO
END_COLLECTION CO
і Листинг 8.4. Дескриптор репорта клавиатуры
USAGE_PAGE (Generic Desktop) USAGE (Keyboard)
05 01 09 06
166
Часть III. Практика программирования
ILLECTION (Application) Al 01
FJSAGE-PAGe (Keyboard) 05 07
rjSAGE_MINIMUM (Keyboard LeftControl) 19 EO
USAGE-MAXIMUm (Keyboard Right GUI) 29 E7
LOGICaL-MINIMUM (0) 15 00
LOGICaL-MAXIMUM (1) 25 01
REPORT-SIZe (1) 75 01
REPORT-COUNt (8) 95 08
INPUT (Data,Var,Abs) 81 02
REPORT-COONt (1) 95 01
REPORt-SIZE (8) 75 08
INPUT (Cnst,Var,Abs) 81 03
REPORT-COrJNT (5) 95 05
REPORT-SIZe (1) 75 01
USAGE-PAGE (LEDs) 05 08
USAGe-MINIMUM (Num Lock) 19 01
USAGE-MAXIMUm (Kana) 29 05
OUTPUT (Data,Var,Abs) 91 02
REPORT-COONt (1) 95 01
REPORT-SIZe (3) 75 03
OUTPUT (Cnst,Var,Abs) 91 03
REPORt-COONT (6) 95 06
REPORt-SIZE (8) 75 08
LOGICAL-MINIMUm (0) 15 00
LOGICAL-MAXIMUm (101) 25 65
USAGE-PAGE (Keyboard) 05 07
USAGE-MINIMUm (Reserved (no event indicated)) 19 00
USAGE-MAXIMUm (Keyboard Application) 29 65
INPUT (Data,Ary,Abs) 81 00
END COLLECTION CO
Листинг 8 5. Дескриптор репорта монитора
USAGE-PAGE (Monitor) 05 80
USAGE (Monitor Control) 09 01
COLLECTION (Application) Al 01
REPORT-ID (1) 85 01
LOGICAL MINIMUM (0) 15 00
гпава 8. НЮ-устройства
167
LOGICALJMAXIMUM (255) 26 FF 00
REP0RT_SIZE (8) 75 08
REP0RT_C0UNT (128) 95 80
USAGE (EDID Information) 09 02
FEATURE (Data,Var,Abs,Buf) B2 02 01
REPORT-ID (2) 85 02
RE PORT-COUNT (243) 95 F3
USAGE (VDIF Information) 09 03
FEATURE (Data,Var,Abs,Buf) B2 02 01
REPORT-ID (3) 85 03
USAGE-PAGE (VESA Virtual Controls) 05 82
REPORTJCOUNT (1) 95 01
REPORT-SIZe (16) 75 10
LOGICAL-MAXIMUm (200) 26 C8 00
USAGE (Brightness) 09 10
FEATURE (Data,Var,Abs) Bl 02
REPORT-ID (4) 85 04
LOGICAL-MAXIMUm (100) 25 64
USAGE (Contrast) 09 12
FEATURE (Data,Var,Abs) Bl 02
REP0RT_C0UNT (6) 95 06
LOGICAL-MAXIMUm (255) 26 FF 00
USAGE (Video Gain Red) 09 16
USAGE (Video Gain Green) 09 18
USAGE (Video Gain Blue) 09 IA
USAGE (Video Black Level Red) 09 6C
USAGE (Video Black Level Green) 09 6E
USAGE (Video Black Level Blue) 09 70
FEATURE (Data,Var,Abs) Bl 02
REPORT-ID (5) 85 05
LOGICAL-MAXIMUm (127) 2b 7F
USAGE (Horizontal Position ) 09 20
USAGE (Horizontal Size ) 09 22
USAGE (Vertical Position ) 09 30
USAGE (Vertical Size ) 09 32
USAGE (Trapezoidal Distortion) 09 42
USAGE (Tilt) 09 44
FEATURE (Data,Var,Abs) Bl 02
END COLLECTION CO
168
Часть III. Практика программирования
8.6. Запросы к HID-устройству
HID-устройство должно отвечать на стандартные запросы: 3 Get_status (для типа запроса Device); 3 Set Address',
3 Get Descriptor (включая специфические дескрипторы HID и report);
3 Get_Confіguration; 3 Set_Configuration.
Запрос setDescriptor позволяет хосту изменять дескрипторы устройства. Обработка этою запроса необязательна.
Кроме стандартных запросов, устройство может обрабатывать специфические HID-запросы. Такие запросы имеют следующие значения полей:
3 поле bmRequestType может принимать одно из значений: 10100001В или 00100001В;
? поле bRequest задает тип специального запроса:
• 0x01 — get_report;
• 0x02 — gftidle;
• 0x03 — get_protocol;
• 0x04—0x08 — резерв;
• 0x09 — set_report;
• OxOA — set^idle;
• OxOB — set protocol.
Из этого списка обязательным является только запрос get_report', а запросы get_protocol и set_protocol обрабатываются, если устройство является загрузочным (табл. 8.6).
Таблица 8.6. Специальные запросы НЮ-устройства
Запрос Код Источник Длина Обязателен
данных данных
get_report 0x01 Устройство Длина репорта Да
GET IDLE 0x02 Устройство 1 Нет
get protocol 0x03 Устройство 1 Да, для загрузочных
устройств
' Если используется только передача данных от устройства к хосту, можно обойтись и без обработки get_report.
гпава 8. HID-устройства
169
Таблица 8.6 (окончание)
Запрос Код Источник Длина Обязателен
данных данных
SET REPORT 0x09 Хост Длина репорта Нет
SET_IDLE OxOA Хост 0 Нет
SET_PROTOCOL OxOB Хост 0 Да для загрузочных
устройств
8.6.1. Запрос GET_REPORT
Запрос GETREport позволяет хосту принять данные через нулевую конечную точку. Запрос имеет следующие поля:
? bmRequestType = I0100001Ь;
? bRequest = GEI_REPOP.T (кодОхО!);
? wValue — тип репорта и идентификатор (Report ID);
? windex — помер интерфейса;
? wLength — длина репорта;
? Data — данные репорта.
Старший байт поля wValue содержит тип репорта:
? 01 — input;
? 02 —- output;
? 03 — feature;
? 04—FF — резерв.
Младший байт поля wValue содержит идентификатор penopsa (Report IDl или 0, если идентификатор репорта не используется Обработка этого запроса обязательна для всех HID-устройств.
Предыдущая << 1 .. 53 54 55 56 57 58 < 59 > 60 61 62 63 64 65 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100