##// END OF EJS Templates
R3 updates. TC handlers added for the new telecommands:...
paul -
r192:a0b224a4fc7c VHDL_0_1_28
parent child
Show More
@@ -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=2 # major
12 DEFINES += SW_VERSION_N1=3 # major
13 13 DEFINES += SW_VERSION_N2=0 # minor
14 DEFINES += SW_VERSION_N3=2 # patch
15 DEFINES += SW_VERSION_N4=3 # internal
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 case TC_SUBTYPE_RESET:
71 result = action_reset( &TC, queue_snd_id, time );
72 close_action( &TC, result, queue_snd_id );
73 break;
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 close_action( &TC, result, queue_snd_id );
88 break;
89 //
90 case TC_SUBTYPE_LOAD_SBM1:
91 result = action_load_sbm1_par( &TC, queue_snd_id, time );
92 close_action( &TC, result, queue_snd_id );
93 break;
94 //
95 case TC_SUBTYPE_LOAD_SBM2:
96 result = action_load_sbm2_par( &TC, queue_snd_id, time );
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 close_action( &TC, result, queue_snd_id );
108 break;
109 //
110 case TC_SUBTYPE_UPDT_INFO:
111 result = action_update_info( &TC, queue_snd_id );
112 close_action( &TC, result, queue_snd_id );
113 break;
114 //
115 case TC_SUBTYPE_EN_CAL:
116 result = action_enable_calibration( &TC, queue_snd_id, time );
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 default:
131 break;
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.bw_sp0_sp1_r0_r1 = TC->dataAndCRC[1];
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.bw_sp0_sp1_r0_r1 = DEFAULT_SY_LFR_COMMON1;
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.bw_sp0_sp1_r0_r1;
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