@@ -1,2 +1,2 | |||
|
1 | a586fe639ac179e95bdc150ebdbab0312f31dc30 LFR_basic-parameters | |
|
1 | b054211408845ff1f92ddeaae6e651e90d996ffb LFR_basic-parameters | |
|
2 | 2 | bb9afa759d57093f7646d3be18f4a9923a4cbf84 header/lfr_common_headers |
@@ -12,7 +12,7 SWVERSION=-1-0 | |||
|
12 | 12 | DEFINES += SW_VERSION_N1=3 # major |
|
13 | 13 | DEFINES += SW_VERSION_N2=0 # minor |
|
14 | 14 | DEFINES += SW_VERSION_N3=0 # patch |
|
15 |
DEFINES += SW_VERSION_N4= |
|
|
15 | DEFINES += SW_VERSION_N4=6 # internal | |
|
16 | 16 | |
|
17 | 17 | # <GCOV> |
|
18 | 18 | #QMAKE_CFLAGS_RELEASE += -fprofile-arcs -ftest-coverage |
@@ -28,7 +28,7 rtems_task prc0_task( rtems_task_argumen | |||
|
28 | 28 | // FUNCTIONS |
|
29 | 29 | |
|
30 | 30 | void reset_nb_sm_f0( unsigned char lfrMode ); |
|
31 |
void init_k_coefficients_ |
|
|
31 | void init_k_coefficients_prc0( void ); | |
|
32 | 32 | void test_TCH( void ); |
|
33 | 33 | |
|
34 | 34 | //******* |
@@ -26,7 +26,7 rtems_task prc1_task( rtems_task_argumen | |||
|
26 | 26 | // FUNCTIONS |
|
27 | 27 | |
|
28 | 28 | void reset_nb_sm_f1( unsigned char lfrMode ); |
|
29 |
void init_k_coefficients_ |
|
|
29 | void init_k_coefficients_prc1( void ); | |
|
30 | 30 | |
|
31 | 31 | //******* |
|
32 | 32 | // EXTERN |
@@ -21,7 +21,7 rtems_task prc2_task( rtems_task_argumen | |||
|
21 | 21 | |
|
22 | 22 | void reset_nb_sm_f2( void ); |
|
23 | 23 | void SM_average_f2(float *averaged_spec_mat_f2, ring_node *ring_node, unsigned int nbAverageNormF2 , asm_msg *msgForMATR); |
|
24 |
void init_k_coefficients_ |
|
|
24 | void init_k_coefficients_prc2( void ); | |
|
25 | 25 | |
|
26 | 26 | //******* |
|
27 | 27 | // EXTERN |
@@ -320,4 +320,6 void ASM_compress_reorganize_and_divide_ | |||
|
320 | 320 | |
|
321 | 321 | int getFBinMask(int k); |
|
322 | 322 | |
|
323 | void init_kcoeff_sbm_from_kcoeff_norm( float *input_kcoeff, float *output_kcoeff, unsigned char nb_bins_norm); | |
|
324 | ||
|
323 | 325 | #endif // FSW_PROCESSING_H_INCLUDED |
@@ -66,5 +66,6 void copyFloatByChar( unsigned char *des | |||
|
66 | 66 | void init_parameter_dump( void ); |
|
67 | 67 | void init_kcoefficients_dump( void ); |
|
68 | 68 | void init_kcoefficients_dump_packet( Packet_TM_LFR_KCOEFFICIENTS_DUMP_t *kcoefficients_dump, unsigned char pkt_nr, unsigned char blk_nr ); |
|
69 | void print_k_coeff(); | |
|
69 | 70 | |
|
70 | 71 | #endif // TC_LOAD_DUMP_PARAMETERS_H |
@@ -135,9 +135,9 rtems_task Init( rtems_task_argument ign | |||
|
135 | 135 | init_kcoefficients_dump(); |
|
136 | 136 | init_local_mode_parameters(); |
|
137 | 137 | init_housekeeping_parameters(); |
|
138 |
init_k_coefficients_ |
|
|
139 |
init_k_coefficients_ |
|
|
140 |
init_k_coefficients_ |
|
|
138 | init_k_coefficients_prc0(); | |
|
139 | init_k_coefficients_prc1(); | |
|
140 | init_k_coefficients_prc2(); | |
|
141 | 141 | |
|
142 | 142 | // waveform picker initialization |
|
143 | 143 | WFP_init_rings(); // initialize the waveform rings |
@@ -395,8 +395,10 void reset_nb_sm_f0( unsigned char lfrMo | |||
|
395 | 395 | } |
|
396 | 396 | } |
|
397 | 397 | |
|
398 |
void init_k_coefficients_ |
|
|
398 | void init_k_coefficients_prc0( void ) | |
|
399 | 399 | { |
|
400 |
init_k_coefficients( k_coeff_intercalib_f0_norm, NB_BINS_COMPRESSED_SM_F0 |
|
|
401 | init_k_coefficients( k_coeff_intercalib_f0_sbm, NB_BINS_COMPRESSED_SM_SBM_F0); | |
|
400 | init_k_coefficients( k_coeff_intercalib_f0_norm, NB_BINS_COMPRESSED_SM_F0 ); | |
|
401 | ||
|
402 | init_kcoeff_sbm_from_kcoeff_norm( k_coeff_intercalib_f0_norm, k_coeff_intercalib_f0_sbm, NB_BINS_COMPRESSED_SM_F0); | |
|
402 | 403 | } |
|
404 |
@@ -382,8 +382,9 void reset_nb_sm_f1( unsigned char lfrMo | |||
|
382 | 382 | } |
|
383 | 383 | } |
|
384 | 384 | |
|
385 |
void init_k_coefficients_ |
|
|
385 | void init_k_coefficients_prc1( void ) | |
|
386 | 386 | { |
|
387 |
init_k_coefficients( k_coeff_intercalib_f1_norm, NB_BINS_COMPRESSED_SM_F1 |
|
|
388 | init_k_coefficients( k_coeff_intercalib_f1_sbm, NB_BINS_COMPRESSED_SM_SBM_F1); | |
|
387 | init_k_coefficients( k_coeff_intercalib_f1_norm, NB_BINS_COMPRESSED_SM_F1 ); | |
|
388 | ||
|
389 | init_kcoeff_sbm_from_kcoeff_norm( k_coeff_intercalib_f1_norm, k_coeff_intercalib_f1_sbm, NB_BINS_COMPRESSED_SM_F1); | |
|
389 | 390 | } |
@@ -285,7 +285,7 void SM_average_f2( float *averaged_spec | |||
|
285 | 285 | } |
|
286 | 286 | } |
|
287 | 287 | |
|
288 |
void init_k_coefficients_ |
|
|
288 | void init_k_coefficients_prc2( void ) | |
|
289 | 289 | { |
|
290 | 290 | init_k_coefficients( k_coeff_intercalib_f2, NB_BINS_COMPRESSED_SM_F2); |
|
291 | 291 | } |
@@ -654,3 +654,18 int getFBinMask( int index ) | |||
|
654 | 654 | |
|
655 | 655 | return fbin; |
|
656 | 656 | } |
|
657 | ||
|
658 | void init_kcoeff_sbm_from_kcoeff_norm(float *input_kcoeff, float *output_kcoeff, unsigned char nb_bins_norm) | |
|
659 | { | |
|
660 | unsigned char bin; | |
|
661 | unsigned char kcoeff; | |
|
662 | ||
|
663 | for (bin=0; bin<nb_bins_norm; bin++) | |
|
664 | { | |
|
665 | for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++) | |
|
666 | { | |
|
667 | output_kcoeff[ (bin*NB_K_COEFF_PER_BIN + kcoeff)*2 ] = input_kcoeff[ bin*NB_K_COEFF_PER_BIN + kcoeff ]; | |
|
668 | output_kcoeff[ (bin*NB_K_COEFF_PER_BIN + kcoeff)*2 + 1 ] = input_kcoeff[ bin*NB_K_COEFF_PER_BIN + kcoeff ]; | |
|
669 | } | |
|
670 | } | |
|
671 | } |
@@ -905,7 +905,7 int set_sy_lfr_fbins( ccsdsTelecommandPa | |||
|
905 | 905 | // KCOEFFICIENTS |
|
906 | 906 | int set_sy_lfr_kcoeff( ccsdsTelecommandPacket_t *TC,rtems_id queue_id ) |
|
907 | 907 | { |
|
908 |
unsigned int |
|
|
908 | unsigned int kcoeff; | |
|
909 | 909 | unsigned short sy_lfr_kcoeff_frequency; |
|
910 | 910 | unsigned short bin; |
|
911 | 911 | unsigned short *freqPtr; |
@@ -962,12 +962,12 int set_sy_lfr_kcoeff( ccsdsTelecommandP | |||
|
962 | 962 | |
|
963 | 963 | if (kcoeffPtr_norm != NULL ) // update K coefficient for NORMAL data products |
|
964 | 964 | { |
|
965 |
for ( |
|
|
965 | for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++) | |
|
966 | 966 | { |
|
967 | 967 | // destination |
|
968 |
kcoeffNormPtr = (unsigned char*) &kcoeffPtr_norm[ |
|
|
968 | kcoeffNormPtr = (unsigned char*) &kcoeffPtr_norm[ (bin * NB_K_COEFF_PER_BIN) + kcoeff ]; | |
|
969 | 969 | // source |
|
970 |
kcoeffLoadPtr = (unsigned char*) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_1 + NB_BYTES_PER_FLOAT * |
|
|
970 | kcoeffLoadPtr = (unsigned char*) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_1 + NB_BYTES_PER_FLOAT * kcoeff]; | |
|
971 | 971 | // copy source to destination |
|
972 | 972 | copyFloatByChar( kcoeffNormPtr, kcoeffLoadPtr ); |
|
973 | 973 | } |
@@ -975,19 +975,21 int set_sy_lfr_kcoeff( ccsdsTelecommandP | |||
|
975 | 975 | |
|
976 | 976 | if (kcoeffPtr_sbm != NULL ) // update K coefficient for SBM data products |
|
977 | 977 | { |
|
978 |
for ( |
|
|
978 | for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++) | |
|
979 | 979 | { |
|
980 | 980 | // destination |
|
981 |
kcoeffSbmPtr_a= (unsigned char*) &kcoeffPtr_sbm[ |
|
|
982 |
kcoeffSbmPtr_b= (unsigned char*) &kcoeffPtr_sbm[ |
|
|
981 | kcoeffSbmPtr_a= (unsigned char*) &kcoeffPtr_sbm[ ( (bin * NB_K_COEFF_PER_BIN) + kcoeff) * 2 ]; | |
|
982 | kcoeffSbmPtr_b= (unsigned char*) &kcoeffPtr_sbm[ ( (bin * NB_K_COEFF_PER_BIN) + kcoeff) * 2 + 1 ]; | |
|
983 | 983 | // source |
|
984 |
kcoeffLoadPtr = (unsigned char*) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_1 + NB_BYTES_PER_FLOAT * |
|
|
984 | kcoeffLoadPtr = (unsigned char*) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_1 + NB_BYTES_PER_FLOAT * kcoeff]; | |
|
985 | 985 | // copy source to destination |
|
986 | 986 | copyFloatByChar( kcoeffSbmPtr_a, kcoeffLoadPtr ); |
|
987 | 987 | copyFloatByChar( kcoeffSbmPtr_b, kcoeffLoadPtr ); |
|
988 | 988 | } |
|
989 | 989 | } |
|
990 | 990 | |
|
991 | // print_k_coeff(); | |
|
992 | ||
|
991 | 993 | return status; |
|
992 | 994 | } |
|
993 | 995 | |
@@ -1138,5 +1140,33 void init_kcoefficients_dump_packet( Pac | |||
|
1138 | 1140 | } |
|
1139 | 1141 | } |
|
1140 | 1142 | |
|
1143 | void print_k_coeff() | |
|
1144 | { | |
|
1145 | unsigned int kcoeff; | |
|
1146 | unsigned int bin; | |
|
1141 | 1147 | |
|
1148 | for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++) | |
|
1149 | { | |
|
1150 | printf("kcoeff = %d *** ", kcoeff); | |
|
1151 | for (bin=0; bin<NB_BINS_COMPRESSED_SM_F0; bin++) | |
|
1152 | { | |
|
1153 | printf( "%f ", k_coeff_intercalib_f0_norm[bin*NB_K_COEFF_PER_BIN+kcoeff] ); | |
|
1154 | } | |
|
1155 | printf("\n"); | |
|
1156 | } | |
|
1142 | 1157 | |
|
1158 | printf("\n"); | |
|
1159 | ||
|
1160 | for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++) | |
|
1161 | { | |
|
1162 | printf("kcoeff = %d *** ", kcoeff); | |
|
1163 | for (bin=0; bin<NB_BINS_COMPRESSED_SM_F0; bin++) | |
|
1164 | { | |
|
1165 | printf( "[%f, %f] ", | |
|
1166 | k_coeff_intercalib_f0_sbm[(bin*NB_K_COEFF_PER_BIN )*2 + kcoeff], | |
|
1167 | k_coeff_intercalib_f0_sbm[(bin*NB_K_COEFF_PER_BIN+1)*2 + kcoeff]); | |
|
1168 | } | |
|
1169 | printf("\n"); | |
|
1170 | } | |
|
1171 | } | |
|
1172 |
General Comments 0
You need to be logged in to leave comments.
Login now