##// END OF EJS Templates
printf removed or replaced by PRINTF macros...
paul -
r227:919e10e56ea1 R3
parent child
Show More
@@ -5,7 +5,7
5 #include <grspw.h>
5 #include <grspw.h>
6 #include <math.h>
6 #include <math.h>
7 #include <stdlib.h> // abs() is in the stdlib
7 #include <stdlib.h> // abs() is in the stdlib
8 #include <stdio.h> // printf()
8 #include <stdio.h>
9 #include <math.h>
9 #include <math.h>
10 #include <grlib_regs.h>
10 #include <grlib_regs.h>
11
11
@@ -14,6 +14,7
14 #define FLOAT_EQUAL_ZERO 0.001
14 #define FLOAT_EQUAL_ZERO 0.001
15
15
16 extern unsigned short sequenceCounterParameterDump;
16 extern unsigned short sequenceCounterParameterDump;
17 extern unsigned short sequenceCounters_TM_DUMP[];
17 extern float k_coeff_intercalib_f0_norm[ ];
18 extern float k_coeff_intercalib_f0_norm[ ];
18 extern float k_coeff_intercalib_f0_sbm[ ];
19 extern float k_coeff_intercalib_f0_sbm[ ];
19 extern float k_coeff_intercalib_f1_norm[ ];
20 extern float k_coeff_intercalib_f1_norm[ ];
@@ -66,6 +67,6 void copyFloatByChar( unsigned char *des
66 void init_parameter_dump( void );
67 void init_parameter_dump( void );
67 void init_kcoefficients_dump( void );
68 void init_kcoefficients_dump( void );
68 void init_kcoefficients_dump_packet( Packet_TM_LFR_KCOEFFICIENTS_DUMP_t *kcoefficients_dump, unsigned char pkt_nr, unsigned char blk_nr );
69 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();
70 void increment_seq_counter_destination_id_dump( unsigned char *packet_sequence_control, unsigned char destination_id );
70
71
71 #endif // TC_LOAD_DUMP_PARAMETERS_H
72 #endif // TC_LOAD_DUMP_PARAMETERS_H
@@ -71,8 +71,8 unsigned char hk_lfr_q_p2_fifo_size_max;
71 unsigned short sequenceCounters_SCIENCE_NORMAL_BURST;
71 unsigned short sequenceCounters_SCIENCE_NORMAL_BURST;
72 unsigned short sequenceCounters_SCIENCE_SBM1_SBM2;
72 unsigned short sequenceCounters_SCIENCE_SBM1_SBM2;
73 unsigned short sequenceCounters_TC_EXE[SEQ_CNT_NB_DEST_ID];
73 unsigned short sequenceCounters_TC_EXE[SEQ_CNT_NB_DEST_ID];
74 unsigned short sequenceCounters_TM_DUMP[SEQ_CNT_NB_DEST_ID];
74 unsigned short sequenceCounterHK;
75 unsigned short sequenceCounterHK;
75 unsigned short sequenceCounterParameterDump;
76 spw_stats spacewire_stats;
76 spw_stats spacewire_stats;
77 spw_stats spacewire_stats_backup;
77 spw_stats spacewire_stats_backup;
78
78
@@ -67,7 +67,7 void initCache()
67 unsigned int cacheControlRegister;
67 unsigned int cacheControlRegister;
68
68
69 cacheControlRegister = getCacheControlRegister();
69 cacheControlRegister = getCacheControlRegister();
70 printf("(0) cacheControlRegister = %x\n", cacheControlRegister);
70 PRINTF1("(0) cacheControlRegister = %x\n", cacheControlRegister)
71
71
72 resetCacheControlRegister();
72 resetCacheControlRegister();
73
73
@@ -76,7 +76,7 void initCache()
76 enableInstructionBurstFetch();
76 enableInstructionBurstFetch();
77
77
78 cacheControlRegister = getCacheControlRegister();
78 cacheControlRegister = getCacheControlRegister();
79 printf("(1) cacheControlRegister = %x\n", cacheControlRegister);
79 PRINTF1("(1) cacheControlRegister = %x\n", cacheControlRegister)
80 }
80 }
81
81
82 rtems_task Init( rtems_task_argument ignored )
82 rtems_task Init( rtems_task_argument ignored )
@@ -274,11 +274,11 void init_local_mode_parameters( void )
274 for(i = 0; i<SEQ_CNT_NB_DEST_ID; i++)
274 for(i = 0; i<SEQ_CNT_NB_DEST_ID; i++)
275 {
275 {
276 sequenceCounters_TC_EXE[i] = 0x00;
276 sequenceCounters_TC_EXE[i] = 0x00;
277 sequenceCounters_TM_DUMP[i] = 0x00;
277 }
278 }
278 sequenceCounters_SCIENCE_NORMAL_BURST = 0x00;
279 sequenceCounters_SCIENCE_NORMAL_BURST = 0x00;
279 sequenceCounters_SCIENCE_SBM1_SBM2 = 0x00;
280 sequenceCounters_SCIENCE_SBM1_SBM2 = 0x00;
280 sequenceCounterHK = TM_PACKET_SEQ_CTRL_STANDALONE << 8;
281 sequenceCounterHK = TM_PACKET_SEQ_CTRL_STANDALONE << 8;
281 sequenceCounterParameterDump = TM_PACKET_SEQ_CTRL_STANDALONE << 8;
282 }
282 }
283
283
284 void reset_local_time( void )
284 void reset_local_time( void )
@@ -235,7 +235,7 rtems_task hous_task(rtems_task_argument
235 PRINTF("in HOUS *** deleting task\n")
235 PRINTF("in HOUS *** deleting task\n")
236
236
237 status = rtems_task_delete( RTEMS_SELF ); // should not return
237 status = rtems_task_delete( RTEMS_SELF ); // should not return
238 printf( "rtems_task_delete returned with status of %d.\n", status );
238
239 return;
239 return;
240 }
240 }
241
241
@@ -283,7 +283,6 rtems_task dumb_task( rtems_task_argumen
283 {
283 {
284 coarse_time = time_management_regs->coarse_time;
284 coarse_time = time_management_regs->coarse_time;
285 fine_time = time_management_regs->fine_time;
285 fine_time = time_management_regs->fine_time;
286 printf("in DUMB *** coarse: %x, fine: %x, %s\n", coarse_time, fine_time, DumbMessages[i]);
287 if (i==8)
286 if (i==8)
288 {
287 {
289 }
288 }
@@ -286,7 +286,7 rtems_task send_task( rtems_task_argumen
286 }
286 }
287 else
287 else
288 {
288 {
289 printf("unexpected sid = %d\n", sid);
289 PRINTF1("unexpected sid = %d\n", sid);
290 }
290 }
291 }
291 }
292 else if ( incomingData[0] == CCSDS_DESTINATION_ID ) // the incoming message is a ccsds packet
292 else if ( incomingData[0] == CCSDS_DESTINATION_ID ) // the incoming message is a ccsds packet
@@ -301,13 +301,6 rtems_task send_task( rtems_task_argumen
301 spw_ioctl_send = (spw_ioctl_pkt_send*) incomingData;
301 spw_ioctl_send = (spw_ioctl_pkt_send*) incomingData;
302 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, spw_ioctl_send );
302 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, spw_ioctl_send );
303 if (status == -1){
303 if (status == -1){
304 printf("size = %d, %x, %x, %x, %x, %x\n",
305 size,
306 incomingData[0],
307 incomingData[1],
308 incomingData[2],
309 incomingData[3],
310 incomingData[4]);
311 PRINTF2("in SEND *** (2.b) ERRNO = %d, RTEMS = %d\n", errno, status)
304 PRINTF2("in SEND *** (2.b) ERRNO = %d, RTEMS = %d\n", errno, status)
312 }
305 }
313 }
306 }
@@ -873,7 +866,6 int spw_send_waveform_CWF( ring_node *ri
873
866
874 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_CWF );
867 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_CWF );
875 if (status != RTEMS_SUCCESSFUL) {
868 if (status != RTEMS_SUCCESSFUL) {
876 printf("%d-%d, ERR %d\n", sid, i, (int) status);
877 ret = LFR_DEFAULT;
869 ret = LFR_DEFAULT;
878 }
870 }
879 }
871 }
@@ -963,7 +955,6 int spw_send_waveform_SWF( ring_node *ri
963 // SEND PACKET
955 // SEND PACKET
964 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_SWF );
956 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_SWF );
965 if (status != RTEMS_SUCCESSFUL) {
957 if (status != RTEMS_SUCCESSFUL) {
966 printf("%d-%d, ERR %d\n", sid, i, (int) status);
967 ret = LFR_DEFAULT;
958 ret = LFR_DEFAULT;
968 }
959 }
969 }
960 }
@@ -1044,7 +1035,6 int spw_send_waveform_CWF3_light( ring_n
1044 // SEND PACKET
1035 // SEND PACKET
1045 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_CWF );
1036 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_CWF );
1046 if (status != RTEMS_SUCCESSFUL) {
1037 if (status != RTEMS_SUCCESSFUL) {
1047 printf("%d-%d, ERR %d\n", sid, i, (int) status);
1048 ret = LFR_DEFAULT;
1038 ret = LFR_DEFAULT;
1049 }
1039 }
1050 }
1040 }
@@ -1127,7 +1117,7 void spw_send_asm_f0( ring_node *ring_no
1127 // (4) SEND PACKET
1117 // (4) SEND PACKET
1128 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_ASM );
1118 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_ASM );
1129 if (status != RTEMS_SUCCESSFUL) {
1119 if (status != RTEMS_SUCCESSFUL) {
1130 printf("in ASM_send *** ERR %d\n", (int) status);
1120 PRINTF1("in ASM_send *** ERR %d\n", (int) status)
1131 }
1121 }
1132 }
1122 }
1133 }
1123 }
@@ -1207,7 +1197,7 void spw_send_asm_f1( ring_node *ring_no
1207 // (4) SEND PACKET
1197 // (4) SEND PACKET
1208 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_ASM );
1198 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_ASM );
1209 if (status != RTEMS_SUCCESSFUL) {
1199 if (status != RTEMS_SUCCESSFUL) {
1210 printf("in ASM_send *** ERR %d\n", (int) status);
1200 PRINTF1("in ASM_send *** ERR %d\n", (int) status)
1211 }
1201 }
1212 }
1202 }
1213 }
1203 }
@@ -1274,7 +1264,7 void spw_send_asm_f2( ring_node *ring_no
1274 // (4) SEND PACKET
1264 // (4) SEND PACKET
1275 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_ASM );
1265 status = ioctl( fdSPW, SPACEWIRE_IOCTRL_SEND, &spw_ioctl_send_ASM );
1276 if (status != RTEMS_SUCCESSFUL) {
1266 if (status != RTEMS_SUCCESSFUL) {
1277 printf("in ASM_send *** ERR %d\n", (int) status);
1267 PRINTF1("in ASM_send *** ERR %d\n", (int) status)
1278 }
1268 }
1279 }
1269 }
1280 }
1270 }
@@ -1286,7 +1276,7 void spw_send_k_dump( ring_node *ring_no
1286 unsigned int packetLength;
1276 unsigned int packetLength;
1287 unsigned int size;
1277 unsigned int size;
1288
1278
1289 printf("spw_send_k_dump\n");
1279 PRINTF("spw_send_k_dump\n")
1290
1280
1291 kcoefficients_dump = (Packet_TM_LFR_KCOEFFICIENTS_DUMP_t *) ring_node_to_send->buffer_address;
1281 kcoefficients_dump = (Packet_TM_LFR_KCOEFFICIENTS_DUMP_t *) ring_node_to_send->buffer_address;
1292
1282
@@ -1294,7 +1284,7 void spw_send_k_dump( ring_node *ring_no
1294
1284
1295 size = packetLength + CCSDS_TC_TM_PACKET_OFFSET + CCSDS_PROTOCOLE_EXTRA_BYTES;
1285 size = packetLength + CCSDS_TC_TM_PACKET_OFFSET + CCSDS_PROTOCOLE_EXTRA_BYTES;
1296
1286
1297 printf("packetLength %d, size %d\n", packetLength, size );
1287 PRINTF2("packetLength %d, size %d\n", packetLength, size )
1298
1288
1299 status = write( fdSPW, (char *) ring_node_to_send->buffer_address, size );
1289 status = write( fdSPW, (char *) ring_node_to_send->buffer_address, size );
1300
1290
@@ -175,7 +175,7 rtems_task avf0_task( rtems_task_argumen
175 }
175 }
176
176
177 if (status != RTEMS_SUCCESSFUL) {
177 if (status != RTEMS_SUCCESSFUL) {
178 printf("in AVF0 *** Error sending message to MATR, code %d\n", status);
178 PRINTF1("in AVF0 *** Error sending message to MATR, code %d\n", status)
179 }
179 }
180 }
180 }
181 }
181 }
@@ -176,7 +176,7 rtems_task avf1_task( rtems_task_argumen
176 }
176 }
177
177
178 if (status != RTEMS_SUCCESSFUL) {
178 if (status != RTEMS_SUCCESSFUL) {
179 printf("in AVF1 *** Error sending message to PRC1, code %d\n", status);
179 PRINTF1("in AVF1 *** Error sending message to PRC1, code %d\n", status)
180 }
180 }
181 }
181 }
182 }
182 }
@@ -75,18 +75,6 rtems_task avf2_task( rtems_task_argumen
75
75
76 nodeForAveraging = getRingNodeForAveraging( 2 );
76 nodeForAveraging = getRingNodeForAveraging( 2 );
77
77
78 // printf(" **0** %x . %x", sm_ring_f2[0].coarseTime, sm_ring_f2[0].fineTime);
79 // printf(" **1** %x . %x", sm_ring_f2[1].coarseTime, sm_ring_f2[1].fineTime);
80 // printf(" **2** %x . %x", sm_ring_f2[2].coarseTime, sm_ring_f2[2].fineTime);
81 // printf(" **3** %x . %x", sm_ring_f2[3].coarseTime, sm_ring_f2[3].fineTime);
82 // printf(" **4** %x . %x", sm_ring_f2[4].coarseTime, sm_ring_f2[4].fineTime);
83 // printf(" **5** %x . %x", sm_ring_f2[5].coarseTime, sm_ring_f2[5].fineTime);
84 // printf(" **6** %x . %x", sm_ring_f2[6].coarseTime, sm_ring_f2[6].fineTime);
85 // printf(" **7** %x . %x", sm_ring_f2[7].coarseTime, sm_ring_f2[7].fineTime);
86 // printf(" **8** %x . %x", sm_ring_f2[8].coarseTime, sm_ring_f2[8].fineTime);
87 // printf(" **9** %x . %x", sm_ring_f2[9].coarseTime, sm_ring_f2[9].fineTime);
88 // printf(" **10** %x . %x\n", sm_ring_f2[10].coarseTime, sm_ring_f2[10].fineTime);
89
90 // compute the average and store it in the averaged_sm_f2 buffer
78 // compute the average and store it in the averaged_sm_f2 buffer
91 SM_average_f2( current_ring_node_asm_norm_f2->matrix,
79 SM_average_f2( current_ring_node_asm_norm_f2->matrix,
92 nodeForAveraging,
80 nodeForAveraging,
@@ -138,7 +126,7 rtems_task avf2_task( rtems_task_argumen
138 }
126 }
139
127
140 if (status != RTEMS_SUCCESSFUL) {
128 if (status != RTEMS_SUCCESSFUL) {
141 printf("in AVF2 *** Error sending message to MATR, code %d\n", status);
129 PRINTF1("in AVF2 *** Error sending message to MATR, code %d\n", status)
142 }
130 }
143 }
131 }
144 }
132 }
@@ -433,7 +433,7 void BP_send(char *data, rtems_id queue_
433 status = rtems_message_queue_send( queue_id, data, nbBytesToSend);
433 status = rtems_message_queue_send( queue_id, data, nbBytesToSend);
434 if (status != RTEMS_SUCCESSFUL)
434 if (status != RTEMS_SUCCESSFUL)
435 {
435 {
436 printf("ERR *** in BP_send *** ERR %d\n", (int) status);
436 PRINTF1("ERR *** in BP_send *** ERR %d\n", (int) status)
437 }
437 }
438 }
438 }
439
439
@@ -146,7 +146,7 int action_reset(ccsdsTelecommandPacket_
146 *
146 *
147 */
147 */
148
148
149 printf("this is the end!!!\n");
149 PRINTF("this is the end!!!\n")
150 exit(0);
150 exit(0);
151 send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time );
151 send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time );
152 return LFR_DEFAULT;
152 return LFR_DEFAULT;
@@ -683,7 +683,7 int suspend_science_tasks()
683
683
684 rtems_status_code status;
684 rtems_status_code status;
685
685
686 printf("in suspend_science_tasks\n");
686 PRINTF("in suspend_science_tasks\n")
687
687
688 status = rtems_task_suspend( Task_id[TASKID_AVF0] ); // suspend AVF0
688 status = rtems_task_suspend( Task_id[TASKID_AVF0] ); // suspend AVF0
689 if ((status != RTEMS_SUCCESSFUL) && (status != RTEMS_ALREADY_SUSPENDED))
689 if ((status != RTEMS_SUCCESSFUL) && (status != RTEMS_ALREADY_SUSPENDED))
@@ -1134,14 +1134,14 void close_action(ccsdsTelecommandPacket
1134 rtems_isr commutation_isr1( rtems_vector_number vector )
1134 rtems_isr commutation_isr1( rtems_vector_number vector )
1135 {
1135 {
1136 if (rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL) {
1136 if (rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL) {
1137 printf("In commutation_isr1 *** Error sending event to DUMB\n");
1137 PRINTF("In commutation_isr1 *** Error sending event to DUMB\n")
1138 }
1138 }
1139 }
1139 }
1140
1140
1141 rtems_isr commutation_isr2( rtems_vector_number vector )
1141 rtems_isr commutation_isr2( rtems_vector_number vector )
1142 {
1142 {
1143 if (rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL) {
1143 if (rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL) {
1144 printf("In commutation_isr2 *** Error sending event to DUMB\n");
1144 PRINTF("In commutation_isr2 *** Error sending event to DUMB\n")
1145 }
1145 }
1146 }
1146 }
1147
1147
@@ -310,18 +310,6 int action_load_fbins_mask(ccsdsTelecomm
310 return flag;
310 return flag;
311 }
311 }
312
312
313 void printKCoefficients(unsigned int freq, unsigned int bin, float *k_coeff)
314 {
315 printf("freq = %d *** bin = %d *** (0) %f *** (1) %f *** (2) %f *** (3) %f *** (4) %f\n",
316 freq,
317 bin,
318 k_coeff[ (bin*NB_K_COEFF_PER_BIN) + 0 ],
319 k_coeff[ (bin*NB_K_COEFF_PER_BIN) + 1 ],
320 k_coeff[ (bin*NB_K_COEFF_PER_BIN) + 2 ],
321 k_coeff[ (bin*NB_K_COEFF_PER_BIN) + 3 ],
322 k_coeff[ (bin*NB_K_COEFF_PER_BIN) + 4 ]);
323 }
324
325 int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time)
313 int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time)
326 {
314 {
327 /** This function updates the LFR registers with the incoming sbm2 parameters.
315 /** This function updates the LFR registers with the incoming sbm2 parameters.
@@ -348,10 +336,8 int action_dump_kcoefficients(ccsdsTelec
348 //*********
336 //*********
349 // PACKET 1
337 // PACKET 1
350 // 11 F0 bins, 13 F1 bins and 6 F2 bins
338 // 11 F0 bins, 13 F1 bins and 6 F2 bins
351 kcoefficients_dump_1.packetSequenceControl[0] = (unsigned char) (sequenceCounterParameterDump >> 8);
352 kcoefficients_dump_1.packetSequenceControl[1] = (unsigned char) (sequenceCounterParameterDump );
353 kcoefficients_dump_1.destinationID = TC->sourceID;
339 kcoefficients_dump_1.destinationID = TC->sourceID;
354 increment_seq_counter( &sequenceCounterParameterDump );
340 increment_seq_counter_destination_id_dump( kcoefficients_dump_1.packetSequenceControl, TC->sourceID );
355 for( freq=0;
341 for( freq=0;
356 freq<NB_BINS_COMPRESSED_SM_F0;
342 freq<NB_BINS_COMPRESSED_SM_F0;
357 freq++ )
343 freq++ )
@@ -411,10 +397,8 int action_dump_kcoefficients(ccsdsTelec
411 //********
397 //********
412 // PACKET 2
398 // PACKET 2
413 // 6 F2 bins
399 // 6 F2 bins
414 kcoefficients_dump_2.packetSequenceControl[0] = (unsigned char) (sequenceCounterParameterDump >> 8);
415 kcoefficients_dump_2.packetSequenceControl[1] = (unsigned char) (sequenceCounterParameterDump );
416 kcoefficients_dump_2.destinationID = TC->sourceID;
400 kcoefficients_dump_2.destinationID = TC->sourceID;
417 increment_seq_counter( &sequenceCounterParameterDump );
401 increment_seq_counter_destination_id_dump( kcoefficients_dump_2.packetSequenceControl, TC->sourceID );
418 for( freq=0; freq<6; freq++ )
402 for( freq=0; freq<6; freq++ )
419 {
403 {
420 kcoefficients_dump_2.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + 1 ] = NB_BINS_COMPRESSED_SM_F0 + NB_BINS_COMPRESSED_SM_F1 + 6 + freq;
404 kcoefficients_dump_2.kcoeff_blks[ freq*KCOEFF_BLK_SIZE + 1 ] = NB_BINS_COMPRESSED_SM_F0 + NB_BINS_COMPRESSED_SM_F1 + 6 + freq;
@@ -462,12 +446,10 int action_dump_par( ccsdsTelecommandPac
462
446
463 int status;
447 int status;
464
448
465 // UPDATE TIME
449 increment_seq_counter_destination_id_dump( parameter_dump_packet.packetSequenceControl, TC->sourceID );
466 parameter_dump_packet.packetSequenceControl[0] = (unsigned char) (sequenceCounterParameterDump >> 8);
467 parameter_dump_packet.packetSequenceControl[1] = (unsigned char) (sequenceCounterParameterDump );
468 increment_seq_counter( &sequenceCounterParameterDump );
469 parameter_dump_packet.destinationID = TC->sourceID;
450 parameter_dump_packet.destinationID = TC->sourceID;
470
451
452 // UPDATE TIME
471 parameter_dump_packet.time[0] = (unsigned char) (time_management_regs->coarse_time>>24);
453 parameter_dump_packet.time[0] = (unsigned char) (time_management_regs->coarse_time>>24);
472 parameter_dump_packet.time[1] = (unsigned char) (time_management_regs->coarse_time>>16);
454 parameter_dump_packet.time[1] = (unsigned char) (time_management_regs->coarse_time>>16);
473 parameter_dump_packet.time[2] = (unsigned char) (time_management_regs->coarse_time>>8);
455 parameter_dump_packet.time[2] = (unsigned char) (time_management_regs->coarse_time>>8);
@@ -897,7 +879,6 int set_sy_lfr_fbins( ccsdsTelecommandPa
897 {
879 {
898 unsigned char *auxPtr;
880 unsigned char *auxPtr;
899 auxPtr = &parameter_dump_packet.sy_lfr_fbins_f0_word1[k*NB_BYTES_PER_FBINS_MASK];
881 auxPtr = &parameter_dump_packet.sy_lfr_fbins_f0_word1[k*NB_BYTES_PER_FBINS_MASK];
900 printf("%x %x %x %x\n", auxPtr[0], auxPtr[1], auxPtr[2], auxPtr[3]);
901 }
882 }
902
883
903
884
@@ -961,8 +942,6 int set_sy_lfr_kcoeff( ccsdsTelecommandP
961 }
942 }
962 }
943 }
963
944
964 printf("in set_sy_lfr_kcoeff *** freq = %d, bin = %d\n", sy_lfr_kcoeff_frequency, bin);
965
966 if (kcoeffPtr_norm != NULL ) // update K coefficient for NORMAL data products
945 if (kcoeffPtr_norm != NULL ) // update K coefficient for NORMAL data products
967 {
946 {
968 for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++)
947 for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++)
@@ -1143,33 +1122,80 void init_kcoefficients_dump_packet( Pac
1143 }
1122 }
1144 }
1123 }
1145
1124
1146 void print_k_coeff()
1125 void increment_seq_counter_destination_id_dump( unsigned char *packet_sequence_control, unsigned char destination_id )
1147 {
1126 {
1148 unsigned int kcoeff;
1127 /** This function increment the packet sequence control parameter of a TC, depending on its destination ID.
1149 unsigned int bin;
1128 *
1129 * @param packet_sequence_control points to the packet sequence control which will be incremented
1130 * @param destination_id is the destination ID of the TM, there is one counter by destination ID
1131 *
1132 * If the destination ID is not known, a dedicated counter is incremented.
1133 *
1134 */
1150
1135
1151 for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++)
1136 unsigned short sequence_cnt;
1137 unsigned short segmentation_grouping_flag;
1138 unsigned short new_packet_sequence_control;
1139 unsigned char i;
1140
1141 switch (destination_id)
1152 {
1142 {
1153 printf("kcoeff = %d *** ", kcoeff);
1143 case SID_TC_GROUND:
1154 for (bin=0; bin<NB_BINS_COMPRESSED_SM_F0; bin++)
1144 i = GROUND;
1155 {
1145 break;
1156 printf( "%f ", k_coeff_intercalib_f0_norm[bin*NB_K_COEFF_PER_BIN+kcoeff] );
1146 case SID_TC_MISSION_TIMELINE:
1157 }
1147 i = MISSION_TIMELINE;
1158 printf("\n");
1148 break;
1149 case SID_TC_TC_SEQUENCES:
1150 i = TC_SEQUENCES;
1151 break;
1152 case SID_TC_RECOVERY_ACTION_CMD:
1153 i = RECOVERY_ACTION_CMD;
1154 break;
1155 case SID_TC_BACKUP_MISSION_TIMELINE:
1156 i = BACKUP_MISSION_TIMELINE;
1157 break;
1158 case SID_TC_DIRECT_CMD:
1159 i = DIRECT_CMD;
1160 break;
1161 case SID_TC_SPARE_GRD_SRC1:
1162 i = SPARE_GRD_SRC1;
1163 break;
1164 case SID_TC_SPARE_GRD_SRC2:
1165 i = SPARE_GRD_SRC2;
1166 break;
1167 case SID_TC_OBCP:
1168 i = OBCP;
1169 break;
1170 case SID_TC_SYSTEM_CONTROL:
1171 i = SYSTEM_CONTROL;
1172 break;
1173 case SID_TC_AOCS:
1174 i = AOCS;
1175 break;
1176 case SID_TC_RPW_INTERNAL:
1177 i = RPW_INTERNAL;
1178 break;
1179 default:
1180 i = GROUND;
1181 break;
1159 }
1182 }
1160
1183
1161 printf("\n");
1184 segmentation_grouping_flag = TM_PACKET_SEQ_CTRL_STANDALONE << 8;
1185 sequence_cnt = sequenceCounters_TM_DUMP[ i ] & 0x3fff;
1186
1187 new_packet_sequence_control = segmentation_grouping_flag | sequence_cnt ;
1162
1188
1163 for (kcoeff=0; kcoeff<NB_K_COEFF_PER_BIN; kcoeff++)
1189 packet_sequence_control[0] = (unsigned char) (new_packet_sequence_control >> 8);
1190 packet_sequence_control[1] = (unsigned char) (new_packet_sequence_control );
1191
1192 // increment the sequence counter
1193 if ( sequenceCounters_TM_DUMP[ i ] < SEQ_CNT_MAX )
1164 {
1194 {
1165 printf("kcoeff = %d *** ", kcoeff);
1195 sequenceCounters_TM_DUMP[ i ] = sequenceCounters_TM_DUMP[ i ] + 1;
1166 for (bin=0; bin<NB_BINS_COMPRESSED_SM_F0; bin++)
1196 }
1167 {
1197 else
1168 printf( "[%f, %f] ",
1198 {
1169 k_coeff_intercalib_f0_sbm[(bin*NB_K_COEFF_PER_BIN )*2 + kcoeff],
1199 sequenceCounters_TM_DUMP[ i ] = 0;
1170 k_coeff_intercalib_f0_sbm[(bin*NB_K_COEFF_PER_BIN+1)*2 + kcoeff]);
1171 }
1172 printf("\n");
1173 }
1200 }
1174 }
1201 }
1175
@@ -700,7 +700,9 rtems_task cwf1_task(rtems_task_argument
700 ring_node_to_send_cwf_f1->sid = SID_SBM1_CWF_F1;
700 ring_node_to_send_cwf_f1->sid = SID_SBM1_CWF_F1;
701 status = rtems_message_queue_send( queue_id, &ring_node_to_send_cwf, sizeof( ring_node* ) );
701 status = rtems_message_queue_send( queue_id, &ring_node_to_send_cwf, sizeof( ring_node* ) );
702 if (status != 0)
702 if (status != 0)
703 printf("cwf sending failed\n");
703 {
704 PRINTF("cwf sending failed\n")
705 }
704 // launch snapshot extraction if needed
706 // launch snapshot extraction if needed
705 if (extractSWF == true)
707 if (extractSWF == true)
706 {
708 {
@@ -842,7 +844,6 int send_waveform_CWF3_light( ring_node
842 // SEND PACKET
844 // SEND PACKET
843 status = rtems_message_queue_send( queue_id, &ring_node_cwf3_light, sizeof( ring_node* ) );
845 status = rtems_message_queue_send( queue_id, &ring_node_cwf3_light, sizeof( ring_node* ) );
844 if (status != RTEMS_SUCCESSFUL) {
846 if (status != RTEMS_SUCCESSFUL) {
845 printf("%d-%d, ERR %d\n", SID_NORM_CWF_F3, i, (int) status);
846 ret = LFR_DEFAULT;
847 ret = LFR_DEFAULT;
847 }
848 }
848
849
@@ -1066,13 +1067,13 void snapshot_resynchronization( unsigne
1066 {
1067 {
1067 deltaTickInF2 = floor( (deltaNext * 256. / 1000.) ); // the division by 2 is important here
1068 deltaTickInF2 = floor( (deltaNext * 256. / 1000.) ); // the division by 2 is important here
1068 waveform_picker_regs->delta_snapshot = waveform_picker_regs->delta_snapshot + deltaTickInF2;
1069 waveform_picker_regs->delta_snapshot = waveform_picker_regs->delta_snapshot + deltaTickInF2;
1069 printf("correction of = + %u\n", deltaTickInF2);
1070 PRINTF1("correction of = + %u\n", deltaTickInF2)
1070 }
1071 }
1071 else
1072 else
1072 {
1073 {
1073 deltaTickInF2 = floor( (deltaPrevious * 256. / 1000.) ); // the division by 2 is important here
1074 deltaTickInF2 = floor( (deltaPrevious * 256. / 1000.) ); // the division by 2 is important here
1074 waveform_picker_regs->delta_snapshot = waveform_picker_regs->delta_snapshot - deltaTickInF2;
1075 waveform_picker_regs->delta_snapshot = waveform_picker_regs->delta_snapshot - deltaTickInF2;
1075 printf("correction of = - %u\n", deltaTickInF2);
1076 PRINTF1("correction of = - %u\n", deltaTickInF2)
1076 }
1077 }
1077 }
1078 }
1078
1079
General Comments 0
You need to be logged in to leave comments. Login now