On Fri, Feb 16, 2018 at 4:21 PM, Vipul Rahane <[email protected]> wrote:

> Hello,
>
> This has come up more than once and just wanted to hash out a design for
> the I2C manager driver. Having more than one slave is quite common and the
> slowest slave pulls the clock low prohibiting the master from starting
> another transaction on the bus.
>
> What we would like to have is :
>
> 1. Using the bus while we are waiting for responses from a slave (I assume
> this would be a case of clock stretching by the slave)
>

If a slave is clock-stretching, there is nothing you can do. The bus can't
just magically be used with other nodes.

In fact, if a slave is holding SCL LOW to stretch, then the whole bus is
screwed IF/until that slave releases SCL. If it *never* does ... heh.
Whoops. ... I ran into this once. There is just no way to say "dude. let up
on the SCL." ... I had to reset my entire I2C network.

So... not sure what you're thinking here.

Cheers,
-g

Reply via email to