/* 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" 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; }