2342 lines
43 KiB
Plaintext
2342 lines
43 KiB
Plaintext
|
# Copyright: Public domain.
|
||
|
# Filename: P51-P53.agc
|
||
|
# Purpose: Part of the source code for Luminary 1A build 099.
|
||
|
# It is part of the source code for the Lunar Module's (LM)
|
||
|
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||
|
# Assembler: yaYUL
|
||
|
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
|
||
|
# Website: www.ibiblio.org/apollo.
|
||
|
# Pages: 926-983
|
||
|
# Mod history: 2009-05-31 HG Transcribed from page images.
|
||
|
# 2009-06-07 RSB Corrected a typo.
|
||
|
#
|
||
|
# This source code has been transcribed or otherwise adapted from
|
||
|
# digitized images of a hardcopy from the MIT Museum. The digitization
|
||
|
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
|
||
|
# the Museum. Many thanks to both. The images (with suitable reduction
|
||
|
# in storage size and consequent reduction in image quality as well) are
|
||
|
# available online at www.ibiblio.org/apollo. If for some reason you
|
||
|
# find that the images are illegible, contact me at info@sandroid.org
|
||
|
# about getting access to the (much) higher-quality images which Paul
|
||
|
# actually created.
|
||
|
#
|
||
|
# Notations on the hardcopy document read, in part:
|
||
|
#
|
||
|
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
|
||
|
# 16:27 JULY 14, 1969
|
||
|
|
||
|
# Page 926
|
||
|
# PROGRAM NAME -- PROG52 DATE -- JAN 9, 1967
|
||
|
# MOD NO -- 0 LOG SECTION -- P51-P53
|
||
|
# MODIFICATION BY -- LONSKE ASSEMBLY -- SUNDANCE REV 46
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION --
|
||
|
#
|
||
|
# ALIGNS THE IMU TO ONE OF THREE ORIENTATIONS SELECTED BY THE ASTRONAUT. THE PRESENT IMU ORIENTATION IS KNOWN
|
||
|
# AND IS STORED IN REFSMMAT. THE THREE POSSIBLE ORIENTATIONS MAY BE:
|
||
|
#
|
||
|
# (A) PREFERRED ORIENTATION
|
||
|
#
|
||
|
# AN OPTIMUM ORIENTATION FOR A PREVIOUSLY CALCULATED MANEUVER. THIS ORIENTATION MUST BE CALCULATED AND
|
||
|
# STORED BY A PREVIOUSLY SELECTED PROGRAM.
|
||
|
#
|
||
|
# (B) NOMINAL ORIENTATION
|
||
|
#
|
||
|
# X = UNIT ( R )
|
||
|
# -SM
|
||
|
#
|
||
|
# Y = UNIT (V X R)
|
||
|
# SM
|
||
|
#
|
||
|
# Z = UNIT (X X Y )
|
||
|
# SM SM SM
|
||
|
#
|
||
|
# WHERE:
|
||
|
#
|
||
|
# R = THE GEOCENTRIC RADIUS VECTOR AT TIME T(ALIGN) SELECTED BY THE ASTRONAUT
|
||
|
# -
|
||
|
#
|
||
|
# V = THE INERTIAL VELOCITY VECTOR AT TIME T(ALIGN) SELECTED BY THE ASTRONAUT
|
||
|
# -
|
||
|
#
|
||
|
# (C) RERSMMAT ORIENTATION
|
||
|
#
|
||
|
# (D) LANDING SITE -- THIS IS NOT AVAILABLE IN SUNDANCE
|
||
|
#
|
||
|
# THIS SELECTION CORRECTS THE PRESENT IMU ORIENTATION. THE PRESENT ORIENTATION DIFFERS FROM THAT TO WHICH IT
|
||
|
# WAS LAST ALIGNED ONLY DUE TO GYRO DRIFT (I.E., NEITHER GIMBAL LOCK NOR IMU POWER INTERRUPTION HAS OCCURRED
|
||
|
# SINCE THE LAST ALIGNMENT).
|
||
|
#
|
||
|
# AFTER A IMU ORIENTATION HAS BEEN SELECTED ROUTINE S52.2 IS OPERATED TO COMPUTE THE GIMBAL ANGLES USING THE
|
||
|
# NEW ORIENTATION AND THE PRESENT VEHICLE ATTITUDE. CAL52A THEN USES THESE ANGLES, STORED IN THETAD,+1,+2, TO
|
||
|
# COARSE ALIGN THE IMU. THE STARS SELECTION ROUTINE, R56, IS THEN OPERATED. IF 2 STARS ARE NOT AVAILABLE AN ALARM
|
||
|
# IS FLASHED TO NOTIFY THE ASTRONAUT. AT THIS POINT THE ASTRONAUT WILL MANEUVER THE VEHICLE AND SELECT 2 STARS
|
||
|
# EITHER MANUALLY OR AUTOMATICALLY. AFTER 2 STARS HAVE BEEN SELECTED THE IMU IS FINE ALIGNED USING ROUTINE R51. IF
|
||
|
# THE RENDEZVOUS NAVIGATION PROCESS IS OPERATING (INDICATED BY RNDVZFLG) P20 IS DISPLAYED. OTHERWISE P00 IS
|
||
|
# REQUESTED.
|
||
|
#
|
||
|
# CALLING SEQUENCE --
|
||
|
#
|
||
|
# Page 927
|
||
|
# THE PROGRAM IS CALLED BY THE ASTRONAUT BY DSKY ENTRY.
|
||
|
#
|
||
|
# SUBROUTINES CALLED --
|
||
|
#
|
||
|
# 1. FLAGDOWN 7. S52.2 13. NEWMODEX
|
||
|
# 2. R02BOTH 8. CAL53A 14. PRIOLARM
|
||
|
# 3. GOPERF4 9. FLAGUP
|
||
|
# 4. MATMOVE 10. R56
|
||
|
# 5. GOFLASH 11. R51
|
||
|
# 6. S52.3 12. GOPERF3
|
||
|
#
|
||
|
# NORMAL EXIT MODES --
|
||
|
#
|
||
|
# EXITS TO ENDOFJOB
|
||
|
#
|
||
|
# ALARM OR ABORT EXIT MODES --
|
||
|
#
|
||
|
# NONE
|
||
|
#
|
||
|
# OUTPUT --
|
||
|
#
|
||
|
# THE FOLLOWING MAY BE FLASHED ON THE DSKY
|
||
|
# 1. IMU ORIENTATION CODE
|
||
|
# 2. ALARM CODE 215 -- PREFERRED IMU ORIENTATION NOT SPECIFIED
|
||
|
# 3. TIME OF NEXT IGNITION
|
||
|
# 4. GIMBAL ANGLES
|
||
|
# 5. ALARM CODE 405 -- TWO STARS NOT AVAILABLE
|
||
|
# 6. PLEASE PERFORM P00
|
||
|
# THE MODE DISPLAY MAY BE CHANGED TO 20
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED --
|
||
|
#
|
||
|
# PFRATFLG SHOULD BE SET IF A PREFERRED ORIENTATION HAS BEEN COMPUTED. IF IT HAS BEEN COMPUTED IT IS STORED IN
|
||
|
# XSMD, YSMD, ZSMD.
|
||
|
#
|
||
|
# RNDVZFLG INDICATES WHETHER THE RENDEZVOUS NAVIGATION PROCESS IS OPERATING.
|
||
|
#
|
||
|
# DEBRIS --
|
||
|
#
|
||
|
# WORK AREA
|
||
|
|
||
|
BANK 33
|
||
|
SETLOC P50S
|
||
|
BANK
|
||
|
|
||
|
EBANK= BESTI
|
||
|
COUNT* $$/P52
|
||
|
PROG52 TC BANKCALL
|
||
|
CADR R02BOTH # IMU STATUS CHECK
|
||
|
CAF PFRATBIT
|
||
|
MASK FLAGWRD2 # IS PFRATFLG SET?
|
||
|
CCS A
|
||
|
# Page 928
|
||
|
TC P52A # YES
|
||
|
CAF BIT2 # NO
|
||
|
TC P52A +1
|
||
|
P52A CAF BIT1
|
||
|
TS OPTION2
|
||
|
P52B CAF BIT1
|
||
|
TC BANKCALL # FLASH OPTION CODE AND ORIENTATION CODE
|
||
|
CADR GOPERF4R # FLASH V04N06
|
||
|
TC GOTOP00H
|
||
|
TCF +5 # V33 -- PROCEED
|
||
|
TC P52B # NEW CODE -- NEW ORIENTATION CODE INPUT
|
||
|
TC PHASCHNG # DISPLAY RETURN
|
||
|
OCT 00014
|
||
|
TC ENDOFJOB
|
||
|
|
||
|
CA OPTION2
|
||
|
MASK THREE
|
||
|
INDEX A
|
||
|
TC +1
|
||
|
TCF OPT4 # OPTION 4 LANDING SITE
|
||
|
TCF P52H # OPTION 1 PREFERRED
|
||
|
TCF P52T # OPTION 2 NOMINAL
|
||
|
P52E TC INTPRET # OPTION 3 REFSMMAT
|
||
|
GOTO
|
||
|
P52F # GO DO R51
|
||
|
|
||
|
OPT4 EXTEND
|
||
|
DCA TLAND # IF OPTION 4 DISPLAY TLAND
|
||
|
TCF P52T +2
|
||
|
|
||
|
P52T EXTEND
|
||
|
DCA NEG0
|
||
|
DXCH DSPTEM1
|
||
|
CAF V06N34*
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TC +2
|
||
|
TC -5
|
||
|
DXCH DSPTEM1
|
||
|
EXTEND
|
||
|
BZMF +2 # IF TIME ZERO OR NEG USE TIME2
|
||
|
TCF +3
|
||
|
EXTEND
|
||
|
DCA TIME2
|
||
|
DXCH TALIGN
|
||
|
P52V CA OPTION2
|
||
|
MASK BIT2
|
||
|
CCS A
|
||
|
TC P52W
|
||
|
# Page 929
|
||
|
TC INTPRET # OPTION 4 -- GET LS ORIENTATION
|
||
|
GOTO
|
||
|
P52LS
|
||
|
|
||
|
# Page 930
|
||
|
P52W TC INTPRET
|
||
|
DLOAD CALL # PICK UP ALIGN TIME
|
||
|
TALIGN # COMPUTED NOMINAL IMU
|
||
|
S52.3 # ORIENTATION
|
||
|
P52D CALL # READ VEHICLE ATTITUDE AND
|
||
|
S52.2 # COMPUTE GIMBAL ANGLES
|
||
|
EXIT
|
||
|
CAF V06N22
|
||
|
TC BANKCALL # DISPLAY GIMBAL ANGLES
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TCF COARSTYP # V33 -- PROCEED, SEE IF GYRO TORQUE COARSE
|
||
|
P52H TC INTPRET
|
||
|
GOTO
|
||
|
P52D
|
||
|
REGCOARS TC INTPRET
|
||
|
CALL # DO COARSE ALIGN
|
||
|
CAL53A # ROUTINE
|
||
|
COARSRET SET CLEAR
|
||
|
REFSMFLG
|
||
|
PFRATFLG
|
||
|
P52F CALL
|
||
|
R51
|
||
|
P52OUT EXIT
|
||
|
TC GOTOP00H
|
||
|
VB05N09 = V05N09
|
||
|
V06N34* VN 634
|
||
|
|
||
|
# Page 931
|
||
|
# CHECK FOR GYRO TORQUE COARSE ALIGNMENT
|
||
|
|
||
|
COARSTYP CAF OCT13
|
||
|
TC BANKCALL # DISPLAY V 50N25 WITH COARSE ALIGN OPTION
|
||
|
CADR GOPERF1
|
||
|
TCF GOTOP00H # V34 -- TERMIN&OE
|
||
|
TCF REGCOARS # V33 -- NORMAL COARSE
|
||
|
TC INTPRET # V32 -- GYRO TORQUE COARSE
|
||
|
VLOAD MXV
|
||
|
XSMD # GET SM(DESIRED) WRT SM(PRESENT)
|
||
|
REFSMMAT
|
||
|
UNIT
|
||
|
STOVL XDC
|
||
|
YSMD
|
||
|
MXV UNIT
|
||
|
REFSMMAT
|
||
|
STOVL YDC
|
||
|
ZSMD
|
||
|
MXV UNIT
|
||
|
REFSMMAT
|
||
|
STCALL ZDC
|
||
|
GYCOARS
|
||
|
GOTO
|
||
|
P52OUT
|
||
|
OCT13 OCT 13
|
||
|
|
||
|
# Page 932
|
||
|
# COMPUTE LANDING ORIENTATION FOR OPTION 4
|
||
|
|
||
|
P52LS SET CLEAR # GET LANDING SITE ORIENTATION
|
||
|
LUNAFLAG
|
||
|
ERADFLAG # TO PICK UP RLS
|
||
|
SETPD VLOAD
|
||
|
0
|
||
|
RLS # PICK UP LANDING SITE VEC IN MF
|
||
|
PDDL PUSH # RLS PD 0-5
|
||
|
TALIGN
|
||
|
STCALL TLAND # JAM ALIGN TIME IN TLAND FOR OPTION 4
|
||
|
RP-TO-R # TRANS RLS TO REF
|
||
|
VSR2
|
||
|
STODL ALPHAV # INPUT TO LAT-LONG
|
||
|
TALIGN
|
||
|
CALL
|
||
|
N89DISP
|
||
|
VLOAD UNIT # COMPUTE LANDING SITE ORIENT (XSMD)
|
||
|
ALPHAV
|
||
|
STCALL XSMD
|
||
|
LSORIENT
|
||
|
GOTO
|
||
|
P52D # NOW GO COMPUTE GIMBAL ANGLES.
|
||
|
|
||
|
# Page 933
|
||
|
# SUBROUTINE TO CALCULATE AND DISPLAY THE LUNAR LANDING SITE
|
||
|
|
||
|
SETLOC P50S1
|
||
|
BANK
|
||
|
EBANK= XSM
|
||
|
|
||
|
N89DISP STQ
|
||
|
QMAJ
|
||
|
STCALL GDT/2 +4 # TEMP STORE TIME
|
||
|
LAT-LONG
|
||
|
DLOAD SR1
|
||
|
LONG
|
||
|
STODL LANDLONG
|
||
|
ALT
|
||
|
STODL LANDALT
|
||
|
LAT
|
||
|
STODL LANDLAT
|
||
|
EXIT
|
||
|
|
||
|
LSDISP CAF V06N89* # DISPLAY LAT,LONG/2,ALT
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H # V34 -- TERMINATE -- EXIT P57
|
||
|
TCF +2 # V33 -- PROCEED -- ACCEPT LS DATA
|
||
|
TCF LSDISP # V32 OR E -- LOOK AGAIN AND/OR LOAD NEW LS
|
||
|
|
||
|
TC INTPRET
|
||
|
DLOAD SL1
|
||
|
LANDLONG
|
||
|
STODL LONG
|
||
|
LANDALT
|
||
|
STODL ALT
|
||
|
LANDLAT
|
||
|
STODL LAT
|
||
|
GDT/2 +4 # PICK UP TIME
|
||
|
CALL # GET RLS BACK FROM LAT,LONG,ALT
|
||
|
LALOTORV # RLS B-29 IN MPAC AND ALPHAV
|
||
|
GOTO
|
||
|
QMAJ
|
||
|
V06N89* VN 689
|
||
|
|
||
|
# Page 934
|
||
|
# NAME -- S50 ALIAS LOCSAM
|
||
|
# BY
|
||
|
# VINCENT
|
||
|
#
|
||
|
# FUNCTION -- COMPUTE INPUTS FOR PICAPAR AND PLANET
|
||
|
#
|
||
|
# DEFINE
|
||
|
#
|
||
|
# U = UNIT( SUN WRT EARTH )
|
||
|
# ES
|
||
|
#
|
||
|
# U = UNIT( MOON WRT EARTH )
|
||
|
# EM
|
||
|
#
|
||
|
# R = POSITION VECTOR OF LEM
|
||
|
# L
|
||
|
#
|
||
|
# R = MEAN DISTANCE (384402KM) BETWEEN EARTH AND MOON
|
||
|
# EM
|
||
|
#
|
||
|
# P = RATIO R /(DISTANCE SUN TO EARTH) > .00257125
|
||
|
# EM
|
||
|
#
|
||
|
# R = EQUATORIAL RADIUS (6378.166KM) OF EARTH
|
||
|
# E
|
||
|
#
|
||
|
# LOCSAM COMPUTES IN EARTH INFLUENCE
|
||
|
#
|
||
|
# VSUN = U
|
||
|
# ES
|
||
|
#
|
||
|
# VEARTH = -UNIT( R )
|
||
|
# L
|
||
|
#
|
||
|
# VMOON = UNIT(R .U - R )
|
||
|
# EM EM L
|
||
|
#
|
||
|
# CSUN = COS 90
|
||
|
#
|
||
|
# CEARTH = COS(5 + ARCSIN(R /MAG(R )))
|
||
|
# E L
|
||
|
#
|
||
|
# CMOON = COS 5
|
||
|
#
|
||
|
# INPUT -- TIME IN MPAC
|
||
|
#
|
||
|
# OUTPUT -- LISTED ABOVE
|
||
|
#
|
||
|
# SUBROUTINES -- LSPOS, LEMPREC
|
||
|
#
|
||
|
# DEBRIS -- VAC AREA, TSIGHT
|
||
|
|
||
|
# Page 935
|
||
|
COUNT* $$/LOSAM
|
||
|
|
||
|
S50 = LOCSAM
|
||
|
LOCSAM STQ
|
||
|
QMIN
|
||
|
STCALL TSIGHT
|
||
|
LSPOS
|
||
|
DLOAD
|
||
|
TSIGHT
|
||
|
STCALL TDEC1
|
||
|
LEMPREC
|
||
|
SSP TIX,2
|
||
|
S2
|
||
|
0
|
||
|
MOONCNTR
|
||
|
EARTCNTR VLOAD VXSC
|
||
|
VMOON
|
||
|
RSUBEM
|
||
|
VSL1 VSU
|
||
|
RATT
|
||
|
UNIT
|
||
|
STOVL VMOON
|
||
|
RATT
|
||
|
UNIT VCOMP
|
||
|
STODL VEARTH
|
||
|
RSUBE
|
||
|
CALL
|
||
|
OCCOS
|
||
|
STODL CEARTH
|
||
|
CSS5
|
||
|
STCALL CMOON
|
||
|
ENDSAM
|
||
|
MOONCNTR VLOAD VXSC
|
||
|
VMOON
|
||
|
ROE
|
||
|
BVSU UNIT
|
||
|
VSUN
|
||
|
STOVL VSUN
|
||
|
VMOON
|
||
|
VXSC VAD
|
||
|
RSUBEM
|
||
|
RATT
|
||
|
UNIT VCOMP
|
||
|
STOVL VEARTH
|
||
|
RATT
|
||
|
UNIT VCOMP
|
||
|
STODL VMOON
|
||
|
RSUBM
|
||
|
CALL
|
||
|
OCCOS
|
||
|
# Page 936
|
||
|
STODL CMOON
|
||
|
CSS5
|
||
|
STORE CEARTH
|
||
|
ENDSAM DLOAD
|
||
|
CSSUN
|
||
|
STORE CSUN
|
||
|
GOTO
|
||
|
QMIN
|
||
|
OCCOS DDV SR1
|
||
|
36D
|
||
|
ASIN DAD
|
||
|
5DEGREES
|
||
|
COS SR1
|
||
|
RVQ
|
||
|
CEARTH = 14D
|
||
|
CSUN = 16D
|
||
|
CMOON = 18D
|
||
|
CSS5 2DEC .2490475 # (COS 5)/4
|
||
|
CSSUN 2DEC .125 # (COS 60)/4
|
||
|
5DEGREES 2DEC .013888889 # SCALED IN REVS
|
||
|
|
||
|
# Page 937
|
||
|
# PROGRAM NAME -- R56 DATE: DEC 20 66
|
||
|
# MOD 1 LOG SECTION: P51-P53
|
||
|
# ASSEMBLY: SUNDISK REV4D
|
||
|
# BY KEN VINCENT
|
||
|
#
|
||
|
# FUNCTION
|
||
|
# THIS PROGRAM READS THE IMU-CDUS AND COMPUTES THE VEHICLE ORIENTATION
|
||
|
# WITH RESPECT TO INERTIAL SPACE. IT THEN COMPUTES THE SHAFT AXIS (SAX)
|
||
|
# WITH RESPECT TO REFERENCE INTERTIAL. EACH STAR IN THE CATALOG IS TESTED
|
||
|
# TO DETERMIN IF IT IS OCCULTED BY EITHER EARTH, SUN OR MOON. IF A
|
||
|
# STAR IS NOT OCCULTED THEN IT IS PAIRED WITH ALL STARS OF LOWER INDEX.
|
||
|
# THE PAIRED STAR IS TESTED FOR OCCULTATION. PAIRS OF STARS THAT PASS
|
||
|
# THE OCCULTATION TESTS ARE TESTED FOR GOOD SEPARATION. A PAIR OF STARS
|
||
|
# HAVE GOOD SEPARATION IF THE ANGLE BETWEEN THEM IS LESS THAN 100 DEGREES
|
||
|
# AND MORE THAN 50 DEGREES. THOSE PAIRS WITH GOOD SEPARATION
|
||
|
# ARE THEN TESTED TO SEE IF THEY LIE IN CURRENT FIELD OF VIEW. (WITHIN
|
||
|
# 50 DEGREES OF SAX). THE PAIR WITH MAX SEPARATION IS CHOSEN FROM
|
||
|
# THOSE WITH GOOD SEPARATION, AND IN FIELD OF VIEW.
|
||
|
#
|
||
|
# CALLING SEQUENCE
|
||
|
# L TC BANKCALL
|
||
|
# L+1 CADR R56
|
||
|
# L+2 ERROR RETURN -- NO STARS IN FIELD OF VIEW
|
||
|
# L+3 NORMAL RETURN
|
||
|
#
|
||
|
# OUTPUT
|
||
|
# BESTI, BESTJ -- SINGLE PREC, INTEGERS, STAR NUMBERS TIMES 6
|
||
|
# VFLAG -- FLAG BIT SET IMPLIES NO STARS IN FIELD OF VIEW
|
||
|
#
|
||
|
# INITIALIZATION
|
||
|
# 1) A CALL TO LOCSAM MUST BE MADE
|
||
|
#
|
||
|
# DEBRIS
|
||
|
# WORKAREA
|
||
|
# X,Y,ZNB
|
||
|
# SINCDU, COSCDU
|
||
|
# STARAD -- STAR +5
|
||
|
|
||
|
R56 = PICAPAR
|
||
|
COUNT* $$/R56
|
||
|
PICAPAR TC MAKECADR
|
||
|
TS QMIN
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
CDUTRIG
|
||
|
CALL
|
||
|
CALCSMSC
|
||
|
SETPD
|
||
|
0
|
||
|
SET DLOAD # VFLAG = 1
|
||
|
VFLAG
|
||
|
# Page 938
|
||
|
DPZERO
|
||
|
STOVL BESTI
|
||
|
XNB
|
||
|
VXSC PDVL
|
||
|
HALFDP
|
||
|
ZNB
|
||
|
AXT,1 VXSC
|
||
|
228D # X1 = 37 X 6 + 6
|
||
|
HALFDP
|
||
|
VAD
|
||
|
VXM UNIT
|
||
|
REFSMMAT
|
||
|
STORE SAX # SAX = SHAFT AXIS
|
||
|
SSP SSP # S1 = S2 = 6
|
||
|
S1
|
||
|
6
|
||
|
S2
|
||
|
6
|
||
|
PIC1 TIX,1 GOTO # MAJOR STAR
|
||
|
PIC2
|
||
|
PICEND
|
||
|
PIC2 VLOAD* DOT
|
||
|
CATLOG,1
|
||
|
SAX
|
||
|
DSU BMN
|
||
|
CSS33
|
||
|
PIC1
|
||
|
LXA,2
|
||
|
X1
|
||
|
PIC3 TIX,2 GOTO
|
||
|
PIC4
|
||
|
PIC1
|
||
|
PIC4 VLOAD* DOT
|
||
|
CATLOG,2
|
||
|
SAX
|
||
|
DSU BMN
|
||
|
CSS33
|
||
|
PIC3
|
||
|
VLOAD* DOT*
|
||
|
CATLOG,1
|
||
|
CATLOG,2
|
||
|
DSU BPL
|
||
|
CSS40
|
||
|
PIC3
|
||
|
VLOAD* CALL
|
||
|
CATLOG,1
|
||
|
OCCULT
|
||
|
BON
|
||
|
CULTFLAG
|
||
|
PIC1
|
||
|
# Page 939
|
||
|
VLOAD* CALL
|
||
|
CATLOG,2
|
||
|
OCCULT
|
||
|
BON
|
||
|
CULTFLAG
|
||
|
PIC3
|
||
|
STRATGY BONCLR
|
||
|
VFLAG
|
||
|
NEWPAR
|
||
|
XCHX,1 XCHX,2
|
||
|
BESTI
|
||
|
BESTJ
|
||
|
STRAT VLOAD* DOT*
|
||
|
CATLOG,1
|
||
|
CATLOG,2
|
||
|
PUSH BOFINV
|
||
|
VFLAG
|
||
|
STRAT -3
|
||
|
DLOAD DSU
|
||
|
BPL
|
||
|
PIC3
|
||
|
NEWPAR SXA,1 SXA,2
|
||
|
BESTI
|
||
|
BESTJ
|
||
|
GOTO
|
||
|
PIC3
|
||
|
OCCULT MXV BVSU
|
||
|
CULTRIX
|
||
|
CSS
|
||
|
BZE
|
||
|
CULTED
|
||
|
BMN SIGN
|
||
|
CULTED
|
||
|
MPAC +3
|
||
|
BMN SIGN
|
||
|
CULTED
|
||
|
MPAC +5
|
||
|
BMN CLRGO
|
||
|
CULTED
|
||
|
CULTFLAG
|
||
|
QPRET
|
||
|
CULTED SETGO
|
||
|
CULTFLAG
|
||
|
QPRET
|
||
|
CSS = CEARTH
|
||
|
CSS40 2DEC .16070 # COS 50 / 4
|
||
|
CSS33 2DEC .16070 # COS 50 / 4
|
||
|
PICEND BOFF EXIT
|
||
|
|
||
|
# Page 940
|
||
|
VFLAG
|
||
|
PICGXT
|
||
|
TC PICBXT
|
||
|
PICGXT LXA,1 LXA,2
|
||
|
BESTI
|
||
|
BESTJ
|
||
|
VLOAD DOT*
|
||
|
SAX
|
||
|
CATLOG,1
|
||
|
PDVL DOT*
|
||
|
SAX
|
||
|
CATLOG,2
|
||
|
DSU
|
||
|
BPL SXA,1
|
||
|
PICNSWP
|
||
|
BESTJ
|
||
|
SXA,2
|
||
|
BESTI
|
||
|
PICNSWP EXIT
|
||
|
INCR QMIN
|
||
|
PICBXT CA QMIN
|
||
|
TC SWCALL
|
||
|
VPD = 0D
|
||
|
V0 = 6D
|
||
|
V1 = 12D
|
||
|
V2 = 18D
|
||
|
V3 = 24D
|
||
|
DP0 = 30D
|
||
|
DP1 = 32D
|
||
|
|
||
|
# Page 941
|
||
|
# NAME -- R51 FINE ALIGN
|
||
|
# FUNCTION -- TO ALIGN THE STABLE MEMBER TO REFSSMAT
|
||
|
# CALLING SEQ -- CALL R51
|
||
|
# INPUT -- REFSMMAT
|
||
|
# OUTPUT -- GYRO TORQUE PULSES
|
||
|
# SUBROUTINES -- LOCSAM, PICAPAR, R52, R53, R54, R55
|
||
|
|
||
|
COUNT* $$/R51
|
||
|
R51 STQ
|
||
|
QMAJ
|
||
|
R51.1 EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
R51C CAF OCT15
|
||
|
TC BANKCALL
|
||
|
CADR GOPERF1
|
||
|
TC GOTOP00H
|
||
|
TC +2 # V33E
|
||
|
TC R51E # ENTER
|
||
|
TC INTPRET
|
||
|
RTB DAD
|
||
|
LOADTIME
|
||
|
TSIGHT1
|
||
|
CALL
|
||
|
LOCSAM
|
||
|
EXIT
|
||
|
TC BANKCALL
|
||
|
CADR R56
|
||
|
TC R51I
|
||
|
R51F TC R51E
|
||
|
R51I TC ALARM
|
||
|
OCT 405
|
||
|
CAF VB05N09
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TC R51E
|
||
|
TC R51C
|
||
|
R51E CAF ZERO
|
||
|
TS STARIND
|
||
|
R51.2 TC INTPRET
|
||
|
R51.3 EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
R52 # AOP WILL MAKE CALLS TO SIGHTING
|
||
|
EXIT
|
||
|
TC BANKCALL
|
||
|
# Page 942
|
||
|
CADR AOTMARK
|
||
|
TC BANKCALL
|
||
|
CADR OPTSTALL
|
||
|
TC CURTAINS
|
||
|
CCS STARIND
|
||
|
TCF +2
|
||
|
TC R51.4
|
||
|
TC INTPRET
|
||
|
VLOAD
|
||
|
STARAD +6
|
||
|
STORE STARSAV2
|
||
|
EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
DLOAD CALL
|
||
|
TSIGHT
|
||
|
PLANET
|
||
|
MXV UNIT
|
||
|
REFSMMAT
|
||
|
STOVL STARAD +6
|
||
|
PLANVEC
|
||
|
MXV UNIT
|
||
|
REFSMMAT
|
||
|
STOVL STARAD
|
||
|
STARSAV1
|
||
|
STOVL 6D
|
||
|
STARSAV2
|
||
|
STCALL 12D
|
||
|
R54 # STAR DATA TEST
|
||
|
BOFF CALL
|
||
|
FREEFLAG
|
||
|
R51K
|
||
|
AXISGEN
|
||
|
CALL
|
||
|
R55 # GYRO TORQUE
|
||
|
CLEAR
|
||
|
PFRATFLG
|
||
|
R51K EXIT
|
||
|
R51P63 CAF OCT14
|
||
|
TC BANKCALL
|
||
|
CADR GOPERF1
|
||
|
TC GOTOP00H
|
||
|
TC R51C
|
||
|
TC INTPRET
|
||
|
GOTO
|
||
|
QMAJ
|
||
|
R51.4 TC INTPRET
|
||
|
VLOAD
|
||
|
# Page 943
|
||
|
STARAD +6
|
||
|
STORE STARSAV1
|
||
|
DLOAD CALL
|
||
|
TSIGHT
|
||
|
PLANET
|
||
|
STORE PLANVEC
|
||
|
SSP
|
||
|
STARIND
|
||
|
1
|
||
|
GOTO
|
||
|
R51.3
|
||
|
TSIGHT1 2DEC 36000 # 6 MIN TO MARKING
|
||
|
|
||
|
# Page 944
|
||
|
# GYRO TORQUE COARSE ALGNMENT
|
||
|
|
||
|
GYCOARS STQ CALL
|
||
|
QMAJ
|
||
|
CALCGTA
|
||
|
CLEAR CLEAR
|
||
|
DRIFTFLG
|
||
|
REFSMFLG
|
||
|
EXIT
|
||
|
CAF V16N20 # MONITOR GIMBALS
|
||
|
TC BANKCALL
|
||
|
CADR GODSPR
|
||
|
CA R55CDR
|
||
|
TC BANKCALL
|
||
|
CADR IMUPULSE
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
AXC,1 AXC,2
|
||
|
XSMD
|
||
|
REFSMMAT
|
||
|
CALL # STORE DESIRED REFSMMAT
|
||
|
MATMOVE
|
||
|
CLEAR SET
|
||
|
PFRATFLG
|
||
|
REFSMFLG
|
||
|
CALL
|
||
|
NCOARSE # SET DRIFT AND INITIALIZE 1/PIPADT
|
||
|
GOTO
|
||
|
R51K
|
||
|
V16N20 VN 1620
|
||
|
|
||
|
# Page 945
|
||
|
# R55 GYRO TORQUE
|
||
|
# FUNCTION -- COMPUTE AND SEND GYRO PULSES
|
||
|
# CALLING SEQ -- CALL R55
|
||
|
# INPUT -- X,Y,ZDC -- REFSMMAT WRT PRESENT STABLE MEMBER
|
||
|
# OUTPUT -- GYRO PULSES
|
||
|
# SUBROUTINES -- CALCGTA, GOFLASH, GODSPR, IMUFINE, IMUPULSE, GOPERF1
|
||
|
|
||
|
COUNT* $$/R55
|
||
|
R55 STQ
|
||
|
QMIN
|
||
|
CALL
|
||
|
CALCGTA
|
||
|
PULSEM EXIT
|
||
|
R55.1 CAF V06N93
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TC R55.2
|
||
|
TC R55RET
|
||
|
R55.2 TC PHASCHNG
|
||
|
OCT 00214
|
||
|
CA R55CDR
|
||
|
TC BANKCALL
|
||
|
CADR IMUPULSE
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
R55RET TC INTPRET
|
||
|
GOTO
|
||
|
QMIN
|
||
|
V06N93 VN 0693
|
||
|
R55CDR ECADR OGC
|
||
|
R54 = CHKSDATA
|
||
|
|
||
|
# ROUTINE NAME -- CHKSDATA DATE -- JAN 9, 1967
|
||
|
# MOD NO -- 0 LOG SECTION -- P51-P53
|
||
|
# MODIFICATION BY -- LONSKE ASSEMBLY --
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION -- CHECKS THE VALIDITY OF A PAIR OF STAR SIGHTINGS. WHEN A PAIR OF STAR SIGHTINGS ARE MADE
|
||
|
# BY THE ASTRONAUT THIS ROUTINE OPERATES AND CHECKS THE OBSERVED SIGHTINGS AGAINST STORED STAR VECTORS IN THE
|
||
|
# COMPUTER TO INSURE A PROPER SIGHTING WAS MADE. THE FOLLOWING COMPUTATIONS ARE PERFORMED --
|
||
|
# OS1 = OBSERVED STAR 1 VECTOR
|
||
|
# OS2 = OBSERVED STAR 2 VECTOR
|
||
|
# SS1 = STORED STAR 1 VECTOR
|
||
|
# SS2 = STORED STAR 2 VECTOR
|
||
|
# A1 = ARCCOS(OS1 - OS2)
|
||
|
# A2 = ARCCOS(SS1 - SS2)
|
||
|
# A = ABS(2(A1 - A2))
|
||
|
# Page 946
|
||
|
# THE ANGULAR DIFFERENCE IS DISPLAYED FOR ASTRONAUT ACCEPTANCE.
|
||
|
#
|
||
|
# EXIT MODE -- 1. FREEFLAG SET IMPLIES ASTRONAUT WANTS TO PROCEED
|
||
|
# 2. FREEFLAG RESET IMPLIES ASTRONAUT WANTS TO RECYCLE
|
||
|
#
|
||
|
# OUTPUT -- 1. VERB 6,NOUN 3 -- DISPLAYS ANGULAR DIFFERENCE BETWEEN 2 SETS OF STARS.
|
||
|
# 2. STAR VECTORS FROM STAR CATALOG ARE LEFT IN 6D AND 12D.
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION REQUIRED --
|
||
|
# 1. MARK VECTORS ARE STORED IN STARAD AND STARAD +6.
|
||
|
# 2. CATALOG VECTORS ARE STORED IN 6D AND 12D.
|
||
|
#
|
||
|
# DEBRIS --
|
||
|
|
||
|
COUNT* $$/R54
|
||
|
CHKSDATA STQ SET
|
||
|
QMIN
|
||
|
FREEFLAG
|
||
|
CHKSAB AXC,1 # SET X1 TO STORE EPHEMERIS DATA
|
||
|
STARAD
|
||
|
|
||
|
CHKSB VLOAD* DOT* # CAL. ANGLE THETA
|
||
|
0,1
|
||
|
6,1
|
||
|
SL1 ACOS
|
||
|
STORE THETA
|
||
|
BOFF INVERT # BRANCH TO CHKSD IF THIS IS 2ND PASS
|
||
|
FREEFLAG
|
||
|
CHKSD
|
||
|
FREEFLAG # CLEAR FREEFLAG
|
||
|
AXC,1 DLOAD # SET X1 TO MARK ANGLES
|
||
|
6D
|
||
|
THETA
|
||
|
STORE 18D
|
||
|
GOTO
|
||
|
CHKSB # RETURN TO CAL. 2ND ANGLE
|
||
|
CHKSD DLOAD DSU
|
||
|
THETA
|
||
|
18D
|
||
|
ABS RTB # COMPUTE POS DIFF
|
||
|
SGNAGREE
|
||
|
STORE NORMTEM1
|
||
|
SET EXIT
|
||
|
FREEFLAG
|
||
|
CAF VB6N5
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H
|
||
|
TC CHKSDA # PROCEED
|
||
|
TC INTPRET
|
||
|
CLEAR GOTO
|
||
|
FREEFLAG
|
||
|
QMIN
|
||
|
CHKSDA TC INTPRET
|
||
|
# Page 947
|
||
|
GOTO
|
||
|
QMIN
|
||
|
VB6N5 VN 605
|
||
|
|
||
|
# NAME -- CAL53A
|
||
|
# FUNCTION -- COMPUTE DESIRED GIMBAL ANGLES AND COARSE ALIGN IF NECESSARY
|
||
|
# CALLING SEQUENCE -- CALL CAL53A
|
||
|
# INPUT -- X,Y,ZSMD, CDUX,Y,Z
|
||
|
# DESIRED GIMBAL ANGLES -- THETAD,+1,+2
|
||
|
# OUTPUT -- THE IMU COORDINATES AT STORED IN REFSMMAT
|
||
|
# SUBROUTINES -- S52.2, IMUCOARSE, IMUFINE
|
||
|
|
||
|
COUNT* $$/R50
|
||
|
CAL53A CALL
|
||
|
S52.2 # MAKE ONE FINAL COMP OF GIMBAL ANGLES
|
||
|
RTB SSP
|
||
|
RDCDUS # READ CDUS
|
||
|
S1
|
||
|
1
|
||
|
AXT,1 SETPD
|
||
|
3
|
||
|
4
|
||
|
CALOOP DLOAD* SR1
|
||
|
THETAD +3D,1
|
||
|
PDDL* SR1
|
||
|
4,1
|
||
|
DSU ABS
|
||
|
PUSH DSU
|
||
|
DEGREE1
|
||
|
BMN DLOAD
|
||
|
CALOOP1
|
||
|
DSU BPL
|
||
|
DEG359
|
||
|
CALOOP1
|
||
|
EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
COARFINE CALL
|
||
|
COARSE
|
||
|
CALL
|
||
|
NCOARSE
|
||
|
GOTO
|
||
|
FINEONLY
|
||
|
CALOOP1 TIX,1
|
||
|
CALOOP
|
||
|
FINEONLY AXC,1 AXC,2
|
||
|
XSM
|
||
|
REFSMMAT
|
||
|
CALL
|
||
|
MATMOVE
|
||
|
# Page 948
|
||
|
GOTO
|
||
|
COARSRET
|
||
|
MATMOVE VLOAD* # TRANSFER MATRIX
|
||
|
0,1
|
||
|
STORE 0,2
|
||
|
VLOAD*
|
||
|
6D,1
|
||
|
STORE 6D,2
|
||
|
VLOAD*
|
||
|
12D,1
|
||
|
STORE 12D,2
|
||
|
RVQ
|
||
|
DEGREE1 DEC 46 # 1 DEG SCALED CDU/2
|
||
|
DEG359 DEC 16338 # 359 DEG SCALED CDU/2
|
||
|
RDCDUS INHINT # READ CDUS
|
||
|
CA CDUX
|
||
|
INDEX FIXLOC
|
||
|
TS 1
|
||
|
CA CDUY
|
||
|
INDEX FIXLOC
|
||
|
TS 2
|
||
|
CA CDUZ
|
||
|
INDEX FIXLOC
|
||
|
TS 3
|
||
|
RELINT
|
||
|
TC DANZIG
|
||
|
COUNT* $$/INFLT
|
||
|
|
||
|
# Page 949
|
||
|
# NAME -- P51 -- IMU ORIENTATION DETERMINATION
|
||
|
# MOD. NO. 1 23 JAN 67 LOG SECTION -- P51-P53
|
||
|
# MOD BY STURLAUGSON ASSEMBLY SUNDANCE REV56
|
||
|
#
|
||
|
# FUNCTIONAL DESCRIPTION
|
||
|
# DETERMINES THE INERTIAL ORIENTATION OF THE IMU. THE PROGRAM IS SELECTED BY DSKY ENTRY. THE SIGHTING
|
||
|
# (AOTMARK) ROUTINE IS CALLED TO COLLECT AND PROCESS MARKED-STAR DATA. AOTMARK (R53) RETURNS THE STAR NUMBER AND THE
|
||
|
# STAR LOS VECTOR IN STARAD +6. TWO STARS ARE THUS SIGHTED. THE ANGLE BETWEEN THE TWO STARS IS THEN CHECKED AT
|
||
|
# CHKSDATA (R54). REFSMMAT IS THEN COMPUTED AT AXISGEN.
|
||
|
#
|
||
|
# CALLING SEQUENCE
|
||
|
# THE PROGRAM IS CALLED BY THE ASTRONAUT BY DSKY ENTRY.
|
||
|
#
|
||
|
# SUBROUTINES CALLED
|
||
|
# GOPERF3
|
||
|
# GOPERF1
|
||
|
# GODSPR
|
||
|
# IMUCOARS
|
||
|
# IMUFIN20
|
||
|
# AOTMARK (R53)
|
||
|
# CHKSDATA (R54)
|
||
|
# MKRELEAS
|
||
|
# AXISGEN
|
||
|
# MATMOVE
|
||
|
#
|
||
|
# ALARMS
|
||
|
# NONE.
|
||
|
#
|
||
|
# ERASABLE INITIALIZATION
|
||
|
# IMU ZERO FLAG SHOULD BE SET.
|
||
|
#
|
||
|
# OUTPUT
|
||
|
# REFSMMAT
|
||
|
# REFSMFLG
|
||
|
#
|
||
|
# DEBRIS
|
||
|
# WORK AREA
|
||
|
# STARAD
|
||
|
# STARIND
|
||
|
# BESTI
|
||
|
# BESTJ
|
||
|
|
||
|
COUNT* $$/P51
|
||
|
# Page 950
|
||
|
P51 TC BANKCALL # IS ISS ON - IF NOT, IMUCHK WILL SEND
|
||
|
CADR IMUCHK # ALARM CODE 210 AND EXIT VIA GOTOP00H.
|
||
|
|
||
|
CAF OCT15
|
||
|
TC BANKCALL
|
||
|
CADR GOPERF1
|
||
|
TC GOTOP00H # TERM.
|
||
|
TCF P51B # V33
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
CAF ZERO
|
||
|
TS THETAD # ZERO THE GIMBALS
|
||
|
TS THETAD +1
|
||
|
TS THETAD +2
|
||
|
CAF V06N22
|
||
|
TC BANKCALL
|
||
|
CADR GODSPRET
|
||
|
CAF V41K # NOW DISPLAY COARSE ALIGN VERB 41
|
||
|
TC BANKCALL
|
||
|
CADR GODSPRET
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
COARSE
|
||
|
EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
TCF P51 +2
|
||
|
|
||
|
P51B TC PHASCHNG
|
||
|
OCT 00014
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
NCOARSE
|
||
|
SSP SETPD
|
||
|
STARIND # INDEX -- STAR 1 OR 2
|
||
|
0
|
||
|
0
|
||
|
P51C EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC BANKCALL
|
||
|
CADR AOTMARK # R53
|
||
|
TC BANKCALL
|
||
|
CADR AOTSTALL
|
||
|
TC CURTAINS
|
||
|
CCS STARIND
|
||
|
TCF P51D +1
|
||
|
TC INTPRET
|
||
|
# Page 951
|
||
|
VLOAD
|
||
|
STARAD +6
|
||
|
STORE STARSAV1
|
||
|
P51D EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
CCS STARIND
|
||
|
TCF P51E
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
DLOAD CALL
|
||
|
TSIGHT
|
||
|
PLANET
|
||
|
STORE PLANVEC
|
||
|
EXIT
|
||
|
CAF BIT1
|
||
|
TS STARIND
|
||
|
TCF P51C +1 # DO SECOND STAR
|
||
|
P51E TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
DLOAD CALL
|
||
|
TSIGHT
|
||
|
PLANET
|
||
|
STOVL 12D
|
||
|
PLANVEC
|
||
|
STOVL 6D
|
||
|
STARSAV1
|
||
|
STOVL STARAD
|
||
|
STARSAV2
|
||
|
STCALL STARAD +6
|
||
|
CHKSDATA # CHECK STAR ANGLES IN STARAD AND
|
||
|
BON EXIT
|
||
|
FREEFLAG
|
||
|
P51G
|
||
|
TC P51 +2
|
||
|
P51G CALL
|
||
|
AXISGEN # COME BACK WITH REFSMMAT IN XDC
|
||
|
AXC,1 AXC,2
|
||
|
XDC
|
||
|
REFSMMAT
|
||
|
CALL
|
||
|
MATMOVE
|
||
|
SET EXIT
|
||
|
REFSMFLG
|
||
|
TC GOTOP00H # FINIS
|
||
|
# Page 952
|
||
|
V41K VN 4100
|
||
|
COARSE EXIT
|
||
|
TC BANKCALL
|
||
|
CADR IMUCOARS
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
TC BANKCALL
|
||
|
CADR IMUFINE
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
TC INTPRET
|
||
|
RVQ
|
||
|
NCOARSE EXIT
|
||
|
CA TIME1
|
||
|
TS 1/PIPADT
|
||
|
CS ZERO
|
||
|
TS PIPAX
|
||
|
TS PIPAY
|
||
|
TS PIPAZ
|
||
|
TC INTPRET
|
||
|
VLOAD
|
||
|
ZEROVEC
|
||
|
STORE GCOMP
|
||
|
SET RVQ
|
||
|
DRIFTFLG
|
||
|
|
||
|
# Page 953
|
||
|
# NAME -- S52.2
|
||
|
# FUNCTION -- COMPUTE GIMBAL ANGLES FOR DESIRED SM AND PRESENT VEHICLE
|
||
|
# CALL -- CALL S52.2
|
||
|
# INPUT -- X,Y,ZSMD
|
||
|
# OUTPUT -- OGC,IGC,MGC,THETAD,+1,+2
|
||
|
# SUBROUTINES -- CDUTRIG, CALCSMSC, MATMOVE, CALCGA
|
||
|
|
||
|
COUNT* $$/S52.1
|
||
|
S52.2 STQ CALL
|
||
|
QMAJ
|
||
|
CDUTRIG
|
||
|
CALL
|
||
|
CALCSMSC
|
||
|
AXT,1 SSP
|
||
|
18D
|
||
|
S1
|
||
|
6D
|
||
|
S52.2A VLOAD* VXM
|
||
|
XNB +18D,1
|
||
|
REFSMMAT
|
||
|
UNIT
|
||
|
STORE XNB +18D,1
|
||
|
TIX,1
|
||
|
S52.2A
|
||
|
S52.2.1 AXC,1 AXC,2
|
||
|
XSMD
|
||
|
XSM
|
||
|
CALL
|
||
|
MATMOVE
|
||
|
CALL
|
||
|
CALCGA
|
||
|
GOTO
|
||
|
QMAJ
|
||
|
|
||
|
# Page 954
|
||
|
# NAME -- S52.3
|
||
|
# FUNCTION -- XSMD= UNIT R
|
||
|
# YSMD= UNIT(V X R)
|
||
|
# ZSMD= UNIT(XSMD X YSMD)
|
||
|
# CALL -- DLOAD CALL
|
||
|
# TALIGN
|
||
|
# S52.3
|
||
|
# INPUT -- TIME OF ALIGNMENT IN MPAC
|
||
|
# OUTPUT -- X,Y,ZSMD
|
||
|
# SUBROUTINES -- CSMCONIC
|
||
|
|
||
|
COUNT* $$/S52.3
|
||
|
S52.3 STQ
|
||
|
QMAJ
|
||
|
STCALL TDEC1
|
||
|
LEMCONIC
|
||
|
VLOAD UNIT
|
||
|
RATT
|
||
|
STOVL XSMD
|
||
|
VATT
|
||
|
VXV UNIT
|
||
|
RATT
|
||
|
STOVL YSMD
|
||
|
XSMD
|
||
|
VXV UNIT
|
||
|
YSMD
|
||
|
STCALL ZSMD
|
||
|
QMAJ
|
||
|
|
||
|
# Page 955
|
||
|
# NAME -- R52 (AUTOMATIC OPTICS POSITIONING ROUTINE)
|
||
|
#
|
||
|
# FUNCTION -- POINT THE AOT APTICS AXIS BY MANEUVERING THE LEM TO A NAVIGATION
|
||
|
# STAR SELECTED BY ALIGNMENT PROGRAMS OR DSKY INPUT
|
||
|
#
|
||
|
# CALLING -- CALL R52
|
||
|
#
|
||
|
# INPUT -- BESTI AND BESTJ (STAR CODES TIMES 6)
|
||
|
#
|
||
|
# OUTPUT -- STAR CODE IN BITS 1-6, DETENT CODE IN BITS 7-9
|
||
|
# (NO CHECK IS MADE TO INSURE THE DETENT CODE TO BE VALID)
|
||
|
# POINTVSM-1/2 UNIT NAV STAR VEC IN SM
|
||
|
# SCAXIS-AOT OPTIC AXIS VEC IN NB X-Z PLANE
|
||
|
#
|
||
|
# SUBROUT -- R60LEM
|
||
|
|
||
|
COUNT* $$/R52
|
||
|
R52 STQ EXIT
|
||
|
SAVQR52
|
||
|
INDEX STARIND
|
||
|
CA BESTI # PICK UP STARCODE DETERMINED BY R56
|
||
|
EXTEND
|
||
|
MP 1/6TH
|
||
|
AD BIT8 # SET DETENT POSITION 2
|
||
|
TS STARCODE # SCALE AND STORE IN STARCODE
|
||
|
|
||
|
R52A CAF V01N70
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH # DISPLAY STARCODE AND WAIT FOR RESPONSE
|
||
|
TC GOTOP00H # V34 -- TERMINATE
|
||
|
TCF R52B # V33 -- PROCEED TO ORIENT LEM
|
||
|
TCF R52A # ENTER -- SELECT NEW STARCODE -- RECYCLE
|
||
|
|
||
|
R52B TC DOWNFLAG
|
||
|
ADRES 3AXISFLG # BIT6 OF FLAGWRD5 ZERO TO ALLOW VECPOINT
|
||
|
CA STARCODE # GRAB DETENT CODE
|
||
|
MASK HIGH9
|
||
|
EXTEND
|
||
|
MP BIT9
|
||
|
TS L # TEMP STORE DETENT
|
||
|
|
||
|
EXTEND
|
||
|
BZMF GETAZEL # CODE 0, COAS CALIBRATION
|
||
|
|
||
|
AD NEG7
|
||
|
EXTEND
|
||
|
BZF GETAZEL # CODE 7, COAS SIGHTING
|
||
|
|
||
|
EBANK= XYMARK
|
||
|
CA EBANK7
|
||
|
TS EBANK
|
||
|
# Page 956
|
||
|
INDEX L
|
||
|
CA AOTAZ -1 # PICK UP AZ CORRESPONDING TO DETENT
|
||
|
TS L
|
||
|
EBANK= XSM
|
||
|
CA EBANK5 # CHANGE TO EBANK5 BUT DON'T DISTURB L
|
||
|
TS EBANK
|
||
|
CA BIT13 # SET ELV TO 45 DEG
|
||
|
XCH L # SET C(A)=AZ, C(L)=45 DEG
|
||
|
TCF AZEL # GO COMP OPTIC AXIS
|
||
|
|
||
|
GETAZEL CAF V06N87 # CODE 0 OR 7, GET AZ AND EL KEY IN
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H # V34 -- TERMINATE
|
||
|
TCF +2 # PROCEED -- CALC OPTIC AXIS
|
||
|
TCF GETAZEL # ENTER -- RECYCLE
|
||
|
|
||
|
EXTEND
|
||
|
DCA AZ # PICK UP AZ AND EL IN SP 2'S COMP
|
||
|
AZEL INDEX FIXLOC # JAM AZ AND EL IN 8 AND 9 OF VAC
|
||
|
DXCH 8D
|
||
|
TC INTPRET
|
||
|
CALL # GO COMPUTE OPTIC AXIS AND STORE IN
|
||
|
OANB # SCAXIS IN NB COORDS
|
||
|
RTB CALL
|
||
|
LOADTIME
|
||
|
PLANET
|
||
|
MXV UNIT
|
||
|
REFSMMAT
|
||
|
STORE POINTVSM # STORE FOR VECPOINT
|
||
|
|
||
|
EXIT
|
||
|
TC BANKCALL
|
||
|
CADR R60LEM # GO TORQUE LEM OPTIC AXIS TO STAR LOS
|
||
|
|
||
|
CAF HIGH9 # IF COAS CALIBRATION CODE 0. RECYCLE
|
||
|
MASK STARCODE
|
||
|
EXTEND
|
||
|
BZF R52A
|
||
|
|
||
|
TC INTPRET # RETURN FROM KALCMANU
|
||
|
GOTO
|
||
|
SAVQR52 # RETURN TO CALLER
|
||
|
|
||
|
1/6TH DEC .1666667
|
||
|
V01N70 VN 0170
|
||
|
V06N87 VN 687
|
||
|
|
||
|
# Page 957
|
||
|
# LUNAR SURFACE STAR ACQUISITION
|
||
|
|
||
|
BANK 15
|
||
|
SETLOC P50S
|
||
|
BANK
|
||
|
COUNT* $$/R59
|
||
|
|
||
|
R59 CS FLAGWRD3
|
||
|
MASK REFSMBIT # IF REFSMMAT FLAG CLEAR BYPASS STAR ACQUIRE
|
||
|
CCS A
|
||
|
TCF R59OUT # NO REFSMMAT GO TO AOTMARK
|
||
|
|
||
|
CAF V01N70* # SELECT STAR CODE FOR ACQUISITION
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H # V34 -- TERMINATE
|
||
|
TCF R59A # V33 -- PROCEED
|
||
|
TCF R59 # V32 -- RECYCLE
|
||
|
|
||
|
R59A CS HIGH9 # GRAB STARCODE FOR INDEX
|
||
|
MASK AOTCODE
|
||
|
EXTEND
|
||
|
MP REVCNT # JUST 6
|
||
|
XCH L
|
||
|
INDEX STARIND
|
||
|
TS BESTI
|
||
|
INDEX FIXLOC
|
||
|
TS X1 # CODE X 6 FOR CATLOG STAR INDEX
|
||
|
EXTEND
|
||
|
BZF R59OUT # BYPASS ACQUISITION IF NOT CATLOG STAR
|
||
|
COM
|
||
|
AD DEC227
|
||
|
EXTEND
|
||
|
BZMF R59OUT
|
||
|
|
||
|
TC INTPRET
|
||
|
VLOAD* MXV
|
||
|
CATLOG,1 # GRAB STAR VECTOR
|
||
|
REFSMMAT # TRANSFORM TO SM
|
||
|
UNIT CALL
|
||
|
CDU*SMNB
|
||
|
STORE STAR # TEMP STORE STAR VEC(NB)
|
||
|
EXIT
|
||
|
|
||
|
CAF BIT1 # INITIALIZE AZ POSITION COD TO 1 (-60)
|
||
|
TS POSCODE
|
||
|
|
||
|
EBANK= XYMARK
|
||
|
INCAZ CA EBANK7
|
||
|
TS EBANK
|
||
|
|
||
|
# Page 958
|
||
|
INDEX POSCODE
|
||
|
CA AOTAZ -1 # PICK UP AZ CORRESPONDING TO POSCODE
|
||
|
TS L
|
||
|
|
||
|
EBANK= XSM
|
||
|
CA EBANK5
|
||
|
TS EBANK
|
||
|
|
||
|
CA BIT13 # SET ELV TO 45 DEG
|
||
|
XCH L # SET C(A)=AZ, C(L)=45 DEG
|
||
|
TS QMIN # STORE QMIN=AZ FOR LATER
|
||
|
INDEX FIXLOC
|
||
|
DXCH 8D # JAM AZ IN 8D, 45 DEG IN 9D FOR OANB
|
||
|
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
OANB # GO CALC OPTIC AXIS WRT NB
|
||
|
VLOAD DOT
|
||
|
STAR # DOT STAR WITH OA
|
||
|
SCAXIS
|
||
|
SL1 ARCCOS
|
||
|
STORE 24D # TEMP STORE ARCCOS(STAR.OPTAXIS)
|
||
|
|
||
|
DSU BPL
|
||
|
DEG30 # SEE IF STAR IN AOT FIELD-OF-VIEW
|
||
|
NXAX # NOT IN FIELD -- TRY NEXT POSITION
|
||
|
DLOAD DSU # SEE IF STAR AT FIELD CENTER
|
||
|
24D
|
||
|
DEG.5
|
||
|
BMN DLOAD # CALC SPIRAL AND CURSOR
|
||
|
ZSPCR # GO ZERO CURSOR AND SPIRAL
|
||
|
24D # GET SPIRAL
|
||
|
DMP SL4
|
||
|
3/4 # 12 SCALED AT 16
|
||
|
STOVL 24D # 12(ARCCOS(AO.STAR)) SCALED IN REVS
|
||
|
|
||
|
SCAXIS # OA
|
||
|
VXV UNIT
|
||
|
XUNIT
|
||
|
PUSH VXV # OA X UNITX PD 0-5
|
||
|
SCAXIS
|
||
|
VCOMP
|
||
|
UNIT PDVL # UNIT(OA X (OA X UNITX)) PD 6-11
|
||
|
SCAXIS
|
||
|
VXV UNIT
|
||
|
STAR
|
||
|
PUSH DOT # 1/2(OA X STAR) PD 12-17
|
||
|
0 # DOT WITH 1/2(OA X UNITX) FOR YROT
|
||
|
SL1 ARCCOS
|
||
|
STOVL 26D # STORE THET SCALED IN REVS
|
||
|
# Page 959
|
||
|
DOT # UP 12-17, UP 6-11 FOR C2
|
||
|
BPL DLOAD # IF THET NEG -- GET 360-THET
|
||
|
R59D
|
||
|
ABOUTONE
|
||
|
DSU
|
||
|
26D
|
||
|
STORE 26D # 360-THET SCALED IN REVS
|
||
|
|
||
|
R59D SLOAD SR1
|
||
|
QMIN # RESCALE AZ(N) TO REVS
|
||
|
DAD PUSH # PUSH YROT + AZ(N) REVS
|
||
|
26D
|
||
|
RTB
|
||
|
1STO2S
|
||
|
STODL CURSOR # YROT IN 1/2 REVS
|
||
|
24D # LOAD SROT IN REVS
|
||
|
DAD # 12(SEP) + YROT
|
||
|
RTB
|
||
|
1STO2S
|
||
|
STORE SPIRAL # SROT IN 1/2 REVS
|
||
|
EXIT
|
||
|
TCF 79DISP # GO DISPLAY CURSOR-SPIRAL-POS CODE
|
||
|
|
||
|
ZSPCR EXIT
|
||
|
CAF ZERO # STAR ALMOST OPTIC AXIS, ZERO CURSOR
|
||
|
TS CURSOR # AND SPIRAL ANGLES
|
||
|
TS SPIRAL
|
||
|
TCF 79DISP
|
||
|
|
||
|
NXAX EXIT
|
||
|
INCR POSCODE
|
||
|
CS POSCODE
|
||
|
AD SEVEN
|
||
|
EXTEND
|
||
|
BZMF R59ALM # THIS STAR NOT AT ANY POSITION
|
||
|
TCF INCAZ
|
||
|
|
||
|
R59ALM TC ALARM # THIS STAR CAN'T BE LOCATED IN AOT FIELD
|
||
|
OCT 404
|
||
|
CAF VB05N09 # DISPLAY ALARM
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H # VB34 -- TERMINATE
|
||
|
TCF R59OUT # VB33 -- PROCEED, GO WITHOUT ACQUIRE
|
||
|
TCF R59 # VB32 -- RECYCLE AND TRY ANOTHER STAR
|
||
|
|
||
|
79DISP CAF V06N79 # DISPLAY CURSOR, SPIRAL AND POS CODE
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H # V34 -- TERMINATE
|
||
|
# Page 960
|
||
|
TCF R59E # V33 -- PROCEED TO MARK ROUTINE
|
||
|
TCF R59 # V32 -- RECYCLE TO TOP OF R59 AGAIN
|
||
|
|
||
|
R59E CAF SEVEN # GET DETENT CODE CORRESPONDING TO POSCODE
|
||
|
MASK POSCODE
|
||
|
EXTEND
|
||
|
MP BIT7 # DETEND CODE NOW IN L
|
||
|
CS HIGH9
|
||
|
MASK AOTCODE # ISOLATE STAR NO BIT 1-6
|
||
|
AD L
|
||
|
TS AOTCODE # STORE DETENT 7-9
|
||
|
|
||
|
R59OUT TC BANKCALL # GO TO AOTMARK FOR SIGHTING
|
||
|
CADR AOTMARK
|
||
|
TC BANKCALL
|
||
|
CADR AOTSTALL # SLEEP TILL SIGHTING DONE
|
||
|
TC CURTAINS # BADEND RETURN FROM AOTMARK
|
||
|
TCF R59RET # RETURN TO 1 STAR OR 2STAR
|
||
|
|
||
|
V01N70* VN 170
|
||
|
V06N79 VN 679
|
||
|
DEG30 2DEC .083333333 # 30 DEGREES
|
||
|
DEG.5 2DEC .00138888 # .5 DEGREES SCALED IN REVS.
|
||
|
DEG60 OCT 12525 # 60 DEG CDU SCALING
|
||
|
CURSOR EQUALS GDT/2
|
||
|
SPIRAL EQUALS GDT/2 +2
|
||
|
POSCODE EQUALS GDT/2 +4
|
||
|
|
||
|
# Page 961
|
||
|
# NAME -- PLANET
|
||
|
# FUNCTION -- TO PROVIDE THE REFERENCE VECTOR FOR THE SIGHTED CELESTIAL
|
||
|
# BODY. STARS ARE FETCHED FROM THE CATALOG, SUN, EARTH AND
|
||
|
# MOON ARE COMPUTED BY LOCSAM, PLANET VECTORS ARE ENTERED
|
||
|
# BY DSKY INPUT.
|
||
|
# CALL -- CALL
|
||
|
# PLANET
|
||
|
# INPUT -- TIME IN MPAC
|
||
|
# OUTPUT -- VECTOR IN MPAC
|
||
|
# SUBROUTINES -- LOCSAM
|
||
|
# DEBRIS -- VAC, STARAD - STARAD +17
|
||
|
|
||
|
SETLOC P50S
|
||
|
BANK
|
||
|
COUNT* $$/P51
|
||
|
|
||
|
PLANET STOVL TSIGHT
|
||
|
ZEROVEC
|
||
|
STORE STARAD
|
||
|
STQ EXIT
|
||
|
GCTR
|
||
|
CS HIGH9
|
||
|
MASK AOTCODE
|
||
|
EXTEND
|
||
|
MP REVCNT
|
||
|
XCH L
|
||
|
INDEX STARIND
|
||
|
TS BESTI
|
||
|
CCS A
|
||
|
TCF NOTPLAN
|
||
|
CAF VNPLANV
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC -3
|
||
|
TC +2
|
||
|
TC -5
|
||
|
TC INTPRET
|
||
|
VLOAD UNIT
|
||
|
STARAD
|
||
|
GOTO
|
||
|
GCTR
|
||
|
NOTPLAN CS A
|
||
|
AD DEC227
|
||
|
EXTEND
|
||
|
BZMF CALSAM1
|
||
|
INDEX STARIND
|
||
|
CA BESTI
|
||
|
INDEX FIXLOC
|
||
|
TS X1
|
||
|
TC INTPRET
|
||
|
# Page 962
|
||
|
VLOAD* GOTO
|
||
|
CATLOG,1
|
||
|
GCTR
|
||
|
CALSAM1 TC INTPRET
|
||
|
CALSAM DLOAD CALL
|
||
|
TSIGHT
|
||
|
LOCSAM
|
||
|
LXC,1 VLOAD
|
||
|
STARIND
|
||
|
VEARTH
|
||
|
STOVL 0D
|
||
|
VSUN
|
||
|
STOVL VEARTH
|
||
|
0D
|
||
|
STORE VSUN
|
||
|
DLOAD* LXC,1
|
||
|
BESTI,1
|
||
|
MPAC
|
||
|
VLOAD* GOTO
|
||
|
STARAD -228D,1
|
||
|
GCTR
|
||
|
DEC227 DEC 227
|
||
|
VNPLANV VN 0688
|
||
|
PIPSRINE = PIPASR +3 # EBANK NOT 4 SO DON'T LOAD PIPTIME1
|
||
|
|
||
|
# Page 963
|
||
|
# GRAVITY VECTOR DETERMINATION ROUTINE
|
||
|
# BY KEN VINCENT
|
||
|
#
|
||
|
# FOR DETAILED DESCRIPTION SEE 504GSOP 5.6.3.2.5.
|
||
|
#
|
||
|
# THIS PROGRAM FINDS THE DIRECTION OF THE MOON'S GRAVITY
|
||
|
# WHILE THE LM IS IN THE MOON'S SURFACE. IT WILL BE USED
|
||
|
# FOR LUNAR SURFACE ALIGNMENT. THE GRAVITY VECTOR IS
|
||
|
# DETERMINED BY READING THE PIPAS WITH THE IMU AT TWO
|
||
|
# PARTICULAR ORIENTATIONS. THE TWO READINGS ARE AVERAGED
|
||
|
# AND UNITIZED AND TRANSFORMED TO NB COORDINATES. THE TWO
|
||
|
# ORIENTATIONS WERE CHOSEN TO REDUCE BIAS ERRORS IN THE
|
||
|
# READINGS.
|
||
|
#
|
||
|
# CALL --
|
||
|
# TC BANKCALL
|
||
|
# CADR GVDETER
|
||
|
#
|
||
|
# INPUTS --
|
||
|
# PIPAS, CDUS
|
||
|
#
|
||
|
# OUTPUTS --
|
||
|
# STARSAV1 = UNIT GRAVITY
|
||
|
# GSAV = DITTO
|
||
|
# GRAVBIT = 1
|
||
|
#
|
||
|
# SUBROUTINES --
|
||
|
# PIPASR, IMUCOARS, IMUFINE, IMUSTALL, 1/PIPA, DELAYJOB, CDUTRIG,
|
||
|
# *NBSM*, *SNMB*, CALCGA, GOFLASH
|
||
|
#
|
||
|
# DEBRIS --
|
||
|
# VAC, SAC, STARAD, XSM, XNB, THETAD, DELV, COSCDU, SINCDU
|
||
|
|
||
|
GVDETER CAF 42DEG
|
||
|
TS THETAD
|
||
|
COM
|
||
|
TS THETAD +1
|
||
|
CAF 35DEG
|
||
|
TS THETAD +2
|
||
|
TC INTPRET
|
||
|
CLEAR CALL
|
||
|
REFSMFLG
|
||
|
LUNG
|
||
|
|
||
|
# FIND GIMBAL ANGLES WHICH ROTATE SM 180 DEG ABOUT G VEC
|
||
|
#
|
||
|
# DEFINE G COOR SYS
|
||
|
# _
|
||
|
# [ X ] [ UNIT G ]
|
||
|
# * [ _ ] [ _ ]
|
||
|
# M = [ Y ] = [ UNITEZSM * X ]
|
||
|
# [ _ ] [ _ _ ]
|
||
|
# [ Z ] [ UNIT( X * Y )]
|
||
|
#
|
||
|
# THEN ROTATED SM WRT PRESENT IS
|
||
|
#
|
||
|
# Page 964
|
||
|
# [ 1 0 0 ]
|
||
|
# * *T [ ] * * *
|
||
|
# XSM = M [ 0 -1 0 ] M = 2 (X X ) - 1/2 I
|
||
|
# [ ] I J
|
||
|
# [ 0 0 -1 ]
|
||
|
#
|
||
|
# ALSO NB WRT PRES SM IS
|
||
|
#
|
||
|
# * * *
|
||
|
# XNB = NBSM I
|
||
|
#
|
||
|
# * *
|
||
|
# GIMBAL ANGLES = CALCGA( XSM, XNB )
|
||
|
|
||
|
SETLOC P50S
|
||
|
BANK
|
||
|
COUNT* $$/P57
|
||
|
AXT,1 SSP # X1=18
|
||
|
18D # S1=6
|
||
|
S1 # X2, -2
|
||
|
6D
|
||
|
LXC,2
|
||
|
S1
|
||
|
GRAVEL VLOAD* CALL
|
||
|
XUNIT -6,2
|
||
|
*NBSM* # SIN AND COS COMPUTED IN LUNG
|
||
|
STORE XNB +18D,1
|
||
|
VLOAD
|
||
|
STAR
|
||
|
LXC,2 VXSC* # COMPLEMENT -- UNITX ARE BACKWARD --
|
||
|
X2
|
||
|
STAR +6,2 # OUTER PRODUCT
|
||
|
VSL2 LXC,2
|
||
|
X2
|
||
|
VSU* INCR,2
|
||
|
XUNIT -6,2
|
||
|
2D
|
||
|
STORE XSM +18D,1
|
||
|
TIX,1 CALL
|
||
|
GRAVEL
|
||
|
CALCGA
|
||
|
VLOAD VSR1
|
||
|
GOUT
|
||
|
STCALL STARAD +12D
|
||
|
LUNG
|
||
|
VLOAD VSR1
|
||
|
GOUT
|
||
|
VAD UNIT
|
||
|
STARAD +12D
|
||
|
STORE STARSAV1
|
||
|
DOT
|
||
|
GSAV
|
||
|
SL1 ACOS
|
||
|
# Page 965
|
||
|
STORE DSPTEM1
|
||
|
EXIT
|
||
|
TC DOWNFLAG # CLAR FREEFLAG IN CASE OF RECYCLE
|
||
|
ADRES FREEFLAG
|
||
|
|
||
|
CA DISGRVER
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TCF PROGRAV # VB33 -- PROCEED
|
||
|
TC UPFLAG # VB32 -- RECYCLE -- STORE GRAV AND DO IT AGAIN
|
||
|
ADRES FREEFLAG # AND SET FREEFLAG TO SHOW RECYCLE
|
||
|
|
||
|
PROGRAV TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
VLOAD
|
||
|
STARSAV1
|
||
|
STORE GSAV
|
||
|
EXIT
|
||
|
CAF FREEFBIT # IF FREEFLAG SET, RE-COMPUTE GRAVITY
|
||
|
MASK FLAGWRD0
|
||
|
CCS A
|
||
|
TCF GVDETER # SET
|
||
|
TCF ATTCHK # EXIT FROM GVDETER
|
||
|
|
||
|
LUNG STQ VLOAD
|
||
|
QMIN
|
||
|
ZEROVEC
|
||
|
STORE GACC
|
||
|
EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC BANKCALL
|
||
|
CADR IMUCOARS
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
TC BANKCALL
|
||
|
CADR IMUFINE
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
CA T/2SEC
|
||
|
TS GCTR
|
||
|
CA PRIO31
|
||
|
TS 1/PIPADT
|
||
|
TC BANKCALL
|
||
|
# Page 966
|
||
|
CADR GCOMPZER # INITIALIZE COMPENSATION
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC BANKCALL # DON'T NEED TO INHINT. THIS USED TO
|
||
|
CADR PIPSRINE # INITIALIZE PIPAS. DON'T USE DATA
|
||
|
TC INTPRET
|
||
|
GREED EXIT # = MASK 7776 IN BASIC SO DON'T CARE
|
||
|
CAF 2SECS
|
||
|
TC TWIDDLE # SET UP 2 SEC TASK TO READ PIPAS
|
||
|
ADRES GRABGRAV
|
||
|
|
||
|
TC ENDOFJOB
|
||
|
|
||
|
GRABGRAV TC IBNKCALL
|
||
|
CADR PIPSRINE
|
||
|
CAF PRIO13 # RE-ESTABLISH MAINLINE JOB
|
||
|
TC FINDVAC
|
||
|
EBANK= STARAD
|
||
|
2CADR ADDGRAV
|
||
|
|
||
|
TC TASKOVER
|
||
|
|
||
|
ADDGRAV TC BANKCALL
|
||
|
CADR 1/PIPA
|
||
|
INCR GCTR
|
||
|
TC INTPRET
|
||
|
VLOAD VAD
|
||
|
DELV
|
||
|
GACC
|
||
|
STORE GACC # ACCUMULATE G VECTOR
|
||
|
SLOAD BMN
|
||
|
GCTR
|
||
|
GREED
|
||
|
VLOAD UNIT
|
||
|
GACC
|
||
|
STCALL STAR
|
||
|
CDUTRIG # TRANSFORM IN NB COOR AND STORE
|
||
|
CALL # IN OUTPUT
|
||
|
*SMNB*
|
||
|
STORE GOUT
|
||
|
EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
QMINEXIT TC INTPRET
|
||
|
GOTO
|
||
|
QMIN
|
||
|
T/2SEC DEC -20
|
||
|
# Page 967
|
||
|
DISGRVER VN 0604
|
||
|
42DEG OCT 07357
|
||
|
35DEG OCT 06211
|
||
|
|
||
|
# Page 968
|
||
|
# NAME -- GYROTRIM
|
||
|
#
|
||
|
# THIS PROGRAM COMPUTES AND SENDS GYRO COMMANDS WHICH CAUSE THE CDUS
|
||
|
# TO ATTAIN A PRESCRIBED SET OF ANGLES. THIS ROUTINE ASSUMES THE
|
||
|
# VEHICLES ATTITUDE REMAINS STATIONARY DURING ITS OPERATION.
|
||
|
#
|
||
|
# CALL CALL
|
||
|
# GYROTRIM
|
||
|
#
|
||
|
# INPUT THETAD,+1,+2 = DESIRED CDU ANGLES
|
||
|
# CDUX,CDUY,CDUZ
|
||
|
#
|
||
|
# OUTPUT GYRO TORQUE PULSES
|
||
|
#
|
||
|
# SUBROUTINES TRG*NBSM, *NBSM*, CDUTRIG, AXISGEN, CALCGTA, IMUFINE
|
||
|
# IMPULSE, IMUSTALL
|
||
|
# _______ ______ ______ * * ___
|
||
|
# DEBRIS CDUSPOT, SINCDU, COSCDU, STARAD, VAC, XDC, OGC
|
||
|
|
||
|
COUNT* $$/P57
|
||
|
GYROTRIM STQ DLOAD
|
||
|
QMIN
|
||
|
THETAD
|
||
|
PDDL PDDL
|
||
|
THETAD +2
|
||
|
THETAD +1
|
||
|
VDEF
|
||
|
STOVL CDUSPOT
|
||
|
XUNIT
|
||
|
CALL
|
||
|
TRG*NBSM
|
||
|
STOVL STARAD
|
||
|
YUNIT
|
||
|
CALL
|
||
|
*NBSM*
|
||
|
STCALL STARAD +6
|
||
|
CDUTRIG
|
||
|
CALL
|
||
|
CALCSMSC
|
||
|
VLOAD
|
||
|
XNB
|
||
|
STOVL 6D
|
||
|
YNB
|
||
|
STCALL 12D
|
||
|
AXISGEN
|
||
|
CALL
|
||
|
CALCGTA
|
||
|
JUSTTRIM EXIT
|
||
|
TC BANKCALL
|
||
|
CADR IMUFINE
|
||
|
TC BANKCALL
|
||
|
# Page 969
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
CA GYRCDR
|
||
|
TC BANKCALL
|
||
|
CADR IMUPULSE
|
||
|
TC BANKCALL
|
||
|
CADR IMUSTALL
|
||
|
TC CURTAINS
|
||
|
TCF QMINEXIT
|
||
|
|
||
|
GYRCDR ECADR OGC
|
||
|
|
||
|
# Page 970
|
||
|
# PERFORM STAR ACQUISITION AND STAR SIGHTINGS
|
||
|
|
||
|
2STARS CAF ZERO # INITIALIZE STARIND
|
||
|
TCF +2 # ZERO FOR 1ST STAR, ONE FOR 2ND STAR
|
||
|
1STAR CAF BIT1
|
||
|
TS STARIND
|
||
|
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TCF R59 # GO DO STAR ACQUIRE AND AOTMARK
|
||
|
|
||
|
R59RET CA STARIND # BACK FROM SURFACE MARKING
|
||
|
EXTEND
|
||
|
BZF ASTAR # 1ST STAR MARKED
|
||
|
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
DLOAD CALL
|
||
|
TSIGHT # TIME OF 2ND MARK
|
||
|
PLANET
|
||
|
STCALL VEC2 # STORE 2ND CATALOG VEC (REF)
|
||
|
SURFLINE
|
||
|
|
||
|
ASTAR TC INTPRET
|
||
|
VLOAD
|
||
|
STARAD +6
|
||
|
STORE STARSAV1 # 1ST OBSERVED STAR (SM)
|
||
|
DLOAD CALL
|
||
|
TSIGHT # TIME OF 1ST MARK
|
||
|
PLANET
|
||
|
STORE VEC1 # STORE 1ST CATALOG VEC (REF)
|
||
|
EXIT
|
||
|
TCF 1STAR # GO GET 2ND STAR SIGHTING
|
||
|
|
||
|
# Page 971
|
||
|
# DO FINE OR COARSE ALIGNMENT OF IMU
|
||
|
|
||
|
SURFLINE SSP AXT,2
|
||
|
S2
|
||
|
6
|
||
|
12D
|
||
|
WRTDESIR VLOAD* MXV
|
||
|
VEC1 +12D,2 # PICK UP VEC IN REF, TRANS TO DESIRED SH
|
||
|
XSMD
|
||
|
UNIT
|
||
|
STORE STARAD +12D,2 # VEC IN SM
|
||
|
VLOAD*
|
||
|
STARSAV1 +12D,2 # PICK UP VEC IN PRESENT SM
|
||
|
STORE 18D,2
|
||
|
TIX,2 BON
|
||
|
WRTDESIR
|
||
|
INITALGN # IF INITIAL PASS (OPTION 0) BYPASS R54
|
||
|
INITBY
|
||
|
DOALIGN CALL
|
||
|
R54 # DO CHKSDATA
|
||
|
BOFF
|
||
|
FREEFLAG
|
||
|
P57POST # ASTRO DOES NOT LIKE DATA TEST RESULTS
|
||
|
INITBY CALL
|
||
|
AXISGEN # GET DESIRED ORIENT WRT PRES. XDC,YDC,ZDC
|
||
|
CALL
|
||
|
CALCGTA # GET GYRO TORQ ANGLES, OGC,IGC,MGC
|
||
|
EXIT
|
||
|
CAF INITABIT # IF INITIAL PASS BYPASS NOUN 93 DISPLAY
|
||
|
MASK FLAGWRD8
|
||
|
CCS A
|
||
|
TCF 5DEGTEST
|
||
|
CAF DISPGYRO # DISPLAY GYRO TORQ ANGLES V 06N93
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H # V34 -- TERMINATE
|
||
|
TCF 5DEGTEST # VB33 -- PROCEED TO COARSE OR FINE
|
||
|
TCF P57POST +1 # VB32 -- RECYCLE, MAYBE RE-ALIGN
|
||
|
|
||
|
5DEGTEST TC INTPRET # IF ANGLES GREATER THAN 5 DEGS, DO COARSE
|
||
|
VLOAD BOV
|
||
|
OGC
|
||
|
SURFSUP
|
||
|
SURFSUP STORE OGCT
|
||
|
V/SC BOV
|
||
|
5DEGREES
|
||
|
COATRIM
|
||
|
SSP GOTO
|
||
|
QMIN
|
||
|
SURFDISP
|
||
|
# Page 972
|
||
|
JUSTTRIM # ANGLES LESS THAN 5 DEG, DO GYRO TORQ
|
||
|
|
||
|
SURFDISP EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
AXC,1 AXC,2
|
||
|
XSMD
|
||
|
REFSMMAT
|
||
|
SET CALL
|
||
|
REFSMFLG
|
||
|
MATMOVE
|
||
|
EXIT
|
||
|
CCS OPTION2 # IF OPTION ZERO DO FINISH
|
||
|
TCF B2F8
|
||
|
TCF P57POST +1
|
||
|
|
||
|
B2F8 CAF INITABIT # IF INITIAL FLAG SET, RE-CYCLE.
|
||
|
MASK FLAGWRD8
|
||
|
CCS A
|
||
|
TCF P57JUMP # IT'S SET
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
REFMF # GO GET ATTITUDE VEC IN MF(YNBSAV,XNBSAV)
|
||
|
P57POST EXIT
|
||
|
CAF OCT14 # DISPLAY V50N25 CHK CODE 14
|
||
|
TC BANKCALL
|
||
|
CADR GOPERF1
|
||
|
TCF GOTOP00H # VB34 -- TERMINATE
|
||
|
TCF P57JUMP # VB33 -- PROCEED TO RE-ALIGN
|
||
|
CS BIT2 # TEST TO SEE IF ALIGNED BY OPTION 2
|
||
|
AD OPTION2
|
||
|
EXTEND
|
||
|
BZF +2 # YES -- GO CALCULATE LANDING SITE
|
||
|
TCF GOTOP00H # NO -- EXIT P57
|
||
|
TC PHASCHNG # RESTART PLACE
|
||
|
OCT 04024
|
||
|
TC INTPRET
|
||
|
VLOAD CALL # USE GNB
|
||
|
GSAV
|
||
|
CDU*NBSM # GO TO SM COORDS
|
||
|
VXM SET # ON MOON SO SET LUNAFLAG
|
||
|
REFSMMAT # G(REF) = (REFSMMAT)T (NBSM)GNB
|
||
|
LUNAFLAG
|
||
|
PDVL ABVAL
|
||
|
RLS
|
||
|
VXSC STADR
|
||
|
STORE ALPHAV # ALPHAV = RLSMAG * G(REF)
|
||
|
CLEAR RTB
|
||
|
# Page 973
|
||
|
ERADFLAG
|
||
|
LOADTIME
|
||
|
CALL
|
||
|
N89DISP # SUBROUTINE TO CALC LS AND GIVE RLS BACK
|
||
|
STORE RN # RN=RLS B-29 = LM POSITION
|
||
|
VSL2 PDDL # R-TO-RP GETS RLS B-27 AT 0-50 IN PDLIST
|
||
|
GDT/2 +4 # TIME TEMP STORED IN N89DISP
|
||
|
PUSH # TIME AT 6-7 IN PDLIST
|
||
|
STCALL PIPTIME # PIPTIME = LM STATE TIME
|
||
|
R-TO-RP
|
||
|
STORE RLS # RLS IN MOON-FIXED COORDS
|
||
|
EXIT
|
||
|
TCF GOTOP00H # EXIT P57
|
||
|
|
||
|
# Page 974
|
||
|
# COARSE AND FINE ALIGN IMU
|
||
|
|
||
|
COATRIM AXC,1 AXC,2
|
||
|
XDC
|
||
|
XSM
|
||
|
CALL
|
||
|
MATMOVE
|
||
|
CALL
|
||
|
CDUTRIG
|
||
|
CALL
|
||
|
CALCSMSC
|
||
|
CALL
|
||
|
CALCGA
|
||
|
BOFF EXIT
|
||
|
INITALGN # IF INITIAL ALIGNMENT DISPLAY FINAL
|
||
|
CORSIT # GIMBAL ANGLES IF COARSE ANGLES GREATER
|
||
|
CAF V06N22 # THAN 5 DEGREES
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TC GOTOP00H
|
||
|
TCF +2
|
||
|
TCF -5
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC INTPRET
|
||
|
CORSIT CALL
|
||
|
COARSE
|
||
|
CALL
|
||
|
NCOARSE
|
||
|
CALL
|
||
|
GYROTRIM
|
||
|
GOTO
|
||
|
SURFDISP
|
||
|
DISPGYRO VN 0693
|
||
|
|
||
|
# Page 975
|
||
|
# LUNAR SURFACE IMU ALIGNMENT PROGRAM
|
||
|
|
||
|
P57 TC BANKCALL # IS ISS ON -- IF NOT, IMUCHK WILL SEND
|
||
|
CADR IMUCHK # ALARM CODE 210 AND EXIT VIA GOTOP00H
|
||
|
|
||
|
CAF THREE # JAM REFSMMAT OPTION 3 FOR INITIAL DISP.
|
||
|
TS OPTION2
|
||
|
P57OPT CAF BIT1
|
||
|
TC BANKCALL
|
||
|
CADR GOPERF4R # FLASH V04N06 FOR ALIGNMENT CODE
|
||
|
TC GOTOP00H # V34 TERMINATE
|
||
|
TCF ALIGNOPT # V33 PROCEED
|
||
|
TCF P57OPT # V32 RECYCLE
|
||
|
|
||
|
TC PHASCHNG
|
||
|
OCT 00014
|
||
|
TC ENDOFJOB
|
||
|
|
||
|
ALIGNOPT CA OPTION2
|
||
|
MASK THREE
|
||
|
INDEX A
|
||
|
TCF +1
|
||
|
TCF TDISP # OPTION 4 LS ORIENTATION
|
||
|
TCF PACKOPTN # OPTION 1 PREFERRED
|
||
|
TCF P57OPT # OPTION 2 INVALID IN P57, RECYCLE
|
||
|
TC INTPRET # OPTION 3 REFSMMAT
|
||
|
AXC,1 AXC,2 # JAM REFSMMAT IN XSMD LOC
|
||
|
REFSMMAT
|
||
|
XSMD
|
||
|
CALL
|
||
|
MATMOVE
|
||
|
GOTO
|
||
|
PACKOPTN -1
|
||
|
|
||
|
TDISP TC INTPRET
|
||
|
DLOAD
|
||
|
TIG # LOAD ASCENT TIME FOR DISPLAY
|
||
|
P57A STORE DSPTEM1
|
||
|
EXIT
|
||
|
P57AA CAF V06N34* # DISPLAY TALIGN, TALIGN : DSPTEM1
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H # V34 -- TERMINATE
|
||
|
TCF +2
|
||
|
TCF P57AA # VB32 -- RECYCLE
|
||
|
|
||
|
TC INTPRET
|
||
|
RTB PDDL
|
||
|
LOADTIME # PUSH CURRENT TIME AND PICK UP KEY IN
|
||
|
DSPTEM1
|
||
|
# Page 976
|
||
|
BZE PDDL
|
||
|
P57C # IF KEY IN TIME ZERO - TALIGN=CURRENT TIME
|
||
|
DSU BPL # NOT ZERO SO EXCHANGE PD WITH DSPTEM1
|
||
|
DSPTEM1
|
||
|
P57C
|
||
|
DLOAD STADR # IF KEYIN TIME GREATER THAN CURRENT TIME
|
||
|
STORE TIG # STORE IT IN TIG
|
||
|
STCALL TALIGN
|
||
|
P57D
|
||
|
P57C DLOAD STADR
|
||
|
STORE TALIGN
|
||
|
P57D STCALL TDEC1
|
||
|
LEMPREC # COMPUTE DESIRED IMU ORIENTATION STORE
|
||
|
VLOAD UNIT # IN X,Y,ZSMD
|
||
|
RATT
|
||
|
STCALL XSMD
|
||
|
LSORIENT
|
||
|
EXIT
|
||
|
PACKOPTN CAF ZERO # PACK FLAG BITS FOR OPTION DISPLAY
|
||
|
TS OPTION1 +1 # JAM ZERO IN ALIGNMENT OPTION
|
||
|
TS OPTION1 +2 # INITIALIZE FLAG BIT CONFIGURATION
|
||
|
CAF REFSMBIT
|
||
|
MASK FLAGWRD3 # REFSMFLG
|
||
|
CCS A
|
||
|
CAF BIT7 # SET
|
||
|
ADS OPTION1 +2 # CLEAR -- JUST ZERO
|
||
|
CAF ATTFLBIT
|
||
|
MASK FLAGWRD6 # ATTFLG
|
||
|
CCS A
|
||
|
CAF BIT4 # SET
|
||
|
ADS OPTION1 +2 # CLEAR -- ZERO IN A
|
||
|
CAF BIT4
|
||
|
TS OPTION1 # JAM 00010 IN OPTION1 FOR CHECK LIST
|
||
|
|
||
|
DSPOPTN CAF VB05N06 # DISPLAY OPTION CODE AND FLAG BITS
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H # VB34 -- TERMINATE
|
||
|
TCF +2 # V33 -- PROCEED
|
||
|
TCF DSPOPTN # V32 -- RECYCLE
|
||
|
|
||
|
CAF REFSMBIT
|
||
|
MASK FLAGWRD3
|
||
|
CCS A
|
||
|
TCF GETLMATT # SET, GO COMPUTE LM ATTITUDE
|
||
|
CAF ATTFLBIT # CLEAR -- CHECK ATTFLAG FOR STORED ATTITUDE.
|
||
|
MASK FLAGWRD6
|
||
|
CCS A
|
||
|
TCF BYLMATT # ALLFLG SET, CHK OPTION FOR GRAVITY COMP
|
||
|
CAF BIT2 # SEE IF OPTION 2 OR 3
|
||
|
# Page 977
|
||
|
MASK OPTION2
|
||
|
CCS A
|
||
|
TCF BYLMATT # OPTION 2 OR 3 BUT DON'T HAVE ATTITUDE
|
||
|
TC ALARM # OPTION INCONSISTENT WITH FLAGS -- ALARM 701
|
||
|
OCT 701
|
||
|
CAF VB05N09 # DISPLAY ALARM FOR ACTION
|
||
|
TC BANKCALL
|
||
|
CADR GOFLASH
|
||
|
TCF GOTOP00H # VB34 -- TERMINATE
|
||
|
TCF DSPOPTN # V33 -- PROCEED *********TEMPORARY
|
||
|
TCF DSPOPTN # VB32 -- RECYCLE TO OPTION DISPLAY V 05N06
|
||
|
|
||
|
# Page 978
|
||
|
# TRANSFORM VEC1,2 FROM MOON FIXED TO REF AND JAM BACK IN VEC1,2
|
||
|
|
||
|
MFREF STQ SETPD
|
||
|
QMAJ
|
||
|
0
|
||
|
RTB
|
||
|
LOADTIME
|
||
|
STOVL TSIGHT
|
||
|
VEC1
|
||
|
PDDL PUSH
|
||
|
TSIGHT
|
||
|
CALL
|
||
|
RP-TO-R
|
||
|
STOVL VEC1
|
||
|
VEC2
|
||
|
SETPD PDDL
|
||
|
0
|
||
|
TSIGHT
|
||
|
PUSH CALL
|
||
|
RP-TO-R
|
||
|
STCALL VEC2
|
||
|
QMAJ
|
||
|
|
||
|
# Page 979
|
||
|
# COMPUTE LM ATTITUDE IN MOON FIXED COORDINATES USING REFSMMAT AND
|
||
|
# STORE IN YNBSAV AND ZNBSAV.
|
||
|
|
||
|
REFMF STQ CALL
|
||
|
QMAJ
|
||
|
CDUTRIG # GET SIN AND COS OF CDUS
|
||
|
RTB SETPD
|
||
|
LOADTIME
|
||
|
0
|
||
|
STCALL TSIGHT
|
||
|
CALCSMSC # GET YNB IN SM
|
||
|
VLOAD VXM
|
||
|
YNB
|
||
|
REFSMMAT # YNB TO REF
|
||
|
UNIT PDDL
|
||
|
TSIGHT
|
||
|
PUSH CALL
|
||
|
R-TO-RP
|
||
|
STOVL YNBSAV # YNB TO MF
|
||
|
ZNB
|
||
|
VXM UNIT
|
||
|
REFSMMAT # ZNB TO REF
|
||
|
PDDL PUSH
|
||
|
TSIGHT
|
||
|
CALL
|
||
|
R-TO-RP # ZNB TO MF
|
||
|
STORE ZNBSAV
|
||
|
SETGO
|
||
|
ATTFLAG
|
||
|
QMAJ
|
||
|
|
||
|
# Page 980
|
||
|
# BRANCH TO ALIGNMENT OPTION
|
||
|
|
||
|
GETLMATT TC INTPRET
|
||
|
CALL
|
||
|
REFMF # GO TRANSFORM TO MF IN YNBSAV, ZNBSAV
|
||
|
EXIT
|
||
|
|
||
|
BYLMATT TC UPFLAG # SET INITIAL ALIGN FLAG
|
||
|
ADRES INITALGN
|
||
|
CAF BIT1
|
||
|
MASK OPTION2 # SEE IF OPTION 1 OR 3
|
||
|
CCS A
|
||
|
TCF GVDETER # OPTION 1 OR 2, GET GRAVITY
|
||
|
|
||
|
ATTCHK TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
CAF ATTFLBIT # NOT 1 OR 3, CHECK ATTFLAG
|
||
|
MASK FLAGWRD6
|
||
|
CCS A
|
||
|
TCF P57OPT0 # GET ALIGNMENT VECS FOR OPTION 0
|
||
|
P57JUMP TC PHASCHNG
|
||
|
OCT 04024
|
||
|
|
||
|
TC DOWNFLAG # ATTFLG CLEAR -- RESET INTALIGN FLAG
|
||
|
ADRES INITALGN
|
||
|
CAF THREE
|
||
|
MASK OPTION2 # BRANCH ON OPTION CODE
|
||
|
INDEX A
|
||
|
TCF +1
|
||
|
TCF P57OPT0 # OPTION IS 0
|
||
|
TCF P57OPT1 # OPTION IS 1
|
||
|
TCF P57OPT2 # OPTION IS 2
|
||
|
TCF P57OPT3 # OPTION IS 3
|
||
|
|
||
|
# Page 981
|
||
|
# OPTION 0, GET TWO ATTITUDE VECS
|
||
|
|
||
|
P57OPT0 TC INTPRET
|
||
|
VLOAD
|
||
|
YNBSAV # Y AND Z ATTITUDE WILL BE PUT IN REF
|
||
|
STOVL VEC1
|
||
|
ZNBSAV
|
||
|
STCALL VEC2
|
||
|
CDUTRIG
|
||
|
CALL
|
||
|
CALCSMSC # COMPUTE SC AXIS WRT PRESENT SM
|
||
|
VLOAD
|
||
|
YNB
|
||
|
SAMETYP STOVL STARSAV1 # Y SC AXIS WRT PRESENT SM
|
||
|
ZNB
|
||
|
STCALL STARSAV2 # Z SC AXIS WRT PRESENT SM
|
||
|
MFREF # TRANSFORM VEC1,2 FROM MF TO REF
|
||
|
GOTO
|
||
|
SURFLINE
|
||
|
|
||
|
# OPTION 1, GET LANDING SITE AND Z-ATTITUDE VEC
|
||
|
|
||
|
P57OPT1 TC INTPRET
|
||
|
VLOAD UNIT
|
||
|
RLS # LANDING SITE VEC
|
||
|
STOVL VEC1
|
||
|
ZNBSAV # Z ATTITUDE VEC
|
||
|
STCALL VEC2
|
||
|
CDUTRIG
|
||
|
CALL
|
||
|
CALCSMSC # GET ZNB AXIS WRT PRES SM FOR STARSAV2
|
||
|
VLOAD CALL
|
||
|
GSAV # TRANS GSAV FROM NB TO SM FOR STARSAV1
|
||
|
CDU*NBSM
|
||
|
GOTO
|
||
|
SAMETYP # NOW DO SAME AS OPTION 0
|
||
|
|
||
|
# Page 982
|
||
|
# OPTION 2, GET TWO STAR SIGHTINGS
|
||
|
|
||
|
P57OPT2 TCF 2STARS # DO SIGHTING ON 2 STARS
|
||
|
|
||
|
# OPTION 3, GET LANDING SITE VEC AND ONE STAR SIGHTING
|
||
|
|
||
|
P57OPT3 TC INTPRET
|
||
|
VLOAD UNIT
|
||
|
RLS # LANDING SITE VEC
|
||
|
STORE VEC1
|
||
|
STOVL VEC2 # DUMMY VEC2 FOR 2ND CATALOG STAR
|
||
|
GSAV # GRAVITY VEC NB
|
||
|
CALL
|
||
|
CDU*NBSM # TRANS GSAV FROM NB TO SM FOR STARSAV1
|
||
|
STCALL STARSAV1
|
||
|
MFREF # STARSAV2 IS STORED AS 2ND OBSERVED STAR
|
||
|
EXIT
|
||
|
TCF 1STAR # 1STAR GET VEC2, STARSAV2 GOES TO SURFLINE.
|
||
|
|
||
|
VB05N06 VN 506
|
||
|
|
||
|
# Page 983
|
||
|
# CHECK IMODES30 TO VERIFY IMU IS ON
|
||
|
|
||
|
IMUCHK CS IMODES30
|
||
|
MASK BIT9
|
||
|
CCS A # IS IMU ON
|
||
|
TCF +4 # YES
|
||
|
|
||
|
TC ALARM # NO, SEND ALARM AND EXIT
|
||
|
OCT 210
|
||
|
TC GOTOP00H
|
||
|
|
||
|
TC UPFLAG
|
||
|
ADRES IMUSE # SET IMUSE FLAG
|
||
|
|
||
|
TC SWRETURN
|
||
|
|
||
|
BANK 04
|
||
|
SETLOC AOTMARK2
|
||
|
BANK
|
||
|
COUNT* $$/P57
|
||
|
|
||
|
LSORIENT STQ VLOAD
|
||
|
QMAJ
|
||
|
RRECTCSM
|
||
|
VXV VXV
|
||
|
VRECTCSM
|
||
|
XSMD
|
||
|
UNIT
|
||
|
STORE ZSMD
|
||
|
VXV UNIT
|
||
|
XSMD
|
||
|
STCALL YSMD
|
||
|
QMAJ
|
||
|
|