##// END OF EJS Templates
Merge
Merge

File last commit:

r24:d2dd915411c7 TCH
r25:b05421140884 merge tip TCH
Show More
basic_parameters.c
184 lines | 8.0 KiB | text/x-c | CLexer
/ basic_parameters.c
version 2.0 pour la R3 + modif de init_coefficients
r22 // In the frame of RPW LFR Sofware ICD Issue1 Rev8 (05/07/2013) => R2 FSW
version 1.1 qui prends en compte les modifs de Paul (cependant question des short int à faire encore ...)
r5 // version 1.0: 31/07/2013
// version 1.1: 02/04/2014
version 1.2 qui règle le problème d'alignement mémoire pour BP1 (pour BP2 plus tard ...)
r6 // version 1.2: 30/04/2014
version 1.3 qui finalise la version 1.2 (pb d'alignement mémoire réglé pour BP1 et BP2)...
r7 // version 1.3: 02/05/2014
version 1.5 qui passe le tableau des k-coefficients d'intercalibration en paramètre de la fonction BP1_set....
r12 // version 1.4: 16/05/2014
// version 1.5: 20/05/2014
version 1.6 identique à la version 1.5 pour les calculs mais réorganise les fichiers pour séparer ce qui est du ressort du local de ce qui est proprement soft de vol
r13 // version 1.6: 19/12/2014
version 1.7 qui prend en compte les modifs de Paul (entêtes) + correction erreurs...
r16 // version 1.7: 15/01/2015 (modifs de Paul + correction erreurs qui se compensaient (LSB <=> MSB + indices [0,2] <=> [1,3])
version 2.0 pour la R3 + modif de init_coefficients
r22 // version 1.8: 02/02/2015 (gestion des divisions par zéro)
// In the frame of RPW LFR Sofware ICD Issue3 Rev6 (27/01/2015) => R3 FSW
// version 2.0: 19/06/2015
Version 2.1: répond aux remarques de Pauls (Task #446: BP1 BP2 pour release 3)
r24 // version 2.1: 22/06/2015 (modifs de Paul)
version 1.7 qui prend en compte les modifs de Paul (entêtes) + correction erreurs...
r16
version 2.0 pour la R3 + modif de init_coefficients
r22 #include <stdio.h>
version 1.6 identique à la version 1.5 pour les calculs mais réorganise les fichiers pour séparer ce qui est du ressort du local de ce qui est proprement soft de vol
r13 #include <stdint.h>
version 1.6 suite a
r14 #include "basic_parameters_params.h"
version 1.6 identique à la version 1.5 pour les calculs mais réorganise les fichiers pour séparer ce qui est du ressort du local de ce qui est proprement soft de vol
r13
version 1.7 qui prend en compte les modifs de Paul (entêtes) + correction erreurs...
r16 void init_k_coefficients(float *k_coefficients,
unsigned char nb_binscompressed_matrix )
version 1.6 identique à la version 1.5 pour les calculs mais réorganise les fichiers pour séparer ce qui est du ressort du local de ce qui est proprement soft de vol
r13 {
version 2.0 pour la R3 + modif de init_coefficients
r22 switch (nb_binscompressed_matrix)
Version 2.1: répond aux remarques de Pauls (Task #446: BP1 BP2 pour release 3)
r24 {
case NB_BINS_COMPRESSED_MATRIX_f0:
#ifdef DEBUG_TCH
printf("F0 data: initialization of the intercalibration k-coefficients\n");
#endif
version 2.0 pour la R3 + modif de init_coefficients
r22 init_k_coefficients_f0(k_coefficients, nb_binscompressed_matrix);
break;
Version 2.1: répond aux remarques de Pauls (Task #446: BP1 BP2 pour release 3)
r24
case NB_BINS_COMPRESSED_MATRIX_f1:
#ifdef DEBUG_TCH
printf("F1 data: initialization of the intercalibration k-coefficients\n");
#endif
version 2.0 pour la R3 + modif de init_coefficients
r22 init_k_coefficients_f1(k_coefficients, nb_binscompressed_matrix);
break;
Version 2.1: répond aux remarques de Pauls (Task #446: BP1 BP2 pour release 3)
r24
case NB_BINS_COMPRESSED_MATRIX_f2:
#ifdef DEBUG_TCH
printf("F2 data: initialization of the intercalibration k-coefficients\n");
#endif
version 2.0 pour la R3 + modif de init_coefficients
r22 init_k_coefficients_f2(k_coefficients, nb_binscompressed_matrix);
break;
Version 2.1: répond aux remarques de Pauls (Task #446: BP1 BP2 pour release 3)
r24
version 2.0 pour la R3 + modif de init_coefficients
r22 default:
Version 2.1: répond aux remarques de Pauls (Task #446: BP1 BP2 pour release 3)
r24 #ifdef DEBUG_TCH
printf("there is a problème !!?\n");
#endif
version 2.0 pour la R3 + modif de init_coefficients
r22 break;
}
}
void init_k_coefficients_f0(float *k_coefficients,
unsigned char nb_binscompressed_matrix )
{
uint8_t i; // 8 bits unsigned
version 1.7 qui prend en compte les modifs de Paul (entêtes) + correction erreurs...
r16 for(i=0; i<nb_binscompressed_matrix; i++){
k_coefficients[i*NB_K_COEFF_PER_BIN+K44_PE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K55_PE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_IM] = 1;
version 1.6 identique à la version 1.5 pour les calculs mais réorganise les fichiers pour séparer ce qui est du ressort du local de ce qui est proprement soft de vol
r13 }
version 2.0 pour la R3 + modif de init_coefficients
r22
version 1.6 identique à la version 1.5 pour les calculs mais réorganise les fichiers pour séparer ce qui est du ressort du local de ce qui est proprement soft de vol
r13 }
version 2.0 pour la R3 + modif de init_coefficients
r22
void init_k_coefficients_f1(float *k_coefficients,
unsigned char nb_binscompressed_matrix )
{
uint8_t i; // 8 bits unsigned
for(i=0; i<nb_binscompressed_matrix; i++){
k_coefficients[i*NB_K_COEFF_PER_BIN+K44_PE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K55_PE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_IM] = 1;
}
}
void init_k_coefficients_f2(float *k_coefficients,
unsigned char nb_binscompressed_matrix )
{
uint8_t i; // 8 bits unsigned
for(i=0; i<nb_binscompressed_matrix; i++){
k_coefficients[i*NB_K_COEFF_PER_BIN+K44_PE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K55_PE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K45_PE_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K14_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K15_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_SX_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NY_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K24_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K25_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K34_NZ_IM] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_RE] = 1;
k_coefficients[i*NB_K_COEFF_PER_BIN+K35_NZ_IM] = 1;
}
}