Hi there,
I'm new to the arduino environment but am fairly familiar with pic and avr controllers and C.
I've managed to get two arduinos to communicate over I2C using the "wire.h" libs however i needed to increase the packet size of my I2C comms from the default 32 bytes up to 264 bytes for my application.
I've been into the wire.h and twi.h files and changed the defined size of the TWI buffers up to 128 and all is good but when i try to get up to 256 i run into problems.
Firstly the buffer length pointers are only defined as uint8_t which limits me to 256 byte packets.
The second problem is that when i take the buffer size up to 255 (so still within the limits of uint8_t) i see odd behaviour which looks very much like running out of SRAM to me. A scout through the TWI.h and Wire.h seems to suggest that between them these define a total of 5 buffers each of length TWI_BUFFER_LENGTH (in my case 256)! Add to this the fact that i need to have an array of transmit and receive data in my program to pass to these and you soon get up to 7*256 = 1.8kB!

Does anyone have a library that will cope with transmitting larger packet sizes over I2C?
The first uint8_t limit seems reasonable and i understand that longer packets are unusual so i may have to mod a library myself for this but the multiple buffers in the wire.h library seem to be an uneccesary inefficiency.
Thanks for any advice people might have.
Cheers
Alan