ADNK-6710 Avago Technologies US Inc., ADNK-6710 Datasheet - Page 8

Automatic Laser Calibration Tool

ADNK-6710

Manufacturer Part Number
ADNK-6710
Description
Automatic Laser Calibration Tool
Manufacturer
Avago Technologies US Inc.
Datasheet

Specifications of ADNK-6710

Tool Type
Laser Power Calibrator
Description/function
Optical Mouse Sensor Kit
Interface Type
USB
Product
Display Modules
Touch Panel
No Touch Panel
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
For Use With/related Products
Laser Power Alignment
Lead Free Status / Rohs Status
No
5. Laser Optical Mouse Firmware MCU Implementation
To implement USB Direct, two set of USB descriptors is required in the mouse firmware. Mouse will enter calibration
mode if LEFT button is pressed and plug into specific PC USB port subsequently. In calibration mode, the mouse cursor
will not move.
The firmware for this reference design is written in the SUNPLUS assembly language. The following files are required to
compile the mouse firmware.
SPCP825A _A6000.asm - main mouse firmware
calibration_hid.asm – HID compliant device USB descriptor ROM tables. Load during calibration mode.
hiddesc3.asm - 3 buttons mouse mode USB descriptor ROM tables. Load during normal mouse mode.
pro_6000.asm – Routine to access ANDS-6000 sensor register.
spi.asm - Routine to access ANDS-6000 sensor register and EEPROM during calibration mode.
SPCP825A.inc - the SPCP825A I/O registers definition.
adns6000_srom_25.inc – ADNS-6000 SROM firmware.
ADNS6000.inc - ADNS6000 interface constants.
delay.inc - SPCP825A delay loop subroutine.
decode_setup.inc - USB descriptor and request constants.
DET_Z.inc - SPCP825A Z-axis event handler.
DET_KEY.inc - SPCP825A button event handler.
Firmware Mode Selection Routine
At power up, the firmware examines the host interface and automatically determines if the mouse is plugged into a USB
host connection. After the interface type has been determined, the host firmware configures itself to operate on the
detected interface.
Figure 3.0 Firmware Execution Flow to Determine Mouse Mode

normal_mode = ‘1’
(calibration _hid.asm)
Device USB Descriptor
Load HID-Compliant
Calibration Mode
YES
YES
Mouse LEFT Button
normal_mode == ‘0’
Descriptor Request
Is HID Device
Power ON
Pressed ?
Interrupt ?
?
YES
Mouse USB Descriptor
Load HID-Compliant
(hiddesc3.asm)
Normal Mouse
normal_mode = ‘0’
NO
NO

Related parts for ADNK-6710