Datasheet

AR1100 RESISTIVE USB AND RS-232 TOUCH SCREEN CONTROLLER
DS41606B-page 14 2011 Microchip Technology Inc.
4.1.3 USB MODE
The USB can enumerate as one of three ‘devices’ (or
device types) identified by a byte in EEPROM. See
Table 4-1.
The HID-MOUSE and HID-DIGITIZER types are
recognized by many host operating systems and will
provide cursor movement with a touch.
The HID-GENERIC type is a proprietary style, which
would require a custom software driver to support.
The controller defaults to the HID-MOUSE device type,
unless it is commanded to enumerate as one of the
other supported types.
Once enumerated, the USB device can be
signaled/commanded to re-enumerate as the same
device or to one of the other two. In processing the
command, the AR1100 writes the desired USB device
type to EEPROM prior to detaching from the bus and
executing a Reset. The SET_FEATURE control transfer
or a WRITE standard data transfer (via the Interrupt
end point) is used to convey the command (described
in Section 5.0, Commands).
4.2 Data Protocol
Data protocol utilizes multi-byte packet transfers in two
categories/formats:
1. Touch reports
2. Command packets
4.2.1 TOUCH REPORTS
Touch reports always originate from the AR1100 and
are transmitted in response to touch detection. The
format of the touch report is mode-dependent.
The measurement resolution for touch coordinates is
10-bit. The measured values are shifted (multiplied by
4) and reported in a 12-bit format. In the reporting
protocol, the Least Significant coordinate bits X1:X0
and Y1:Y0 will be zeros. The resulting full-scale range
for reported touch coordinates is 0 to 4095.
4.2.1.1 Mode: UART, HID-GENERIC
The ‘standard’, 5-byte touch report is formatted as in
Table 4-2:
TABLE 4-1: USB IDs
NAME DESC CLASS
VENDOR
ID
PRODUCT
ID
SPEED
HID-GENERIC Proprietary (AR1000-style) HID x04D8 x0C01 FULL
HID-MOUSE Mouse, absolute coordinates 0-4095 HID x04D8 x0C02 FULL
HID-DIGITIZER Single-input digitizer HID x04D8 x0C03 FULL
Note: The HID-MOUSE requires SET_FEATURE
and does not support a data WRITE.