|
Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
Hamming error correction codes API . More...
Functions | |
| int | hamming_8_4_encode (const uint8_t *input, size_t input_len, uint8_t *output, size_t output_len) |
| Encode a byte buffer using a (8,4) Hamming code. | |
| int | hamming_8_4_decode (const uint8_t *input, size_t input_len, uint8_t *output, size_t output_len) |
| Decode a (8,4) Hamming encoded byte buffer. | |
Hamming error correction codes API .
| int hamming_8_4_decode | ( | const uint8_t * | input, |
| size_t | input_len, | ||
| uint8_t * | output, | ||
| size_t | output_len ) |
#include <infuse/math/hamming.h>
Decode a (8,4) Hamming encoded byte buffer.
This function will automatically correct single bit errors. Decoding will terminate upon the first double bit error.
| input | Input data buffer (Encoded data) |
| input_len | Length of input data buffer in bytes |
| output | Output data buffer (Original data) |
| output_len | Length of output data buffer in bytes (must be at least 2x input_len) |
| -EINVAL | Invalid buffer sizes |
| >=0 | Number of output data symbols generated (2 per byte) |
| int hamming_8_4_encode | ( | const uint8_t * | input, |
| size_t | input_len, | ||
| uint8_t * | output, | ||
| size_t | output_len ) |
#include <infuse/math/hamming.h>
Encode a byte buffer using a (8,4) Hamming code.
Output byte 0 is the result of encoding the top 4 bits of input byte 0. Output byte 1 is the result of encoding the bottom 4 bits of input byte 0.
| input | Input data buffer (Original data) |
| input_len | Length of input data buffer in bytes |
| output | Output data buffer (Encoded data) |
| output_len | Length of output data buffer in bytes (must be at least 2x input_len) |
| -EINVAL | Invalid buffer sizes |
| >=0 | Number of output bytes generated |