#ifndef _CDERSOLOMOM_H #define _CDERSOLOMOM_H /*Values for modulation parameter. Indicate the number of bits per symbol*/ #define _BPSK 1 #define _QPSK 2 #define _16QAM 4 #define _64QAM 6 #define NO_MOD 7 //CONTROL DERSOLOMOM //////////////////////////////////////////////////////////////////////////////// ///////////////////////DATA CONTROL///////////////////////////////////////////// /*Define the module control parameters*/ typedef struct //Defined according the control out needs// { int ninputbytes; //Number of input data bytes// int noutputbytes; //Number of output data bytes// //Num Output Bytes=Num Input Bytes - Parity Bytes// //noutputbytes=ninputbytes+rsolomon_Pbytes// int modulation; //Modulation=Number of bits per symbol// //_BPSK, _QPSK, _16QAM, _64QAM, NO_MOD// int rsolomon_Pbytes; //RSOL: Reed Solomon number of PARITY BYTES// //QPSK (32,24,4) PARITY BYTES=8 DATASIZE=23 //QPSK (40,36,2) PARITY BYTES=4 DATASIZE=35 //16QAM (64,46,8) PARITY BYTES=16 DATASIZE=63 //16QAM (80,72,4) PARITY BYTES=8 DATASIZE=71 //64QAM (108,96,6) PARITY BYTES=12 DATASIZE=95 //64QAM (120,108,6) PARITY BYTES=12 DATASIZE=107 }CData_dersol; //COntrol Data Rando// //////////////////////////////////////////////////////////////////////////////// ///////////////////////EXECUTION CONTROL//////////////////////////////////////// /*Define the execution control parameters*/ #define NONACTIVE 0 #define ACTIVE 1 /*Defines a module as active*/ #define TEST_FLOW 2 /*Test flows: Bypass data flow mode*/ #define TEST_PROCESS 3 /*Test Module Process*/ typedef struct //Defined according the control out needs { int status; //Define the status int timeslot; //Define the timeslot to produce the change }CExec_dersol; //////////////////////////////////////////////////////////////////////////////// ///////////////////////CONTROL TYPE///////////////////////////////////////////// typedef struct //Defined according the control out needs { CData_dersol CData; CExec_dersol CExec; }CDersolomon; //Control RSolomon functionality #endif