##// END OF EJS Templates
3.1.0.6...
paul -
r333:5bbd6be9fddc R3_plus draft
parent child
Show More
@@ -92,6 +92,7 int check_sy_lfr_filter_parameters( ccsd
92 int set_sy_lfr_kcoeff(ccsdsTelecommandPacket_t *TC , rtems_id queue_id);
92 int set_sy_lfr_kcoeff(ccsdsTelecommandPacket_t *TC , rtems_id queue_id);
93 void copyFloatByChar( unsigned char *destination, unsigned char *source );
93 void copyFloatByChar( unsigned char *destination, unsigned char *source );
94 void copyInt32ByChar( unsigned char *destination, unsigned char *source );
94 void copyInt32ByChar( unsigned char *destination, unsigned char *source );
95 void copyInt16ByChar( unsigned char *destination, unsigned char *source );
95 void floatToChar( float value, unsigned char* ptr);
96 void floatToChar( float value, unsigned char* ptr);
96
97
97 void init_parameter_dump( void );
98 void init_parameter_dump( void );
@@ -408,7 +408,7 rtems_task avgv_task(rtems_task_argument
408 if (k == (MOVING_AVERAGE-1))
408 if (k == (MOVING_AVERAGE-1))
409 {
409 {
410 k = 0;
410 k = 0;
411 printf("tick\n");
411 PRINTF("tick\n");
412 }
412 }
413 else
413 else
414 {
414 {
@@ -167,7 +167,7 rtems_task recv_task( rtems_task_argumen
167 }
167 }
168 else {
168 else {
169 estimatedPacketLength = (unsigned int) (len - CCSDS_TC_TM_PACKET_OFFSET - PROTID_RES_APP); // => -3 is for Prot ID, Reserved and User App bytes
169 estimatedPacketLength = (unsigned int) (len - CCSDS_TC_TM_PACKET_OFFSET - PROTID_RES_APP); // => -3 is for Prot ID, Reserved and User App bytes
170 // PRINTF1("incoming TC with Length (byte): %d\n", len - 3);
170 PRINTF1("incoming TC with Length (byte): %d\n", len - 3);
171 currentTC_LEN_RCV[ 0 ] = (unsigned char) (estimatedPacketLength >> SHIFT_1_BYTE);
171 currentTC_LEN_RCV[ 0 ] = (unsigned char) (estimatedPacketLength >> SHIFT_1_BYTE);
172 currentTC_LEN_RCV[ 1 ] = (unsigned char) (estimatedPacketLength );
172 currentTC_LEN_RCV[ 1 ] = (unsigned char) (estimatedPacketLength );
173 // CHECK THE TC
173 // CHECK THE TC
@@ -177,17 +177,11 int action_enter_mode(ccsdsTelecommandPa
177 unsigned int transitionCoarseTime;
177 unsigned int transitionCoarseTime;
178 unsigned char * bytePosPtr;
178 unsigned char * bytePosPtr;
179
179
180 printf("(0)\n");
181 bytePosPtr = (unsigned char *) &TC->packetID;
180 bytePosPtr = (unsigned char *) &TC->packetID;
182 printf("(1)\n");
183 requestedMode = bytePosPtr[ BYTE_POS_CP_MODE_LFR_SET ];
181 requestedMode = bytePosPtr[ BYTE_POS_CP_MODE_LFR_SET ];
184 printf("(2)\n");
185 copyInt32ByChar( (char*) &transitionCoarseTime, &bytePosPtr[ BYTE_POS_CP_LFR_ENTER_MODE_TIME ] );
182 copyInt32ByChar( (char*) &transitionCoarseTime, &bytePosPtr[ BYTE_POS_CP_LFR_ENTER_MODE_TIME ] );
186 printf("(3)\n");
187 transitionCoarseTime = transitionCoarseTime & COARSE_TIME_MASK;
183 transitionCoarseTime = transitionCoarseTime & COARSE_TIME_MASK;
188 printf("(4)\n");
189 status = check_mode_value( requestedMode );
184 status = check_mode_value( requestedMode );
190 printf("(5)\n");
191
185
192 if ( status != LFR_SUCCESSFUL ) // the mode value is inconsistent
186 if ( status != LFR_SUCCESSFUL ) // the mode value is inconsistent
193 {
187 {
@@ -684,8 +678,6 int enter_mode_normal( unsigned int tran
684
678
685 status = RTEMS_UNSATISFIED;
679 status = RTEMS_UNSATISFIED;
686
680
687 printf("hop\n");
688
689 switch( lfrCurrentMode )
681 switch( lfrCurrentMode )
690 {
682 {
691 case LFR_MODE_STANDBY:
683 case LFR_MODE_STANDBY:
@@ -1318,7 +1318,6 int set_sy_lfr_kcoeff( ccsdsTelecommandP
1318 unsigned int kcoeff;
1318 unsigned int kcoeff;
1319 unsigned short sy_lfr_kcoeff_frequency;
1319 unsigned short sy_lfr_kcoeff_frequency;
1320 unsigned short bin;
1320 unsigned short bin;
1321 unsigned short *freqPtr;
1322 float *kcoeffPtr_norm;
1321 float *kcoeffPtr_norm;
1323 float *kcoeffPtr_sbm;
1322 float *kcoeffPtr_sbm;
1324 int status;
1323 int status;
@@ -1327,14 +1326,14 int set_sy_lfr_kcoeff( ccsdsTelecommandP
1327 unsigned char *kcoeffSbmPtr_a;
1326 unsigned char *kcoeffSbmPtr_a;
1328 unsigned char *kcoeffSbmPtr_b;
1327 unsigned char *kcoeffSbmPtr_b;
1329
1328
1330 status = LFR_SUCCESSFUL;
1329 sy_lfr_kcoeff_frequency = 0;
1331
1330 bin = 0;
1332 kcoeffPtr_norm = NULL;
1331 kcoeffPtr_norm = NULL;
1333 kcoeffPtr_sbm = NULL;
1332 kcoeffPtr_sbm = NULL;
1334 bin = 0;
1333 status = LFR_SUCCESSFUL;
1335
1334
1336 freqPtr = (unsigned short *) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_FREQUENCY];
1335 // copy the value of the frequency byte by byte DO NOT USE A SHORT* POINTER
1337 sy_lfr_kcoeff_frequency = *freqPtr;
1336 copyInt16ByChar( (unsigned char*) &sy_lfr_kcoeff_frequency, &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_FREQUENCY] );
1338
1337
1339 if ( sy_lfr_kcoeff_frequency >= NB_BINS_COMPRESSED_SM )
1338 if ( sy_lfr_kcoeff_frequency >= NB_BINS_COMPRESSED_SM )
1340 {
1339 {
@@ -1396,7 +1395,7 int set_sy_lfr_kcoeff( ccsdsTelecommandP
1396 }
1395 }
1397 }
1396 }
1398
1397
1399 // print_k_coeff();
1398 //print_k_coeff();
1400
1399
1401 return status;
1400 return status;
1402 }
1401 }
@@ -1417,6 +1416,12 void copyInt32ByChar( unsigned char *des
1417 destination[BYTE_3] = source[BYTE_3];
1416 destination[BYTE_3] = source[BYTE_3];
1418 }
1417 }
1419
1418
1419 void copyInt16ByChar( unsigned char *destination, unsigned char *source )
1420 {
1421 destination[BYTE_0] = source[BYTE_0];
1422 destination[BYTE_1] = source[BYTE_1];
1423 }
1424
1420 void floatToChar( float value, unsigned char* ptr)
1425 void floatToChar( float value, unsigned char* ptr)
1421 {
1426 {
1422 unsigned char* valuePtr;
1427 unsigned char* valuePtr;
General Comments 0
You need to be logged in to leave comments. Login now