14e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi/* This function wraps around the fixed 8-bit encoder, performing the 24e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi * basis transformations necessary to meet the CCSDS standard 34e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi * 44e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi * Copyright 2002, Phil Karn, KA9Q 54e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi * fixed bug Aug 2007 64e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi * May be used under the terms of the GNU Lesser General Public License (LGPL) 74e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi */ 84e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi#include "ccsds.h" 94e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi#include "fec.h" 104e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi 114e213d510f437769f8a28578dd4f786fb7d16c4Bill Yivoid encode_rs_ccsds(data_t *data,data_t *parity,int pad){ 124e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi int i; 134e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi data_t cdata[NN-NROOTS]; 144e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi 154e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi /* Convert data from dual basis to conventional */ 164e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi for(i=0;i<NN-NROOTS-pad;i++) 174e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi cdata[i] = Tal1tab[data[i]]; 184e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi 194e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi encode_rs_8(cdata,parity,pad); 204e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi 214e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi /* Convert parity from conventional to dual basis */ 224e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi for(i=0;i<NROOTS;i++) 234e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi parity[i] = Taltab[parity[i]]; 244e213d510f437769f8a28578dd4f786fb7d16c4Bill Yi} 25