**************************************************************************************************** ** LNG product: ELISA source **************************************************************************************************** ** Type: Sequence ** ** FOP Name & Version: None ** ** Description: This sequence execute the Delta Full Functional Test (delFFT) of the Solar Orbiter ** SWA instrument as described in the SWA test procedure referenced below. ** ** Input Arguments: None ** ** Output Values: None ** ** CSW Version: V2.1.3 or higher ** ** FOPs used: None ** ** HK TM packets used: AB.TM.YIA58200, AB.TM.YIA58201, AB.TM.YIA58202, AB.TM.YIA58203, ** AB.TM.YIA58211, AB.TM.YIA58212, AB.TM.YIA58213, AB.TM.YIA58216, AB.TM.YIA58907 ** ** Test Procedure & Reference: SWA FM Delta Functional Test Procedure ** SO-SWA-MSSL-TP-062 Issue 1 ** ** Restrictions and Limitations: SSMM hardware required to be ON before SFT/FFT starts. ** **************************************************************************************************** ** History **-------------------------------------------------------------------------------------------------- ** Version Date Author Comment **-------------------------------------------------------------------------------------------------- ** 1.0 20/09/2019 G.Lewis Initial creation ** 1.1 09/10/2019 J Silverthorn Changed to enable on board monitoring when powering on the DPU ** *************************************************************************************************** ** SEQUENCE TIET_SWA_FFT_RED SEQUENCE TIET_SWA_FFT_RED ** Definition of Input parameters proto string $UNIT := "A" upper ["A","B"] string $sPAS_HVSafety ["AIRSAFE","DISABLED","FLIGHT"] string $sHIS_HVSafety ["AIRSAFE","DISABLED","FLIGHT"] end proto ** Definition of Constants const string $s_Trace := "TRACE" string $sTitle := "TITLE" string $sTrace := "TRACE" ** Definition of Variables var string $sBufArg := "" string $sNumPha string $sPlatform date $dCurDate int $Count int $i_reportflowID int $i_reportflowID_1 int $i_reportflowID_2 int $i_reportflowID_3 int $i_reportflowID_4 int $i_reportflowID_5 int $i_reportflowID_6 int $i_reportflowID_7 int $i_reportflowID_8 int $i_reportflowID_9 int $i_reportflowID_10 int $i_reportflowID_11 int $i_reportflowID_12 int $i_reportflowID_13 int $i_reportflowID_14 int $i_reportflowID_15 int $i_reportflowID_16 int $i_RptRefNb int $i_RptRefNb_1 int $i_RptRefNb_2 int $i_RptRefNb_3 int $i_RptRefNb_4 int $i_RptRefNb_5 int $i_RptRefNb_6 int $i_RptRefNb_7 int $iDWRDCounter string $s_FileString int $iParsedDump(2) int $iToBePatched(2) int $i_SBM1_FLAG int $i_Thrust_Firing_FLAG int $iMAG_Bytes(2) string $sChoice ************************************************************************************************ ** Main body of the sequence ************************************************************************************************ main **----------------------------------------------------------------------------------------- ** Opens the execution window. **----------------------------------------------------------------------------------------- window $sBufArg := ARG($sBufArg, $UNIT, "Choice of Unit Side") @su_seqstart($sBufArg, *$dCurDate, "TRACE") ********************************************************************************************* ** Get the call tree for the sequence ********************************************************************************************* call TSZA_CALLTREE, SEQ_NAME := "TIET_SWA_FFT_RED" $sPlatform := AB.USR.PLATFORM IF ($sPAS_HVSafety = "FLIGHT") raise NOK, "There is no HV safety plug connected to PAS - switch on not allowed" abort ENDIF IF ($sHIS_HVSafety = "FLIGHT") raise NOK, "There is no HV safety plug connected to HIS - switch on not allowed" abort ENDIF @su_seqphase2(1, "Starting SWA delFFT on side "+$UNIT, *$sNumPha,"", $sTitle) @su_seqphase2(2, "Prerequisite: Switch On SWA side "+$UNIT, *$sNumPha,"", $sTitle) CALL TISC_SWA_ON , SUNIT := $UNIT, STARGETMODE := "DPUOPS" , SMONITOR := "FMON" -- Note that the following parameter checks are expected to fail : -- @su_rawacs("AB.TM.NIA03511","=",0xDEEC9F01, 0xFFFFFFFF, $sTrace, 5) -- BOOT.HIS_EEPROM1_CAL_CKS -- @su_rawacs("AB.TM.NIA03512","=",0xDEEC9F01, 0xFFFFFFFF, $sTrace, 5) -- BOOT.HIS_EEPROM2_CAL_CKS if ($sHIS_HVSafety = "DISABLED") call TISS_HIS_ON, $UNIT, "HV_PLUG_DISABLE", "HV_RAMP_NONE" else call TISS_HIS_ON, $UNIT, "HV_PLUG_AIRSAFE", "HV_RAMP_UP" endif ********************************************************************************** @SU_SEQPHASE2(2, "7 - HIS Restore Primary Application ", *$sNumPha, "", $sTitle) ********************************************************************************** @SU_SEQPHASE2(3, "7.1.1 - MRAM write enable", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58900 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA58999_ := "ENABLE" }, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "7.1.2 - Copy image2 to image1", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58901 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA59002_ := "CODE_2" , \ PIA60349_ := 0 , \ PIA59001_ := "CODE_1" , \ PIA60348_ := 0 , \ PIA60329_ := 196608 }, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "7.1.3 - *WAIT*, 0:00:30, From previous command", *$sNumPha, "", $sTitle) @su_wait(30) @SU_SEQPHASE2(3, "7.1.4 - Power OFF HIS", *$sNumPha, "", $sTitle) call TISS_HIS_OFF @SU_SEQPHASE2(3, "7.1.5 - Reset", *$sNumPha, "", $sTitle) call TISS_HIS_ON, "A", "HV_PLUG_DISABLE", "HV_RAMP_NONE" --;;;; Do we need to start a flow to catch YIA58213 Boot report, so there'll only be one -- These parameters are check during the HIS_ON script -- @su_rawacs("AB.TM.NIA03511","=",0xDEEC9F01, 0xFFFFFFFF, $sTrace, 5) -- BOOT.HIS_EEPROM1_CAL_CKS -- @su_rawacs("AB.TM.NIA03512","=",0xDEEC9F01, 0xFFFFFFFF, $sTrace, 5) -- BOOT.HIS_EEPROM2_CAL_CKS @SU_SEQPHASE2(3, "7.1.5 - Power OFF HIS", *$sNumPha, "", $sTitle) call TISS_HIS_OFF call TISS_PAS_ON, $sPAS_HVSafety ********************************************************************************** @SU_SEQPHASE2(2, "8 - PAS Test", *$sNumPha, "", $sTitle) ********************************************************************************** @SU_SEQPHASE2(2, "8.1.1 - Start Science Cyclogram", *$sNumPha, "", $sTitle) $i_reportflowID := startreportflow("AB.TM.YIA58700") $i_reportflowID_1 := startreportflow("AB.TM.YIA58705") $i_reportflowID_2 := startreportflow("AB.TM.YIA58982") $i_reportflowID_3 := startreportflow("AB.TM.YIA58992") $i_reportflowID_4 := startreportflow("AB.TM.YIA58993") $i_reportflowID_5 := startreportflow("AB.TM.YIA58729") @SU_SEND({ AB.TC.ZIA58943 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60777_ := "PasNc1" }, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @RPZA_CATCHTMPCKT($i_reportFlowID, "AB.TM.YIA58700", *$i_RptRefNb) stopreportflow $i_reportflowID @RPZA_CATCHTMPCKT($i_reportFlowID_1, "AB.TM.YIA58705", *$i_RptRefNb_1) stopreportflow $i_reportflowID_1 @RPZA_CATCHTMPCKT($i_reportFlowID_2, "AB.TM.YIA58982", *$i_RptRefNb_1, 360) -- v1.23 stopreportflow $i_reportflowID_2 -- v1.23 @RPZA_CATCHTMPCKT($i_reportFlowID_3, "AB.TM.YIA58992", *$i_RptRefNb_1, 360) stopreportflow $i_reportflowID_3 -- v1.23 @RPZA_CATCHTMPCKT($i_reportFlowID_4, "AB.TM.YIA58993", *$i_RptRefNb_1, 360) stopreportflow $i_reportflowID_4 -- v1.23 @RPZA_CATCHTMPCKT($i_reportFlowID_5, "AB.TM.YIA58729", *$i_RptRefNb_1) stopreportflow $i_reportflowID_5 -- v1.23 @SU_SEQPHASE2(3, "8.1.2 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.3 - Upload the PAS pulse table #1", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x28 , \ PIA60672_ := 0x4 , \ PIA60717_ := 0x0 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.4 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.5 - Upload the PAS pulse table #2", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x28 , \ PIA60672_ := 0x4 , \ PIA60717_ := 0x1 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.6 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.7 - Upload the PAS pulse table #3", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x28 , \ PIA60672_ := 0x4 , \ PIA60717_ := 0x2 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.8 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.9 - Upload the PAS pulse table #4", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x28 , \ PIA60672_ := 0x4 , \ PIA60717_ := 0x3 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.10 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.11 - Upload the PAS pulse table #5", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x28 , \ PIA60672_ := 0x4 , \ PIA60717_ := 0x4 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.12 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.13 - Upload the PAS pulse table #6", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x1E , \ PIA60672_ := 0x6 , \ PIA60717_ := 0x5 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.14 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.15 - Upload the PAS pulse table #7", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x1E , \ PIA60672_ := 0x6 , \ PIA60717_ := 0x6 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.16 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.17 - Upload the PAS pulse table #8", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x1E , \ PIA60672_ := 0x6 , \ PIA60717_ := 0x7 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.18 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.19 - Upload the PAS pulse table #9", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x1E , \ PIA60672_ := 0x6 , \ PIA60717_ := 0x8 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.20 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.21 - Upload the PAS pulse table #10", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x1E , \ PIA60672_ := 0x6 , \ PIA60717_ := 0x9 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.22 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.23 - Upload the PAS pulse table #11", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x1E , \ PIA60672_ := 0x6 , \ PIA60717_ := 0x5 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.24 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) @SU_SEQPHASE2(2, "8.1.25 - Upload the PAS pulse table #5", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58878 , \ SHF:OBV := 0 , \ SID:OBV := 120 , \ PIA60719_ := 0x0F1A6E , \ FI1_:OBV := 0 , \ FI2_:OBV := 0 , \ PIA60433_ := 0x28 , \ PIA60672_ := 0x4 , \ PIA60717_ := 0x4 , \ PIA60718_ := 0x14}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "8.1.26 - *WAIT*, 0:01:00, From previous command", *$sNumPha, "", $sTitle) @su_wait(60) ********************************************************************************** @SU_SEQPHASE2(2, "9 PAS Compression Test", *$sNumPha, "", $sTitle) ********************************************************************************** @SU_SEQPHASE2(3, "9.1.1 - Start Science Packet Compression", *$sNumPha, "", $sTitle) $i_reportflowID_11 := startreportflow("AB.TM.YIA58977") $i_reportflowID_12 := startreportflow("AB.TM.YIA58978") $i_reportflowID_13 := startreportflow("AB.TM.YIA58981") $i_reportflowID_14 := startreportflow("AB.TM.YIA58990") $i_reportflowID_15 := startreportflow("AB.TM.YIA58991") @SU_SEND({ AB.TC.ZIA58716 , \ SHF:OBV := 0 , \ SID:OBV := 120}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) @SU_SEQPHASE2(3, "9.1.2 - Check Compression (Post Test)", *$sNumPha, "", $sTitle) -- PAS -- @RPZA_CATCHTMPCKT($i_reportFlowID_11, "AB.TM.YIA58977", *$i_RptRefNb) -- TM(21,3) SID=194 SWA_TM_SCI_PAS_FULL3D_COMPR_HEAD stopreportflow $i_reportflowID_11 -- @RPZA_CATCHTMPCKT($i_reportFlowID_12, "AB.TM.YIA58978", *$i_RptRefNb) -- TM(21,6) SID=195 SWA_TM_SCI_PAS_FULL3D_COMPR_DATA stopreportflow $i_reportflowID_12 -- @RPZA_CATCHTMPCKT($i_reportFlowID_13, "AB.TM.YIA58981", *$i_RptRefNb, 1200) -- TM(21,3) SID=202 SWA_TM_SCI_PAS_TRIGG_SNAP_COMPR_START stopreportflow $i_reportflowID_13 -- @RPZA_CATCHTMPCKT($i_reportFlowID_14, "AB.TM.YIA58990", *$i_RptRefNb, 1200) -- TM(21,3) SID=203 SWA_TM_SCI_PAS_TRIGG_SNAP_COMPR_FIRST stopreportflow $i_reportflowID_14 -- @RPZA_CATCHTMPCKT($i_reportFlowID_15, "AB.TM.YIA58991", *$i_RptRefNb, 1200) -- TM(21,6) SID=204 SWA_TM_SCI_PAS_TRIGG_SNAP_COMPR_DATA stopreportflow $i_reportflowID_15 @SU_SEQPHASE2(3, "9.1.3 - Wait 00:06:00 (360 seconds)", *$sNumPha, "", $sTitle) @su_wait(360) @SU_SEQPHASE2(3, "9.1.4 - Put PAS into no science mode ", *$sNumPha, "", $sTitle) @SU_SEND({ AB.TC.ZIA58944 , \ SHF:OBV := 0 , \ SID:OBV := 120}, $s_Trace, VER := "ACK_EXEC", TIMEOUT_VER := 60) ********************************************************************************** @SU_SEQPHASE2(2, "10 Delta FFT Completion", *$sNumPha, "", $sTitle) ********************************************************************************** call TISS_PAS_OFF, $sPAS_HVSafety CALL TISC_SWA_OFF @su_seqend("SWA delFFT Completed", $dCurDate, "TRACE") return $Rstat END SEQUENCE