From 6fc2636146789c706968bb9e5f2af754ca5c1a09 Mon Sep 17 00:00:00 2001 From: Glenn Dwiyatcita Date: Mon, 14 Oct 2019 22:07:54 +0200 Subject: [PATCH] Proof IMU_MODE_SWITCHING_ROUTINES #213 (#403) * Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(pp. 1420-1425): Proof IMU_MODE_SWITCHING_ROUTINES #213 * done(pp. 1420-1448): Proof IMU_MODE_SWITCHING_ROUTINES #213 --- Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc | 162 ++++++++++---------- 1 file changed, 80 insertions(+), 82 deletions(-) diff --git a/Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc b/Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc index cafe8a6..c0e5578 100644 --- a/Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc +++ b/Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc @@ -35,7 +35,7 @@ EBANK= COMMAND -# FIXED-FIXED ROUTINES +# FIXED-FIXED ROUTINES. COUNT 02/IMODE @@ -57,7 +57,7 @@ SPSCODE = BIT9 COUNT 07/IMODE IMUZERO INHINT # ROUTINE TO ZERO ICDUS. - CS DSPTAB +11D # DON'T ZERO CDUS IS IMU IN GIMBAL LOCK AND + CS DSPTAB +11D # DONT ZERO CDUS IS IMU IN GIMBAL LOCK AND MASK BITS4&6 # COARSE ALIGN (GIMBAL RUNAWAY PROTECTION) CCS A TCF IMUZEROA @@ -68,9 +68,7 @@ IMUZERO INHINT # ROUTINE TO ZERO ICDUS. TCF CAGETSTJ +4 # IMMEDIATE FAILURE. IMUZEROA TC CAGETSTJ - # DO ALL THE WORK. - CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES MASK SUPER011 # BIT5 FOR GROUND ADS IMODES33 @@ -152,7 +150,7 @@ COARS TC CAGETEST CAF TWO # SET CDU INDICATOR COARS1 TS CDUIND - INDEX CDUIND # COMPUTE THETAD -- THETAA IN 1'S + INDEX CDUIND # COMPUTE THETAD - THETAA IN 1:S CA THETAD # COMPLEMENT FORM EXTEND INDEX CDUIND @@ -174,9 +172,9 @@ COARS1 TS CDUIND TC VARDELAY # Page 1424 -COARS2 TC CAGETEST # DON'T CONTINUE IF CAGED. +COARS2 TC CAGETEST # DONT CONTINUE IF CAGED. TS ITEMP1 # SET TO +0. - CAF TWO # SET CDU INDICATOR. + CAF TWO # SET CDU INDICATOR +3 TS CDUIND INDEX CDUIND @@ -207,6 +205,7 @@ NEXTCDU INCR ITEMP1 TC FIXDELAY # WAIT FOR GIMBALS TO SETTLE. DEC 150 + CAF TWO # AT END OF COMMAND, CHECK TO SEE THAT CHKCORS TS ITEMP1 # GIMBALS ARE WITHIN 2 DEGREES OF THETAD. INDEX A @@ -222,7 +221,7 @@ CHKCORS TS ITEMP1 # GIMBALS ARE WITHIN 2 DEGREES OF THETAD. # Page 1425 CORSCHK2 CCS ITEMP1 TCF CHKCORS - TCF ENDIMU # END OF COARSE ALIGNMENT + TCF ENDIMU # END OF COARSE ALIGNMENT. COARSERR AD COARSTOL # 2 DEGREES. EXTEND @@ -235,6 +234,7 @@ COARSERR AD COARSTOL # 2 DEGREES. COARSTOL DEC -.01111 # 2 DEGREES SCALED AT HALF-REVOLUTIONS + COMNEG AD -COMMAX EXTEND BZMF COMZERO @@ -255,6 +255,7 @@ SENDPULS CAF 13,14,15 CAF 600MS TCF COARS2 -1 # THEN TO VARDELAY + CA+ECE CAF BIT6 # ENABLE ALL THREE ISS CDU ERROR COUNTERS EXTEND WOR CHAN12 @@ -341,10 +342,10 @@ IMUFINED TC CAGETEST # SEE THAT NO ONE HAS CAGED THE IMU. TCF ENDIMU # Page 1428 -IFAILOK TC CAGETSTQ # ENABLE IMU FAIL UNLESS IMU BEING CAGED. +IFAILOK TC CAGETSTQ # ENABLE IMU FIAL UNLESS IMU BEING CAGED. TCF TASKOVER # IT IS. - CAF BIT4 # DON'T RESET IMU FAIL INHIBIT IF SOMEONE + CAF BIT4 # DONT RESET IMU FAIL INHIBIT IF SOMEONE EXTEND # HAS GONE INTO COARSE ALIGN. RAND CHAN12 CCS A @@ -401,12 +402,12 @@ PIPFREE2 TC IBNKCALL # ISS WARNING MIGHT COME ON NOW. TCF MODEEXIT -PIPFREE INHINT # PROGRAM DONE WITH PIPAS. DON'T LIGHT +PIPFREE INHINT # PROGRAM DONE WITH PIPAS. DONT LIGHT CS IMODES30 # ISS WARNING. MASK BIT1 ADS IMODES30 - MASK BIT10 # IF PIP FAIL ON, DO PROG ALARM AND RESET + MASK BIT10 # IF PIP FAIL ON, DO PROG ALSRM AND RESET CCS A # ISS WARNING. TCF MODEEXIT @@ -418,7 +419,7 @@ PIPFREE INHINT # PROGRAM DONE WITH PIPAS. DON'T LIGHT TCF PIPFREE2 # Page 1430 -# THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS +# THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS # BEGINNING AT THE ECADR ARRIVING IN A. THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE # UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS. @@ -469,7 +470,7 @@ GYROAGRE TS MPAC +3 TCF MODEEXIT # Page 1431 -# ROUTINES TO ALLOW TORQUING ONLY ONE JOB AT A TIME. +# ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME. GYROBUSY EXTEND # SAVE RETURN 2FCADR. DCA BUF2 @@ -517,7 +518,7 @@ STRTGYR2 CA LGYRO # JUMP ON PHASE COUNTER IN BITS 13-14. CAF LGWAKE # WAKE A POSSIBLE SLEEPING JOB. TC JOBWAKE -NORESET TCF IMUFINED # DO NOT RESET POWER SUPPLY. +NORESET TCF IMUFINED # DO NOT RESET POWER SUPPLY # Page 1433 -2 CS FOUR # SPECIAL ENTRY TO REGRESS LGYRO FOR X. ADS LGYRO @@ -667,7 +668,7 @@ MAJ- EXTEND # DEFINITE NEGATIVE OUTPUT. CS RUPTREG1 # SET UP RUPTREGS TO FALL INTO GMERGE. TS RUPTREG1 # ALL NUMBERS PUT INTO GYROCMD ARE - CS RUPTREG2 # POSITIVE -- BIT9 OF CHAN 14 DETERMINES + CS RUPTREG2 # POSITIVE - BIT9 OF CHAN 14 DETERMINES MASK LOW7 # THE SIGN OF THE COMMAND. COM XCH RUPTREG2 @@ -708,12 +709,13 @@ CAGETSTJ CS IMODES30 # IF DURING MODE SWITCH INITIALIZATION. MASK BIT6 # IT IS FOUND THAT THE IMU IS BEING CAGED. CCS A # SET IMUCADR TO -0 TO INDICATE OPERATION TC Q # COMPLETE BUT FAILED. RETURN IMMEDIATELY + CS ZERO # TO SWRETURN. TS IMUCADR TCF MODEEXIT # Page 1439 -# GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION +# GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION # OR AT BADEND FOR AN UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS. BADEND TS RUPTREG2 # DEVICE INDEX. @@ -726,7 +728,7 @@ GOODEND TS RUPTREG2 TS RUPTREG3 INDEX RUPTREG2 # SEE IF USING PROGRAM ASLEEP. CCS MODECADR - TCF +2 # YES -- WAKE IT UP. + TCF +2 # YES - WAKE IT UP. TCF ENDMODE # IF 0, PROGRAM NOT IN YET. CAF ZERO # WAKE SLEEPING PROGRAM. @@ -741,54 +743,54 @@ GOODEND TS RUPTREG2 TCF TASKOVER ENDMODE CA RUPTREG3 # -0 INDICATES OPERATION COMPLETE BUT - INDEX RUPTREG2 # UNSUCCESSFUL: -1 INDICATES COMPLETE AND + INDEX RUPTREG2 # UNSUCCESSFUL - -1 INDICATES COMPLETE AND TS MODECADR # SUCCESSFUL. TCF TASKOVER # Page 1440 -# GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION. -# -# PROGRAM DESCRIPTION DATE -- 21 FEB 1967 +# GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION. + +# PROGRAM DESCRIPTION DATE- 21 FEB 1967 # LOG SECTION IMU MODE SWITCHING -# MOD BY -- R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 82 -# -# FUNCTIONAL DESCRIPTION -- +# MOD BY- R.MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 82 + +# FUNCTIONAL DESCRIPTION- # TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED # I/O FUNCTION IS COMPLETE. THE FOLLOWING CHECKS ON THE CALLING ROUTINES -# MODEECADR ARE MADE AND ACTED UPON. -# 1) +0 INDICATES INCOMPLETE I/O OPERATION. CALLING ROUTINE IS PUT TO +# MODECADR ARE MADE AND ACTED UPON. +# 1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO # SLEEP. # 2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP -# CALL AND RETURNS TO CALLING ROUTINE AT L+3. +# CALL AND RETURNS TO CALLING ROUTINE AT L+3 # 3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR # AND RETURNS TO CALLING ROUTINE AT L+2. # 4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF # SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM # RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS. -# -# CALLING SEQUENCE -- -# L TC BANKCALL -# L+1 CADR (ONE OF 5 STALL ADDRESSES. I.E., IMUSTALL, OPTSTALL, RADSTALL, -# AOTSTALL, OR ATTSTALL) -# -# NORMAL-EXIT MODE -- -# TCF JOBSLEEP OR TCF MODEXIT -# -# ALARM OR ABORT EXIT MODE -- -# TC ABORT -# -# OUTPUT -- -# MODECADR=CADR IF JOBSLEEP + +# CALLING SEQUENCE- +# L TC BANKCALL +# L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL,OPTSTALL,RADSTALL, +# AOTSTALL,OR ATTSTALL) + +# NORMAL-EXIT MODE- +# TCF JOBSLEEP OR TCF MODEXIT + +# ALARM OR ABORT EXIT MODE- +# TC ABORT + +# OUTPUT- +# MODECADR= CADR IF JOBSLEEP # MODECADR=+0 IF I/O COMPLETE # BUF2=L+3 IF I/O COMPLETE AND GOOD. -# BUF2=L+2 IF I/O COMPLETE BUT FAILED. -# -# ERASABLE INITIALIZATION -- +# BUF2=L+2 IF I/O COMPLETE BUT FAILED. + +# ERASABLE INITIALIZATION- # BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2) # BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE. # MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR CADR RETURN ADDRESS. # -# DEBRIS -- +# DEBRIS- # RUPTREG2 AND CALLING ROUTINE MODECADR. AOTSTALL CAF ONE # AOT. @@ -855,7 +857,7 @@ GOMANUR CA ATTCADR # IS KALCMANU FREE CA PRIORITY MASK PRIO37 - TS ATTPRIO # SAVE USER'S PRIO + TS ATTPRIO # SAVE USERS PRIO CAF KALEBCON # SET EBANK FOR KALCMAN3 TS EBANK @@ -866,34 +868,33 @@ KALEBCON ECADR BCDU # Page 1443 # PROGRAM DESCRIPTION # IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY) -# MOD NO -- 1 -# MOD BY -- N.BRODEUR -# +# MOD NO - 1 +# MOD BY - N.BRODEUR # FUNCTIONAL DESCRIPTION -# TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN -# ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE -# PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE -# CMC. CALLED THROUGH BANKCALL # -# CALLING SEQUENCE -- -# L TC BANKCALL -# L+1 CADR R02BOTH +# TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN +# ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE +# PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE +# CMC. CALLED THROUGH BANKCALL +# CALLING SEQUENCE- # +# L TC BANKCALL +# L+1 CADR R02BOTH # SUBROUTINES CALLED +# # VARALARM # FLAGUP -# # NORMAL EXIT MODES -# AT L+2 OF CALLING SEQUENCE # +# AT L+2 OF CALLING SEQUENCE # ALARM OR ABORT EXIT MODES # GOTOP00H, WITH ALARM -# # ERASABLE INITIALIZATION REQUIRED -# NONE # +# NONE # DEBRIS -# CENTRALS -- A,Q,L +# +# CENTRALS-A,Q,L BANK 34 SETLOC R02 @@ -923,25 +924,25 @@ R02ZERO TC UPFLAG OCT220 OCT 220 # Page 1445 -# PROGRAM DESCRIPTION: P06 10 FEB 67 -# +# PROGRAM DESCRIPTION P06 10FEB67 + # TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION. -# + # THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU # HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF. THE # CMC STANDBY ON THE MAIN AND LEB DISKYS IS ON. -# + # CALLING SEQUENCE: # ASTRONAUT REQUEST THROUGH DSKY V37E 06E. -# + # SUBROUTINES CALLED: # GOPERF1 # BANKCALL # FLAGDOWN -# + # Page 1446 -# PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2. -# THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATIBILITY +# PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2 +# THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY # BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING. SETLOC P05P06 @@ -955,7 +956,7 @@ P06 TC UPFLAG # SET NODOV37 BIT PRESTAND INHINT EXTEND - DCA TIME2 # SNAPSHOT TIME1 TIME2 + DCA TIME2 # SNAPSHOT TIME1TIME2 DXCH TIME2SAV TC SCALPREP TC PRESTAND # T1,T2,SCALER NOT COMPATIBLE @@ -992,7 +993,7 @@ OCT62 EQUALS .5SEC # DEC 50 = OCT 62 # THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A # Page 1447. # T1 INCREMENT. IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER -# DATA ARE NOT COMPATIBLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE +# DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE # DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES # THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE # 10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM @@ -1020,16 +1021,16 @@ SCALPREP EXTEND INCR MPAC +2 # NO TC MPAC +2 # YES -# POSTAND RECOVERS TIME AFTER STANDBY. THE SCALER IS SNAPSHOTTED AND THE +# POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE # TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE -# INSPECTED TO INSURE COMPATIBILITY BETWEEN THE SCALER READING AND THE +# INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE # CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER # VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF # TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER. COUNT* $$/P05 -POSTAND CS BIT11 # RECOVER TIME AFTER STANDBY +POSTAND CS BIT11 # RECOVER TIME AFTER STANDBY. EXTEND WAND CHAN13 # CLEAR STANDBY ENABLE BIT INHINT @@ -1040,10 +1041,10 @@ POSTAND CS BIT11 # RECOVER TIME AFTER STANDBY TC POSTAND +3 # T1,T2,SCALER NOT COMPATIBLE EXTEND # T1,T2 AND SCALER OK DCS SCALSAVE - DAS MPAC # FORM DP DIFFERENCE OF POST-STANDBY SCALER + DAS MPAC # FORM DP DIFFERENCE OF POSTSTANDBY SCALER # Page 1448 - CAF BIT10 # MINUS PRE-STANDBY SCALER AND SHIFT RIGHT - TC SHORTMP # 5 TO ALIGN BITS WITH TIME1 TIME2. + CAF BIT10 # MINUS PRESTANDBY SCALER AND SHIFT RIGHT + TC SHORTMP # 5 TO ALIGN BITS WITH TIME1TIME2. CAF ZERO TS MPAC +2 # NEEDED FOR TP AGREE TC TPAGREE # MAKE DP DIFF AGREE @@ -1054,7 +1055,7 @@ POSTAND CS BIT11 # RECOVER TIME AFTER STANDBY CAF BIT10 # BIT 10 TO HIGH DIFF TO CORRECT. ADS MPAC POSTCOM EXTEND # C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER. - DCA TIME2SAV # PRE-STANDBY TIME1 TIME2 + DCA TIME2SAV # PRE-STANDBY TIME1TIME2 DAS MPAC TC TPAGREE # FORCE SIGN AGREEMENT DXCH MPAC # UPDATED VALUE FOR T1,T2. @@ -1063,6 +1064,3 @@ POSTCOM EXTEND # C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER. ADRES NODOFLAG TC GOTOP00H - - -