sys/checksum: add CRC-16 implementation without lookup table #18701
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.
Contribution description
The look-up table for CRC-16 can be quite heavy, so also provide an implementation without it.
The look-up table can be enabled with the
crc16_fast
pseudo-module.Since this removes @jue89's concern with the common implementation, also use it in DOSE instead of re-implementing CRC-16 there. (DOSE's CRC-16 implementation is now the common one without the look-up table).
Testing procedure
The
tests-checksum
unittest still works with and withoutcrc16_fast
.Issues/PRs references