GNU Radio's SATELLITES Package
fixed.h
Go to the documentation of this file.
1/* Stuff specific to the CCSDS (255,223) RS codec
2 * (255,223) code over GF(256). Note: the conventional basis is still
3 * used; the dual-basis mappings are performed in [en|de]code_rs_ccsds.c
4 *
5 * Copyright 2003 Phil Karn, KA9Q
6 * May be used under the terms of the GNU Lesser General Public License (LGPL)
7 */
8typedef unsigned char data_t;
9
10static inline int mod255(int x)
11{
12 while (x >= 255) {
13 x -= 255;
14 x = (x >> 8) + (x & 255);
15 }
16 return x;
17}
18#define MODNN(x) mod255(x)
19
20extern data_t CCSDS_alpha_to[];
21extern data_t CCSDS_index_of[];
22extern data_t CCSDS_poly[];
23
24#define MM 8
25#define NN 255
26#define ALPHA_TO CCSDS_alpha_to
27#define INDEX_OF CCSDS_index_of
28#define GENPOLY CCSDS_poly
29#define NROOTS 32
30#define FCR 112
31#define PRIM 11
32#define IPRIM 116
33#define PAD pad
unsigned char data_t
Definition: ccsds.h:1
data_t CCSDS_alpha_to[]
data_t CCSDS_poly[]
static int mod255(int x)
Definition: fixed.h:10
data_t CCSDS_index_of[]
unsigned char data_t
Definition: fixed.h:8