GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: LFR_basic-parameters/basic_parameters.c Lines: 113 113 100.0 %
Date: 2018-10-05 11:31:56 Branches: 9 10 90.0 %

Line Branch Exec Source
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