3M™ MicroTouch™ Controller EX Dual Mode Reference Guide
23
3M Touch Systems, Inc. Proprietary Information – TSD-40848A
Reset Request 7
This is a request to perform a controller reset. The standard hard or soft reset can be
requested. Soft resets are generally required for any parameter changes to take effect. A
soft reset results in the touch application using its initial (start-up) values.
Table 14. Reset Request
Offset
Field
Size
Value
Description
0 bmRequestType
1
01000000
Characteristics
1 bRequest 1
7
Command
number
2 wValue
2
0xXXXX
Reset
type
4 wIndex
2
0x0000 Not
used
6
wLength
2
0x0000
No data phase
The direction bit in bmRequestType has been set to 0 (host-to-device).
The byte bRequest is set to 7 to indicate that this is a Reset request.
The wValue field is used to select the type of reset to be performed -- 1 for Soft Reset
and 2 for Hard Reset.
The wIndex field is not used. This field should be set to zero to ensure future
compatibility.
The wLength field is set to zero since there is no data phase for this request.
Response
Since the time to complete the soft reset can be more than 500 ms, the device
acknowledges the request before it is completed. The host must issue a status request to
determine whether the reset request was completed. The command status field of the
status report will be set to “command in progress” while the soft reset is occurring. The
field will change to “soft reset occurred” when the reset has completed. Any other request
issued while the reset is still in progress will be ignored.
The hard reset is executed immediately upon decoding of this request. The reset sequence
begins by simulating a device disconnect from the host. A re-connect is then performed
and the device must re-enumerate its connection with the host. Because of this, a
response to the request cannot be sent prior to, or even after, the beginning of the reset
sequence.
The host should issue status and ID requests after the reset has completed to verify
whether this request was handled properly by the device. The status request should be
used to determine when the hard reset occurred. The ID request is used to verify that the
controller is now in the desired mode by looking at the contents of the controller type
field.
The device stalls endpoint 0 if the request cannot be processed successfully. The request
cannot be processed if the reset type specified by the wValue field is not valid.