* Proof FIXED_FIXED_CONSTANT_POOL (#207)

* wip(p550/550: DONE): Proof P11 #230

* Remove patch line for the simulator
This commit is contained in:
Glenn Dwiyatcita 2019-07-21 19:04:41 +02:00 committed by James Harris
parent 16ffeaeb08
commit bb960aed7d

View File

@ -35,19 +35,19 @@
# Page 533 # Page 533
# EARTH ORBIT INSERTION MONITOR PROGRAM # EARTH ORBIT INSERTION MONITOR PROGRAM
# ************************************* # *************************************
#
# PROGRAM DESCRIPTION -P11- # PROGRAM DESCRIPTION -P11-
#
# MOD NO. 1 # MOD NO. 1
# MOD BY ELIASSEN # MOD BY ELIASSEN
#
# FUNCTIONAL DESCRIPTION # FUNCTIONAL DESCRIPTION
#
# P11 IS INITIATED BY # P11 IS INITIATED BY
#
# A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR # A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR
# B) BACKUP THRU VERB 75 ENTER # B) BACKUP THRU VERB 75 ENTER
#
# PROGRAM WILL # PROGRAM WILL
# 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP) # 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP)
# 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED # 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED
@ -55,79 +55,82 @@
# 4. CHANGE MAJOR MODE TO 11 # 4. CHANGE MAJOR MODE TO 11
# 5. CLEAR DSKY IN CASE OF V 75 # 5. CLEAR DSKY IN CASE OF V 75
# 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY # 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY
# 7. TERMINATE GYROCOMPASSING __ __ # 7. TERMINATE GYROCOMPASSING - -
# 8. COMPUTE INITIAL VECTORS RN, VN _ _ _ # 8. COMPUTE INITIAL VECTORS RN, VN - - -
# 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE # 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE
# _ _ X Y Z # - - X Y Z
# U =(UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF # U =(UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF
# _Z _ _ # Z
# U =UNIT(A), A=HOR VECTOR AT LAUNCH AZIMUTH # - - -
# _X _ _ # U =UNIT(A), A=HOR VECTOR AT LAUNCH AZIMUTH
# X
# - - -
# U =U * U # U =U * U
# U Z X # U Z X
# 10. SET REFSMMAT KNOWN FLAG # 10. SET REFSMMAT KNOWN FLAG
# 11. SET AVGEXIT IN SERVICER TO VHHDOT TO # 11. SET AVGEXIT IN SERVICER TO VHHDOT TO
# COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS # COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS
#
# R1 V1 -- INERTIAL VELOCITY MAGNITUDE IN FPS # R1 V1 - INERTIAL VELOCITY MAGNITUDE IN FPS
# R2 HDOT -- RATE OF CHANGE OF VEHICLE VEL IN FPS # R2 HDOT - RATE OF CHANGE OF VEHICLE VEL IN FPS
# R3 H -- VEHICLE ALTITUDE ABOVE PAD IN NM # R3 H - VEHICLE ALTITUDE ABOVE PAD IN NM
#
# 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES # 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES
# #
# A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.) # A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.)
# DESIRED ATTITUDE IS AS STORED AT L.O. # DESIRED ATTITUDE IS AS STORED AT L.O.
# B) FROM RPSTART TO POLYSTOP (APPROX. +10 TO +133SECS AFTER LO) # B) FROM RPSTART TO POLYSTOP(APPROX.+10 TO +133SECS AFTER LO)
# DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL # DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL
# POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER # POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER
# Page 534 # Page 534
# THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX. # THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX.
# EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1 # EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1
#
# SUBROUTINES CALLED # SUBROUTINES CALLED
#
# 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG # 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG
# DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL # DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL
# INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG # INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG
# POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1 # POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1
# SERVEXIT TASKOVER TCDANZIG V1STO2S WAITLIST # SERVEXIT TASKOVER TCDANZIG V1STO2S WAITLIST
#
# ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT) # ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT)
# #
# DSKY -- # DSKY -
# MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS # MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS
# R2 MINUTES # R2 MINUTES
#
# DSKY -- # DSKY -
# MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES # MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES
# R2 PERIGEE ALTITUDE IN NAUTICAL MILES # R2 PERIGEE ALTITUDE IN NAUTICAL MILES
# R3 TFF IN MINUTES/SECS # R3 TFF IN MINUTES/SECS
#
# IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST # IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST
# HIT PROCEED TO RETURN TO NORMAL NOUN 62 DISPLAY. # HIT PROCEED TO RETURN TO NORMAL NOUN 62 DISPLAY.
# NORMAL EXIT MODE # NORMAL EXIT MODE
#
# ASTRONAUT VERB 37 ENTER 00 ENTER # ASTRONAUT VERB 37 ENTER 00 ENTER
#
# ALARM MODES -- NONE # ALARM MODES - NONE
#
# ABORT EXIT MODES -- # ABORT EXIT MODES -
#
# OUTPUT # OUTPUT
#
# TLIFTOFF (DP) TEPHEM (TP) # TLIFTOFF (DP) TEPHEM (TP)
# REFSMMAT # REFSMMAT
# DSKY DISPLAY # DSKY DISPLAY
# FDAI DISPLAY # FDAI DISPLAY
#
# ERASABLE INITIALIZATION # ERASABLE INITIALIZATION
#
# AZO, AXO, -AYO # AZO, AXO, -AYO
# LATITUDE # LATITUDE
# PADLONG # PADLONG
# TEPHEM # TEPHEM
# PGNCSALT # PGNCSALT
# POLYNUM THRU POLYNUM +14D # POLYNUM THRU POLYNUM +14D)
# RPSTART # RPSTART
# POLYSTOP # POLYSTOP
# FLAGS SET OR RESET # FLAGS SET OR RESET
@ -135,16 +138,15 @@
# SET REFSMFLG # SET REFSMFLG
# SET DVMON IDLE FLAG # SET DVMON IDLE FLAG
# CLEAR ERADFLAG # CLEAR ERADFLAG
#
# DEBRIS # DEBRIS
#
# LIFTTEMP # LIFTTEMP
# POLYNUM THRU POLYNUM +7 # POLYNUM THRU POLYNUM +7
# SPOLYARG # SPOLYARG
# BODY1, BODY2, BODY3 # BODY1, BODY2, BODY3
# VMAG2, ALTI, HDOT # VMAG2, ALTI, HDOT
# CENTRALS, CORE SET, AND VAC AREAS # CENTRALS, CORE SET AND VAC AREAS
COUNT 34/P11 COUNT 34/P11
BITS5-6 = SUPER011 BITS5-6 = SUPER011
@ -169,7 +171,7 @@ P11+7 EXTEND
EXTEND EXTEND
DCA TIME2 DCA TIME2
DXCH LIFTTEMP # FORE RESTARTS DXCH LIFTTEMP # FOR RESTARTS
CA ZERO CA ZERO
ZL ZL
@ -177,6 +179,7 @@ P11+7 EXTEND
REP11A-2 DXCH TLIFTOFF REP11A-2 DXCH TLIFTOFF
REP11A-1 DXCH -PHASE3 # RESET PHASE REP11A-1 DXCH -PHASE3 # RESET PHASE
REP11A INHINT REP11A INHINT
EXTEND EXTEND
DCA TEPHEM +1 DCA TEPHEM +1
@ -188,7 +191,7 @@ REP11A INHINT
EXTEND EXTEND
DCA TLIFTOFF DCA TLIFTOFF
DAS TEPHEM1 +1 DAS TEPHEM1 +1
ADS TEPHEM1 # CORRECT FOR OVERFLOW ADS TEPHEM1 # CORRECTFOR OVERFLOW
TC PHASCHNG TC PHASCHNG
OCT 05023 OCT 05023
@ -259,7 +262,7 @@ MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
ZL ZL
CA CDUZ CA CDUZ
DXCH MGC DXCH MGC
TC INTPRET # _ TC INTPRET # -
VLOAD VSR1 # SCALE OGC B-1 VLOAD VSR1 # SCALE OGC B-1
OGC OGC
STORE OGC STORE OGC
@ -275,9 +278,9 @@ MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
HI6ZEROS # TIME = 0 HI6ZEROS # TIME = 0
CLEAR CALL CLEAR CALL
ERADFLAG ERADFLAG
LALOTORV # CONVERT TO POSITION VECTOR IN REF. COORDS. LALOTORV # CONVERT TO POSITION VECTOR IN REF.COORDS
STCALL RN1 # _ STCALL RN1 # -
GETDOWN # RETURN WITH VECTOR FOR DOWN DIRECTION GETDOWN # RETURN WITH VECTOR FOR DOWN DIRECTION
VCOMP UNIT VCOMP UNIT
STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV) STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV)
@ -313,7 +316,7 @@ MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
LAUNCHAZ LAUNCHAZ
DAD PDDL DAD PDDL
AZIMUTH AZIMUTH
SATRLRT # SET SATRLRT = -SATRLRT IF SATRLRT # SET SATRLRT = -SATRLRT IF
SIGN STADR # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE SIGN STADR # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE
STORE SATRLRT # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY STORE SATRLRT # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY
SET EXIT SET EXIT
@ -344,8 +347,8 @@ MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
CCS A # CHECK TO INSURE DT IS POSITIVE CCS A # CHECK TO INSURE DT IS POSITIVE
TCF +3 # TIME POSITIVE TCF +3 # TIME POSITIVE
TCF +2 # CANNOT GET HERE TCF +2 # CANNOT GET HERE
CA ZERO # TIME NEGATIVE -- SET TO 1 CA ZERO # TIME NEGATIVE - SET TO 1
AD ONE # RESTORE TIME -- OR MAKE POSITIVE AD ONE # RESTORE TIME - OR MAKE POSITIVE
TC WAITLIST TC WAITLIST
EBANK= AOG EBANK= AOG
@ -374,7 +377,7 @@ REP11 INHINT
EXTEND EXTEND
BZMF ENDREP11 BZMF ENDREP11
CCS TIME2 # ** TIME2 MUST BE NON-ZERO AT LIFTOFF ** CCS TIME2 # **TIME2 MUST BE NON-ZERO AT LIFTOFF**
TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT
EXTEND # T2,T1 ZEROED, SET TLIFTOFF EXTEND # T2,T1 ZEROED, SET TLIFTOFF
@ -399,9 +402,9 @@ POWDNCOD EQUALS THREE
EBANK= BODY3 EBANK= BODY3
# VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY # VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY
# VI INERTIAL VELOCITY MAGNITUDE # VI INERTIAL VELOCITY MAGNITUDE
# HDOT RATE OF CHANGE OF ALT ABOVE L PAD RADIUS # HDOT RATE OF CHANGE OF ALT ABOVE L PAD RADIUS
# H ALTITUDE ABOVE L PAD RADIUS # H ALTITUDE ABOVE L PAD RADIUS
VHHDOT TC INTPRET VHHDOT TC INTPRET
CALL # LOAD VMAGI, ALTI, CALL # LOAD VMAGI, ALTI,
@ -410,8 +413,8 @@ VHHDOT TC INTPRET
TC PHASCHNG TC PHASCHNG
OCT 00035 OCT 00035
CAF V06N62 # DISPLAY IN R1 R2 R3 CAF V06N62 # DISPLAY IN R1 R2 R3
TC BANKCALL # VI HDOT H TC BANKCALL # VI HDOT H
CADR REGODSP CADR REGODSP
ATERTASK CAF PRIO1 # ESTABLISH JOB TO DISPLAY ATT ERRORS ATERTASK CAF PRIO1 # ESTABLISH JOB TO DISPLAY ATT ERRORS
@ -438,53 +441,56 @@ GETDOWN STQ SETPD
STCALL 8D STCALL 8D
LALOTORV +5 LALOTORV +5
# THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST # THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST
# COMPUTE DESIRED PITCH W.R.T. PAD LOCAL VERTICAL AT LIFTOFF
# 2 3 4 5 6
# PITCH = A0+A1T+A2T +A3T +A4T +A5T +A6T
# SCALED TO 32 REVS. -14
# IF TL = TIME IN SECS FROM L.O., THEN T = 100(TL-RPSTART)2
# WHERE TL GE RPSTART
# TL LE (-POLYSTOP + RPSTART)
# COMPUTE DESIRED ROLL WEHRE ROLL EQUALS ANGLE FROM
# LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
# ROLL = LAUNCHAZ-AZIMUTH-.5 +SATRLRT*T IN REV
# SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
# T,IN CENTI-SEC,IS DEFINED AS ABOVE,INCLUSIVE OF TIME RESTRICTIONS
# FOR SIMPLICITY, LET P = 2*PI*PITCH
# R = 2*PI*ROLL
# CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
# TERMS OF SM COORDINATES. LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
# YDC,AND ZDC.
# * ( SIN(P) 0 -COS(P) ) (XDC)
# TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
# (-COS(R)*COS(P) SIN(R) -COS(R)*SIN(P)) (ZDC)
# XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
# EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
# ORIENTATION. THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
# AS THE DESIRED CDU ANGLES.
# (XDC) (OGC)
# (YDC) ---) CALCGTA ---) (IGC)
# (ZDC) (MGC)
# -
# DEFINE THE VECTOR DELTACDU.
# - (OGC) (CDUX)
# DELTACDU = (IGC) - (CDUY)
# (MGC) (CDUZ)
# - - * -
# COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
# #
# COMPUTE DESIRED PITCH W.R.T. PAD LOCAL VERTICAL AT LIFTOFF # * (1 SIN(CDUZ) 0 ) THE GIMBAL ANGLES
# 2 3 4 5 6
# PITCH = A0+A1T+A2T +A3T +A4T +A5T +A6T
# SCALED TO 32 REVS. -14
# IF TL = TIME IN SECS FROM L.O., THEN T = 100(TL-RPSTART0)2
# WHERE TL GE RPSTART
# TL LE (-POLYSTOP + RPSTART)
# COMPUTE DESIRED ROLL WEHRE ROLL EQUALS ANGLE FROM
# LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
# ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T IN REV
# SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
# T, IN CENTI-SEC, IS DEFINED AS ABOVE, INCLUSIVE OF TIME RESTRICTIONS
#
# FOR SIMPLICITY, LET P = 2*PI*PITCH
# R = 2*PI*ROLL
#
# CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
# TERMS OF SM COORDINATES. LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
# YDC, AND ZDC.
#
# * ( SIN(P) 0 -COS(P) ) (XDC)
# TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
# (-COS(R)*COS(P) SIN(R) -COS(R)*SIN(P)) (ZDC)
#
# XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
# EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
# ORIENTATION. THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
# AS THE DESIRED CDU ANGLES.
#
# (XDC) (OGC)
# (YDC) ---) CALCGTA ---) (IGC)
# (ZDC) (MGC)
# _
# DEFINE THE VECTOR DELTACDU.
#
# _ (OGC) (CDUX)
# DELTACDU = (IGC) - (CDUY)
# (MGC) (CDUZ)
# _ _ * _
# COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
#
# * (1 SIN(CDUZ) 0 ) THE GIMBAL ANGLES
# Page 542 # Page 542
# TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES # TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES
# (0 -SIN(CDUX)*COS(CDUZ) COS(CDUX)) CONVERSION MATRIX # (0 -SIN(CDUX)*COS(CDUZ) COS(CDUX)) CONVERSION MATRIX
# _
# -
# THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN # THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN
# THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE # THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE
# ERROR DISPLAY ROUTINE. # ERROR DISPLAY ROUTINE.
@ -492,22 +498,22 @@ GETDOWN STQ SETPD
ATERJOB CAE FLAGWRD6 # CHECK FLAGWRD6 ATERJOB CAE FLAGWRD6 # CHECK FLAGWRD6
MASK OCT60000 # BITS 14, 15 MASK OCT60000 # BITS 14, 15
EXTEND EXTEND
BZF +2 # OK -- CONTINUE BZF +2 # OK - CONTINUE
TC ENDOFJOB # STAURN STICK ON -- KILL JOB TC ENDOFJOB # SATURN STICK ON - KILL JOB
CAF BIT10 # CHECK IF S/C CONTROL CAF BIT10 # CHECK IF S/C CONTROL
EXTEND # OF SATURN PANEL EXTEND # OF SATURN PANEL
RAND CHAN30 # SWITCH IS ON RAND CHAN30 # SWITCH IS ON
EXTEND EXTEND
BZF STRSAT # IT IS -- GO STEER BZF STRSAT # IT IS - GO STEER
CCS SATSW # IT IS NOT -- WAS IT ON LAST CYCLE CCS SATSW # IT IS NOT - WAS IT ON LAST CYCLE
TC ATTDISP # NO -- CONTINUE TC ATTDISP # NO - CONTINUE
TC ATRESET # YES -- REINITIALIZE NEEDLER TC ATRESET # YES - REINITIALIZE NEEDLER
TC ATRESET # YES -- REINITIALIZE NEEDLER TC ATRESET # YES - REINITIALIZE NEEDLER
ATTDISP CS RPSTART # PITCH/ROLL START TIME ATTDISP CS RPSTART # PITCH/ROLL START TIME
AD TIME1 AD TIME1
EXTEND EXTEND
BZMF NOPOLY # IF MINUS THEN ATTITUDE HOLD BZMF NOPOLY # IF MINUS THEN ATTITUDE HOLD
TS MPAC # MPAC = TIME1 - RPSTART TS MPAC # MPAC=TIME1-RPSTART
TS SPOLYARG # SAVE FOR USE IN ROLL CALCULATION TS SPOLYARG # SAVE FOR USE IN ROLL CALCULATION
AD POLYSTOP # NEG PITCHOVER TIME IN CSECS AD POLYSTOP # NEG PITCHOVER TIME IN CSECS
EXTEND EXTEND
@ -521,13 +527,14 @@ ATTDISP CS RPSTART # PITCH/ROLL START TIME
TS L TS L
CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL
TC POWRSERS # SCALED TO 32 REVOLUTIONS TC POWRSERS # SCALED TO 32 REVOLUTIONS
CA ZERO # RETURN WITH PITCH(32REV) CA ZERO # RETURN WITH PITCH(32REV)
TS MODE # STORED MPAC, MPAC +1 TS MODE # STORED MPAC, MPAC +1
TC INTPRET TC INTPRET
SETPD SL # 32(PITCH(32REV)) = PITCH(REV) SETPD SL # 32(PITCH(32REV))=PITCH(REV)
0 0
5 5
PUSH # LET P(RAD) = 2*PI*PITCH(REV) PUSH # LET P(RAD)=2*PI*PITCH(REV)
GOTO GOTO
ATTDISP1 # AROUND SETLOC ATTDISP1 # AROUND SETLOC
# Page 543 # Page 543
@ -548,7 +555,7 @@ ATTDISP1 COS DCOMP
# EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T # EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T
SLOAD DMP SLOAD DMP
SPOLYARG # TIME1 - RSPSTART, CSECS B-14. SPOLYARG # TIME1 - RSPSTART ,CSECS B-14.
SATRLRT SATRLRT
SL DSU SL DSU
14D 14D
@ -559,7 +566,7 @@ ATTDISP1 COS DCOMP
RTB # DETERMINE IF ROLLOUT RTB # DETERMINE IF ROLLOUT
RLTST # IS COMPLETED RLTST # IS COMPLETED
ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV
PUSH # LET R(RAD) = 2*PI*ROLL(REV) PUSH # LET R(RAD) = 2*PI*ROLL(REV)
DMP SL1 DMP SL1
14D 14D
STODL 22D # -.5*COS(R)*COS(P) STODL 22D # -.5*COS(R)*COS(P)
@ -591,19 +598,19 @@ ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV
STCALL ZDC # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R), STCALL ZDC # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R),
CALCGTA # -COS(R)*SIN(P)) CALCGTA # -COS(R)*SIN(P))
# CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC, AND MGC # CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC,AND MGC
# _ _ _ # - - -
# FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX # FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX
#
# ENTER HERE IF ATTITUDE HOLD # ENTER HERE IF ATTITUDE HOLD
NOPOLYM VLOAD PUSH # OGC IGC NOPOLYM VLOAD PUSH # OGC IGC
OGC # CHANGE IGC TO MGC FOR COMPATIBILITY OGC # CHANGE IGC TO MGC FOR COMPATIBILITY
PUSH CALL # MGC OGC PUSH CALL # MGC OGC
CDUTRIG # WITH Y,Z,X ORDER OF CDUSPOT CDUTRIG # WITH Y,Z,X ORDER OF CDUSPOT
VLOAD RTB # _ DPHI OGC-CDUX , PD4 VLOAD RTB # - DPHI OGC-CDUX ,PD4
2 # DELTACDU = DTHETA = IGC-CDUY , 0 2 # DELTACDU = DTHETA = IGC-CDUY , 0
V1STO2S # DPSI MGC-CDUZ , 2 V1STO2S # DPSI MGC-CDUZ , 2
STOVL BOOSTEMP STOVL BOOSTEMP
ZEROVECS ZEROVECS
STOVL 0 STOVL 0
@ -652,9 +659,9 @@ ATTDISP2 STODL 16D # 16D, .5(DPHI + DTHETA*SIN(CDUZ))
CA SATSW CA SATSW
CCS A # CHK TAKEOVER STATUS CCS A # CHK TAKEOVER STATUS
TC SATOUT # POS -- DISPLAY ONLY TC SATOUT # POS - DISPLAY ONLY
TC AKLOAD # 0 STORE BIAS TC AKLOAD # 0 STORE BIAS
STEERSAT TC INTPRET # NEG STEER L/V STEERSAT TC INTPRET # NEG STEER L/V
TLOAD TAD TLOAD TAD
BIASAK BIASAK
AK AK
@ -669,12 +676,12 @@ STEERSAT TC INTPRET # NEG STEER L/V
CA AK2 CA AK2
TC RESCALES TC RESCALES
TS AK2 TS AK2
# DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER # DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER
SATOUT TC BANKCALL SATOUT TC BANKCALL
CADR NEEDLER CADR NEEDLER
ATERSET CAF OCT31 # DELAY .25 SEC ATERSET CAF OCT31 # DELAY .25 SEC
TC BANKCALL # EXECUTION + DELAY = .56SEC APPROX TC BANKCALL # EXECUTION + DELAY =.56SEC APPROX
CADR DELAYJOB CADR DELAYJOB
TC ATERJOB # END OF ATT ERROR DISPLAY CYCLE TC ATERJOB # END OF ATT ERROR DISPLAY CYCLE
@ -688,17 +695,17 @@ AKLOAD CS AK # STORE AKS
CS BIT1 # SET SW CS BIT1 # SET SW
TS SATSW # TO STEER TS SATSW # TO STEER
TC STEERSAT # GO STEER TC STEERSAT # GO STEER
STRSAT CA SATSW # CHECK IF NEDLER STRSAT CA SATSW # CHECK IF NEEDLER
EXTEND # HAS BEEN INITIALIZED EXTEND # HAS BEEN INITIALIZED
BZMF ATTDISP # YES -- CONTINUE BZMF ATTDISP # YES - CONTINUE
ATRESET CS RCSFLAGS # NO -- SET ATRESET CS RCSFLAGS # NO - SET
MASK BIT3 # INITIALIZATION SW MASK BIT3 # INITIALIZATION SW
ADS RCSFLAGS # FOR NEDLER ADS RCSFLAGS # FOR NEEDLER
TC BANKCALL # AND GO TC BANKCALL # AND GO
CADR NEEDLER # DO IT CADR NEEDLER # DO IT
CAF REVCNT # OCT 6 CAF REVCNT # OCT 6
TC BANKCALL # DELAY JOB TC BANKCALL # DELAY JOB
CADR DELAYJOB # 60 MS --WAIT TILL IMUERRCNTR ZEROED CADR DELAYJOB # 60 MS -WAIT TILL IMUERRCNTR ZEROED
CCS SATSW # CHECK SW STATUS CCS SATSW # CHECK SW STATUS
TC TAKEON # POS STEER INIT. TC TAKEON # POS STEER INIT.
TC +1 # 0 RETURN TO DISPLAY TC +1 # 0 RETURN TO DISPLAY
@ -769,17 +776,16 @@ RESCALES EXTEND # RESCALE AK S FOR
DDOUBL # SCALING FOR DDOUBL # SCALING FOR
DDOUBL # STEERING DDOUBL # STEERING
TC Q # SATURN TC Q # SATURN
# SATURN TAKEOVER FUNCTION # SATURN TAKEOVER FUNCTION
# ************************ # ************************
#
# PROGRAM DESCRIPTION # PROGRAM DESCRIPTION
#
# MOD NUMBER 1 # MOD NUMBER 1
# MOD BY ELIASSEN # MOD BY ELIASSEN
#
# FUNCTIONAL DESCRIPTION # FUNCTIONAL DESCRIPTION
#
# DURING THE COASTING PHASE OF SIVB ATTACHED, THE # DURING THE COASTING PHASE OF SIVB ATTACHED, THE
# ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH # ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH
# EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET ). # EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET ).
@ -789,52 +795,52 @@ RESCALES EXTEND # RESCALE AK S FOR
# VOLTAGES. THE VALUE OF THE CONSTANT RATE COMMAND # VOLTAGES. THE VALUE OF THE CONSTANT RATE COMMAND
# IS 0.5 DEG/SEC. AN ABSENCE OF RHC ACTIVITY RE- # IS 0.5 DEG/SEC. AN ABSENCE OF RHC ACTIVITY RE-
# SULTS IN A ZERO RATE COMMAND. # SULTS IN A ZERO RATE COMMAND.
#
# THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE # THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE
# OF THE RATE COMMAND. # OF THE RATE COMMAND.
#
# CALLING SEQUENCE # CALLING SEQUENCE
# #
# DAPFIG +9D TC POSTJUMP # DAPFIG +9D TC POSTJUMP
# CADR SATSTKON # CADR SATSTKON
#
# SUBROUTINES CALLED # SUBROUTINES CALLED
#
# ENDEXT # ENDEXT
# IBNKCALL # IBNKCALL
# STICKCHK # STICKCHK
# NEEDLER # NEEDLER
# T5RUPT # T5RUPT
# RESUME # RESUME
#
# ASTRONAUT REQUESTS # ASTRONAUT REQUESTS
# ENTRY - VERB 46 ENTER
# (CONDITION - BITS 13, 14 OF DAPDATR1 SET)
# #
# ENTRY -- VERB 46 ENTER # EXIT - VERB 48 ENTER (FLASH V06N46)
# (CONDITION -- BITS 13, 14 OF DAPDATR1 SET)
#
# EXIT -- VERB 48 ENTER (FLASH V06N46)
# VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1 # VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1
# VERB 34 ENTER # VERB 34 ENTER
# VERB 46 ENTER # VERB 46 ENTER
#
# NORMAL EXIT MODE # NORMAL EXIT MODE
#
# VERB 46 ENTER (SEE ASTRONAUT ABOVE) # VERB 46 ENTER (SEE ASTRONAUT ABOVE)
#
# ALARM OR ABORT EXIT MODES # ALARM OR ABORT EXIT MODES
#
# NONE # NONE
#
# OUTPUT # OUTPUT
#
# SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD # SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD
#
# ERASABLE INITIALIZATION # ERASABLE INITIALIZATION
#
# DAPDATR1 (BITS 13, 14 MUST BE SET) # DAPDATR1 (BITS 13,14 MUST BE SET)
#
# DEBRIS # DEBRIS
#
# CENTRALS # CENTRALS
# Page 549 # Page 549
# CDUXCMD, CDUYCMD, CDUZCMD # CDUXCMD, CDUYCMD, CDUZCMD
@ -858,7 +864,6 @@ SATSTKON EXTEND
RELINT RELINT
TC GOPIN # EXIT THUS BECAUSE WE CAME VIA V46 TC GOPIN # EXIT THUS BECAUSE WE CAME VIA V46
SBANK= PINSUPER # Added RSB 2009
EBANK= BODY3 EBANK= BODY3
2REDOSAT 2CADR REDOSAT 2REDOSAT 2CADR REDOSAT
@ -886,7 +891,7 @@ REDOSAT LXCH BANKRUPT # ALSO COMES HERE FOR RESTARTS
TS TIME5 TS TIME5
TCF RESUME # END OF SATURN STICK INITIALIZATION TCF RESUME # END OF SATURN STICK INITIALIZATION
# THIS SECTION IS EXECUTED EVERY 100 MSECS. # THIS SECTION IS EXECUTED EVERY 100 MSECS
# Page 550 # Page 550
SATSTICK LXCH BANKRUPT SATSTICK LXCH BANKRUPT
EXTEND EXTEND
@ -905,13 +910,13 @@ SATSTICK LXCH BANKRUPT
INDEX RMANNDX # SET SATURN RATES INDEX RMANNDX # SET SATURN RATES
CA SATRATE CA SATRATE
TS AK # ROLL TS AK # ROLL
INDEX PMANNDX INDEX PMANNDX
CA SATRATE CA SATRATE
TS AK1 # PITCH TS AK1 # PITCH
INDEX YMANNDX INDEX YMANNDX
CA SATRATE CA SATRATE
TS AK2 # YAW TS AK2 # YAW
TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY
CADR NEEDLER CADR NEEDLER