SETUP пакеты

SETUP пакет - это стандартно 8 байт от хоста к устройтсву.

Состав SETUP пакета:

Нулевой байт определяет направление передаваемых позже данных :

D7 Data Phase Transfer Direction
  0 = Host to Device
  1 = Device to Host
D6..5 Type
  0 = Standard
  1 = Class
  2 = Vendor
  3 = Reserved
D4..0 Recipient
  0 = Device
  1 = Interface
  2 = Endpoint
  3 = Other
4..31 = Reserved

К примеру 0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00,0x94DD -
0x80 - направление данных от устройства к хосту , а также здесь указано : Standard, Device . Но передавать устройство будет уже в следующем пакете.

1 байт - 0х06 - что запрашиваем - это GET_DESCRIPTOR
2,3 байт - 0x00 0x01 - индекс дескриптора/тип дескриптора (содержание зависит от значения байта 1)
4,5 байт - 0x00 0x00 - Index or Offset
6,7 байт - 0x40 0x00 - Количество байт к передачи (похоже на максимальное)

GET_DESCRIPTOR мы определили по таблице ниже :

фотка 1

Тип дескриптора определяем по таблице :

фотка 2

GET_DESCRIPTOR