PROC C_FL_SBYMODE ;# VERSION 7 GOTO BEGIN ; ;#************************************************************************** ;# ****PROCEDURE HEADER**** ;# ;# 1.0 Introduction ;# ;# 1.1 FOT Name: C_FL_SBYMODE ;# CDS Name: CDS_SBYMODE ;# CDS Issue: V3.4 ;# Simulator Validation Status: ;# ;# 1.2 Date Created: 6-MAR-95 ;# Revision: 1. 8-MAR-95 MH ;# 2. 21-APR-95 MH ;# 3. 2-MAY-95 MH ;# 4. 19-MAY-95 MH ;# 5. 6-2-95 BS ;# 6. 01-Sept-95 TFM ;# 7. 27-OCT-95 TFM ;# 1.3 Change Description: ;# ;# 1. Added critical commands to critical activities ;# 2. Added section delimiters. Added WAIT for POCC delay to ;# section 0.1 and 0.3, 2, 3.1. Added Pointing modes section to ;# section 6. Added data words to TCs CB2FEAT, CB2POSN, ;# CB2HTEMP, CB2HVAL and CB2LAT. Edited TM check CS2HTRS. ;# Added page references. Added 3 sequential print logs. Added ;# CMSMSG to section 1,4, 4.1, and 6. ;# 3. Added /NRT TPUT RSUM and /NRT TPUT PAUS directives after /CMSMSG ;# directives in sections 1, 4, 4.1, 6. Added list of TM checks in ;# sections 4, 4.1. Deleted section 4.2 per experimenter request. ;# Deleted second WAIT for sequential print in section 6. ;# 4. Added WAIT to section 4 between first and second commands. ;# Added WAITs before /NRT TPUT RSUMs. ;# 5. added wait untils in subcommutated data, corrected commands in ;# section 3.1, changed logic in section 4 wait untils, added /cb2dmpm, changed ;# logic in section 4.1, added /cb2mrst, added /cbmopslp b800 and /cbmopsrp,a800, ;# added /cbcdu2f, /cb9abort, cb9rst, cb9rst5 ;# 6. Changed WAIT UNTIL ((CKMORP > H'7FE') AND (CKMORP > H'802')) ;# to WAIT UNTIL ((CKMORP > H'7FE') AND (CKMORP < H'802')) ;# 7. Changed ts in name to fl. ;# ;# 1.4 Point of Contact: CCazeau ;# FOT Author: MHill ATSC/SOHO 286-4799 ;# ;#************************************************************************** ;# 2.0 Description ;# ;# 2.1 Narrative Description ;# ;# This procedure test those parts of the CDHS software which ;# cannot be verified by the CDHS alone. ;# ;# 2.2 Intended Use: ;# ;# To test parts of the CDHS software. ;# ;# 2.3 Duration: TBD ;# ;# 2.4 References: pages I_EXP_STAT, C_CDHS_SWHK, C_MCU_HK, C_EPS_HK, ;# C_CDHS_HARDWARE ;# ;#************************************************************************** ;# 3.0 Instructions for Use: ;# ;# 3.1 Parameters Required ;# ;# None ;# ;# 3.2 Critical Activities ;# ;# TC /CBEHTRSN is a critical command ;# ;# 3.3 Special Constraints or Activities ;# ;# This should be run after the MCU hardware procedures which finish ;# in Standby mode. It should also be run after the bulk of the ;# Software control files, so that we can be sure that no damage ;# to the hardware could occur when we move to Standby mode. ;# ;#************************************************************************** ;# 4.0 STEPS: BEGIN: LOCAL X,Y,Z,K,J IF (p@CMD_STATE#TELECOMMAND = "AVAILABLE") THEN ELSE /CLEAR ;Clearing the Command Buffer. ENDIF ;******SECTION 0.1****** ;START SECONDARY PROCESSOR /CBCPU1F ;Processor 1 OFF /CBCPU2F ;Processor 2 OFF /CBCPU3F ;Processor 3 OFF /CB9ABORT ;Abort Secondary /CB9RST ;Reset 2T module err flags, = 0003 /CB9RSTS WAIT ;Verify command buffer contents /SEND WAIT 15 /CBCPU2N ;Processor 2 ON WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSCPU2 = "ON") WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CB9SECLD,0003 ;Load Secondary, link 3 WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS9LOAD = "OK") WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CB9SEC ;Select Secondary WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS9SEC = "SEC") WAIT UNTIL (p@CIPWA > 0.33) AND (p@CIPWA < 0.38) ;Check CDS A current ;******SECTION 0.2****** ;INITIALIZE SOFTWARE MODULES /CB6RST ;Reset Data Comp flags, msk = FC00 /CBBRST ;Reset Sec event reg /CB7EN ;Enable primary memory dump /CB8EN ;Enable secondary memory dump WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS6CHK = "_") ;Verify checksum error WAIT UNTIL (p@CS7 = "ENABLED") ;Check primary dump status WAIT UNTIL (p@CS8 = "ENABLED") ;Check secondary dump status ;******SECTION 0.3****** ;START MCU BACKUP MODE WAIT UNTIL (p@CS2HTRS = "DISABLED") WAIT UNTIL (p@CS2HMODE = "OPEN") WAIT UNTIL (p@CS2FEAT = "DISABLED") WAIT UNTIL (p@CS2M = "DISABLED") WAIT UNTIL (p@CS2S = "DISABLED") WAIT UNTIL (p@CS2OL = "DISABLED") WAIT UNTIL (p@CS2OR = "DISABLED") WAIT UNTIL (p@CS2MCMDI = "_") WAIT UNTIL (p@CS2MUNK = "_") WAIT UNTIL (p@CS2MCHK = "ERROR") WAIT UNTIL (p@CS2MECW = "_") WAIT UNTIL (p@CS2MECER = "_") WAIT UNTIL (p@CS2MECI = "_") WAIT UNTIL (p@CS2PPOSI = "_") WAIT UNTIL (p@CS2FTI = "_") WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CB2EN ;Enable MCU backup mode /CBMMIRRP,9840 ;Mirror position WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2MECER = "ERROR") /CB2MRST ;Reset MCU B/U flags, mask = 00FF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2MECER = "_") ;******SECTION 1****** ;MONITOR TRANSITION TO STANDBY /CB5SBY ;Standby Mode WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKCMODE = H'20') WAIT UNTIL (CK5SINX = 2) ;Check sequence index WAIT UNTIL (CK5STAT = H'A2') ;check sequence status WAIT UNTIL (CK5SP = 85) ;check sequence pointer WAIT UNTIL (CSMHTRPD = 4) ;Full power available /NRT TPUT RSUM /CMSMSG CDS 'CHECK BK2HPL = D080hex' WAIT ;CDS IWS CHECK BK2HPL = H'D080' /NRT TPUT PAUS ;******SECTION 2****** ;RECORD MAIN HEATERS OPERATION WAIT ;log ambient temperature CTM0 LET X = p@CTM0 + 1 LET Y = (($X + 273) * 8) LET K = %HEX((Y-Z)/256,2) LET Z = %HEX(Y MOD 256,2) FOR I = 0 TO 15 DO LET J = %HEX(I,1) /CBMTEMPL,E$J$K /CBMTEMPH,F$J$Z /SEND WAIT UNTIL (p@CSMMHT$I = "OFF") ;Status of Main Heater I WAIT 5 ENDDO WAIT ;GO to log CSMMHTRS for 15 cycles PRINT ON C_TS_CSMMHTRS ALL C_CSMMHTRS.RPT APPEND /CBEHTRSF ;OP Heaters OFF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEHTRS = "OFF") WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") ;******SECTION 3.1****** ;MCU BACKUP MODULE - BACKUP HEATER MODES - OPEN LOOP MODE /CBMHTRB ;Backup Heaters WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMHTRM = "BACKUP") WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CB2HVAL,04B0,0096,012C,01C2,0258,02EE,0384,041A,04B0,0032,0064,0096,0118,0036,;; 0036,0036,0016,0016,000B,000B,000B ;*F Set Backup heater values, *21 WAIT ;Verify command buffer contents /SEND WAIT 15 /CBEHTRSN ;OP Heaters ON WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEHTRS = "ON") WAIT 15 WAIT UNTIL (CSMMHTRS = 0) /CB2HEN,0001 ;Open loop WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2HTRS = "ENABLED") WAIT UNTIL (p@CS2HMODE = "OPEN") /CBMHTRPL,D080 ;Heaters Power Limit WAIT ;Verify command buffer contents /SEND WAIT 5 PRINT OFF C_TS_CSMMHTRS /CB2DMPM ;Dump MCU backup data special pkt WAIT ;Verify command buffer contents /SEND WAIT ;GO TO log CSMBHTRS for 15 cycles PRINT ON C_TS_CSMBHTRS ALL C_CSMBHTRS.RPT APPEND WAIT 300 PRINT OFF C_TS_CSMBHTRS /CB2HDIS ;Disable backup heater control WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2HTRS = "DISABLED") ;******SECTION 3.2****** ;CLOSED LOOP CONTROL MODE /CB2HTEMP,0001,0002,0003,0004,0005,0006,0007,0008,0940,0940,0940,0940,0990,;; 0990,0990,0990 ;*F Enable backup heater control, *F Set backup HT (sens+temp),*16 WAIT ;Verify command buffer contents /SEND WAIT 5 /CB2HEN,0002 WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2HTRS = "ENABLED") WAIT UNTIL (p@CS2HMODE = "CLOSED") /CBMHTRPL,D080 ;Heaters Power Limit WAIT ;Verify command buffer contents /SEND WAIT 5 /CB2DMPM ;Dump MCU backup data special pkt WAIT ;Verify command buffer contents /SEND WAIT 300 /CB2HDIS ;Disable backup heater control WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2HTRS = "DISABLED") ;******SECTION 3.3****** ;RETURN TO MAIN HEATERS /CBEHTRSF ;OP Heaters OFF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEHTRS = "OFF") /CBMHTRP ;Prime heates (MCU control) WAIT ;Verify command buffer contents /SEND WAIT 5 /CBEHTRSN ;OP Heaters ON WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEHTRS = "ON") ;******SECTION 4****** ;MCU BACKUP - BACKUP MECHANISM CONTROL /CB2POSN,0080,0000,0800,0800,0003,0000 ;*F Set Mechansim positions *6 WAIT ;Verify command buffer contents /SEND WAIT 5 /CBMMIRRP,9880 ;Mirror position /CBMSLITN,9203 ;Slit number /CBMSLITP,9000 ;Slit position /CBMOPSLP,B800 ;OPS left position /CBMOPSRP,A800 ;OPS right position WAIT ;Verify command buffer contents /SEND WAIT UNTIL ((CKMORP > H'7FE') AND (CKMORP < H'802')) WAIT UNTIL ((CKMOLP > H'7FE') AND (CKMOLP < H'802')) WAIT UNTIL (CKMMIRRP = H'80') WAIT UNTIL (CKMSLITP = 0) WAIT UNTIL (CKMSLITN = 3) /CB2DMPM WAIT ;Verify command buffer contents /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'Perform Necessary TM checks from section 4' ;BK2MIRRP = 0x9880 ;BK2SLITN = 0x9203 ;BK2SLITP = 0x9000 ;BK2OLP = 0xB800 ;BK2ORP = 0xA800 WAIT ;CDS IWS CHECKS /NRT TPUT PAUS ;******SECTION 4.1****** ;COMPARE ENCODER AND COMMAND REGISTER POSITIONS /CBMMIRRP,9840 ;Mirror position /CBMSLITN,9201 ;Slit number /CBMSLITP,9188 ;Slit position /CBMOPSLP,B780 ;OPS left position /CBMOPSRP,A780 ;OPS right position WAIT ;Verify command buffer contents /SEND WAIT UNTIL ((CKMORP > H'7FE') AND (CKMORP < H'802')) WAIT UNTIL ((CKMOLP > H'7FE') AND (CKMOLP < H'802')) WAIT UNTIL (CKMMIRRP = H'40') WAIT UNTIL (CKMSLITP = H'188') WAIT UNTIL (CKMSLITN = 1) /NRT TPUT RSUM /CMSMSG CDS 'Perform Necessary TM checks from section 4.1' ;BK2MIRRP = 0x9840 ;BK2SLITN = 0x9201 ;BK2SLITP = 0x9188 ;BK2OLP = 0xB780 ;BK2ORP = 0xA780 WAIT ;WAIT FOR CDS IWS CHECKS /NRT TPUT PAUS /CBMMIRRP,98C0 ;Mirror position /CBMSLITN,9206 ;Slit number /CBMSLITP,9078 ;Slit position /CBMOPSLP,B880 ;OPS left position /CBMOPSRP,A880 ;OPS right position WAIT ;Verify command buffer contents /SEND WAIT UNTIL ((CKMORP > H'7FE') AND (CKMORP < H'802')) WAIT UNTIL ((CKMOLP > H'7FE') AND (CKMOLP < H'802')) WAIT UNTIL (CKMMIRRP = H'C0') WAIT UNTIL (CKMSLITP = H'78') WAIT UNTIL (CKMSLITN = 6) /NRT TPUT RSUM /CMSMSG CDS 'Perform Necessary TM checks from section 4.1' ;BK2MIRRP = 0x98C0 ;BK2SLITN = 0x9206 ;BK2SLITP = 0x9078 ;BK2OLP = 0xB880 ;BK2ORP = 0xA880 WAIT ;WAIT FOR CDS IWS CHECKS /NRT TPUT PAUS /CBMMIRRP,9880 ;Mirror position /CBMSLITN,9203 ;Slit number /CBMSLITP,9000 ;Slit position /CBMOPSLP,B800 ;OPS left position /CBMOPSRP,A800 ;OPS right position WAIT ;Verify command buffer contents /SEND WAIT UNTIL ((CKMORP > H'7FE') AND (CKMORP < H'802')) WAIT UNTIL ((CKMOLP > H'7FE') AND (CKMOLP < H'802')) WAIT UNTIL (CKMMIRRP = H'80') WAIT UNTIL (CKMSLITP = 0) WAIT UNTIL (CKMSLITN = 3) /CB2MRST WAIT ;VERIFY BUFFER CONTENTS /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'Perform Necessary TM checks from section 4.1' ;BK2MIRRP = 0x9880 ;BK2SLITN = 0x9203 ;BK2SLITP = 0x9080 ;BK2OLP = 0xB800 ;BK2ORP = 0xA800 WAIT ;WAIT FOR CDS IWS CHECKS /NRT TPUT PAUS ;******SECTION 4.2****** ;deleted ;******SECTION 5.1****** /CB2PMODE,0000,0000 WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 5.2****** /CB2PMODE,0001,0000 WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 5.3****** /CB2PMODE,0002,0000 WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 6****** ;MCU BACKUP - FEATURE TRACKING /CB2FEAT,02D9,0000,0411,0000,0403,0000,625A,0002,03C0,0000,0000,0000,0000,0001 /CB2FTEN ;Enable feature tracking WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FEAT = "ENABLED") WAIT ;GO FOR SEQ PRINT FOR CKMOLP, CKMORP PRINT ON C_TS_SBY3 ALL C_SBY3.RPT APPEND WAIT 10 /CB2FTDIS ;Disable feature tracking WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FEAT = "DISABLED") /CB2FEAT,02D9,0000,0411,0000,0403,0000,08E0,0000,03C0,0000,0000,0000,0000,000A ;Fast rate /CB2FTEN ;Enable feature tracking WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FEAT = "ENABLED") WAIT ;GO FOR SEQ PRINT FOR CKMOLP, CKMORP PRINT ON C_TS_SBY3 ALL C_SBY3.RPT APPEND WAIT 10 ;POINTING MODES /CB2PMODE,0000,0000 WAIT ;Verify command buffer contents /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'Check BS2PMODE = 0' WAIT ;CDS IWS CHECK BS2PMODE = 0 /NRT TPUT PAUS /CB2PMODE,0001,0000 WAIT ;Verify command buffer contents /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'Check BS2PMODE = 1' WAIT ;CDS IWS CHECK BS2PMODE = 1 /NRT TPUT PAUS /CB2PMODE,0002,0000 WAIT ;Verify command buffer contents /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'Check BS2PMODE = 2' WAIT ;CDS IWS CHECK BS2PMODE = 2 /NRT TPUT PAUS /CB2FTDIS ;Disable feature tracking WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FEAT = "DISABLED") /CB2FEAT,02D9,0000,0411,0000,0403,0000,1000,0000,03C0,0000,0000,0000,0000,000F ;Too fast /CB2FTEN ;Enable feature tracking WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FEAT = "ENABLED") WAIT UNTIL (p@CS2FTI = "ERROR") /CB2FTDIS ;Disable feature tracking WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FEAT = "DISABLED") /CB2MRST ;Reset MCU B/U flags, mask = 00FF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CS2FTI = "_") /CBMOPSLP,B800 /CBMOPSRP,A800 WAIT ;VERIFY BUFFER CONENTS /SEND WAIT 5 PRINT OFF C_TS_SBY3 ;******SECTION 7****** ;RETURN TO SNOOZE /CB2DIS ;Disable MCU backup mode /CB5ZZZ ;Snooze mode WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKCMODE = H'10') /CBCPU2F /CB9ABORT /CB9RST /CB9RSTS WAIT ;VERIFY BUFFER CONTENTS /SEND WAIT 5 OUT: ;#************************************************************************** ;# 5.0 Final Constraints ;# ;# NONE ;# ;#************************************************************************** RETURN ENDPROC