5.1.6 I2C_BusRecovery Command and its Response

The I2C_BusRecovery command (0x4E) generates up to nine clock pulses on the SCL line and attempts to issue an I2C Stop condition.

This command is typically used after a clock-stretch timeout or when the I²C bus does not return to the Idle state.

This command is sent through Endpoint 0x03 (OUT) and the response is read through Endpoint 0x83 (IN).

Table 5-17. I2C_BusRecovery - Command
Byte IndexCommandDescription
00x4ECommand codeAttempts I2C bus recovery by generating up to nine SCL clock pulses and issuing an I²C STOP condition
Table 5-18. I2C_BusRecovery - Response
Byte IndexResponseDescription
00x4EReturn command codeReturns whether the command code was accepted
10x20 Accepted – successBus recovery completed successfully; the I2C bus is released and in the idle state
0x60Rejected – no ClkLowTimeoutRejected because no clock-stretch timeout has occurred
0x8CAccepted – failureThe I2C bus is not released and is not in the idle state