lsm6ds3tr: avoid unnecessary heap allocations (alternative) #769
+38
−31
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 is an alternative implementation of #766
The difference is here we store read result into the buffer w/o an offset -> easier to work with. 🤩
Also, this implementation saves one byte, since we don't need one extra in the buffer anymore.
💣 This assumes however that I2C implementation does not clean the destination buffer prior to filling it.
💡 We can still have the read data be stored w/o offset in the buffer, but that requires making the buffer bigger again and then
copy(d.buf[0:size), d.buf[1:size+1))
which is probably suboptimal too.