1 |
|
|
// In the frame of RPW LFR Sofware ICD Issue1 Rev8 (05/07/2013) => R2 FSW |
2 |
|
|
// version 1.0: 31/07/2013 |
3 |
|
|
// version 1.1: 02/04/2014 |
4 |
|
|
// version 1.2: 30/04/2014 |
5 |
|
|
// version 1.3: 02/05/2014 |
6 |
|
|
// version 1.4: 16/05/2014 |
7 |
|
|
// version 1.5: 20/05/2014 |
8 |
|
|
// version 1.6: 19/12/2014 |
9 |
|
|
// version 1.7: 15/01/2015 (modifs de Paul + correction erreurs qui se compensaient (LSB <=> MSB + indices [0,2] <=> [1,3]) |
10 |
|
|
// version 1.8: 02/02/2015 (gestion des divisions par zéro) |
11 |
|
|
// In the frame of RPW LFR Sofware ICD Issue3 Rev6 (27/01/2015) => R3 FSW |
12 |
|
|
// version 2.0: 19/06/2015 |
13 |
|
|
// version 2.1: 22/06/2015 (modifs de Paul) |
14 |
|
|
// version 2.2: 23/06/2015 (modifs de l'ordre de déclaration/définition de init_k_coefficients dans basic_parameters.c ... + maintien des declarations dans le .h) |
15 |
|
|
// version 2.3: 01/07/2015 (affectation initiale des octets 7 et 9 dans les BP1 corrigée ...) |
16 |
|
|
|
17 |
|
|
#include <stdio.h> |
18 |
|
|
#include <stdint.h> |
19 |
|
|
|
20 |
|
|
#include "basic_parameters_params.h" |
21 |
|
|
|
22 |
|
3 |
void init_k_coefficients_f0(float *k_coefficients, |
23 |
|
|
unsigned char nb_binscompressed_matrix ) |
24 |
|
|
{ |
25 |
|
|
|
26 |
|
|
uint8_t i; // 8 bits unsigned |
27 |
✓✓ |
36 |
for(i=0; i<nb_binscompressed_matrix; i++){ |
28 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K44_PE] = 1; |
29 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K55_PE] = 1; |
30 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_RE] = 1; |
31 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_IM] = 1; |
32 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_RE] = 1; |
33 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_IM] = 1; |
34 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_RE] = 1; |
35 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_IM] = 1; |
36 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_RE] = 1; |
37 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_IM] = 1; |
38 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_RE] = 1; |
39 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_IM] = 1; |
40 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_RE] = 1; |
41 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_IM] = 1; |
42 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_RE] = 1; |
43 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_IM] = 1; |
44 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_RE] = 1; |
45 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_IM] = 1; |
46 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_RE] = 1; |
47 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_IM] = 1; |
48 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_RE] = 1; |
49 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_IM] = 1; |
50 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_RE] = 1; |
51 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_IM] = 1; |
52 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_RE] = 1; |
53 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_IM] = 1; |
54 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_RE] = 1; |
55 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_IM] = 1; |
56 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_RE] = 1; |
57 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_IM] = 1; |
58 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_RE] = 1; |
59 |
|
33 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_IM] = 1; |
60 |
|
|
} |
61 |
|
|
|
62 |
|
3 |
} |
63 |
|
|
|
64 |
|
|
|
65 |
|
3 |
void init_k_coefficients_f1(float *k_coefficients, |
66 |
|
|
unsigned char nb_binscompressed_matrix ) |
67 |
|
|
{ |
68 |
|
|
|
69 |
|
|
uint8_t i; // 8 bits unsigned |
70 |
✓✓ |
42 |
for(i=0; i<nb_binscompressed_matrix; i++){ |
71 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K44_PE] = 1; |
72 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K55_PE] = 1; |
73 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_RE] = 1; |
74 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_IM] = 1; |
75 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_RE] = 1; |
76 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_IM] = 1; |
77 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_RE] = 1; |
78 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_IM] = 1; |
79 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_RE] = 1; |
80 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_IM] = 1; |
81 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_RE] = 1; |
82 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_IM] = 1; |
83 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_RE] = 1; |
84 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_IM] = 1; |
85 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_RE] = 1; |
86 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_IM] = 1; |
87 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_RE] = 1; |
88 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_IM] = 1; |
89 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_RE] = 1; |
90 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_IM] = 1; |
91 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_RE] = 1; |
92 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_IM] = 1; |
93 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_RE] = 1; |
94 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_IM] = 1; |
95 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_RE] = 1; |
96 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_IM] = 1; |
97 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_RE] = 1; |
98 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_IM] = 1; |
99 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_RE] = 1; |
100 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_IM] = 1; |
101 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_RE] = 1; |
102 |
|
39 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_IM] = 1; |
103 |
|
|
} |
104 |
|
|
|
105 |
|
3 |
} |
106 |
|
|
|
107 |
|
|
|
108 |
|
3 |
void init_k_coefficients_f2(float *k_coefficients, |
109 |
|
|
unsigned char nb_binscompressed_matrix ) |
110 |
|
|
{ |
111 |
|
|
|
112 |
|
|
uint8_t i; // 8 bits unsigned |
113 |
✓✓ |
39 |
for(i=0; i<nb_binscompressed_matrix; i++){ |
114 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K44_PE] = 1; |
115 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K55_PE] = 1; |
116 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_RE] = 1; |
117 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_IM] = 1; |
118 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_RE] = 1; |
119 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_IM] = 1; |
120 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_RE] = 1; |
121 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_IM] = 1; |
122 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_RE] = 1; |
123 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_IM] = 1; |
124 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_RE] = 1; |
125 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_IM] = 1; |
126 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_RE] = 1; |
127 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_IM] = 1; |
128 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_RE] = 1; |
129 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_IM] = 1; |
130 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_RE] = 1; |
131 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_IM] = 1; |
132 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_RE] = 1; |
133 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_IM] = 1; |
134 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_RE] = 1; |
135 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_IM] = 1; |
136 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_RE] = 1; |
137 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_IM] = 1; |
138 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_RE] = 1; |
139 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_IM] = 1; |
140 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_RE] = 1; |
141 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_IM] = 1; |
142 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_RE] = 1; |
143 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_IM] = 1; |
144 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_RE] = 1; |
145 |
|
36 |
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_IM] = 1; |
146 |
|
|
} |
147 |
|
|
|
148 |
|
3 |
} |
149 |
|
|
|
150 |
|
|
|
151 |
|
9 |
void init_k_coefficients(float *k_coefficients, |
152 |
|
|
unsigned char nb_binscompressed_matrix ) |
153 |
|
|
{ |
154 |
✓✓✓✗
|
9 |
switch (nb_binscompressed_matrix) |
155 |
|
|
{ |
156 |
|
|
case NB_BINS_COMPRESSED_MATRIX_f0: |
157 |
|
|
#ifdef DEBUG_TCH |
158 |
|
|
printf("F0 data: initialization of the intercalibration k-coefficients\n"); |
159 |
|
|
#endif |
160 |
|
3 |
init_k_coefficients_f0(k_coefficients, nb_binscompressed_matrix); |
161 |
|
3 |
break; |
162 |
|
|
|
163 |
|
|
case NB_BINS_COMPRESSED_MATRIX_f1: |
164 |
|
|
#ifdef DEBUG_TCH |
165 |
|
|
printf("F1 data: initialization of the intercalibration k-coefficients\n"); |
166 |
|
|
#endif |
167 |
|
3 |
init_k_coefficients_f1(k_coefficients, nb_binscompressed_matrix); |
168 |
|
3 |
break; |
169 |
|
|
|
170 |
|
|
case NB_BINS_COMPRESSED_MATRIX_f2: |
171 |
|
|
#ifdef DEBUG_TCH |
172 |
|
|
printf("F2 data: initialization of the intercalibration k-coefficients\n"); |
173 |
|
|
#endif |
174 |
|
3 |
init_k_coefficients_f2(k_coefficients, nb_binscompressed_matrix); |
175 |
|
|
break; |
176 |
|
|
|
177 |
|
|
default: |
178 |
|
|
#ifdef DEBUG_TCH |
179 |
|
|
printf("there is a problème !!?\n"); |
180 |
|
|
#endif |
181 |
|
|
break; |
182 |
|
|
} |
183 |
|
9 |
} |
184 |
|
|
|