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
This commit is contained in:
Glenn Dwiyatcita 2019-10-14 22:07:54 +02:00 committed by James Harris
parent 84a2142316
commit 6fc2636146

View File

@ -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