diff options
author | Daniel Estévez <daniel@destevez.net> | 2020-07-19 17:41:08 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2020-10-01 19:47:22 +0200 |
commit | ae0c0979d5be3d89510c29834e8226894fad028d (patch) | |
tree | 7a0a87c9d3f85b7152aa9b77272d822a18899f1f /grc/core/utils/expr_utils.py | |
parent | 5fd9d0926906bf8128f3121218462136d0887266 (diff) |
gr-fec: build and export (en|de)code_rs_8() and (en|de)code_rs_ccsds()
These functions implement the CCSDS Reed-Solomon code in the conventional
and dual basis respectively. The code for them was already included in
gr-fec, but they weren't built.
While these functions are currently not used in GNU Radio, they might
be used by other OOT modules, as discussed in #3637. The behaviour of
the functions (en|de)code_rs_8() could actually be achieved with the
currently available (en|de)code_rs_char(), by passing the correct
parameters to init_rs_char(), but since the CCSDS code is so popular,
having the specific functions is handy. On the other hand, it is not
possible to obtain (en|de)code_rs_ccsds() by using (en|de)code_rs_char(),
since there is an additional change of basis involved (see decode_rs_ccsds.c).
Some reorganization of the code has been needed. The different encode and
decode functions use some kind of templating using the C preprocessor. The
implmementation uses several symbols that should be defined by the preprocessor
before including the implementation. The implementation can be included several
times to instance the different functions.
The code in (en|de)code_rs.c has been moved to (en|de)code_rs.h, since now it
is included and compiled twice instead of being compiled directly. The files
char.c and ccsds.c include the appropriate preprocessor definitions from char.h
and fixed.h respectively and these are what is built.
Diffstat (limited to 'grc/core/utils/expr_utils.py')
0 files changed, 0 insertions, 0 deletions