##// END OF EJS Templates
Removed last dead code function found and set FSW ver to 3.2.0.23
Removed last dead code function found and set FSW ver to 3.2.0.23

File last commit:

r390:1c936ff95146 No PWD scrub with...
r403:56ae035bb062 3.2.0.23 R3++
Show More
fsw_processing.c
898 lines | 31.5 KiB | text/x-c | CLexer
Added GPL header and documented some more functions
r390 /*------------------------------------------------------------------------------
-- Solar Orbiter's Low Frequency Receiver Flight Software (LFR FSW),
-- This file is a part of the LFR FSW
-- Copyright (C) 2012-2018, Plasma Physics Laboratory - CNRS
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-------------------------------------------------------------------------------*/
/*-- Author : Paul Leroy
-- Contact : Alexis Jeandet
-- Mail : alexis.jeandet@lpp.polytechnique.fr
----------------------------------------------------------------------------*/
paul
Sources reorganized...
r126 /** Functions related to data processing.
*
* @file
* @author P. LEROY
*
* These function are related to data processing, i.e. spectral matrices averaging and basic parameters computation.
*
*/
#include "fsw_processing.h"
#include "fsw_processing_globals.c"
paul
fifo occupation reported in the HK packet
r197 #include "fsw_init.h"
paul
Sources reorganized...
r126
paul
Bug #796 Don_Initialisation_P1
r321 unsigned int nb_sm_f0 = 0;
unsigned int nb_sm_f0_aux_f1= 0;
unsigned int nb_sm_f1 = 0;
unsigned int nb_sm_f0_aux_f2= 0;
paul
Sources reorganized...
r126
paul
ASM restart sequence updated at the interrupt service routine level...
r259 typedef enum restartState_t
{
WAIT_FOR_F2,
WAIT_FOR_F1,
WAIT_FOR_F0
} restartState;
paul
Sources reorganized...
r126 //************************
// spectral matrices rings
paul
Bug #796 Don_Initialisation_P1
r321 ring_node sm_ring_f0[ NB_RING_NODES_SM_F0 ] = {0};
ring_node sm_ring_f1[ NB_RING_NODES_SM_F1 ] = {0};
ring_node sm_ring_f2[ NB_RING_NODES_SM_F2 ] = {0};
ring_node *current_ring_node_sm_f0 = NULL;
ring_node *current_ring_node_sm_f1 = NULL;
ring_node *current_ring_node_sm_f2 = NULL;
ring_node *ring_node_for_averaging_sm_f0= NULL;
ring_node *ring_node_for_averaging_sm_f1= NULL;
ring_node *ring_node_for_averaging_sm_f2= NULL;
paul
Sources reorganized...
r126
paul
Integration of basic parameters functions in the flight software...
r179 //
ring_node * getRingNodeForAveraging( unsigned char frequencyChannel)
{
ring_node *node;
node = NULL;
switch ( frequencyChannel ) {
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case CHANNELF0:
paul
Integration of basic parameters functions in the flight software...
r179 node = ring_node_for_averaging_sm_f0;
break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case CHANNELF1:
paul
Integration of basic parameters functions in the flight software...
r179 node = ring_node_for_averaging_sm_f1;
break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case CHANNELF2:
paul
Integration of basic parameters functions in the flight software...
r179 node = ring_node_for_averaging_sm_f2;
break;
default:
break;
}
return node;
}
paul
Sources reorganized...
r126 //***********************************************************
// Interrupt Service Routine for spectral matrices processing
paul
two fields added to the housekeeping parameters:...
r265 void spectral_matrices_isr_f0( int statusReg )
paul
Sources reorganized...
r126 {
paul
Sync
r139 unsigned char status;
paul
Integration of basic parameters functions in the flight software...
r179 rtems_status_code status_code;
paul
sync with LFR_basic-parameters
r180 ring_node *full_ring_node;
paul
Sync
r139
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 status = (unsigned char) (statusReg & BITS_STATUS_F0); // [0011] get the status_ready_matrix_f0_x bits
paul
Sync
r147
paul
Sync
r139 switch(status)
paul
1.0.0.7...
r135 {
paul
Sync
r139 case 0:
break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_0_1:
paul
Integration of basic parameters functions in the flight software...
r179 // UNEXPECTED VALUE
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_READY_0_1; // [0011]
paul
Integration of basic parameters functions in the flight software...
r179 status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_11 );
paul
Sync
r139 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_0:
paul
sync with LFR_basic-parameters
r180 full_ring_node = current_ring_node_sm_f0->previous;
paul
sync
r181 full_ring_node->coarseTime = spectral_matrix_regs->f0_0_coarse_time;
full_ring_node->fineTime = spectral_matrix_regs->f0_0_fine_time;
paul
Sync
r139 current_ring_node_sm_f0 = current_ring_node_sm_f0->next;
spectral_matrix_regs->f0_0_address = current_ring_node_sm_f0->buffer_address;
paul
Integration of basic parameters functions in the flight software...
r179 // if there are enough ring nodes ready, wake up an AVFx task
nb_sm_f0 = nb_sm_f0 + 1;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if (nb_sm_f0 == NB_SM_BEFORE_AVF0_F1)
paul
Integration of basic parameters functions in the flight software...
r179 {
paul
sync with LFR_basic-parameters
r180 ring_node_for_averaging_sm_f0 = full_ring_node;
paul
Integration of basic parameters functions in the flight software...
r179 if (rtems_event_send( Task_id[TASKID_AVF0], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL)
{
status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_3 );
}
nb_sm_f0 = 0;
}
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_READY_0; // [0000 0001]
paul
Sync
r139 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_1:
paul
sync with LFR_basic-parameters
r180 full_ring_node = current_ring_node_sm_f0->previous;
paul
sync
r181 full_ring_node->coarseTime = spectral_matrix_regs->f0_1_coarse_time;
full_ring_node->fineTime = spectral_matrix_regs->f0_1_fine_time;
paul
Sync
r139 current_ring_node_sm_f0 = current_ring_node_sm_f0->next;
paul
sync with LFR_basic-parameters
r180 spectral_matrix_regs->f0_1_address = current_ring_node_sm_f0->buffer_address;
paul
Integration of basic parameters functions in the flight software...
r179 // if there are enough ring nodes ready, wake up an AVFx task
nb_sm_f0 = nb_sm_f0 + 1;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if (nb_sm_f0 == NB_SM_BEFORE_AVF0_F1)
paul
Integration of basic parameters functions in the flight software...
r179 {
paul
sync with LFR_basic-parameters
r180 ring_node_for_averaging_sm_f0 = full_ring_node;
paul
Integration of basic parameters functions in the flight software...
r179 if (rtems_event_send( Task_id[TASKID_AVF0], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL)
{
status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_3 );
}
nb_sm_f0 = 0;
}
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_READY_1; // [0000 0010]
paul
Sync
r147 break;
paul
Bug #803 Tr_BoucleSortie...
r319 default:
break;
paul
Sync
r147 }
}
paul
two fields added to the housekeeping parameters:...
r265 void spectral_matrices_isr_f1( int statusReg )
paul
Sync
r147 {
paul
Integration of basic parameters functions in the flight software...
r179 rtems_status_code status_code;
paul
Sync
r147 unsigned char status;
paul
sync with LFR_basic-parameters
r180 ring_node *full_ring_node;
paul
Sync
r147
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 status = (unsigned char) ((statusReg & BITS_STATUS_F1) >> SHIFT_2_BITS); // [1100] get the status_ready_matrix_f1_x bits
paul
Sync
r147
switch(status)
{
case 0:
break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_0_1:
paul
updates for the compliance with the spectral matrix VHDL design
r150 // UNEXPECTED VALUE
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BITS_STATUS_F1; // [1100]
paul
Many corrections done after Logiscope analysis
r166 status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_11 );
paul
Sync
r147 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_0:
paul
sync with LFR_basic-parameters
r180 full_ring_node = current_ring_node_sm_f1->previous;
paul
sync
r181 full_ring_node->coarseTime = spectral_matrix_regs->f1_0_coarse_time;
full_ring_node->fineTime = spectral_matrix_regs->f1_0_fine_time;
paul
Sync
r147 current_ring_node_sm_f1 = current_ring_node_sm_f1->next;
spectral_matrix_regs->f1_0_address = current_ring_node_sm_f1->buffer_address;
paul
Integration of basic parameters functions in the flight software...
r179 // if there are enough ring nodes ready, wake up an AVFx task
nb_sm_f1 = nb_sm_f1 + 1;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if (nb_sm_f1 == NB_SM_BEFORE_AVF0_F1)
paul
Integration of basic parameters functions in the flight software...
r179 {
paul
sync with LFR_basic-parameters
r180 ring_node_for_averaging_sm_f1 = full_ring_node;
paul
Integration of basic parameters functions in the flight software...
r179 if (rtems_event_send( Task_id[TASKID_AVF1], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL)
{
status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_3 );
}
nb_sm_f1 = 0;
}
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_STATUS_F1_0; // [0000 0100]
paul
Sync
r147 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_1:
paul
sync with LFR_basic-parameters
r180 full_ring_node = current_ring_node_sm_f1->previous;
paul
sync
r181 full_ring_node->coarseTime = spectral_matrix_regs->f1_1_coarse_time;
full_ring_node->fineTime = spectral_matrix_regs->f1_1_fine_time;
paul
Sync
r147 current_ring_node_sm_f1 = current_ring_node_sm_f1->next;
spectral_matrix_regs->f1_1_address = current_ring_node_sm_f1->buffer_address;
paul
Integration of basic parameters functions in the flight software...
r179 // if there are enough ring nodes ready, wake up an AVFx task
nb_sm_f1 = nb_sm_f1 + 1;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if (nb_sm_f1 == NB_SM_BEFORE_AVF0_F1)
paul
Integration of basic parameters functions in the flight software...
r179 {
paul
sync with LFR_basic-parameters
r180 ring_node_for_averaging_sm_f1 = full_ring_node;
paul
Integration of basic parameters functions in the flight software...
r179 if (rtems_event_send( Task_id[TASKID_AVF1], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL)
{
status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_3 );
}
nb_sm_f1 = 0;
}
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_STATUS_F1_1; // [1000 0000]
paul
Sync
r147 break;
paul
Bug #803 Tr_BoucleSortie...
r319 default:
break;
paul
Sync
r147 }
}
paul
two fields added to the housekeeping parameters:...
r265 void spectral_matrices_isr_f2( int statusReg )
paul
Sync
r147 {
unsigned char status;
paul
Many corrections done after Logiscope analysis
r166 rtems_status_code status_code;
paul
Sync
r147
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 status = (unsigned char) ((statusReg & BITS_STATUS_F2) >> SHIFT_4_BITS); // [0011 0000] get the status_ready_matrix_f2_x bits
paul
Sync
r147
switch(status)
{
case 0:
paul
Bug #117
r149 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_0_1:
paul
updates for the compliance with the spectral matrix VHDL design
r150 // UNEXPECTED VALUE
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BITS_STATUS_F2; // [0011 0000]
paul
Many corrections done after Logiscope analysis
r166 status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_11 );
paul
Sync
r147 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_0:
paul
Integration of basic parameters functions in the flight software...
r179 ring_node_for_averaging_sm_f2 = current_ring_node_sm_f2->previous;
current_ring_node_sm_f2 = current_ring_node_sm_f2->next;
paul
updates for the compliance with the spectral matrix VHDL design
r150 ring_node_for_averaging_sm_f2->coarseTime = spectral_matrix_regs->f2_0_coarse_time;
ring_node_for_averaging_sm_f2->fineTime = spectral_matrix_regs->f2_0_fine_time;
paul
Sync
r147 spectral_matrix_regs->f2_0_address = current_ring_node_sm_f2->buffer_address;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_STATUS_F2_0; // [0001 0000]
paul
Bug #117
r149 if (rtems_event_send( Task_id[TASKID_AVF2], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL)
{
paul
Many corrections done after Logiscope analysis
r166 status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_3 );
paul
Bug #117
r149 }
paul
Sync
r147 break;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 case BIT_READY_1:
paul
Integration of basic parameters functions in the flight software...
r179 ring_node_for_averaging_sm_f2 = current_ring_node_sm_f2->previous;
current_ring_node_sm_f2 = current_ring_node_sm_f2->next;
paul
updates for the compliance with the spectral matrix VHDL design
r150 ring_node_for_averaging_sm_f2->coarseTime = spectral_matrix_regs->f2_1_coarse_time;
ring_node_for_averaging_sm_f2->fineTime = spectral_matrix_regs->f2_1_fine_time;
paul
Sync
r147 spectral_matrix_regs->f2_1_address = current_ring_node_sm_f2->buffer_address;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = BIT_STATUS_F2_1; // [0010 0000]
paul
Bug #117
r149 if (rtems_event_send( Task_id[TASKID_AVF2], RTEMS_EVENT_0 ) != RTEMS_SUCCESSFUL)
{
paul
Many corrections done after Logiscope analysis
r166 status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_3 );
paul
Bug #117
r149 }
paul
Sync
r139 break;
paul
Bug #803 Tr_BoucleSortie...
r319 default:
break;
paul
1.0.0.7...
r135 }
paul
Sync
r147 }
paul
two fields added to the housekeeping parameters:...
r265 void spectral_matrix_isr_error_handler( int statusReg )
paul
Sync
r147 {
paul
two fields added to the housekeeping parameters:...
r265 // STATUS REGISTER
// input_fifo_write(2) *** input_fifo_write(1) *** input_fifo_write(0)
// 10 9 8
paul
Bug #491 => modification of hk_lfr_vhdl_aa_sm
r273 // buffer_full ** [bad_component_err] ** f2_1 ** f2_0 ** f1_1 ** f1_0 ** f0_1 ** f0_0
paul
two fields added to the housekeeping parameters:...
r265 // 7 6 5 4 3 2 1 0
paul
Bug #491 => modification of hk_lfr_vhdl_aa_sm
r273 // [bad_component_err] not defined in the last version of the VHDL code
paul
two fields added to the housekeeping parameters:...
r265
paul
Integration of basic parameters functions in the flight software...
r179 rtems_status_code status_code;
paul
Many corrections done after Logiscope analysis
r166
paul
two fields added to the housekeeping parameters:...
r265 //***************************************************
// the ASM status register is copied in the HK packet
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 housekeeping_packet.hk_lfr_vhdl_aa_sm = (unsigned char) ((statusReg & BITS_HK_AA_SM) >> SHIFT_7_BITS); // [0111 1000 0000]
paul
two fields added to the housekeeping parameters:...
r265
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if (statusReg & BITS_SM_ERR) // [0111 1100 0000]
paul
Integration of basic parameters functions in the flight software...
r179 {
status_code = rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_8 );
}
paul
Sync
r174
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 spectral_matrix_regs->status = spectral_matrix_regs->status & BITS_SM_ERR;
paul
two fields added to the housekeeping parameters:...
r265
paul
Sync
r147 }
paul
Sources reorganized...
r126
paul
Sync
r147 rtems_isr spectral_matrices_isr( rtems_vector_number vector )
{
// STATUS REGISTER
// input_fifo_write(2) *** input_fifo_write(1) *** input_fifo_write(0)
// 10 9 8
// buffer_full ** bad_component_err ** f2_1 ** f2_0 ** f1_1 ** f1_0 ** f0_1 ** f0_0
// 7 6 5 4 3 2 1 0
paul
1.0.0.7...
r135
paul
two fields added to the housekeeping parameters:...
r265 int statusReg;
paul
Sync
r147
paul
ASM restart sequence updated at the interrupt service routine level...
r259 static restartState state = WAIT_FOR_F2;
paul
sync
r182 statusReg = spectral_matrix_regs->status;
paul
ASM restart sequence updated at the interrupt service routine level...
r259 if (thisIsAnASMRestart == 0)
{ // this is not a restart sequence, process incoming matrices normally
spectral_matrices_isr_f0( statusReg );
spectral_matrices_isr_f1( statusReg );
paul
1.0.0.7...
r135
paul
ASM restart sequence updated at the interrupt service routine level...
r259 spectral_matrices_isr_f2( statusReg );
}
else
{ // a restart sequence has to be launched
switch (state) {
case WAIT_FOR_F2:
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if ((statusReg & BITS_STATUS_F2) != INIT_CHAR) // [0011 0000] check the status_ready_matrix_f2_x bits
paul
ASM restart sequence updated at the interrupt service routine level...
r259 {
state = WAIT_FOR_F1;
}
break;
case WAIT_FOR_F1:
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if ((statusReg & BITS_STATUS_F1) != INIT_CHAR) // [0000 1100] check the status_ready_matrix_f1_x bits
paul
ASM restart sequence updated at the interrupt service routine level...
r259 {
state = WAIT_FOR_F0;
}
break;
case WAIT_FOR_F0:
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 if ((statusReg & BITS_STATUS_F0) != INIT_CHAR) // [0000 0011] check the status_ready_matrix_f0_x bits
paul
ASM restart sequence updated at the interrupt service routine level...
r259 {
state = WAIT_FOR_F2;
thisIsAnASMRestart = 0;
}
break;
default:
break;
}
reset_sm_status();
}
paul
sync
r182
spectral_matrix_isr_error_handler( statusReg );
paul
ASM restart sequence updated at the interrupt service routine level...
r259
paul
Sources reorganized...
r126 }
//******************
// Spectral Matrices
void reset_nb_sm( void )
{
nb_sm_f0 = 0;
nb_sm_f0_aux_f1 = 0;
nb_sm_f0_aux_f2 = 0;
nb_sm_f1 = 0;
}
void SM_init_rings( void )
{
paul
New version of ASM packets transmission...
r173 init_ring( sm_ring_f0, NB_RING_NODES_SM_F0, sm_f0, TOTAL_SIZE_SM );
init_ring( sm_ring_f1, NB_RING_NODES_SM_F1, sm_f1, TOTAL_SIZE_SM );
init_ring( sm_ring_f2, NB_RING_NODES_SM_F2, sm_f2, TOTAL_SIZE_SM );
DEBUG_PRINTF1("sm_ring_f0 @%x\n", (unsigned int) sm_ring_f0)
DEBUG_PRINTF1("sm_ring_f1 @%x\n", (unsigned int) sm_ring_f1)
DEBUG_PRINTF1("sm_ring_f2 @%x\n", (unsigned int) sm_ring_f2)
DEBUG_PRINTF1("sm_f0 @%x\n", (unsigned int) sm_f0)
DEBUG_PRINTF1("sm_f1 @%x\n", (unsigned int) sm_f1)
DEBUG_PRINTF1("sm_f2 @%x\n", (unsigned int) sm_f2)
paul
Sources reorganized...
r126 }
void ASM_generic_init_ring( ring_node_asm *ring, unsigned char nbNodes )
{
unsigned char i;
ring[ nbNodes - 1 ].next
= (ring_node_asm*) &ring[ 0 ];
for(i=0; i<nbNodes-1; i++)
{
ring[ i ].next = (ring_node_asm*) &ring[ i + 1 ];
}
}
void SM_reset_current_ring_nodes( void )
{
paul
Sync
r139 current_ring_node_sm_f0 = sm_ring_f0[0].next;
current_ring_node_sm_f1 = sm_ring_f1[0].next;
current_ring_node_sm_f2 = sm_ring_f2[0].next;
paul
Sources reorganized...
r126
paul
sync with LFR_basic-parameters
r180 ring_node_for_averaging_sm_f0 = NULL;
ring_node_for_averaging_sm_f1 = NULL;
ring_node_for_averaging_sm_f2 = NULL;
paul
Sources reorganized...
r126 }
//*****************
// Basic Parameters
paul
sync
r181 void BP_init_header( bp_packet *packet,
paul
Sources reorganized...
r126 unsigned int apid, unsigned char sid,
unsigned int packetLength, unsigned char blkNr )
{
paul
sync
r181 packet->targetLogicalAddress = CCSDS_DESTINATION_ID;
packet->protocolIdentifier = CCSDS_PROTOCOLE_ID;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 packet->reserved = INIT_CHAR;
paul
sync
r181 packet->userApplication = CCSDS_USER_APP;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 packet->packetID[0] = (unsigned char) (apid >> SHIFT_1_BYTE);
paul
sync
r181 packet->packetID[1] = (unsigned char) (apid);
packet->packetSequenceControl[0] = TM_PACKET_SEQ_CTRL_STANDALONE;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 packet->packetSequenceControl[1] = INIT_CHAR;
packet->packetLength[0] = (unsigned char) (packetLength >> SHIFT_1_BYTE);
paul
sync
r181 packet->packetLength[1] = (unsigned char) (packetLength);
paul
Sources reorganized...
r126 // DATA FIELD HEADER
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 packet->spare1_pusVersion_spare2 = SPARE1_PUSVERSION_SPARE2;
paul
sync
r181 packet->serviceType = TM_TYPE_LFR_SCIENCE; // service type
paul
R3 updates. TC handlers added for the new telecommands:...
r192 packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype
paul
sync
r181 packet->destinationID = TM_DESTINATION_ID_GROUND;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 packet->time[BYTE_0] = INIT_CHAR;
packet->time[BYTE_1] = INIT_CHAR;
packet->time[BYTE_2] = INIT_CHAR;
packet->time[BYTE_3] = INIT_CHAR;
packet->time[BYTE_4] = INIT_CHAR;
packet->time[BYTE_5] = INIT_CHAR;
paul
Sources reorganized...
r126 // AUXILIARY DATA HEADER
paul
sync
r181 packet->sid = sid;
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 packet->pa_bia_status_info = INIT_CHAR;
packet->sy_lfr_common_parameters_spare = INIT_CHAR;
packet->sy_lfr_common_parameters = INIT_CHAR;
packet->acquisitionTime[BYTE_0] = INIT_CHAR;
packet->acquisitionTime[BYTE_1] = INIT_CHAR;
packet->acquisitionTime[BYTE_2] = INIT_CHAR;
packet->acquisitionTime[BYTE_3] = INIT_CHAR;
packet->acquisitionTime[BYTE_4] = INIT_CHAR;
packet->acquisitionTime[BYTE_5] = INIT_CHAR;
packet->pa_lfr_bp_blk_nr[0] = INIT_CHAR; // BLK_NR MSB
paul
sync
r181 packet->pa_lfr_bp_blk_nr[1] = blkNr; // BLK_NR LSB
paul
Sources reorganized...
r126 }
paul
sync
r181 void BP_init_header_with_spare( bp_packet_with_spare *packet,