SWRA770 august 2023 CC2564C
On the device side, a hcVirtualCableUnplug indication appears.
For the DeviceControlRequest has no parameters. This does hcVirtualCableUnplug by default.
On the host side, a hcVirtualCableUnplug indication appears.
On the device, observe a report indication with the report type, ID, size, and buffer size.
The device can respond to GetReportRequest using GetReportResponse. This needs the Result type (0 for rtSuccessful, 1 for rtNotReady, 2 for rtErrInvalidReportID, 3 forrtErrUnsupportedRequest, 4 for rtErrInvalidParameter, 5 for rtErrUnknown, 6 for rtErrFatal, 7 for rtData) and ReportType (0 for rtOther, 1 for rtInput, 2 for rtOutput, 3 for rtFeature) as parameters. For example, respond to the above rtInput request from thehost with rtData as Result type and rtInput as Report Type.
The host gets a report confirmation back.
The device gets a SetReportIndication with the Report type.
The device can respond to SetReportReques t by issuing the SetReportResponse command. The only parameter needed is Result type (0 for rtSuccessful, 1 for rtNotReady, 2 forrtErrInvalidReportID, 3 for rtErrUnsupportedRequest, 4 for rtErrInvalidParameter, 5 for rtErrUnknown, 6 for rtErrFatal, 7 for rtData). For example, respond to the above rtInputReport request using rtSuccesful.
The host receives a SetReportConfirmation indication with the Result type.
The device gets a Protocol Indication.
The device can respond to the Protocol Request by issuing the GetProtocolResponse command. This requires two parameters: Result type (0 for rtSuccessful, 1 for rtNotReady, 2 forrtErrInvalidReportID, 3 for rtErrUnsupportedRequest, 4 for rtErrInvalidParameter, 5 for rtErrUnknown, 6 for rtErrFatal, and 7 for rtData) and Protocol (0 for ptBoot and 1 forptReport). For example, respond to the previous Request with rtData and ptBoot.
The host gets a protocol confirmation with the result type and protocol.
The host gets a Set Protocol Indication along with the protocol. This can respond by issuing the SetProtocolResponse command which requires Result type as the parameter (0 forrtSuccessful, 1 for rtNotReady, 2 for rtErrInvalidReportID, 3 for rtErrUnsupportedRequest, 4 for rtErrInvalidParameter, 5 for rtErrUnknown, 6 for rtErrFatal, and 7 for rtData).
A Protocol Confirmation with Result type in the host.
The device gets a GetIdleIndication.
This can respond with a GetIdleResponse which requires Result type (0 for rtSuccessful, 1 for rtNotReady, 2 for rtErrInvalidReportID, 3 for rtErrUnsupportedRequest, 4 forrtErrInvalidParameter, 5 for rtErrUnknown, 6 for rtErrFatal, and 7 for rtData) and Idle Rate as parameters. For example, respond with a Result type of rtData and Idle Rate of 50.
The host gets an Idle Confirmation.
The device receives a Set Idle Indication. This can respond using Set Idle Response which requires Result type (0 for rtSuccessful, 1 for rtNotReady, 2 for rtErrInvalidReportID, 3 forrtErrUnsupportedRequest, 4 for rtErrInvalidParameter, 5 for rtErrUnknown, 6 for rtErrFatal, and 7 for rtData) as the one parameter.
The host receives a SetIdleConfirmation with the result type.
The Host receives a Data indication.