# HG changeset patch # User paul # Date 2015-04-08 14:00:42 # Node ID a0b224a4fc7c1a35883de90120f089c9637795ec # Parent 88d58b8c0419ebcb13491c5e68e2f8abd7773024 R3 updates. TC handlers added for the new telecommands: TC_LFR_LOAD_KCOEFFICIENTS TC_LFR_DUMP_KCOEFFICIENTD TC_LFR_LOAD_FBINS_MASK diff --git a/.hgsubstate b/.hgsubstate --- a/.hgsubstate +++ b/.hgsubstate @@ -1,2 +1,2 @@ a586fe639ac179e95bdc150ebdbab0312f31dc30 LFR_basic-parameters -611fe904e4b4e05736a8a618c561980d10bceead header/lfr_common_headers +d700fe1774be46689e78de1efae2ed50655b0f1c header/lfr_common_headers diff --git a/FSW-qt/fsw-qt.pro b/FSW-qt/fsw-qt.pro --- a/FSW-qt/fsw-qt.pro +++ b/FSW-qt/fsw-qt.pro @@ -9,10 +9,10 @@ include(./sparc.pri) # flight software version SWVERSION=-1-0 -DEFINES += SW_VERSION_N1=2 # major +DEFINES += SW_VERSION_N1=3 # major DEFINES += SW_VERSION_N2=0 # minor -DEFINES += SW_VERSION_N3=2 # patch -DEFINES += SW_VERSION_N4=3 # internal +DEFINES += SW_VERSION_N3=0 # patch +DEFINES += SW_VERSION_N4=0 # internal # #QMAKE_CFLAGS_RELEASE += -fprofile-arcs -ftest-coverage diff --git a/header/processing/fsw_processing.h b/header/processing/fsw_processing.h --- a/header/processing/fsw_processing.h +++ b/header/processing/fsw_processing.h @@ -37,6 +37,8 @@ typedef struct // AUXILIARY HEADER unsigned char sid; unsigned char biaStatusInfo; + unsigned char sy_lfr_common_parameters_spare; + unsigned char sy_lfr_common_parameters; unsigned char acquisitionTime[6]; unsigned char pa_lfr_bp_blk_nr[2]; // SOURCE DATA @@ -61,6 +63,8 @@ typedef struct // AUXILIARY HEADER unsigned char sid; unsigned char biaStatusInfo; + unsigned char sy_lfr_common_parameters_spare; + unsigned char sy_lfr_common_parameters; unsigned char acquisitionTime[6]; unsigned char source_data_spare; unsigned char pa_lfr_bp_blk_nr[2]; diff --git a/header/tc_load_dump_parameters.h b/header/tc_load_dump_parameters.h --- a/header/tc_load_dump_parameters.h +++ b/header/tc_load_dump_parameters.h @@ -18,6 +18,9 @@ int action_load_normal_par(ccsdsTelecomm int action_load_burst_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); int action_load_sbm1_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); int action_load_sbm2_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); +int action_load_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); +int action_load_fbins_mask(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); +int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); int action_dump_par(rtems_id queue_id ); // NORMAL diff --git a/python_scripts/LFRControlPlugin_reload_fsw.py b/python_scripts/LFRControlPlugin_reload_fsw.py --- a/python_scripts/LFRControlPlugin_reload_fsw.py +++ b/python_scripts/LFRControlPlugin_reload_fsw.py @@ -1,7 +1,8 @@ # LOAD FSW USING LINK 1 SpwPlugin0.StarDundeeSelectLinkNumber( 1 ) -dsu3plugin0.openFile("/opt/DEV_PLE/FSW-qt/bin/fsw") +#dsu3plugin0.openFile("/opt/DEV_PLE/FSW-qt/bin/fsw") +dsu3plugin0.openFile("/opt/LFR/LFR-FSW/2.0.2.3/fsw") dsu3plugin0.loadFile() dsu3plugin0.run() diff --git a/src/fsw_globals.c b/src/fsw_globals.c --- a/src/fsw_globals.c +++ b/src/fsw_globals.c @@ -24,7 +24,6 @@ // RTEMS GLOBAL VARIABLES rtems_name misc_name[5]; -rtems_id misc_id[5]; rtems_name Task_name[20]; /* array of task names */ rtems_id Task_id[20]; /* array of task ids */ unsigned int maxCount; diff --git a/src/fsw_spacewire.c b/src/fsw_spacewire.c --- a/src/fsw_spacewire.c +++ b/src/fsw_spacewire.c @@ -699,7 +699,7 @@ void init_header_cwf( Header_TM_LFR_SCIE // DATA FIELD HEADER header->spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; header->serviceType = TM_TYPE_LFR_SCIENCE; // service type - header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype + header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_6; // service subtype header->destinationID = TM_DESTINATION_ID_GROUND; header->time[0] = 0x00; header->time[0] = 0x00; @@ -729,7 +729,7 @@ void init_header_swf( Header_TM_LFR_SCIE // DATA FIELD HEADER header->spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; header->serviceType = TM_TYPE_LFR_SCIENCE; // service type - header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype + header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype header->destinationID = TM_DESTINATION_ID_GROUND; header->time[0] = 0x00; header->time[0] = 0x00; @@ -761,7 +761,7 @@ void init_header_asm( Header_TM_LFR_SCIE // DATA FIELD HEADER header->spare1_pusVersion_spare2 = DEFAULT_SPARE1_PUSVERSION_SPARE2; header->serviceType = TM_TYPE_LFR_SCIENCE; // service type - header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype + header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype header->destinationID = TM_DESTINATION_ID_GROUND; header->time[0] = 0x00; header->time[0] = 0x00; @@ -814,6 +814,7 @@ int spw_send_waveform_CWF( ring_node *ri header->packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_336 >> 8); header->packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_336 ); + header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; header->blkNr[0] = (unsigned char) (BLK_NR_CWF >> 8); header->blkNr[1] = (unsigned char) (BLK_NR_CWF ); @@ -896,6 +897,8 @@ int spw_send_waveform_SWF( ring_node *ri dataPtr = (int*) ring_node_to_send->buffer_address; sid = ring_node_to_send->sid; + header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; + for (i=0; i<7; i++) // send waveform { 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 header->packetLength[0] = (unsigned char) (TM_LEN_SCI_CWF_672 >> 8); header->packetLength[1] = (unsigned char) (TM_LEN_SCI_CWF_672 ); + header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; header->blkNr[0] = (unsigned char) (BLK_NR_CWF_SHORT_F3 >> 8); header->blkNr[1] = (unsigned char) (BLK_NR_CWF_SHORT_F3 ); @@ -1045,6 +1049,8 @@ void spw_send_asm( ring_node *ring_node_ coarseTime = ring_node_to_send->coarseTime; fineTime = ring_node_to_send->fineTime; + header->sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; + for (i=0; i<2; i++) { // (1) BUILD THE DATA @@ -1056,6 +1062,7 @@ void spw_send_asm( ring_node *ring_node_ ( (ASM_F0_INDICE_START + (i*NB_BINS_PER_PKT_ASM_F0) ) * NB_VALUES_PER_SM ) * 2 ]; length = PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F0; + header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_6; header->pa_lfr_asm_blk_nr[0] = (unsigned char) ( (NB_BINS_PER_PKT_ASM_F0) >> 8 ); // BLK_NR MSB header->pa_lfr_asm_blk_nr[1] = (unsigned char) (NB_BINS_PER_PKT_ASM_F0); // BLK_NR LSB break; @@ -1065,6 +1072,7 @@ void spw_send_asm( ring_node *ring_node_ ( (ASM_F1_INDICE_START + (i*NB_BINS_PER_PKT_ASM_F1) ) * NB_VALUES_PER_SM ) * 2 ]; length = PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F1; + header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_6; header->pa_lfr_asm_blk_nr[0] = (unsigned char) ( (NB_BINS_PER_PKT_ASM_F1) >> 8 ); // BLK_NR MSB header->pa_lfr_asm_blk_nr[1] = (unsigned char) (NB_BINS_PER_PKT_ASM_F1); // BLK_NR LSB break; @@ -1074,6 +1082,7 @@ void spw_send_asm( ring_node *ring_node_ ( (ASM_F2_INDICE_START + (i*NB_BINS_PER_PKT_ASM_F2) ) * NB_VALUES_PER_SM ) * 2 ]; length = PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F2; + header->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; header->pa_lfr_asm_blk_nr[0] = (unsigned char) ( (NB_BINS_PER_PKT_ASM_F2) >> 8 ); // BLK_NR MSB header->pa_lfr_asm_blk_nr[1] = (unsigned char) (NB_BINS_PER_PKT_ASM_F2); // BLK_NR LSB break; diff --git a/src/processing/avf0_prc0.c b/src/processing/avf0_prc0.c --- a/src/processing/avf0_prc0.c +++ b/src/processing/avf0_prc0.c @@ -283,6 +283,7 @@ rtems_task prc0_task( rtems_task_argumen // 3) send the BP1 set set_time( packet_sbm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); set_time( packet_sbm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); + packet_sbm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_sbm_bp1, queue_id, PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F0 + PACKET_LENGTH_DELTA, sid); @@ -294,6 +295,7 @@ rtems_task prc0_task( rtems_task_argumen // 2) send the BP2 set set_time( packet_sbm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); set_time( packet_sbm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); + packet_sbm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_sbm_bp2, queue_id, PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F0 + PACKET_LENGTH_DELTA, sid); @@ -317,6 +319,7 @@ rtems_task prc0_task( rtems_task_argumen // 3) send the BP1 set set_time( packet_norm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + packet_norm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_norm_bp1, queue_id, PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F0 + PACKET_LENGTH_DELTA, SID_NORM_BP1_F0 ); @@ -327,6 +330,7 @@ rtems_task prc0_task( rtems_task_argumen // 2) send the BP2 set set_time( packet_norm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); set_time( packet_norm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + packet_norm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_norm_bp2, queue_id, PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F0 + PACKET_LENGTH_DELTA, SID_NORM_BP2_F0); diff --git a/src/processing/avf1_prc1.c b/src/processing/avf1_prc1.c --- a/src/processing/avf1_prc1.c +++ b/src/processing/avf1_prc1.c @@ -278,6 +278,7 @@ rtems_task prc1_task( rtems_task_argumen // 3) send the BP1 set set_time( packet_sbm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); set_time( packet_sbm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); + packet_sbm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_sbm_bp1, queue_id_send, PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F1 + PACKET_LENGTH_DELTA, sid ); @@ -289,6 +290,7 @@ rtems_task prc1_task( rtems_task_argumen // 2) send the BP2 set set_time( packet_sbm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeSBM ); set_time( packet_sbm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeSBM ); + packet_sbm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_sbm_bp2, queue_id_send, PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F1 + PACKET_LENGTH_DELTA, sid ); @@ -311,7 +313,8 @@ rtems_task prc1_task( rtems_task_argumen BP1_set( compressed_sm_norm_f1, k_coeff_intercalib_f1_norm, NB_BINS_COMPRESSED_SM_F1, packet_norm_bp1.data ); // 3) send the BP1 set set_time( packet_norm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); - set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + packet_norm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_norm_bp1, queue_id_send, PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F1 + PACKET_LENGTH_DELTA, SID_NORM_BP1_F1 ); @@ -322,6 +325,7 @@ rtems_task prc1_task( rtems_task_argumen // 2) send the BP2 set set_time( packet_norm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); set_time( packet_norm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + packet_norm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_norm_bp2, queue_id_send, PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F1 + PACKET_LENGTH_DELTA, SID_NORM_BP2_F1 ); diff --git a/src/processing/avf2_prc2.c b/src/processing/avf2_prc2.c --- a/src/processing/avf2_prc2.c +++ b/src/processing/avf2_prc2.c @@ -212,6 +212,7 @@ rtems_task prc2_task( rtems_task_argumen // 2) send the BP1 set set_time( packet_norm_bp1.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); set_time( packet_norm_bp1.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + packet_norm_bp1.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_norm_bp1, queue_id_send, PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F2 + PACKET_LENGTH_DELTA, SID_NORM_BP1_F2 ); @@ -224,6 +225,7 @@ rtems_task prc2_task( rtems_task_argumen // 2) send the BP2 set set_time( packet_norm_bp2.time, (unsigned char *) &incomingMsg->coarseTimeNORM ); set_time( packet_norm_bp2.acquisitionTime, (unsigned char *) &incomingMsg->coarseTimeNORM ); + packet_norm_bp2.sy_lfr_common_parameters = parameter_dump_packet.sy_lfr_common_parameters; BP_send( (char *) &packet_norm_bp2, queue_id_send, PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F2 + PACKET_LENGTH_DELTA, SID_NORM_BP2_F2 ); diff --git a/src/processing/fsw_processing.c b/src/processing/fsw_processing.c --- a/src/processing/fsw_processing.c +++ b/src/processing/fsw_processing.c @@ -364,7 +364,7 @@ void BP_init_header( bp_packet *packet, // DATA FIELD HEADER packet->spare1_pusVersion_spare2 = 0x10; packet->serviceType = TM_TYPE_LFR_SCIENCE; // service type - packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype + packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype packet->destinationID = TM_DESTINATION_ID_GROUND; packet->time[0] = 0x00; packet->time[1] = 0x00; @@ -402,7 +402,7 @@ void BP_init_header_with_spare( bp_packe // DATA FIELD HEADER packet->spare1_pusVersion_spare2 = 0x10; packet->serviceType = TM_TYPE_LFR_SCIENCE; // service type - packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE; // service subtype + packet->serviceSubType = TM_SUBTYPE_LFR_SCIENCE_3; // service subtype packet->destinationID = TM_DESTINATION_ID_GROUND; // AUXILIARY DATA HEADER packet->sid = sid; diff --git a/src/tc_handler.c b/src/tc_handler.c --- a/src/tc_handler.c +++ b/src/tc_handler.c @@ -67,68 +67,68 @@ rtems_task actn_task( rtems_task_argumen subtype = TC.serviceSubType; switch(subtype) { - case TC_SUBTYPE_RESET: - result = action_reset( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_LOAD_COMM: - result = action_load_common_par( &TC ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_LOAD_NORM: - result = action_load_normal_par( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_LOAD_BURST: - result = action_load_burst_par( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_LOAD_SBM1: - result = action_load_sbm1_par( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_LOAD_SBM2: - result = action_load_sbm2_par( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_DUMP: - result = action_dump_par( queue_snd_id ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_ENTER: - result = action_enter_mode( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_UPDT_INFO: - result = action_update_info( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_EN_CAL: - result = action_enable_calibration( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_DIS_CAL: - result = action_disable_calibration( &TC, queue_snd_id, time ); - close_action( &TC, result, queue_snd_id ); - break; - // - case TC_SUBTYPE_UPDT_TIME: - result = action_update_time( &TC ); - close_action( &TC, result, queue_snd_id ); - break; - // - default: - break; + case TC_SUBTYPE_RESET: + result = action_reset( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_COMM: + result = action_load_common_par( &TC ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_NORM: + result = action_load_normal_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_BURST: + result = action_load_burst_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_SBM1: + result = action_load_sbm1_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_SBM2: + result = action_load_sbm2_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_DUMP: + result = action_dump_par( queue_snd_id ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_ENTER: + result = action_enter_mode( &TC, queue_snd_id ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_UPDT_INFO: + result = action_update_info( &TC, queue_snd_id ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_EN_CAL: + result = action_enable_calibration( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_DIS_CAL: + result = action_disable_calibration( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_K: + result = action_load_kcoefficients( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_DUMP_K: + result = action_dump_kcoefficients( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_LOAD_FBINS: + result = action_load_fbins_mask( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id ); + break; + case TC_SUBTYPE_UPDT_TIME: + result = action_update_time( &TC ); + close_action( &TC, result, queue_snd_id ); + break; + default: + break; } } } @@ -167,6 +167,8 @@ int action_enter_mode(ccsdsTelecommandPa unsigned int transitionCoarseTime; unsigned char * bytePosPtr; + printTaskID(); + bytePosPtr = (unsigned char *) &TC->packetID; requestedMode = bytePosPtr[ BYTE_POS_CP_MODE_LFR_SET ]; @@ -669,6 +671,9 @@ int suspend_science_tasks() rtems_status_code status; + printf("in suspend_science_tasks\n"); + printTaskID(); + status = rtems_task_suspend( Task_id[TASKID_AVF0] ); // suspend AVF0 if (status != RTEMS_SUCCESSFUL) { @@ -1116,3 +1121,13 @@ void reset_lfr( void ) set_lfr_soft_reset( 0 ); } + +void printTaskID( void ) +{ + unsigned int i; + + for (i=0; i<20;i++) + { + printf("ID %d = %d\n", i, (unsigned int) Task_id[i]); + } +} diff --git a/src/tc_load_dump_parameters.c b/src/tc_load_dump_parameters.c --- a/src/tc_load_dump_parameters.c +++ b/src/tc_load_dump_parameters.c @@ -24,7 +24,7 @@ int action_load_common_par(ccsdsTelecomm */ parameter_dump_packet.unused0 = TC->dataAndCRC[0]; - parameter_dump_packet.bw_sp0_sp1_r0_r1 = TC->dataAndCRC[1]; + parameter_dump_packet.sy_lfr_common_parameters = TC->dataAndCRC[1]; set_wfp_data_shaping( ); return LFR_SUCCESSFUL; } @@ -269,6 +269,60 @@ int action_load_sbm2_par(ccsdsTelecomman return flag; } +int action_load_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) +{ + /** This function updates the LFR registers with the incoming sbm2 parameters. + * + * @param TC points to the TeleCommand packet that is being processed + * @param queue_id is the id of the queue which handles TM related to this execution step + * + */ + + int flag; + + flag = LFR_DEFAULT; + + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); + + return flag; +} + +int action_load_fbins_mask(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) +{ + /** This function updates the LFR registers with the incoming sbm2 parameters. + * + * @param TC points to the TeleCommand packet that is being processed + * @param queue_id is the id of the queue which handles TM related to this execution step + * + */ + + int flag; + + flag = LFR_DEFAULT; + + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); + + return flag; +} + +int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) +{ + /** This function updates the LFR registers with the incoming sbm2 parameters. + * + * @param TC points to the TeleCommand packet that is being processed + * @param queue_id is the id of the queue which handles TM related to this execution step + * + */ + + int flag; + + flag = LFR_DEFAULT; + + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); + + return flag; +} + int action_dump_par( rtems_id queue_id ) { /** 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 ) //****************** // COMMON PARAMETERS parameter_dump_packet.unused0 = DEFAULT_SY_LFR_COMMON0; - parameter_dump_packet.bw_sp0_sp1_r0_r1 = DEFAULT_SY_LFR_COMMON1; + parameter_dump_packet.sy_lfr_common_parameters = DEFAULT_SY_LFR_COMMON1; //****************** // NORMAL PARAMETERS diff --git a/src/wf_handler.c b/src/wf_handler.c --- a/src/wf_handler.c +++ b/src/wf_handler.c @@ -1214,7 +1214,7 @@ void set_wfp_data_shaping( void ) // get the parameters for the data shaping [BW SP0 SP1 R0 R1] in sy_lfr_common1 and configure the register // waveform picker : [R1 R0 SP1 SP0 BW] - data_shaping = parameter_dump_packet.bw_sp0_sp1_r0_r1; + data_shaping = parameter_dump_packet.sy_lfr_common_parameters; waveform_picker_regs->data_shaping = ( (data_shaping & 0x10) >> 4 ) // BW diff --git a/timegen-qt/bin/timegen b/timegen-qt/bin/timegen deleted file mode 100755 index 4cc738c18f1b5ca91c26c0be105b6be532afbf33..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 GIT binary patch literal 0 Hc$@