@@ -1,2 +1,2 | |||
|
1 | 1 | a586fe639ac179e95bdc150ebdbab0312f31dc30 LFR_basic-parameters |
|
2 | 5467523e44cd6a627a81b156673a891f4d6b0017 header/lfr_common_headers | |
|
2 | a806a190dcd72f71d336545073400d3cdaaa3119 header/lfr_common_headers |
@@ -89,6 +89,7 extern volatile int sm_f2[ ]; | |||
|
89 | 89 | |
|
90 | 90 | // parameters |
|
91 | 91 | extern struct param_local_str param_local; |
|
92 | extern Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet; | |
|
92 | 93 | |
|
93 | 94 | // registers |
|
94 | 95 | extern time_management_regs_t *time_management_regs; |
@@ -143,19 +144,23 static inline void SM_average(float *ave | |||
|
143 | 144 | ring_node *ring_node_tab[], |
|
144 | 145 | unsigned int nbAverageNORM, unsigned int nbAverageSBM, |
|
145 | 146 | asm_msg *msgForMATR ); |
|
147 | ||
|
146 | 148 | static inline void SM_average_debug(float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM, |
|
147 | 149 | ring_node *ring_node_tab[], |
|
148 | 150 | unsigned int nbAverageNORM, unsigned int nbAverageSBM, |
|
149 | 151 | asm_msg *msgForMATR ); |
|
150 | 152 | |
|
151 | 153 | void ASM_patch( float *inputASM, float *outputASM ); |
|
154 | ||
|
152 | 155 | void extractReImVectors(float *inputASM, float *outputASM, unsigned int asmComponent ); |
|
153 | 156 | |
|
154 | 157 | static inline void ASM_reorganize_and_divide(float *averaged_spec_mat, float *averaged_spec_mat_reorganized, |
|
155 | 158 | float divider ); |
|
159 | ||
|
156 | 160 | static inline void ASM_compress_reorganize_and_divide(float *averaged_spec_mat, float *compressed_spec_mat, |
|
157 | 161 | float divider, |
|
158 | 162 | unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage , unsigned char ASMIndexStart); |
|
163 | ||
|
159 | 164 | static inline void ASM_convert(volatile float *input_matrix, char *output_matrix); |
|
160 | 165 | |
|
161 | 166 | void SM_average( float *averaged_spec_mat_NORM, float *averaged_spec_mat_SBM, |
@@ -310,4 +315,10 void ASM_convert( volatile float *input_ | |||
|
310 | 315 | } |
|
311 | 316 | } |
|
312 | 317 | |
|
318 | void ASM_compress_reorganize_and_divide_mask(float *averaged_spec_mat, float *compressed_spec_mat, | |
|
319 | float divider, | |
|
320 | unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage , unsigned char ASMIndexStart); | |
|
321 | ||
|
322 | int getFBinMask(int k); | |
|
323 | ||
|
313 | 324 | #endif // FSW_PROCESSING_H_INCLUDED |
@@ -9,6 +9,7 | |||
|
9 | 9 | #include "tm_lfr_tc_exe.h" |
|
10 | 10 | #include "fsw_misc.h" |
|
11 | 11 | #include "basic_parameters_params.h" |
|
12 | #include "avf0_prc0.h" | |
|
12 | 13 | |
|
13 | 14 | #define FLOAT_EQUAL_ZERO 0.001 |
|
14 | 15 | |
@@ -55,8 +56,12 unsigned int check_update_info_hk_lfr_mo | |||
|
55 | 56 | unsigned int check_update_info_hk_tds_mode( unsigned char mode ); |
|
56 | 57 | unsigned int check_update_info_hk_thr_mode( unsigned char mode ); |
|
57 | 58 | |
|
59 | // FBINS_MASK | |
|
60 | int set_sy_lfr_fbins( ccsdsTelecommandPacket_t *TC ); | |
|
61 | ||
|
58 | 62 | // KCOEFFICIENTS |
|
59 | 63 | int set_sy_lfr_kcoeff( ccsdsTelecommandPacket_t *TC ); |
|
64 | void copyFloatByChar( unsigned char *destination, unsigned char *source ); | |
|
60 | 65 | |
|
61 | 66 | void init_parameter_dump( void ); |
|
62 | 67 | void init_kcoefficients_dump( void ); |
@@ -1,5 +1,5 | |||
|
1 | 1 | # LOAD FSW USING LINK 1 |
|
2 |
SpwPlugin0.StarDundeeSelectLinkNumber( |
|
|
2 | SpwPlugin0.StarDundeeSelectLinkNumber( 2 ) | |
|
3 | 3 | |
|
4 | 4 | dsu3plugin0.openFile("/opt/DEV_PLE/FSW-qt/bin/fsw") |
|
5 | 5 | #dsu3plugin0.openFile("/opt/LFR/LFR-FSW/2.0.2.3/fsw") |
@@ -11,6 +11,7 print str(availableBrickCount) + " Space | |||
|
11 | 11 | |
|
12 | 12 | SpwPlugin0.StarDundeeSelectBrick(1) |
|
13 | 13 | SpwPlugin0.StarDundeeSetBrickAsARouter(1) |
|
14 | SpwPlugin0.StarDundeeSelectLinkNumber( 2 ) | |
|
14 | 15 | SpwPlugin0.connectBridge() |
|
15 | 16 | |
|
16 | 17 | #SpwPlugin0.TCPServerSetIP("127.0.0.1") |
@@ -245,8 +245,6 rtems_task Init( rtems_task_argument ign | |||
|
245 | 245 | |
|
246 | 246 | BOOT_PRINTF("delete INIT\n") |
|
247 | 247 | |
|
248 | // test_TCH(); | |
|
249 | ||
|
250 | 248 | status = rtems_task_delete(RTEMS_SELF); |
|
251 | 249 | |
|
252 | 250 | } |
@@ -225,6 +225,8 rtems_task hous_task(rtems_task_argument | |||
|
225 | 225 | |
|
226 | 226 | spacewire_update_statistics(); |
|
227 | 227 | |
|
228 | housekeeping_packet.sy_lfr_common_parameters_spare = parameter_dump_packet.sy_lfr_common_parameters_spare; | |
|
229 | housekeeping_packet.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
228 | 230 | get_temperatures( housekeeping_packet.hk_lfr_temp_scm ); |
|
229 | 231 | get_v_e1_e2_f3( housekeeping_packet.hk_lfr_sc_v_f3 ); |
|
230 | 232 | get_cpu_load( (unsigned char *) &housekeeping_packet.hk_lfr_cpu_load ); |
@@ -584,3 +584,68 void ASM_patch( float *inputASM, float * | |||
|
584 | 584 | copyReVectors(inputASM, outputASM, 21); // e1e1 |
|
585 | 585 | copyReVectors(inputASM, outputASM, 24); // e2e2 |
|
586 | 586 | } |
|
587 | ||
|
588 | void ASM_compress_reorganize_and_divide_mask(float *averaged_spec_mat, float *compressed_spec_mat , float divider, | |
|
589 | unsigned char nbBinsCompressedMatrix, unsigned char nbBinsToAverage, unsigned char ASMIndexStart ) | |
|
590 | { | |
|
591 | //************* | |
|
592 | // input format | |
|
593 | // component0[0 .. 127] component1[0 .. 127] .. component24[0 .. 127] | |
|
594 | //************** | |
|
595 | // output format | |
|
596 | // matr0[0 .. 24] matr1[0 .. 24] .. matr127[0 .. 24] | |
|
597 | //************ | |
|
598 | // compression | |
|
599 | // matr0[0 .. 24] matr1[0 .. 24] .. matr11[0 .. 24] => f0 NORM | |
|
600 | // matr0[0 .. 24] matr1[0 .. 24] .. matr22[0 .. 24] => f0 BURST, SBM | |
|
601 | ||
|
602 | int frequencyBin; | |
|
603 | int asmComponent; | |
|
604 | int offsetASM; | |
|
605 | int offsetCompressed; | |
|
606 | int offsetFBin; | |
|
607 | int fBinMask; | |
|
608 | int k; | |
|
609 | ||
|
610 | // BUILD DATA | |
|
611 | for (asmComponent = 0; asmComponent < NB_VALUES_PER_SM; asmComponent++) | |
|
612 | { | |
|
613 | for( frequencyBin = 0; frequencyBin < nbBinsCompressedMatrix; frequencyBin++ ) | |
|
614 | { | |
|
615 | offsetCompressed = // NO TIME OFFSET | |
|
616 | frequencyBin * NB_VALUES_PER_SM | |
|
617 | + asmComponent; | |
|
618 | offsetASM = // NO TIME OFFSET | |
|
619 | asmComponent * NB_BINS_PER_SM | |
|
620 | + ASMIndexStart | |
|
621 | + frequencyBin * nbBinsToAverage; | |
|
622 | offsetFBin = ASMIndexStart | |
|
623 | + frequencyBin * nbBinsToAverage; | |
|
624 | compressed_spec_mat[ offsetCompressed ] = 0; | |
|
625 | for ( k = 0; k < nbBinsToAverage; k++ ) | |
|
626 | { | |
|
627 | fBinMask = getFBinMask( offsetFBin + k ); | |
|
628 | compressed_spec_mat[offsetCompressed ] = | |
|
629 | ( compressed_spec_mat[ offsetCompressed ] | |
|
630 | + averaged_spec_mat[ offsetASM + k ] * fBinMask ); | |
|
631 | } | |
|
632 | compressed_spec_mat[ offsetCompressed ] = | |
|
633 | compressed_spec_mat[ offsetCompressed ] / (divider * nbBinsToAverage); | |
|
634 | } | |
|
635 | } | |
|
636 | ||
|
637 | } | |
|
638 | ||
|
639 | int getFBinMask( int index ) | |
|
640 | { | |
|
641 | unsigned int indexInChar; | |
|
642 | unsigned int indexInTheChar; | |
|
643 | int fbin; | |
|
644 | ||
|
645 | indexInChar = index >> 3; | |
|
646 | indexInTheChar = index - indexInChar * 8; | |
|
647 | ||
|
648 | fbin = (int) ((parameter_dump_packet.sy_lfr_fbins_f0_word1[ NB_BYTES_PER_FREQ_MASK - 1 - indexInChar] >> indexInTheChar) & 0x1); | |
|
649 | ||
|
650 | return fbin; | |
|
651 | } |
@@ -28,7 +28,7 int action_load_common_par(ccsdsTelecomm | |||
|
28 | 28 | * |
|
29 | 29 | */ |
|
30 | 30 | |
|
31 |
parameter_dump_packet. |
|
|
31 | parameter_dump_packet.sy_lfr_common_parameters_spare = TC->dataAndCRC[0]; | |
|
32 | 32 | parameter_dump_packet.sy_lfr_common_parameters = TC->dataAndCRC[1]; |
|
33 | 33 | set_wfp_data_shaping( ); |
|
34 | 34 | return LFR_SUCCESSFUL; |
@@ -305,7 +305,7 int action_load_fbins_mask(ccsdsTelecomm | |||
|
305 | 305 | |
|
306 | 306 | flag = LFR_DEFAULT; |
|
307 | 307 | |
|
308 | send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); | |
|
308 | flag = set_sy_lfr_fbins( TC ); | |
|
309 | 309 | |
|
310 | 310 | return flag; |
|
311 | 311 | } |
@@ -357,15 +357,12 int action_dump_kcoefficients(ccsdsTelec | |||
|
357 | 357 | { |
|
358 | 358 | kcoefficients_dump_1.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + 1] = freq; |
|
359 | 359 | bin = freq; |
|
360 | printKCoefficients( freq, bin, k_coeff_intercalib_f0_norm); | |
|
360 | // printKCoefficients( freq, bin, k_coeff_intercalib_f0_norm); | |
|
361 | 361 | for ( coeff=0; coeff<NB_K_COEFF_PER_BIN; coeff++ ) |
|
362 | 362 | { |
|
363 | 363 | kCoeffDumpPtr = (unsigned char*) &kcoefficients_dump_1.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + coeff*NB_BYTES_PER_FLOAT + 2 ]; // 2 for the kcoeff_frequency |
|
364 | 364 | kCoeffPtr = (unsigned char*) &k_coeff_intercalib_f0_norm[ (bin*NB_K_COEFF_PER_BIN) + coeff ]; |
|
365 |
kCoeffDumpPtr |
|
|
366 | kCoeffDumpPtr[1] = kCoeffPtr[1]; | |
|
367 | kCoeffDumpPtr[2] = kCoeffPtr[2]; | |
|
368 | kCoeffDumpPtr[3] = kCoeffPtr[3]; | |
|
365 | copyFloatByChar( kCoeffDumpPtr, kCoeffPtr ); | |
|
369 | 366 | } |
|
370 | 367 | } |
|
371 | 368 | for( freq=NB_BINS_COMPRESSED_SM_F0; |
@@ -374,15 +371,12 int action_dump_kcoefficients(ccsdsTelec | |||
|
374 | 371 | { |
|
375 | 372 | kcoefficients_dump_1.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + 1 ] = freq; |
|
376 | 373 | bin = freq - NB_BINS_COMPRESSED_SM_F0; |
|
377 | printKCoefficients( freq, bin, k_coeff_intercalib_f1_norm); | |
|
374 | // printKCoefficients( freq, bin, k_coeff_intercalib_f1_norm); | |
|
378 | 375 | for ( coeff=0; coeff<NB_K_COEFF_PER_BIN; coeff++ ) |
|
379 | 376 | { |
|
380 | 377 | kCoeffDumpPtr = (unsigned char*) &kcoefficients_dump_1.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + coeff*NB_BYTES_PER_FLOAT + 2 ]; // 2 for the kcoeff_frequency |
|
381 | 378 | kCoeffPtr = (unsigned char*) &k_coeff_intercalib_f1_norm[ (bin*NB_K_COEFF_PER_BIN) + coeff ]; |
|
382 |
kCoeffDumpPtr |
|
|
383 | kCoeffDumpPtr[1] = kCoeffPtr[1]; | |
|
384 | kCoeffDumpPtr[2] = kCoeffPtr[2]; | |
|
385 | kCoeffDumpPtr[3] = kCoeffPtr[3]; | |
|
379 | copyFloatByChar( kCoeffDumpPtr, kCoeffPtr ); | |
|
386 | 380 | } |
|
387 | 381 | } |
|
388 | 382 | for( freq=(NB_BINS_COMPRESSED_SM_F0+NB_BINS_COMPRESSED_SM_F1); |
@@ -391,15 +385,12 int action_dump_kcoefficients(ccsdsTelec | |||
|
391 | 385 | { |
|
392 | 386 | kcoefficients_dump_1.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + 1 ] = freq; |
|
393 | 387 | bin = freq - (NB_BINS_COMPRESSED_SM_F0+NB_BINS_COMPRESSED_SM_F1); |
|
394 | printKCoefficients( freq, bin, k_coeff_intercalib_f2); | |
|
388 | // printKCoefficients( freq, bin, k_coeff_intercalib_f2); | |
|
395 | 389 | for ( coeff=0; coeff<NB_K_COEFF_PER_BIN; coeff++ ) |
|
396 | 390 | { |
|
397 | 391 | kCoeffDumpPtr = (unsigned char*) &kcoefficients_dump_1.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + coeff*NB_BYTES_PER_FLOAT + 2 ]; // 2 for the kcoeff_frequency |
|
398 | 392 | kCoeffPtr = (unsigned char*) &k_coeff_intercalib_f2[ (bin*NB_K_COEFF_PER_BIN) + coeff ]; |
|
399 |
kCoeffDumpPtr |
|
|
400 | kCoeffDumpPtr[1] = kCoeffPtr[1]; | |
|
401 | kCoeffDumpPtr[2] = kCoeffPtr[2]; | |
|
402 | kCoeffDumpPtr[3] = kCoeffPtr[3]; | |
|
393 | copyFloatByChar( kCoeffDumpPtr, kCoeffPtr ); | |
|
403 | 394 | } |
|
404 | 395 | } |
|
405 | 396 | kcoefficients_dump_1.time[0] = (unsigned char) (time_management_regs->coarse_time>>24); |
@@ -426,15 +417,12 int action_dump_kcoefficients(ccsdsTelec | |||
|
426 | 417 | { |
|
427 | 418 | kcoefficients_dump_2.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + 1 ] = NB_BINS_COMPRESSED_SM_F0 + NB_BINS_COMPRESSED_SM_F1 + 6 + freq; |
|
428 | 419 | bin = freq + 6; |
|
429 | printKCoefficients( freq, bin, k_coeff_intercalib_f2); | |
|
420 | // printKCoefficients( freq, bin, k_coeff_intercalib_f2); | |
|
430 | 421 | for ( coeff=0; coeff<NB_K_COEFF_PER_BIN; coeff++ ) |
|
431 | 422 | { |
|
432 | 423 | kCoeffDumpPtr = (unsigned char*) &kcoefficients_dump_2.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + coeff*NB_BYTES_PER_FLOAT + 2 ]; // 2 for the kcoeff_frequency |
|
433 | 424 | kCoeffPtr = (unsigned char*) &k_coeff_intercalib_f2[ (bin*NB_K_COEFF_PER_BIN) + coeff ]; |
|
434 |
kCoeffDumpPtr |
|
|
435 | kCoeffDumpPtr[1] = kCoeffPtr[1]; | |
|
436 | kCoeffDumpPtr[2] = kCoeffPtr[2]; | |
|
437 | kCoeffDumpPtr[3] = kCoeffPtr[3]; | |
|
425 | copyFloatByChar( kCoeffDumpPtr, kCoeffPtr ); | |
|
438 | 426 | } |
|
439 | 427 | } |
|
440 | 428 | kcoefficients_dump_2.time[0] = (unsigned char) (time_management_regs->coarse_time>>24); |
@@ -883,6 +871,36 unsigned int check_update_info_hk_thr_mo | |||
|
883 | 871 | return status; |
|
884 | 872 | } |
|
885 | 873 | |
|
874 | //*********** | |
|
875 | // FBINS MASK | |
|
876 | ||
|
877 | int set_sy_lfr_fbins( ccsdsTelecommandPacket_t *TC ) | |
|
878 | { | |
|
879 | int status; | |
|
880 | unsigned int k; | |
|
881 | unsigned char *fbins_mask_dump; | |
|
882 | unsigned char *fbins_mask_TC; | |
|
883 | ||
|
884 | status = LFR_SUCCESSFUL; | |
|
885 | ||
|
886 | fbins_mask_dump = parameter_dump_packet.sy_lfr_fbins_f0_word1; | |
|
887 | fbins_mask_TC = TC->dataAndCRC; | |
|
888 | ||
|
889 | for (k=0; k < NB_FBINS_MASKS * NB_BYTES_PER_FBINS_MASK; k++) | |
|
890 | { | |
|
891 | fbins_mask_dump[k] = fbins_mask_TC[k]; | |
|
892 | } | |
|
893 | for (k=0; k < NB_FBINS_MASKS; k++) | |
|
894 | { | |
|
895 | unsigned char *auxPtr; | |
|
896 | auxPtr = ¶meter_dump_packet.sy_lfr_fbins_f0_word1[k*NB_BYTES_PER_FBINS_MASK]; | |
|
897 | printf("%x %x %x %x\n", auxPtr[0], auxPtr[1], auxPtr[2], auxPtr[3]); | |
|
898 | } | |
|
899 | ||
|
900 | ||
|
901 | return status; | |
|
902 | } | |
|
903 | ||
|
886 | 904 | //************** |
|
887 | 905 | // KCOEFFICIENTS |
|
888 | 906 | int set_sy_lfr_kcoeff( ccsdsTelecommandPacket_t *TC ) |
@@ -940,24 +958,25 int set_sy_lfr_kcoeff( ccsdsTelecommandP | |||
|
940 | 958 | printf("freq = %d, bin = %d\n", sy_lfr_kcoeff_frequency, bin); |
|
941 | 959 | for (i=0; i<NB_K_COEFF_PER_BIN; i++) |
|
942 | 960 | { |
|
943 | kcoeffLoadPtr = (unsigned char*) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_1 + NB_BYTES_PER_FLOAT * i]; | |
|
961 | // destination | |
|
944 | 962 | kcoeffNormPtr = (unsigned char*) &kcoeffPtr_norm[ (bin * NB_K_COEFF_PER_BIN) + i ]; |
|
945 | kcoeffNormPtr[0] = kcoeffLoadPtr[0]; | |
|
946 | kcoeffNormPtr[1] = kcoeffLoadPtr[1]; | |
|
947 |
kcoeffNormPtr |
|
|
948 | kcoeffNormPtr[3] = kcoeffLoadPtr[3]; | |
|
949 | printf("kcoeffPtr: %x %x %x %x *** %f \n", | |
|
950 | kcoeffLoadPtr[0], | |
|
951 | kcoeffLoadPtr[1], | |
|
952 | kcoeffLoadPtr[2], | |
|
953 | kcoeffLoadPtr[3], | |
|
954 | kcoeffPtr_norm[ (bin * NB_K_COEFF_PER_BIN) + i ]); | |
|
963 | // source | |
|
964 | kcoeffLoadPtr = (unsigned char*) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_1 + NB_BYTES_PER_FLOAT * i]; | |
|
965 | copyFloatByChar( kcoeffNormPtr, kcoeffLoadPtr ); | |
|
955 | 966 | } |
|
956 | 967 | } |
|
957 | 968 | |
|
958 | 969 | return status; |
|
959 | 970 | } |
|
960 | 971 | |
|
972 | void copyFloatByChar( unsigned char *destination, unsigned char *source ) | |
|
973 | { | |
|
974 | destination[0] = source[0]; | |
|
975 | destination[1] = source[1]; | |
|
976 | destination[2] = source[2]; | |
|
977 | destination[3] = source[3]; | |
|
978 | } | |
|
979 | ||
|
961 | 980 | //********** |
|
962 | 981 | // init dump |
|
963 | 982 | |
@@ -967,6 +986,8 void init_parameter_dump( void ) | |||
|
967 | 986 | * |
|
968 | 987 | */ |
|
969 | 988 | |
|
989 | unsigned int k; | |
|
990 | ||
|
970 | 991 | parameter_dump_packet.targetLogicalAddress = CCSDS_DESTINATION_ID; |
|
971 | 992 | parameter_dump_packet.protocolIdentifier = CCSDS_PROTOCOLE_ID; |
|
972 | 993 | parameter_dump_packet.reserved = CCSDS_RESERVED; |
@@ -992,7 +1013,7 void init_parameter_dump( void ) | |||
|
992 | 1013 | |
|
993 | 1014 | //****************** |
|
994 | 1015 | // COMMON PARAMETERS |
|
995 |
parameter_dump_packet. |
|
|
1016 | parameter_dump_packet.sy_lfr_common_parameters_spare = DEFAULT_SY_LFR_COMMON0; | |
|
996 | 1017 | parameter_dump_packet.sy_lfr_common_parameters = DEFAULT_SY_LFR_COMMON1; |
|
997 | 1018 | |
|
998 | 1019 | //****************** |
@@ -1021,6 +1042,13 void init_parameter_dump( void ) | |||
|
1021 | 1042 | // SBM2 PARAMETERS |
|
1022 | 1043 | parameter_dump_packet.sy_lfr_s2_bp_p0 = (unsigned char) DEFAULT_SY_LFR_S2_BP_P0; |
|
1023 | 1044 | parameter_dump_packet.sy_lfr_s2_bp_p1 = (unsigned char) DEFAULT_SY_LFR_S2_BP_P1; |
|
1045 | ||
|
1046 | //************ | |
|
1047 | // FBINS MASKS | |
|
1048 | for (k=0; k < NB_FBINS_MASKS * NB_BYTES_PER_FBINS_MASK; k++) | |
|
1049 | { | |
|
1050 | parameter_dump_packet.sy_lfr_fbins_f0_word1[k] = 0xff; | |
|
1051 | } | |
|
1024 | 1052 | } |
|
1025 | 1053 | |
|
1026 | 1054 | void init_kcoefficients_dump( void ) |
@@ -1221,10 +1221,8 void set_wfp_data_shaping( void ) | |||
|
1221 | 1221 | + ( (data_shaping & 0x08) >> 2 ) // SP0 |
|
1222 | 1222 | + ( (data_shaping & 0x04) ) // SP1 |
|
1223 | 1223 | + ( (data_shaping & 0x02) << 2 ) // R0 |
|
1224 |
+ ( (data_shaping & 0x01) << 4 ) |
|
|
1225 | ||
|
1226 | // this is a temporary way to set R2, compatible with the release 2 of the flight software | |
|
1227 | waveform_picker_regs->data_shaping = waveform_picker_regs->data_shaping + ( (0x1) << 5 ); // R2 | |
|
1224 | + ( (data_shaping & 0x01) << 4 ) // R1 | |
|
1225 | + ( (data_shaping & 0x01) << 5 ); // R2 | |
|
1228 | 1226 | } |
|
1229 | 1227 | |
|
1230 | 1228 | void set_wfp_burst_enable_register( unsigned char mode ) |
General Comments 0
You need to be logged in to leave comments.
Login now