
20
SC500 USB Controller Reference Guide
3M Touch Systems Proprietary Information
Controller Initialization
To initialize the SC500 USB controller, 3M Touch Systems recommends that the host
system issue a Reset command whenever the host system is powered on and is
attempting to establish communication with the controller.
Set Feature – Set Asynchronous Report
This starts or stops the sending of various asynchronous reports via the interrupt pipe.
Once a report is turned on, that report is sent whenever data is available. The firmware
defaults to the HID-compatible report after power-up or reset. Only one report may
be activated at a time.
Note:
The TOUCH_REPORTS_UTILITY command causes the controller to send Report 7
from the endpoint 0 exclusively. This action is essential in getting a calibration utility to
function. The endpoint 1 does not send any reports at this time. The
TOUCH_REPORTS_RESTORE command causes the controller to send the previously active
asynchronous report (REPORT_ID_HID or REPORT_ID_PACKED) from endpoint 1.
Table 9. Set Asynchronous Report
Offset
Field
Size
Value
Description
0
bmRequestType
1
0x21
Host to device
1 bRequest
1
0x09
Set
Report
2
wValue
2
0x0303
03 = Feature
03 = Feature Report ID
4
wIndex
2 0 Always
0
6
wLength 2 8 Always
8
Table 10. Data Stage
Offset
Field
Size
Value
Description
0
bReport ID
1
0x03
Feature Report ID
1
bmReport Subtype
1
0x05
Indicates a SetAsynchReport
2
Not
used
2 0 Not
used
4
bReport
0x00
0 TOUCH_REPORTS_OFF
1 TOUCH_REPORTS_ON
2 TOUCH_REPORTS_HID
3 TOUCH REPORTS_PACKED
6
TOUCH_REPORTS_UTILITY
7
TOUCH_REPORTS_RESTORE
5
Not used
3
Not used
Response
The device stalls endpoint 0 if it cannot process this request.