diff options
author | Keith Packard <keithp@keithp.com> | 2012-06-25 06:51:36 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-06-25 06:51:36 -0700 |
commit | 09761fe0f6ed40ff74317fbb47d6a74068fb4ce4 (patch) | |
tree | 294de35ab62833f4f24bef66ca99c9736c017570 /src/core/ao_fec.h | |
parent | 628076aa90e7bc9a894646e417dd8e1fe149b60d (diff) |
altos: Incremental viterbi decode
Decode radio input one interleave block at a time. This overlaps the
decode computation with the packet reception, leading to lower latency
in an attempt to keep up with the transmitter.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/core/ao_fec.h')
-rw-r--r-- | src/core/ao_fec.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/ao_fec.h b/src/core/ao_fec.h index e3c55d6e..4fd398eb 100644 --- a/src/core/ao_fec.h +++ b/src/core/ao_fec.h @@ -66,8 +66,10 @@ ao_fec_encode(uint8_t *in, uint8_t len, uint8_t *out); * 'out' must be len/8 bytes long */ +#define AO_FEC_DECODE_BLOCK (8 * 32) /* callback must return multiples of this many bits */ + uint8_t -ao_fec_decode(uint8_t *in, uint16_t in_len, uint8_t *out, uint8_t out_len); +ao_fec_decode(uint8_t *in, uint16_t in_len, uint8_t *out, uint8_t out_len, uint16_t (*callback)()); /* * Interleave data packed in bytes. 'out' must be 'len' bytes long. |