21
USB Commands
Mnemonic Command Notes
USB_RESET D+/D- low > 18.7us Device Resets; Address=0
USB_SUSPEND Idle state > 3mS Device enters USB low-power mode
USB_RESUME Non-idle state Device exits USB low-power mode
Get_Status_Device 80 00 00 00 00 00 02 00 Normally returns 00 00, Self powered 00 00,
Remote wakeup 02 00
Get_Status_Interface 81 00 00 00 00 00 02 00 Normally returns 00 00
Get_Status_Endpt0 82 00 00 00 xx 00 02 00 OUT: xx=00, IN: xx=80
Normally returns 00 00
Get_Status_Endpt1 82 00 00 00 81 00 02 00 Normally returns 00 00, Halt 00 01
Get_Con guration 80 08 00 00 00 00 01 00 Return: 00=not con g., 01=con gured
Get_Interface 81 0A 00 00 00 00 01 00 Normally returns 00
Get_Protocol A1 03 00 00 00 00 01 00 Normally returns 01, Boot protocol 00
Get_Desc_Device 80 06 00 01 00 00 nn 00 See USB command details
Get_Desc_Con g 80 06 00 02 00 00 nn 00 See USB command details
Get_Desc_String 80 06 xx 03 00 00 nn 00 See USB command details
Get_Desc_HID 81 06 00 21 00 00 09 00 See USB command details
Get_Desc_HID_Report 81 06 00 22 00 00 nn 00 See USB command details
Get_HID_Input A1 01 00 01 00 00 nn 00 Return depends on motion & con g
Get_Idle A1 02 00 00 00 00 01 00 Returns rate in multiples of 4ms
Get_Vendor_Test C0 01 00 00 xx 00 01 00 Read register xx
Set_Address 00 05 xx 00 00 00 00 00 xx = address
Set_Con guration 00 09 xx 00 00 00 00 00 Not con gured: xx=00
Con gured: xx=01
Set_Interface 01 0B 00 00 00 00 00 00 Only one interface supported
Set_Protocol 21 0B xx 00 00 00 00 00 Boot: xx=00, Report: xx=01
Set_Feature_Device 00 03 01 00 00 00 00 00 Enable remote wakeup
Set_Feature_Endpt0 02 03 00 00 xx 00 00 00 Halt. OUT: xx=00, IN: xx=80
Set_Feature_Endpt1 02 03 00 00 81 00 00 00 Halt
Clear_Feature_Device 00 01 01 00 00 00 00 00 Disable Remote wakeup
Clear_Feature_Endpt0 02 01 00 00 xx 00 00 00 Clear Halt; OUT: xx=00, IN: xx=80
Clear_Feature_Endpt1 02 01 00 00 81 00 00 00 Clear Halt
Set_Idle 21 0A 00 rr 00 00 00 00 rr = report rate in multiples of 4ms
Set_Vendor_Test 40 01 00 00 xx yy 00 00 Write yy to address xx
Poll_Endpt1 Read buttons, motion, & Z-wheel
Note:
The last two bytes in a command shown as “nn 00” specify the 16-bit data size in the order of “LowByte HighByte.” For example a two-byte data size
would be specifed as “02 00.” ADNS-5700-XXXX will not provide more bytes than the number requested in the command, but it will only supply up to
a maximum of 8 bytes at a time. The ADNS-5700-XXXX will re-send the last packet if the transfer is not acknowledged properly.