@@ -1,2 +1,2 | |||
|
1 | 1 | a586fe639ac179e95bdc150ebdbab0312f31dc30 LFR_basic-parameters |
|
2 | 611fe904e4b4e05736a8a618c561980d10bceead header/lfr_common_headers | |
|
2 | d700fe1774be46689e78de1efae2ed50655b0f1c header/lfr_common_headers |
@@ -9,10 +9,10 include(./sparc.pri) | |||
|
9 | 9 | |
|
10 | 10 | # flight software version |
|
11 | 11 | SWVERSION=-1-0 |
|
12 |
DEFINES += SW_VERSION_N1= |
|
|
12 | DEFINES += SW_VERSION_N1=3 # major | |
|
13 | 13 | DEFINES += SW_VERSION_N2=0 # minor |
|
14 |
DEFINES += SW_VERSION_N3= |
|
|
15 |
DEFINES += SW_VERSION_N4= |
|
|
14 | DEFINES += SW_VERSION_N3=0 # patch | |
|
15 | DEFINES += SW_VERSION_N4=0 # internal | |
|
16 | 16 | |
|
17 | 17 | # <GCOV> |
|
18 | 18 | #QMAKE_CFLAGS_RELEASE += -fprofile-arcs -ftest-coverage |
@@ -37,6 +37,8 typedef struct | |||
|
37 | 37 | // AUXILIARY HEADER |
|
38 | 38 | unsigned char sid; |
|
39 | 39 | unsigned char biaStatusInfo; |
|
40 | unsigned char sy_lfr_common_parameters_spare; | |
|
41 | unsigned char sy_lfr_common_parameters; | |
|
40 | 42 | unsigned char acquisitionTime[6]; |
|
41 | 43 | unsigned char pa_lfr_bp_blk_nr[2]; |
|
42 | 44 | // SOURCE DATA |
@@ -61,6 +63,8 typedef struct | |||
|
61 | 63 | // AUXILIARY HEADER |
|
62 | 64 | unsigned char sid; |
|
63 | 65 | unsigned char biaStatusInfo; |
|
66 | unsigned char sy_lfr_common_parameters_spare; | |
|
67 | unsigned char sy_lfr_common_parameters; | |
|
64 | 68 | unsigned char acquisitionTime[6]; |
|
65 | 69 | unsigned char source_data_spare; |
|
66 | 70 | unsigned char pa_lfr_bp_blk_nr[2]; |
@@ -18,6 +18,9 int action_load_normal_par(ccsdsTelecomm | |||
|
18 | 18 | int action_load_burst_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); |
|
19 | 19 | int action_load_sbm1_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); |
|
20 | 20 | int action_load_sbm2_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); |
|
21 | int action_load_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); | |
|
22 | int action_load_fbins_mask(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); | |
|
23 | int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); | |
|
21 | 24 | int action_dump_par(rtems_id queue_id ); |
|
22 | 25 | |
|
23 | 26 | // NORMAL |
@@ -1,7 +1,8 | |||
|
1 | 1 | # LOAD FSW USING LINK 1 |
|
2 | 2 | SpwPlugin0.StarDundeeSelectLinkNumber( 1 ) |
|
3 | 3 | |
|
4 | dsu3plugin0.openFile("/opt/DEV_PLE/FSW-qt/bin/fsw") | |
|
4 | #dsu3plugin0.openFile("/opt/DEV_PLE/FSW-qt/bin/fsw") | |
|
5 | dsu3plugin0.openFile("/opt/LFR/LFR-FSW/2.0.2.3/fsw") | |
|
5 | 6 | dsu3plugin0.loadFile() |
|
6 | 7 | |
|
7 | 8 | dsu3plugin0.run() |
@@ -24,7 +24,6 | |||
|
24 | 24 | |
|
25 | 25 | // RTEMS GLOBAL VARIABLES |
|
26 | 26 | rtems_name misc_name[5]; |
|
27 | rtems_id misc_id[5]; | |
|
28 | 27 | rtems_name Task_name[20]; /* array of task names */ |
|
29 | 28 | rtems_id Task_id[20]; /* array of task ids */ |
|
30 | 29 | unsigned int maxCount; |
@@ -699,7 +699,7 void init_header_cwf( Header_TM_LFR_SCIE | |||
|
699 | 699 | // DATA FIELD HEADER |
|
700 | 700 | header->spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
|
701 | 701 | header->serviceType = TM_TYPE_LFR_SCIENCE; // service type |
|
702 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype | |
|
702 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_6; // service subtype | |
|
703 | 703 | header->destinationID = TM_DESTINATION_ID_GROUND; |
|
704 | 704 | header->time[0] = 0x00; |
|
705 | 705 | header->time[0] = 0x00; |
@@ -729,7 +729,7 void init_header_swf( Header_TM_LFR_SCIE | |||
|
729 | 729 | // DATA FIELD HEADER |
|
730 | 730 | header->spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
|
731 | 731 | header->serviceType = TM_TYPE_LFR_SCIENCE; // service type |
|
732 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype | |
|
732 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype | |
|
733 | 733 | header->destinationID = TM_DESTINATION_ID_GROUND; |
|
734 | 734 | header->time[0] = 0x00; |
|
735 | 735 | header->time[0] = 0x00; |
@@ -761,7 +761,7 void init_header_asm( Header_TM_LFR_SCIE | |||
|
761 | 761 | // DATA FIELD HEADER |
|
762 | 762 | header->spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; |
|
763 | 763 | header->serviceType = TM_TYPE_LFR_SCIENCE; // service type |
|
764 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype | |
|
764 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype | |
|
765 | 765 | header->destinationID = TM_DESTINATION_ID_GROUND; |
|
766 | 766 | header->time[0] = 0x00; |
|
767 | 767 | header->time[0] = 0x00; |
@@ -814,6 +814,7 int spw_send_waveform_CWF( ring_node *ri | |||
|
814 | 814 | |
|
815 | 815 | header->packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_336 >> 8); |
|
816 | 816 | header->packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_336 ); |
|
817 | header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
817 | 818 | header->blkNr[0] = (unsigned char) (BLK_NR_CWF >> 8); |
|
818 | 819 | header->blkNr[1] = (unsigned char) (BLK_NR_CWF ); |
|
819 | 820 | |
@@ -896,6 +897,8 int spw_send_waveform_SWF( ring_node *ri | |||
|
896 | 897 | dataPtr = (int*) ring_node_to_send->buffer_address; |
|
897 | 898 | sid = ring_node_to_send->sid; |
|
898 | 899 | |
|
900 | header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
901 | ||
|
899 | 902 | for (i=0; i<7; i++) // send waveform |
|
900 | 903 | { |
|
901 | 904 | spw_ioctl_send_SWF.data = (char*) &dataPtr[ (i * BLK_NR_304 * NB_WORDS_SWF_BLK) ]; |
@@ -985,6 +988,7 int spw_send_waveform_CWF3_light( ring_n | |||
|
985 | 988 | |
|
986 | 989 | header->packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_672 >> 8); |
|
987 | 990 | header->packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_672 ); |
|
991 | header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
988 | 992 | header->blkNr[0] = (unsigned char) (BLK_NR_CWF_SHORT_F3 >> 8); |
|
989 | 993 | header->blkNr[1] = (unsigned char) (BLK_NR_CWF_SHORT_F3 ); |
|
990 | 994 | |
@@ -1045,6 +1049,8 void spw_send_asm( ring_node *ring_node_ | |||
|
1045 | 1049 | coarseTime = ring_node_to_send->coarseTime; |
|
1046 | 1050 | fineTime = ring_node_to_send->fineTime; |
|
1047 | 1051 | |
|
1052 | header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
1053 | ||
|
1048 | 1054 | for (i=0; i<2; i++) |
|
1049 | 1055 | { |
|
1050 | 1056 | // (1) BUILD THE DATA |
@@ -1056,6 +1062,7 void spw_send_asm( ring_node *ring_node_ | |||
|
1056 | 1062 | ( (ASM_F0_INDICE_START + (i*NB_BINS_PER_PKT_ASM_F0) ) * NB_VALUES_PER_SM ) * 2 |
|
1057 | 1063 | ]; |
|
1058 | 1064 | length = PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F0; |
|
1065 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_6; | |
|
1059 | 1066 | header->pa_lfr_asm_blk_nr[0] = (unsigned char) ( (NB_BINS_PER_PKT_ASM_F0) >> 8 ); // BLK_NR MSB |
|
1060 | 1067 | header->pa_lfr_asm_blk_nr[1] = (unsigned char) (NB_BINS_PER_PKT_ASM_F0); // BLK_NR LSB |
|
1061 | 1068 | break; |
@@ -1065,6 +1072,7 void spw_send_asm( ring_node *ring_node_ | |||
|
1065 | 1072 | ( (ASM_F1_INDICE_START + (i*NB_BINS_PER_PKT_ASM_F1) ) * NB_VALUES_PER_SM ) * 2 |
|
1066 | 1073 | ]; |
|
1067 | 1074 | length = PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F1; |
|
1075 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_6; | |
|
1068 | 1076 | header->pa_lfr_asm_blk_nr[0] = (unsigned char) ( (NB_BINS_PER_PKT_ASM_F1) >> 8 ); // BLK_NR MSB |
|
1069 | 1077 | header->pa_lfr_asm_blk_nr[1] = (unsigned char) (NB_BINS_PER_PKT_ASM_F1); // BLK_NR LSB |
|
1070 | 1078 | break; |
@@ -1074,6 +1082,7 void spw_send_asm( ring_node *ring_node_ | |||
|
1074 | 1082 | ( (ASM_F2_INDICE_START + (i*NB_BINS_PER_PKT_ASM_F2) ) * NB_VALUES_PER_SM ) * 2 |
|
1075 | 1083 | ]; |
|
1076 | 1084 | length = PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F2; |
|
1085 | header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; | |
|
1077 | 1086 | header->pa_lfr_asm_blk_nr[0] = (unsigned char) ( (NB_BINS_PER_PKT_ASM_F2) >> 8 ); // BLK_NR MSB |
|
1078 | 1087 | header->pa_lfr_asm_blk_nr[1] = (unsigned char) (NB_BINS_PER_PKT_ASM_F2); // BLK_NR LSB |
|
1079 | 1088 | break; |
@@ -283,6 +283,7 rtems_task prc0_task( rtems_task_argumen | |||
|
283 | 283 | // 3) send the BP1 set |
|
284 | 284 | set_time( packet_sbm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
285 | 285 | set_time( packet_sbm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
286 | packet_sbm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
286 | 287 | BP_send( (char *) &packet_sbm_bp1, queue_id, |
|
287 | 288 | PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F0 + PACKET_LENGTH_DELTA, |
|
288 | 289 | sid); |
@@ -294,6 +295,7 rtems_task prc0_task( rtems_task_argumen | |||
|
294 | 295 | // 2) send the BP2 set |
|
295 | 296 | set_time( packet_sbm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
296 | 297 | set_time( packet_sbm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
298 | packet_sbm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
297 | 299 | BP_send( (char *) &packet_sbm_bp2, queue_id, |
|
298 | 300 | PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F0 + PACKET_LENGTH_DELTA, |
|
299 | 301 | sid); |
@@ -317,6 +319,7 rtems_task prc0_task( rtems_task_argumen | |||
|
317 | 319 | // 3) send the BP1 set |
|
318 | 320 | set_time( packet_norm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
319 | 321 | set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
322 | packet_norm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
320 | 323 | BP_send( (char *) &packet_norm_bp1, queue_id, |
|
321 | 324 | PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F0 + PACKET_LENGTH_DELTA, |
|
322 | 325 | SID_NORM_BP1_F0 ); |
@@ -327,6 +330,7 rtems_task prc0_task( rtems_task_argumen | |||
|
327 | 330 | // 2) send the BP2 set |
|
328 | 331 | set_time( packet_norm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
329 | 332 | set_time( packet_norm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
333 | packet_norm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
330 | 334 | BP_send( (char *) &packet_norm_bp2, queue_id, |
|
331 | 335 | PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F0 + PACKET_LENGTH_DELTA, |
|
332 | 336 | SID_NORM_BP2_F0); |
@@ -278,6 +278,7 rtems_task prc1_task( rtems_task_argumen | |||
|
278 | 278 | // 3) send the BP1 set |
|
279 | 279 | set_time( packet_sbm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
280 | 280 | set_time( packet_sbm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
281 | packet_sbm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
281 | 282 | BP_send( (char *) &packet_sbm_bp1, queue_id_send, |
|
282 | 283 | PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F1 + PACKET_LENGTH_DELTA, |
|
283 | 284 | sid ); |
@@ -289,6 +290,7 rtems_task prc1_task( rtems_task_argumen | |||
|
289 | 290 | // 2) send the BP2 set |
|
290 | 291 | set_time( packet_sbm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
291 | 292 | set_time( packet_sbm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); |
|
293 | packet_sbm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
292 | 294 | BP_send( (char *) &packet_sbm_bp2, queue_id_send, |
|
293 | 295 | PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F1 + PACKET_LENGTH_DELTA, |
|
294 | 296 | sid ); |
@@ -311,7 +313,8 rtems_task prc1_task( rtems_task_argumen | |||
|
311 | 313 | BP1_set( compressed_sm_norm_f1, k_coeff_intercalib_f1_norm, NB_BINS_COMPRESSED_SM_F1, packet_norm_bp1.data ); |
|
312 | 314 | // 3) send the BP1 set |
|
313 | 315 | set_time( packet_norm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
314 |
set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM |
|
|
316 | set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); | |
|
317 | packet_norm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
315 | 318 | BP_send( (char *) &packet_norm_bp1, queue_id_send, |
|
316 | 319 | PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F1 + PACKET_LENGTH_DELTA, |
|
317 | 320 | SID_NORM_BP1_F1 ); |
@@ -322,6 +325,7 rtems_task prc1_task( rtems_task_argumen | |||
|
322 | 325 | // 2) send the BP2 set |
|
323 | 326 | set_time( packet_norm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
324 | 327 | set_time( packet_norm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
328 | packet_norm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
325 | 329 | BP_send( (char *) &packet_norm_bp2, queue_id_send, |
|
326 | 330 | PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F1 + PACKET_LENGTH_DELTA, |
|
327 | 331 | SID_NORM_BP2_F1 ); |
@@ -212,6 +212,7 rtems_task prc2_task( rtems_task_argumen | |||
|
212 | 212 | // 2) send the BP1 set |
|
213 | 213 | set_time( packet_norm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
214 | 214 | set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
215 | packet_norm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
215 | 216 | BP_send( (char *) &packet_norm_bp1, queue_id_send, |
|
216 | 217 | PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F2 + PACKET_LENGTH_DELTA, |
|
217 | 218 | SID_NORM_BP1_F2 ); |
@@ -224,6 +225,7 rtems_task prc2_task( rtems_task_argumen | |||
|
224 | 225 | // 2) send the BP2 set |
|
225 | 226 | set_time( packet_norm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
226 | 227 | set_time( packet_norm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); |
|
228 | packet_norm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; | |
|
227 | 229 | BP_send( (char *) &packet_norm_bp2, queue_id_send, |
|
228 | 230 | PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F2 + PACKET_LENGTH_DELTA, |
|
229 | 231 | SID_NORM_BP2_F2 ); |
@@ -364,7 +364,7 void BP_init_header( bp_packet *packet, | |||
|
364 | 364 | // DATA FIELD HEADER |
|
365 | 365 | packet->spare1_pusVersion_spare2 = 0x10; |
|
366 | 366 | packet->serviceType = TM_TYPE_LFR_SCIENCE; // service type |
|
367 | packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype | |
|
367 | packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype | |
|
368 | 368 | packet->destinationID = TM_DESTINATION_ID_GROUND; |
|
369 | 369 | packet->time[0] = 0x00; |
|
370 | 370 | packet->time[1] = 0x00; |
@@ -402,7 +402,7 void BP_init_header_with_spare( bp_packe | |||
|
402 | 402 | // DATA FIELD HEADER |
|
403 | 403 | packet->spare1_pusVersion_spare2 = 0x10; |
|
404 | 404 | packet->serviceType = TM_TYPE_LFR_SCIENCE; // service type |
|
405 | packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype | |
|
405 | packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype | |
|
406 | 406 | packet->destinationID = TM_DESTINATION_ID_GROUND; |
|
407 | 407 | // AUXILIARY DATA HEADER |
|
408 | 408 | packet->sid = sid; |
@@ -67,68 +67,68 rtems_task actn_task( rtems_task_argumen | |||
|
67 | 67 | subtype = TC.serviceSubType; |
|
68 | 68 | switch(subtype) |
|
69 | 69 | { |
|
70 |
|
|
|
71 |
|
|
|
72 |
|
|
|
73 |
|
|
|
74 | // | |
|
75 | case TC_SUBTYPE_LOAD_COMM: | |
|
76 | result = action_load_common_par( &TC ); | |
|
77 | close_action( &TC, result, queue_snd_id ); | |
|
78 | break; | |
|
79 | // | |
|
80 | case TC_SUBTYPE_LOAD_NORM: | |
|
81 | result = action_load_normal_par( &TC, queue_snd_id, time ); | |
|
82 | close_action( &TC, result, queue_snd_id ); | |
|
83 | break; | |
|
84 | // | |
|
85 | case TC_SUBTYPE_LOAD_BURST: | |
|
86 | result = action_load_burst_par( &TC, queue_snd_id, time ); | |
|
87 |
|
|
|
88 | break; | |
|
89 |
|
|
|
90 |
|
|
|
91 |
|
|
|
92 |
|
|
|
93 |
|
|
|
94 | // | |
|
95 | case TC_SUBTYPE_LOAD_SBM2: | |
|
96 |
|
|
|
97 | close_action( &TC, result, queue_snd_id ); | |
|
98 | break; | |
|
99 | // | |
|
100 | case TC_SUBTYPE_DUMP: | |
|
101 | result = action_dump_par( queue_snd_id ); | |
|
102 | close_action( &TC, result, queue_snd_id ); | |
|
103 | break; | |
|
104 | // | |
|
105 | case TC_SUBTYPE_ENTER: | |
|
106 | result = action_enter_mode( &TC, queue_snd_id ); | |
|
107 |
|
|
|
108 | break; | |
|
109 |
|
|
|
110 |
|
|
|
111 |
|
|
|
112 |
|
|
|
113 |
|
|
|
114 | // | |
|
115 | case TC_SUBTYPE_EN_CAL: | |
|
116 |
|
|
|
117 | close_action( &TC, result, queue_snd_id ); | |
|
118 | break; | |
|
119 | // | |
|
120 | case TC_SUBTYPE_DIS_CAL: | |
|
121 | result = action_disable_calibration( &TC, queue_snd_id, time ); | |
|
122 | close_action( &TC, result, queue_snd_id ); | |
|
123 | break; | |
|
124 | // | |
|
125 | case TC_SUBTYPE_UPDT_TIME: | |
|
126 | result = action_update_time( &TC ); | |
|
127 | close_action( &TC, result, queue_snd_id ); | |
|
128 | break; | |
|
129 |
|
|
|
130 |
|
|
|
131 |
|
|
|
70 | case TC_SUBTYPE_RESET: | |
|
71 | result = action_reset( &TC, queue_snd_id, time ); | |
|
72 | close_action( &TC, result, queue_snd_id ); | |
|
73 | break; | |
|
74 | case TC_SUBTYPE_LOAD_COMM: | |
|
75 | result = action_load_common_par( &TC ); | |
|
76 | close_action( &TC, result, queue_snd_id ); | |
|
77 | break; | |
|
78 | case TC_SUBTYPE_LOAD_NORM: | |
|
79 | result = action_load_normal_par( &TC, queue_snd_id, time ); | |
|
80 | close_action( &TC, result, queue_snd_id ); | |
|
81 | break; | |
|
82 | case TC_SUBTYPE_LOAD_BURST: | |
|
83 | result = action_load_burst_par( &TC, queue_snd_id, time ); | |
|
84 | close_action( &TC, result, queue_snd_id ); | |
|
85 | break; | |
|
86 | case TC_SUBTYPE_LOAD_SBM1: | |
|
87 | result = action_load_sbm1_par( &TC, queue_snd_id, time ); | |
|
88 | close_action( &TC, result, queue_snd_id ); | |
|
89 | break; | |
|
90 | case TC_SUBTYPE_LOAD_SBM2: | |
|
91 | result = action_load_sbm2_par( &TC, queue_snd_id, time ); | |
|
92 | close_action( &TC, result, queue_snd_id ); | |
|
93 | break; | |
|
94 | case TC_SUBTYPE_DUMP: | |
|
95 | result = action_dump_par( queue_snd_id ); | |
|
96 | close_action( &TC, result, queue_snd_id ); | |
|
97 | break; | |
|
98 | case TC_SUBTYPE_ENTER: | |
|
99 | result = action_enter_mode( &TC, queue_snd_id ); | |
|
100 | close_action( &TC, result, queue_snd_id ); | |
|
101 | break; | |
|
102 | case TC_SUBTYPE_UPDT_INFO: | |
|
103 | result = action_update_info( &TC, queue_snd_id ); | |
|
104 | close_action( &TC, result, queue_snd_id ); | |
|
105 | break; | |
|
106 | case TC_SUBTYPE_EN_CAL: | |
|
107 | result = action_enable_calibration( &TC, queue_snd_id, time ); | |
|
108 | close_action( &TC, result, queue_snd_id ); | |
|
109 | break; | |
|
110 | case TC_SUBTYPE_DIS_CAL: | |
|
111 | result = action_disable_calibration( &TC, queue_snd_id, time ); | |
|
112 | close_action( &TC, result, queue_snd_id ); | |
|
113 | break; | |
|
114 | case TC_SUBTYPE_LOAD_K: | |
|
115 | result = action_load_kcoefficients( &TC, queue_snd_id, time ); | |
|
116 | close_action( &TC, result, queue_snd_id ); | |
|
117 | break; | |
|
118 | case TC_SUBTYPE_DUMP_K: | |
|
119 | result = action_dump_kcoefficients( &TC, queue_snd_id, time ); | |
|
120 | close_action( &TC, result, queue_snd_id ); | |
|
121 | break; | |
|
122 | case TC_SUBTYPE_LOAD_FBINS: | |
|
123 | result = action_load_fbins_mask( &TC, queue_snd_id, time ); | |
|
124 | close_action( &TC, result, queue_snd_id ); | |
|
125 | break; | |
|
126 | case TC_SUBTYPE_UPDT_TIME: | |
|
127 | result = action_update_time( &TC ); | |
|
128 | close_action( &TC, result, queue_snd_id ); | |
|
129 | break; | |
|
130 | default: | |
|
131 | break; | |
|
132 | 132 | } |
|
133 | 133 | } |
|
134 | 134 | } |
@@ -167,6 +167,8 int action_enter_mode(ccsdsTelecommandPa | |||
|
167 | 167 | unsigned int transitionCoarseTime; |
|
168 | 168 | unsigned char * bytePosPtr; |
|
169 | 169 | |
|
170 | printTaskID(); | |
|
171 | ||
|
170 | 172 | bytePosPtr = (unsigned char *) &TC->packetID; |
|
171 | 173 | |
|
172 | 174 | requestedMode = bytePosPtr[ BYTE_POS_CP_MODE_LFR_SET ]; |
@@ -669,6 +671,9 int suspend_science_tasks() | |||
|
669 | 671 | |
|
670 | 672 | rtems_status_code status; |
|
671 | 673 | |
|
674 | printf("in suspend_science_tasks\n"); | |
|
675 | printTaskID(); | |
|
676 | ||
|
672 | 677 | status = rtems_task_suspend( Task_id[TASKID_AVF0] ); // suspend AVF0 |
|
673 | 678 | if (status != RTEMS_SUCCESSFUL) |
|
674 | 679 | { |
@@ -1116,3 +1121,13 void reset_lfr( void ) | |||
|
1116 | 1121 | |
|
1117 | 1122 | set_lfr_soft_reset( 0 ); |
|
1118 | 1123 | } |
|
1124 | ||
|
1125 | void printTaskID( void ) | |
|
1126 | { | |
|
1127 | unsigned int i; | |
|
1128 | ||
|
1129 | for (i=0; i<20;i++) | |
|
1130 | { | |
|
1131 | printf("ID %d = %d\n", i, (unsigned int) Task_id[i]); | |
|
1132 | } | |
|
1133 | } |
@@ -24,7 +24,7 int action_load_common_par(ccsdsTelecomm | |||
|
24 | 24 | */ |
|
25 | 25 | |
|
26 | 26 | parameter_dump_packet.unused0 = TC->dataAndCRC[0]; |
|
27 |
parameter_dump_packet. |
|
|
27 | parameter_dump_packet.sy_lfr_common_parameters = TC->dataAndCRC[1]; | |
|
28 | 28 | set_wfp_data_shaping( ); |
|
29 | 29 | return LFR_SUCCESSFUL; |
|
30 | 30 | } |
@@ -269,6 +269,60 int action_load_sbm2_par(ccsdsTelecomman | |||
|
269 | 269 | return flag; |
|
270 | 270 | } |
|
271 | 271 | |
|
272 | int action_load_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) | |
|
273 | { | |
|
274 | /** This function updates the LFR registers with the incoming sbm2 parameters. | |
|
275 | * | |
|
276 | * @param TC points to the TeleCommand packet that is being processed | |
|
277 | * @param queue_id is the id of the queue which handles TM related to this execution step | |
|
278 | * | |
|
279 | */ | |
|
280 | ||
|
281 | int flag; | |
|
282 | ||
|
283 | flag = LFR_DEFAULT; | |
|
284 | ||
|
285 | send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); | |
|
286 | ||
|
287 | return flag; | |
|
288 | } | |
|
289 | ||
|
290 | int action_load_fbins_mask(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) | |
|
291 | { | |
|
292 | /** This function updates the LFR registers with the incoming sbm2 parameters. | |
|
293 | * | |
|
294 | * @param TC points to the TeleCommand packet that is being processed | |
|
295 | * @param queue_id is the id of the queue which handles TM related to this execution step | |
|
296 | * | |
|
297 | */ | |
|
298 | ||
|
299 | int flag; | |
|
300 | ||
|
301 | flag = LFR_DEFAULT; | |
|
302 | ||
|
303 | send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); | |
|
304 | ||
|
305 | return flag; | |
|
306 | } | |
|
307 | ||
|
308 | int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) | |
|
309 | { | |
|
310 | /** This function updates the LFR registers with the incoming sbm2 parameters. | |
|
311 | * | |
|
312 | * @param TC points to the TeleCommand packet that is being processed | |
|
313 | * @param queue_id is the id of the queue which handles TM related to this execution step | |
|
314 | * | |
|
315 | */ | |
|
316 | ||
|
317 | int flag; | |
|
318 | ||
|
319 | flag = LFR_DEFAULT; | |
|
320 | ||
|
321 | send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); | |
|
322 | ||
|
323 | return flag; | |
|
324 | } | |
|
325 | ||
|
272 | 326 | int action_dump_par( rtems_id queue_id ) |
|
273 | 327 | { |
|
274 | 328 | /** This function dumps the LFR parameters by sending the appropriate TM packet to the dedicated RTEMS message queue. |
@@ -734,7 +788,7 void init_parameter_dump( void ) | |||
|
734 | 788 | //****************** |
|
735 | 789 | // COMMON PARAMETERS |
|
736 | 790 | parameter_dump_packet.unused0 = DEFAULT_SY_LFR_COMMON0; |
|
737 |
parameter_dump_packet. |
|
|
791 | parameter_dump_packet.sy_lfr_common_parameters = DEFAULT_SY_LFR_COMMON1; | |
|
738 | 792 | |
|
739 | 793 | //****************** |
|
740 | 794 | // NORMAL PARAMETERS |
@@ -1214,7 +1214,7 void set_wfp_data_shaping( void ) | |||
|
1214 | 1214 | // get the parameters for the data shaping [BW SP0 SP1 R0 R1] in sy_lfr_common1 and configure the register |
|
1215 | 1215 | // waveform picker : [R1 R0 SP1 SP0 BW] |
|
1216 | 1216 | |
|
1217 |
data_shaping = parameter_dump_packet. |
|
|
1217 | data_shaping = parameter_dump_packet.sy_lfr_common_parameters; | |
|
1218 | 1218 | |
|
1219 | 1219 | waveform_picker_regs->data_shaping = |
|
1220 | 1220 | ( (data_shaping & 0x10) >> 4 ) // BW |
|
1 | NO CONTENT: file was removed, binary diff hidden |
General Comments 0
You need to be logged in to leave comments.
Login now