/* This function wraps around the fixed 8-bit decoder, performing the * basis transformations necessary to meet the CCSDS standard * * Copyright 2002, Phil Karn, KA9Q * May be used under the terms of the GNU Lesser General Public License (LGPL) */ #include "ccsds.h" #include "fec.h" #include SATNOGS_API int decode_rs_ccsds(data_t *data, int *eras_pos, int no_eras, int pad) { int i, r; data_t cdata[NN]; /* Convert data from dual basis to conventional */ for (i = 0; i < NN - pad; i++) { cdata[i] = Tal1tab[data[i]]; } r = decode_rs_8(cdata, eras_pos, no_eras, pad); if (r > 0) { /* Convert from conventional to dual basis */ for (i = 0; i < NN - pad; i++) { data[i] = Taltab[cdata[i]]; } } return r; }