@@ -109,6 +109,7 int check_sy_lfr_filter_parameters( ccsd | |||||
109 | int set_sy_lfr_kcoeff(ccsdsTelecommandPacket_t *TC , rtems_id queue_id); |
|
109 | int set_sy_lfr_kcoeff(ccsdsTelecommandPacket_t *TC , rtems_id queue_id); | |
110 | void copyFloatByChar( unsigned char *destination, unsigned char *source ); |
|
110 | void copyFloatByChar( unsigned char *destination, unsigned char *source ); | |
111 | void copyInt32ByChar( unsigned char *destination, unsigned char *source ); |
|
111 | void copyInt32ByChar( unsigned char *destination, unsigned char *source ); | |
|
112 | void copyInt16ByChar( unsigned char *destination, unsigned char *source ); | |||
112 | void floatToChar( float value, unsigned char* ptr); |
|
113 | void floatToChar( float value, unsigned char* ptr); | |
113 |
|
114 | |||
114 | void init_parameter_dump( void ); |
|
115 | void init_parameter_dump( void ); |
@@ -421,7 +421,7 rtems_task avgv_task(rtems_task_argument | |||||
421 | if (k == (MOVING_AVERAGE-1)) |
|
421 | if (k == (MOVING_AVERAGE-1)) | |
422 | { |
|
422 | { | |
423 | k = 0; |
|
423 | k = 0; | |
424 |
|
|
424 | PRINTF("tick\n"); | |
425 | } |
|
425 | } | |
426 | else |
|
426 | else | |
427 | { |
|
427 | { |
@@ -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 |
|
|
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 | { | |
@@ -685,8 +679,6 int enter_mode_normal( unsigned int tran | |||||
685 |
|
679 | |||
686 | status = RTEMS_UNSATISFIED; |
|
680 | status = RTEMS_UNSATISFIED; | |
687 |
|
681 | |||
688 | printf("hop\n"); |
|
|||
689 |
|
||||
690 | switch( lfrCurrentMode ) |
|
682 | switch( lfrCurrentMode ) | |
691 | { |
|
683 | { | |
692 | case LFR_MODE_STANDBY: |
|
684 | case LFR_MODE_STANDBY: |
@@ -1420,7 +1420,6 int set_sy_lfr_kcoeff( ccsdsTelecommandP | |||||
1420 | unsigned int kcoeff; |
|
1420 | unsigned int kcoeff; | |
1421 | unsigned short sy_lfr_kcoeff_frequency; |
|
1421 | unsigned short sy_lfr_kcoeff_frequency; | |
1422 | unsigned short bin; |
|
1422 | unsigned short bin; | |
1423 | unsigned short *freqPtr; |
|
|||
1424 | float *kcoeffPtr_norm; |
|
1423 | float *kcoeffPtr_norm; | |
1425 | float *kcoeffPtr_sbm; |
|
1424 | float *kcoeffPtr_sbm; | |
1426 | int status; |
|
1425 | int status; | |
@@ -1429,14 +1428,15 int set_sy_lfr_kcoeff( ccsdsTelecommandP | |||||
1429 | unsigned char *kcoeffSbmPtr_a; |
|
1428 | unsigned char *kcoeffSbmPtr_a; | |
1430 | unsigned char *kcoeffSbmPtr_b; |
|
1429 | unsigned char *kcoeffSbmPtr_b; | |
1431 |
|
1430 | |||
1432 | status = LFR_SUCCESSFUL; |
|
1431 | sy_lfr_kcoeff_frequency = 0; | |
1433 |
|
1432 | bin = 0; | ||
1434 | kcoeffPtr_norm = NULL; |
|
1433 | kcoeffPtr_norm = NULL; | |
1435 | kcoeffPtr_sbm = NULL; |
|
1434 | kcoeffPtr_sbm = NULL; | |
1436 | bin = 0; |
|
1435 | status = LFR_SUCCESSFUL; | |
1437 |
|
1436 | |||
1438 | freqPtr = (unsigned short *) &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_FREQUENCY]; |
|
1437 | // copy the value of the frequency byte by byte DO NOT USE A SHORT* POINTER | |
1439 | sy_lfr_kcoeff_frequency = *freqPtr; |
|
1438 | copyInt16ByChar( (unsigned char*) &sy_lfr_kcoeff_frequency, &TC->dataAndCRC[DATAFIELD_POS_SY_LFR_KCOEFF_FREQUENCY] ); | |
|
1439 | ||||
1440 |
|
1440 | |||
1441 | if ( sy_lfr_kcoeff_frequency >= NB_BINS_COMPRESSED_SM ) |
|
1441 | if ( sy_lfr_kcoeff_frequency >= NB_BINS_COMPRESSED_SM ) | |
1442 | { |
|
1442 | { | |
@@ -1519,6 +1519,12 void copyInt32ByChar( unsigned char *des | |||||
1519 | destination[BYTE_3] = source[BYTE_3]; |
|
1519 | destination[BYTE_3] = source[BYTE_3]; | |
1520 | } |
|
1520 | } | |
1521 |
|
1521 | |||
|
1522 | void copyInt16ByChar( unsigned char *destination, unsigned char *source ) | |||
|
1523 | { | |||
|
1524 | destination[BYTE_0] = source[BYTE_0]; | |||
|
1525 | destination[BYTE_1] = source[BYTE_1]; | |||
|
1526 | } | |||
|
1527 | ||||
1522 | void floatToChar( float value, unsigned char* ptr) |
|
1528 | void floatToChar( float value, unsigned char* ptr) | |
1523 | { |
|
1529 | { | |
1524 | unsigned char* valuePtr; |
|
1530 | unsigned char* valuePtr; |
General Comments 0
You need to be logged in to leave comments.
Login now