You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
691 B
26 lines
691 B
/* 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; |
|
}
|
|
|