8
•
setInterfaceIdle
– This routine is entered whenever a SET
IDLE request is received. See the HID specification for
the rules on setting idle periods. This function sets the
HID idle time. See the HID documentation for details on
handling the idle timer.
•
setInterfaceProtocol
– This routine is entered whenever a
SET PROTOCOL request is received. This no-data control
transaction enables boot or report protocol
•
getInterfaceReport
– This routine is entered whenever a
GET REPORT request is received.
•
getInterfaceIdle
– This routine is entered whenever a GET
IDLE request is received. This function then initiates a
control-read transaction that returns the idle time. See
the HID class documentation for more details.
•
getDeviceConfiguration
– This routine is entered whenever a
GET CONFIGURATION Request is received. This function
then starts a control read transaction that sends the
configuration, interface, endpoint, and HID descriptors
to the host.
•
requestNotSupported
– Unsupported or invalid descriptor
requests will cause this firmware to STALL these
transactions.
Manufacturer String
1
A request for the manufacturer string will return the
following string:
“Avago Reference Design Mouse”
Product String
2
A request for the product string will return the following
string:
“ADNS-6090 Mouse”
Configuration String
A request for the configuration string will return the
following string:
“HID-Compliant Mouse”
Endpoint 1 String
A request for the endpoint string will return the following
string:
“Endpoint 1 Interrupt Pipe”
Notes:
1. The Manufacturer String should be changed to the name of your
company.
2. The Product String should be changed to your product’s name.
Figure 6. USB Operation Function Call Map
System
Initialization
Normal Mouse
Mode
Judge Mode
Load SROM
Adjust Laser
Main Loop
Sample Mouse
ReadDeltaX
ReadDeltaY
Read Z Wheel
Send Data
USB Initialization
Detect Key
Change
Calibration
Operation
Calibration Loop
Calibration Mode
Process
Command
Write EEPROM
Reset Sensor
Finish Command
Echo
Read Sensor
Write Sensor
Read EEPROM
Test Sensor