I do have a logic analyzer and the lines are both pulled up. I initially
thought it was my hardware, but I have another I2C master device I can send
bytes from and the transactions look identical.

Back to the IOIO - I narrowed it down to the case where if I send more than
78 (actually, it may be 79 - I need to double-check) bytes to the
writeRead() method, it just fails.  If I send a large number (like 1024),
it seems to just block, and I am implementing the call to writeRead in a
runnable I can poll and cancel - so after a few seconds, I can timeout the
transaction.  If I send a number somewhere between 80 and say 128, the IOIO
will actually forcibly disconnect pretty much immediately.

I can try to debug this further and get back to the group.

Mark.

On Tue, Dec 16, 2014 at 11:48 PM, Ytai Ben-Tsvi <[email protected]> wrote:
>
> The protocol limits the write size to 256 and read size to 255. The
> hardware buffers are 256 for writing (4 byte overhead for each transaction)
> and 128 for reading (1 byte overhead for each transaction). I don't see a
> reason why 78 would be a cutoff point. What do you mean by "get a timeout"?
> Do you have a logic analyzer by any chance, to figure out what's happening
> on the wire?
>
> On Tue, Dec 16, 2014 at 1:36 PM, Mark Melvin <[email protected]>
> wrote:
>
>> Hi Guys,
>>
>> I've been experimenting with I2C, and found that if I try to send the TWI
>> master anything more than about 78 bytes of data, it doesn't work.  I'll
>> either get a timeout, or the IOIO will forcibly disconnect.  Lowering my
>> maximum transaction size to <=78 seems to make it behave reliably.
>>
>> Is there some internal buffer that is overflowing here?  I can't find
>> anything obvious in the code.  I see there are RX and TX buffers in the PIC
>> code, but they are 128 and 256 bytes, bigger than the limitation I am
>> seeing.  And I would think this would be invisible to the user anyway, so
>> perhaps there is something at the protocol level in Java?
>>
>> Thanks,
>> Mark.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "ioio-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/ioio-users.
>> For more options, visit https://groups.google.com/d/optout.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "ioio-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/ioio-users.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to