I2C: Increase TWIBUS buffer size from 32 to 256 #4396
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This covers issue #4343.
For reference :
Originally the TWI Bus buffersize has been limited to 32 bytes. The reason mainly was the eeprom size limit. However, this doesn't seem to be a real hardware limitation but more a device dependent limitation, as it was stated on places all over the internet, for example see: Arduino discussion on i2c twi buffer limitation
Alternative:
In the past, if more than 32 bytes should be sent, a chain of multiple 32 byte buffers was sent in sequence instead.
What this PR does:
As this is no real limitation but in order to make sure that not too much ram is used for this feature, the buffer limit has been increased to only 256 bytes which should be sufficient for most edge cases.
For data larger then 256, multiple packet should be sent instead, further increasing the buffer size would unnecessarily fill the RAM.