background image

9

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

USB Functions

Main_loop

 –This function spins in an infi nite loop waiting 

for an event that needs servicing. sample_mouse and 
report_mouse_data are the functions which are called 
within this loop to retrieve any new motion or button in-
formation. The data received from these functions will be 
loaded into the endpoint 1 buff er to be sent to the host.

ep0SetupReceived

 – This routine is entered whenever a 

SETUP packet is received in on endpoint 0. It parses the 
packet and calls the appropriate routine to handle the 
packet.

ep0InReceived

 – This routine is entered whenever an IN 

packet is received on endpoint 0.

ep0OutReceived

 – This routine is entered whenever an 

OUT packet is received on endpoint 0.

setDeviceConfi guration

 – This routine is entered when a 

SET CONFIGURATION request has been received from the 
host.

setDeviceAddress

 – This routine is entered whenever 

a SET ADDRESS request has been received. The device 
address change cannot actually take place until after the 
status stage of this no-data control transaction, so the 
address is saved and a fl ag is set to indicate that a new 
address was just received. The code that handles IN trans-
actions will recognize this and set the address properly.

setInterfaceIdle

 – This routine is entered whenever a 

SET IDLE request is received. See the HID specifi cation 
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.

getDeviceConfi guration

 – This routine is entered 

whenever a GET CONFIGURATION Request is received. 
This function then starts a control read transaction that 
sends the confi guration, interface, endpoint, and HID de-
scriptors to the host.

requestNotSupported

 – Unsupported or invalid descrip-

tor requests will cause this fi rmware to STALL these trans-
actions.

Summary of Contents for ADNK-6003-SP01

Page 1: ...tion velocities up to 20 inches per second and accelerations up to 8g The ADNS 6000 sensor along with the ADNS 6120 lens ADNS 6230 001 clip and ADNV 6340 laser diode form a complete and compact laser...

Page 2: ...T high When the SPI is enabled thru PB0 NCS the PB2 SCLK PB1 MISO and PB3 MOSI GPIO pins serve special functions to enable the SPI interface to talk with external hardware During normal operation the...

Page 3: ...y reading the Motion_Burst register The ADNS 6000 will respond with the contents of the Motion Delta_X Delta_Y SQUAL Shutter_Upper Shutter_Lower and Maximum_Pixel registers in that order SROM download...

Page 4: ...buttons and USB cable See Figure 4 Unscrewing the one screw located at the base of the unit can open the ADNK 6003 SP01 unit Lifting and pulling the PCB out of the base plate can further disassemble t...

Page 5: ...ns reference plane to surface While reassembling the components please make sure that the Z height Distance from lens reference plane to surface is valid Refer to Figure 5 Sensor Sensor PCB 2 40 0 094...

Page 6: ...esign Documentation Gerber File The Gerber File presents detailed schematics used in ADNK 6003 SP01 in PCB layout form See Appendix C for more details Overall circuit A schematic of the overall circui...

Page 7: ...changed to the value as supplied by the USB IF 2 idProduct should be assigned for specific product 3 MaxPower value should be changed as per specific circuit s current draw 4 Post Enumeration Operati...

Page 8: ...000 Delta_X register for the X movement Calls the ReadSPI routine to enable the SPI interface and perform reading operations through the two wire serial interface Any new X motion information is added...

Page 9: ...routine is entered whenever a SET ADDRESS request has been received The device address change cannot actually take place until after the status stage of this no data control transaction so the addres...

Page 10: ...he following string ADNS 6000 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...

Page 11: ...A Schematic Diagram of the Overall Circuit Figure A1 Circuit level block diagram for ADNK 6003 SP01 designer s kit optical mouse using the Avago Technologies ADNS 6000 optical mouse sensor and Sunplu...

Page 12: ...1 0 125W 0805 2 Chip RES 12 7K 1 0 125W 0805 1 Chip RES 2K7 1 0 125W 0805 1 Chip RES 20K 1 0 125W 0805 4 Chip RES 100K 1 0 125W 0805 1 Chip RES 240R 1 0 125W 0805 1 Photo Transistor DIP 1 2N3906 TO 92...

Page 13: ...13 Appendix C PCB Layout Figure C1 PCB Schematic Bottom Layer Figure C2 PCB Schematic Top Layer...

Page 14: ...14 Figure C3 PCB Schematic Top Overlay Figure C4 PCB Schematic Bottom Overlay...

Page 15: ...e 0 0 0 0 0 0 Middle Right Left Byte 1 X X X X X X X X Byte 2 Y Y Y Y Y Y Y Y The following is the USB report protocol format and allows the additional wheel movement information in the fourth byte Wh...

Page 16: ...ADNS 6130 001 Trim Lens Data Sheet d ADNS 6230 001 VCSEL Assembly Clip Data Sheet e ADNV 6340 VCSEL Data Sheet f Avago Technologies ADNS 6000 ADNS 6010 ADNS 6090 and ADNS 7010 Laser Mouse Eye Safety C...

Reviews: