SC500 USB Controller Communications
23
3M Touch Systems Proprietary Information
Figure 2. Calibration Target Locations
*
The coordinates are in
video
terms, with the origin (0, 0) in the upper left corner of the screen. Examples from the
controller’s
perspective, however, place the origin at the lower left corner of the screen (numbers in brackets). The
controller outputs 0 to 64K on both axes independent of display screen resolution.
Get Feature – Get Status
This is a request to send information that indicates the status of the controller. Among
the uses for this request are determining whether there were any power on check
errors determining whether the last request was completed successfully.
The response to the reset request is sent before the request completes. Polling (via the
status request) is then used to check the completion of those requests.
Table 14. Controller Status
Offset
Field
Size
Value
Description
0
bmRequestType
1
0xA1
Host to device
1 bRequest
1
0x01
Get
Report
2
wValue
2
0x0306
03 = Feature
06 = Feature Report ID
4 wIndex
2
0 Always
0
6 wLength
2
8 Always
8
Table 15. Data Stage (controller response)
Offset
Field
Size
Value
Description
0
bReport ID
1
0x06
Feature Report ID
1
bPOCStatus
1
0xXX
Power On Check Status
2
bCmdStatus
1
0xXX
Status of last command
3 bTouchStatus
1
0xXX
Finger
Up/Down
4
bAsynchReports
1
0xXX
0x00 = asynchronous output off
0x01 = normal output
5
Not used
3
0
Not used
(0, 767) [0, 0]*
[64k,0]*
Upper Right Calibration Target
X = 1023 – (1024 x 1/8) = 1023 – 128 = 895
Y = 0 + (768 x 1/8) = 0 + 96 = 96
Lower Left Calibration Target
X = 0 + (1024 x 1/8) = 0 + 128 = 128
Y = 767 - (768 x 1/8) = 767 - 96 = 671
(
1023, 0) [64K, 64k]*
(128, 671)
(895, 96)
0,0