Reorganized files to separate Luminary099 source code from Comanche055 source code
This commit is contained in:
932
Comanche055/JET_SELECTION_LOGIC.s
Normal file
932
Comanche055/JET_SELECTION_LOGIC.s
Normal file
@ -0,0 +1,932 @@
|
||||
# Copyright: Public domain.
|
||||
# Filename: JET_SELECTION_LOGIC.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1039-1062
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# 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 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1039
|
||||
BANK 21
|
||||
SETLOC DAPS4
|
||||
BANK
|
||||
|
||||
COUNT 17/DAPJS
|
||||
|
||||
EBANK= KMPAC
|
||||
|
||||
# EXAMINE CHANNEL 31 FOR TRANSLATION COMMANDS
|
||||
|
||||
JETSLECT LXCH BANKRUPT
|
||||
CAF DELTATT3 # = 60 MS RESET TO EXECUTIVE PHASE1
|
||||
AD T5TIME
|
||||
TS TIME5
|
||||
TCF +3
|
||||
CAF DELATT20 # = 20 MS TO ASSURE A T5RUPT
|
||||
TS TIME5
|
||||
CAF =14MS # RESET T6 TO INITIALIZE THE JET CHANNELS
|
||||
TS TIME6 # IN 14 MS
|
||||
CAF NEGMAX
|
||||
EXTEND
|
||||
WOR CHAN13
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
CAF XLNMASK # = 7700 OCT
|
||||
EXTEND # EXAMINE THE TRANSLATION
|
||||
RXOR CHAN31 # HAND CONTROLLER
|
||||
MASK XLNMASK
|
||||
EXTEND
|
||||
BZF NOXLNCMD
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP BIT9
|
||||
MASK THREE
|
||||
TS XNDX1 # AC QUAD X-TRANSLATION INDEX
|
||||
TS XNDX2 # BD QUAD X-TRANSLATION INDEX
|
||||
CA T5TEMP
|
||||
EXTEND # 1 = + XLN
|
||||
MP BIT7 # 2 = - XLN
|
||||
MASK THREE # 3 = NO XLN
|
||||
TS YNDX # Y-TRANSLATION INDEX
|
||||
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP BIT5
|
||||
MASK THREE
|
||||
TS ZNDX # Z-TRANSLATION INDEX
|
||||
|
||||
CA DAPDATR1 # SET ATTKALMN TO PICK UP FILTER GAINS FOR
|
||||
MASK BIT14 # TRANSLATIONS.
|
||||
EXTEND # CHECK DAPDATR1 BIT 14 FOR LEM ATTACHED.
|
||||
# Page 1040
|
||||
BZF NOLEM
|
||||
CS THREE # IF LEM IS ON, SET ATTKALMN = -3
|
||||
TCF +2
|
||||
NOLEM CS TWO # IF LEM IS OFF, SET ATTKALMN = -2.
|
||||
TS ATTKALMN
|
||||
CCS XTRANS # (+, -1, 0)
|
||||
TS XNDX1 # USING BD-X ZERO XNDX1
|
||||
TCF PWORD
|
||||
TS XNDX2 # USING AC-X ZERO XNDX2
|
||||
TCF PWORD
|
||||
XLNMASK OCT 7700
|
||||
|
||||
DELTATT3 DEC 16378 # = 60 MS
|
||||
DELATT20 DEC 16382 # = 20 MS
|
||||
|
||||
NOXLNCMD TS XNDX1 # ZERO ALL REQUESTS FOR TRANSLATION
|
||||
TS XNDX2
|
||||
TS YNDX
|
||||
TS ZNDX
|
||||
|
||||
# PITCH COMMANDS TIMING(NO X-TRANS, NO QUAD FAILS) 32MCT
|
||||
|
||||
PWORD CCS TAU1 # CHECK FOR PITCH COMMANDS
|
||||
CAF ONE
|
||||
TCF +2 # 0 = NO PITCH
|
||||
CAF TWO # +1 = + PITCH
|
||||
TS PINDEX # +2 = - PITCH
|
||||
|
||||
CCS RACFAIL # FLAG FOR REAL AC QUAD FAILURES
|
||||
TCF AFAILP
|
||||
TCF TABPCOM # 0 = NO REAL AC FAILURES
|
||||
TCF CFAILP # + = A QUAD FAILED
|
||||
TCF TABPCOM # - = C QUAD FAILED
|
||||
# IF FAILURES ARE PRESENT IGNORE
|
||||
# X-TRANSLATIONS ON THIS AXIS
|
||||
|
||||
AFAILP CAF NINE # IF FAILURE IS PRESENT 1JET OPERATION
|
||||
TCF TABPCOM +2 # IS ASSUMED. IGNORE X-TRANSLATION
|
||||
CFAILP CAF TWELVE
|
||||
TCF TABPCOM +2
|
||||
|
||||
XLNNDX DEC 0 # INDICES FOR TRANSLATION COMMANDS
|
||||
DEC 3 # FOR USE IN TABLE LOOK UP
|
||||
DEC 6
|
||||
DEC 0
|
||||
|
||||
TWELVE = OCT14
|
||||
|
||||
# TABLE LOOK UP FOR PITCH COMMANDS WITH AND WITHOUT X-TRANSLATION AND AC QUAD FAILURES PRESENT.
|
||||
# BITS 9, 10 CONTAIN THE NUMBER OF PITCH JETS USED TO PERFORM THE PITCH ROTATION
|
||||
# Page 1041
|
||||
|
||||
TABPCOM INDEX XNDX1
|
||||
CA XLNNDX
|
||||
AD PINDEX
|
||||
INDEX A
|
||||
CA PYTABLE
|
||||
MASK PJETS # =1417 OCT
|
||||
TS PWORD1
|
||||
EXTEND
|
||||
MP BIT7
|
||||
TS NPJETS # = NO. OF PITCH JETS
|
||||
|
||||
# YAW JET COMMANDS TIMING(N X-TRANS, NO QUAD FAILURES) 32MCT
|
||||
|
||||
YWORD CCS TAU2 # CHECK FOR YAW COMMANDS
|
||||
CAF ONE
|
||||
TCF +2
|
||||
CAF TWO
|
||||
TS YINDEX # YAW ROTATION INDEX
|
||||
|
||||
CCS RBDFAIL # FLAG FOR B OR D QUAD FAILURES
|
||||
TCF BFAILY # 0 = NO BD FAILURE
|
||||
TCF TABYCOM # + - B QUAD FAILED
|
||||
TCF DFAILY # - = D QUAD FAILED
|
||||
TCF TABYCOM
|
||||
|
||||
BFAILY CAF NINE
|
||||
TCF TABYCOM +2
|
||||
DFAILY CAF TWELVE
|
||||
TCF TABYCOM +2
|
||||
|
||||
# Page 1042
|
||||
# TABLE FOR PITCH(YAW) COMMANDS
|
||||
# BITS 4,3,2,1 = PITCH, X-TRANSLATION JETS SELECTED
|
||||
# BITS 10,9 = NO. PITCH JETS USED TO PERFORM ROTATION
|
||||
# BITS 8,7,6,5 = YAW, X-TRANSLATION JETS SELECTED
|
||||
# BITS 12,11: NO. YAW JETS USED TO PERFORM ROTATION
|
||||
|
||||
# ROT TRANS QUAD BIAS
|
||||
PYTABLE OCT 0 # 0 0 0
|
||||
OCT 5125 # + 0 0
|
||||
OCT 5252 # - 0 0
|
||||
OCT 0231 # 0 + 3
|
||||
OCT 2421 # + + 3
|
||||
OCT 2610 # - + 3
|
||||
OCT 0146 # 0 - 6
|
||||
OCT 2504 # + - 6
|
||||
OCT 2442 # - - 6
|
||||
OCT 0 # 0 A(B) 9
|
||||
OCT 2421 # + A(B) 9
|
||||
OCT 2442 # - A(B) 9
|
||||
OCT 0 # 0 C(D) 12
|
||||
OCT 2504 # + C(D) 12
|
||||
OCT 2610 # - C(D) 12
|
||||
|
||||
# MASKS FOR PITCH AND YAW COMMANDS
|
||||
|
||||
PJETS OCT 1417
|
||||
YJETS OCT 6360
|
||||
|
||||
# TABLE LOOK UP FOR YAW COMMANDS WITH AND WITHOUT X-TRANSLATION AND AC QUAD FAILURES PRESENT
|
||||
# BITS 11, 12 CONTAIN THE NUMBER OF YAW JETS USED TO PERFORM THE YAW ROTATION
|
||||
|
||||
TABYCOM INDEX XNDX2
|
||||
CA XLNNDX
|
||||
AD YINDEX
|
||||
INDEX A
|
||||
CA PYTABLE
|
||||
MASK YJETS # = 6360 OCT
|
||||
TS YWORD1
|
||||
EXTEND
|
||||
MP BIT5
|
||||
TS NYJETS # NO. OF YAW JETS USED TO PERFORM ROTATION
|
||||
|
||||
# Page 1043
|
||||
# ROLL COMMANDS TIMING(NO Y,Z TRANS, NO QUAD FAILS) 45MCT
|
||||
|
||||
RWORD CCS TAU # CHECK FOR ROLL COMMANDS
|
||||
CAF ONE
|
||||
TCF +2
|
||||
CAF TWO
|
||||
TS RINDEX
|
||||
|
||||
CCS ACORBD # FLAG FOR AC OR BD QUAD SELECTION FOR
|
||||
TCF BDROLL # ROLL COMMANDS
|
||||
TCF BDROLL # +, +0 = BD ROLL
|
||||
TCF +1 # -, -0 = AC ROLL
|
||||
|
||||
ACROLL CCS RACFAIL # CHECK FOR REAL FAILURES
|
||||
TCF RAFAIL # ON AC QUADS
|
||||
TCF RXLNS
|
||||
TCF RCFAIL
|
||||
TCF RXLNS
|
||||
|
||||
RAFAIL CAF NINE # QUAD FAILURE WILL GET
|
||||
TCF TABRCOM # 1-JET OPERATION
|
||||
RCFAIL CAF TWELVE
|
||||
TCF TABRCOM
|
||||
|
||||
XLN1NDX DEC 0
|
||||
DEC 1 # INDICES FOR TRANSLATION
|
||||
DEC 2
|
||||
DEC 0
|
||||
|
||||
# TABLE LOOK UP FOR AC-ROLL COMMANDS WITH AND WITHOUT Y-TRANSLATION AND ACQUAD FAILURES PRESENT
|
||||
# BITS 9,10,11 CONTAIN THE MAGNITUDE AND DIRECTION OF THE ROLL
|
||||
|
||||
RXLNS INDEX YNDX # NO AC QUAD FAILURES
|
||||
CA XLNNDX # INCLUDE +,-,0, Y-TRANSLATION
|
||||
TABRCOM AD RINDEX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK ACRJETS # = 3760 OCT
|
||||
TS RWORD1
|
||||
|
||||
# CHECK FOR Z-TRANSLATIONS ON BD
|
||||
|
||||
BDZCHECK CA ZNDX
|
||||
EXTEND
|
||||
BZMF NOBDZ # NO Z-TRANSLATION
|
||||
|
||||
# Page 1044
|
||||
# TABLE LOOK UP FOR BD Z-TRANSLATION WITH AND WITHOUT REAL BD QUAD FAILURES. Z-TRANSLATION WILL BE POSS-
|
||||
# IBLE AS LONG AS ROLL COMMANDS CAN BE SATISFIED WITH THE AC ROLL JETS. CRITERION: IF THE RESULTANT NET ROLL
|
||||
# COMMANDS = 0 (WITH Z-TRANSLATION) AND IF TAU = 0, THEN INCLUDE THE BD Z-TRANSLATION COMMANDS. IF THE RESULTANT
|
||||
# ROLL COMMAND = 0, AND IF TAU NZ, THEN IGNORE THE BD Z-TRANSLATION
|
||||
|
||||
CCS RBDFAIL
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX ZNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK BDZJETS # = 3417 OCT
|
||||
AD RWORD1 # ADD TO ROLL COMMANDS
|
||||
TS T5TEMP # IF POSSIBLE. MUST CHECK TAU FIRST
|
||||
|
||||
EXTEND
|
||||
MP BIT7 # DETERMINE THE NET ROLL COMMAND WITH
|
||||
AD =-4 # Z-TRANSLATION ADDED ON
|
||||
TS NRJETS # NET NO. OF +,- ROLL JETS ON
|
||||
EXTEND
|
||||
BZF TAUCHECK
|
||||
|
||||
ACRBDZ CA T5TEMP # Z-TRANSLATION ACCEPTED EVEN THO WE MAY
|
||||
TS RWORD1 # HAVE INTRODUCED AN UNDESIRABLE ROLL
|
||||
TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATIONS
|
||||
|
||||
TAUCHECK CCS TAU
|
||||
TCF NOBDZ
|
||||
TCF ACRBDZ
|
||||
TCF NOBDZ
|
||||
TCF ACRBDZ
|
||||
|
||||
NOBDZ CA RWORD1 # Z-TRANSLATION NOT ACCEPTED
|
||||
EXTEND
|
||||
MP BIT7
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATION
|
||||
|
||||
# Page 1045
|
||||
# BD QUAD SELECTION FOR ROLL COMMANDS
|
||||
|
||||
BDROLL CCS RBDFAIL
|
||||
TCF RBFAIL
|
||||
TCF RZXLNS
|
||||
TCF RDFAIL
|
||||
TCF RZXLNS
|
||||
RBFAIL CAF NINE
|
||||
TCF TABRZCMD
|
||||
RDFAIL CAF TWELVE
|
||||
TCF TABRZCMD
|
||||
|
||||
RZXLNS INDEX ZNDX # NO BD FAILURES
|
||||
CA XLNNDX # +,-,0 Z-TRANSLATION PRESENT
|
||||
TABRZCMD AD RINDEX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK BDRJETS # = 34017 OCT
|
||||
TS RWORD1
|
||||
|
||||
ACYCHECK CA YNDX # ANY Y-TRANSLATION
|
||||
EXTEND
|
||||
BZF NOACY # NO Y-TRANSLATION
|
||||
CCS RACFAIL
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX YNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK ACYJETS # = 34360 OCT
|
||||
AD RWORD1
|
||||
TS T5TEMP
|
||||
EXTEND # FOR EXPLANATION SEE CODING ON RTABLE
|
||||
MP BIT4
|
||||
AD =-4
|
||||
TS NRJETS # NO. OF NET ROLL JETS
|
||||
EXTEND
|
||||
BZF TAUCHCK # IF NRJETS = 0
|
||||
|
||||
BDRACZ CA T5TEMP # Y-TRANSLATION ACCEPTED
|
||||
TS RWORD1
|
||||
TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATIONS
|
||||
|
||||
TAUCHCK CCS TAU
|
||||
TCF NOACY
|
||||
TCF BDRACZ
|
||||
TCF NOACY
|
||||
TCF BDRACZ
|
||||
|
||||
# Page 1046
|
||||
NOACY CA RWORD1 # Y-TRANSLATION NOT ACCEPTED
|
||||
EXTEND
|
||||
MP BIT4
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
TCF ROLLTIME
|
||||
|
||||
# Page 1047
|
||||
# TABLE FOR ROLL, Y AND Z-TRANSLATION COMMANDS
|
||||
#
|
||||
# EITHER AC OR BD ROLL MAY BE SELECTED. IF AC ROLL IS SELECTED, Y-TRANSLATIONS MAY BE SATISFIED SIMULTANEOUSLY
|
||||
# PROVIDED THAT THERE ARE NO AC QUAD FAILURES. IF THERE ARE AC FAILURES, Y-TRANSLATION COMMANDS WILL BE IGNORED,
|
||||
# IN WHICH CASE THE ASTRONAUT SHOULD SWITCH TO BD ROLL.
|
||||
#
|
||||
# IF BDROLL IS SELECTED, Z-TRANSLATIONS MAY BE SATISFIED SIMULTANEOUSLY PROVIDED THAT THERE ARE NO BD QUAD
|
||||
# FAILURES. IF THERE ARE BD FAILURES, Z-TRANSLATION COMMANDS WILL BE IGNORED, IN WHICH CASE THE ASTRONAUT SHOULD
|
||||
# SWITCH TO AC ROLL.
|
||||
#
|
||||
# NOTE THAT IF ONE QUAD FAILS (E.G. B FAILED), Z-TRANSLATION IS STILL POSSIBLE AND THAT THE UNDESIREABLE ROLL
|
||||
# INTRODUCED BY THIS TRANSLATION WILL BE COMPENSATED BY THE TWO AC ROLL JETS ACTUATED BY THE AUTOPILOT LOGIC.
|
||||
#
|
||||
# WORD MAKE UP....RTABLE
|
||||
#
|
||||
# TWO WORDS, CORRESPONDING TO AC OR BD ROLL SELECTION, HAVE BEEN COMBINED INTO ONE TABLE. THE WORD CORRESPONDING
|
||||
# TO AC ROLL HAS THE FOLLOWING INTERPRETATION:
|
||||
#
|
||||
# BITS 9,10,11 ARE CODED TO GIVE THE NET ROLL TORQUE FOR THE WORD SELECTED. THE CODING IS:
|
||||
#
|
||||
# BIT NO. 11 10 9 NO. OF ROLL JETS
|
||||
#
|
||||
# 0 0 0 -2
|
||||
# 0 0 1 -1
|
||||
# 0 1 0 0
|
||||
# 0 1 1 +1
|
||||
# 1 0 0 +2
|
||||
#
|
||||
# THIS WORD MAY THEN BE ADDED TO THE WORD SELECTED FROM THE YZ-TRANSLATION TABLE, WHICH HAS THE SAME TYPE OF
|
||||
# CODING AS ABOVE, AND THE NET ROLL DETERMINED BY SHIFTING THE RESULTANT WORD RIGHT 8 PLACES AND SUBTRACTING FOUR.
|
||||
#
|
||||
# THE WORD CORRESPONDING TO THE BD ROLL HAS A SIMILAR INTEPRETATION, EXCEPT THAT BITS 12, 13, 14 ARE CODED
|
||||
# (AS ABOVE) TO GIVE THE NET ROLL TORQUE.
|
||||
|
||||
# ROLL TRANS QUADFAIL BIAS
|
||||
|
||||
RTABLE OCT 11000 # 0 0
|
||||
OCT 22125 # + 0
|
||||
OCT 00252 # - 0
|
||||
OCT 11231 # 0 +Y(+Z) 3
|
||||
OCT 15421 # + +Y(+Z) 3
|
||||
OCT 04610 # - +Y(+Z) 3
|
||||
OCT 11146 # 0 -Y(-Z) 6
|
||||
OCT 15504 # + -Y(-Z) 6
|
||||
OCT 04442 # - -Y(-Z) 6
|
||||
OCT 11000 # 0 A(B) 9
|
||||
OCT 15504 # + A(B) 9
|
||||
OCT 04610 # - A(B) 9
|
||||
OCT 11000 # 0 C(D) 12
|
||||
OCT 15421 # + C(D) 12
|
||||
OCT 04442 # - C(D) 12
|
||||
|
||||
# Page 1048
|
||||
# RTABLE MASKS:
|
||||
|
||||
ACRJETS OCT 03760
|
||||
BDRJETS OCT 34017
|
||||
|
||||
# Page 1049
|
||||
# Y, Z TRANSLATION TABLE
|
||||
#
|
||||
# ONCE AC OR BD ROLL IS SELECTED THE QUAD PAIR WHICH IS NOT BEING USED TO SATISFY THE ROLL COMMANDS MAY BE
|
||||
# USED TO SATISFY THE REMAINING TRANSLATION COMMANDS. HOWEVER, WE MUST MAKE SURE THAT ROLL COMMANDS ARE SATISFIED
|
||||
# WHEN THEY OCCUR. THEREFORE, THE Y-Z TRANSLATIONS FROM THIS TABLE WILL BE IGNORED IF THE NET ROLL TORQUE OF THE
|
||||
# COMBINED WORD IS ZERO AND THE ROLL COMMANDS ARE NON-ZERO. THIS SITUATION WOULD OCCUR, FOR EXAMPLE, IF WE EN-
|
||||
# COUNTER SIMULTANEOUS +R +Y -Z COMMANDS AND A QUAD D FAILURE WHILE USING AC FOR ROLL.
|
||||
#
|
||||
# TO FACILITATE THE LOGIC, THE Y-Z TRANSLATION TABLE HAS BEEN CODED IN A MANNER SIMILAR TO THE ROLL TABLE
|
||||
# ABOVE.
|
||||
#
|
||||
# BITS 9,10,11 ARE CODED TO GIVE THE NET ROLL TORQUE INCURRED BY Z-TRANSLATIONS. THE WORD SELECTED CAN THEN BE
|
||||
# ADDED TO THE AC-ROLL WORD AND THE RESULTANT ROLL TORQUE DETERMINED FROM THE COMBINED WORD. SIMILARLY BITS
|
||||
# 12,13,14 ARE CODED TO GIVE THE NET ROLL TORQUE INCURRED BY Y-TRANSLATIONS WHEN BD-ROLL IS SELECTED.
|
||||
|
||||
# TRANSLATION QUADFAIL BIAS
|
||||
#
|
||||
YZTABLE OCT 11000 # 0 0
|
||||
OCT 11231 # +Z(+Y) 0
|
||||
OCT 11146 # -Z(-Y) 0
|
||||
OCT 11000 # 0 B(A) 3
|
||||
OCT 04610 # +Z(+Y) B(A) 3
|
||||
OCT 15504 # -Z(-Y) B(A) 3
|
||||
OCT 11000 # 0 D(C) 6
|
||||
OCT 15421 # +Z(+Y) D(C) 6
|
||||
OCT 04442 # -Z(-Y) D(C) 6
|
||||
|
||||
# YZ-TABLE MASKS:
|
||||
|
||||
BDZJETS OCT 03417
|
||||
ACYJETS OCT 34360
|
||||
|
||||
# ADDITIONAL CONSTANTS
|
||||
|
||||
=-2 = NEG2
|
||||
=-4 = NEG4
|
||||
|
||||
# Page 1050
|
||||
# CALCULATION OF JET ON-TIMES
|
||||
#
|
||||
# THE ROTATION COMMANDS (TAU'S), WHICH WERE DETERMINED FROM THE JET SWITCHING LOGIC ON THE BASIS OF SINGLE JET
|
||||
# OPERATION, MUST NOW BE UPDATED BY THE ACTUAL NUMBER OF JETS TO BE USED IN SATISFYING THESE COMMANDS. TAU MUST
|
||||
# ALSO BE DECREMENTED ACCORDING TO THE EXPECTED TORQUE GENERATED BY THE NEW COMMANDS ACTING OVER THE NEXT T5
|
||||
# INTERVAL.
|
||||
#
|
||||
# IN ORDER TO MAINTAIN ACCURATE KNOWLEDGE OF VEHICLE ANGULAR RATES, WE MUST ALSO PROVIDE EXPECTED FIRING TIMES
|
||||
# (DFT'S, ALSO IN TERMS OF 1-JET OPERATION) FOR THE RATE FILTER.
|
||||
#
|
||||
# NOTE THAT TRANSLATIONS CAN PRODUCE ROTATIONS EVEN THOUGH NO ROTATIONS WERE CALLED FOR. NEVERTHELESS, WE MUST
|
||||
# UPDATE DFT.
|
||||
#
|
||||
# WHEN THE ROTATIONS HAVE FINISHED, WE MUST PROVIDE CHANNEL INFORMATION TO THE T6 PROGRAM TO CONTINUE ON WITH
|
||||
# THE TRANSLATIONS. THIS WILL BE DONE IN THE NEXT SECTION. HOWEVER, TO INSURE THAT JETS ARE NOT FIRED FOR LESS
|
||||
# THAN A MINIMUM IMPULSE (14MS), ALL JET CHANNEL COMMANDS WILL BE HELD FIXED FROM THE START OF THE T5 PROGRAM FOR
|
||||
# AT LEAST 14MS UNTIL THE INITIALIZATION OF NEW COMMANDS. MOREOVER, A 14MS ON-TIME WILL BE ADDED TO ANY ROTATIONAL
|
||||
# COMMANDS GENERATED BY THE MANUAL CONTROLS OR THE JET SWITCHING LOGIC, AND ALL TRANSLATION COMMANDS WILL BE
|
||||
# ACTIVE FOR AT LEAST ONE CYCLE OF THE T5 PROGRAM (.1SEC)
|
||||
|
||||
# PITCH JET ON-TIME CALCULATION
|
||||
|
||||
PITCHTIM CCS TAU1
|
||||
TCF PTAUPOS
|
||||
TCF +2
|
||||
TCF PTAUNEG
|
||||
TS DFT1 # NO PITCH ROTATION
|
||||
TCF PBYPASS # COMMANDS
|
||||
|
||||
PTAUNEG CS NPJETS
|
||||
TS NPJETS
|
||||
PTAUPOS CA TAU1
|
||||
EXTEND
|
||||
INDEX NPJETS
|
||||
MP NJET
|
||||
TS BLAST1
|
||||
AD =-.1SEC
|
||||
EXTEND
|
||||
BZMF AD14MSP
|
||||
INDEX NPJETS
|
||||
CA DFTMAX # THE PITCH ON-TIME IS GREATER THAN .1 SEC
|
||||
TS DFT1
|
||||
COM
|
||||
ADS TAU1 # UPDATE TAU1
|
||||
CAF =+.1SEC # LIMIT THE LENGTH OF PITCH ROTATION
|
||||
TS BLAST1 # COMMANDS TO 0.1 SEC SO THAT ONLY
|
||||
TCF ASMBLWP # X-TRANSLATIONS WILL CONTINUE ON SWITCH
|
||||
# OVER TO TVC
|
||||
AD14MSP CS BLAST1 # SEE IF JET ON TIME IS LESS THAN
|
||||
AD =14MS # MINIMUM IMPULSE TIME
|
||||
EXTEND
|
||||
BZMF PBLASTOK # IF SO LIMIT MINIMUM ON TIME TO 14 MS
|
||||
CAF =14MS
|
||||
# Page 1051
|
||||
TS BLAST1
|
||||
PBLASTOK CA BLAST1
|
||||
EXTEND # THE PITCH COMMANDS WILL BE COMPLETED
|
||||
MP NPJETS # WITHIN THE TS-CYCLE TIME
|
||||
LXCH DFT1 # FOR USE IN UPDATING RATE FILTER
|
||||
TS TAU1 # ZERO TAU1 (ACC CONTAINS ZERO)
|
||||
TCF ASMBLWP
|
||||
|
||||
# Page 1052
|
||||
# YAW JET ON-TIME CALCULATION
|
||||
|
||||
YAWTIME CCS TAU2
|
||||
TCF YTAUPOS
|
||||
TCF +2
|
||||
TCF YTAUNEG
|
||||
TS DFT2 # NO YAW ROTATION COMMANDS
|
||||
TCF YBYPASS
|
||||
|
||||
YTAUNEG CS NYJETS
|
||||
TS NYJETS
|
||||
YTAUPOS CA TAU2
|
||||
EXTEND
|
||||
INDEX NYJETS
|
||||
MP NJET
|
||||
TS BLAST2
|
||||
AD =-.1SEC
|
||||
EXTEND
|
||||
BZMF AD14MSY
|
||||
INDEX NYJETS
|
||||
CA DFTMAX # YAW COMMANDS WILL LAST LONGER THAN .1SEC
|
||||
TS DFT2
|
||||
COM
|
||||
ADS TAU2 # DECREMENT TAU2
|
||||
CAF =+.1SEC # LIMIT THE LENGTH OF YAW ROTATION COMMAND
|
||||
TS BLAST2 # TO 0.1 SEC SO THAT ONLY X-TRANSLATION
|
||||
TCF ASMBLWY # WILL CONTINUE ON SWITCH OVER TO TVC
|
||||
|
||||
AD14MSY CS BLAST2 # SEE IF JET ON-TIME LESS THAN
|
||||
AD =14MS # MINIMUM IMPULSE TIME
|
||||
EXTEND
|
||||
BZMF YBLASTOK # IF SO, LIMIT MINIMUM ON-TIME TO 14 MS
|
||||
CAF =14MS
|
||||
TS BLAST2
|
||||
YBLASTOK CA BLAST2 # YAW COMMANDS WILL BE COMPLETED WITHIN
|
||||
EXTEND # THE T5CYCLE TIME
|
||||
MP NYJETS
|
||||
LXCH DFT2
|
||||
TS TAU2 # ZERO TAU2
|
||||
TCF ASMBLWY
|
||||
|
||||
# Page 1053
|
||||
# ROLL ON-TIME CALCULATION:
|
||||
|
||||
ROLLTIME CCS TAU
|
||||
TCF RBLAST
|
||||
TCF +2
|
||||
TCF RBLAST
|
||||
INDEX NRJETS
|
||||
CA DFTMAX # UPDATE DFT EVEN THO NO ROLL COMMANDS ARE
|
||||
TS DFT # PRESENT
|
||||
TCF RBYPASS
|
||||
|
||||
DEC -480 # =-.3SEC
|
||||
DEC -320 # =-.2SEC
|
||||
=-.1SEC DEC -160 # =-.1SEC
|
||||
DFTMAX DEC 0 # 0
|
||||
=+.1SEC DEC 160 # =+.1SEC
|
||||
DEC 320 # =+.2SEC
|
||||
DEC 480 # =+.3SEC
|
||||
=14MS DEC 23 # =14MS
|
||||
|
||||
RBLAST CA TAU
|
||||
EXTEND
|
||||
INDEX NRJETS
|
||||
MP NJET
|
||||
TS BLAST # BLAST IS AN INTERMEDIATE VARIABLE
|
||||
# USED IN DETERMINING THE JET ON-TIMES
|
||||
AD =-.1SEC
|
||||
EXTEND
|
||||
BZMF AD14MSR
|
||||
INDEX NRJETS # THE ROLL ROTATION WILL LAST LONGER
|
||||
CA DFTMAX # THAN THE T5 CYCLE TIME
|
||||
TS DFT
|
||||
COM
|
||||
ADS TAU
|
||||
CAF =+.1SEC # LIMIT THE LENGTH OF ROLL ROTATION
|
||||
TS BLAST # COMMANDS TO 0.1 SEC SO THAT ONLY Y-Z
|
||||
TCF ASMBLWR # TRANSLATION COMMANDS CONTINUE
|
||||
|
||||
AD14MSR CS BLAST # SEE IF THE JET ON-TIME LESS THAN
|
||||
AD =14MS # MINIMUM IMPULSE TIME
|
||||
EXTEND
|
||||
BZMF RBLASTOK
|
||||
CAF =14MS # IF SO, LIMIT MINIMUM ON-TIME TO 14 MS
|
||||
TS BLAST
|
||||
RBLASTOK CA BLAST
|
||||
EXTEND
|
||||
MP NRJETS
|
||||
LXCH DFT
|
||||
TS TAU # ZERO TAU
|
||||
TCF ASMBLWR
|
||||
|
||||
# Page 1054
|
||||
DEC -.333333 # = -1/3
|
||||
DEC -.500000 # = -1.2
|
||||
DEC -.999999 # = -1 (NEGMAX)
|
||||
NJET DEC 0
|
||||
DEC .999999 # = +1 (POSMAX)
|
||||
DEC .500000 # = +1/2
|
||||
DEC .333333 # = +1/3
|
||||
|
||||
# Page 1055
|
||||
# WHEN THE ROTATION COMMANDS ARE COMPLETED, IT IS NECESSARY TO REPLACE THESE COMMANDS BY NEW COMMANDS WHICH
|
||||
# CONTINUE ON WITH THE TRANSLATIONS IF ANY ARE PRESENT.
|
||||
#
|
||||
# IN THIS SECTION THESE NEW COMMANDS ARE GENERATED AND STORED FOR REPLACEMENT OF THE CHANNEL COMMANDS WHEN THE
|
||||
# CORRESPONDING ROTATIONS ARE COMPLETED.
|
||||
#
|
||||
# GENERATION OF THE SECOND PITCH(X-TRANS) WORD...PWORD2
|
||||
|
||||
ASMBLWP CCS RACFAIL
|
||||
TCF FPX2 # IF FAILURE ON AC IGNORE X-TRANSLATION
|
||||
TCF +2
|
||||
TCF FPX2
|
||||
INDEX XNDX1
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
FPX2 CA PYTABLE
|
||||
MASK PJETS
|
||||
TS PWORD2
|
||||
TCF YAWTIME
|
||||
|
||||
PBYPASS CA PWORD1 # THE T6 PROGRAM WILL LOAD PWORD2
|
||||
TS PWORD2 # UPON ENTRY
|
||||
CAF ZERO
|
||||
TS BLAST1 # THERE IS NO PWORD2
|
||||
TCF YAWTIME
|
||||
|
||||
# Page 1056
|
||||
# GENERATION OF THE SECOND ROLL (Y,Z) WORD (RWORD2)
|
||||
|
||||
ASMBLWR CCS YNDX # CHECK FOR Y-TRANS
|
||||
TCF ACBD2Y
|
||||
NO2Y CAF ZERO
|
||||
TS RWORD2
|
||||
CCS ZNDX # CHECK FOR Z-TRANS
|
||||
TCF ACBD2Z
|
||||
NO2Z CAF ZERO
|
||||
ADS RWORD2
|
||||
TCF PITCHTIM # RWORD2 ASSEMBLED
|
||||
|
||||
ACBD2Y CCS ACORBD
|
||||
TCF AC2Y # CAN DO Y-TRANS
|
||||
TCF AC2Y
|
||||
TCF +1 # USING AC FOR ROLL
|
||||
CCS RACFAIL
|
||||
TCF NO2Y # USING AC AND AC HAS FAILED
|
||||
TCF +2
|
||||
TCF NO2Y # DITTO
|
||||
|
||||
INDEX YNDX # NO FAILURES, CAN DO Y
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK ACRJETS
|
||||
TCF NO2Y +1
|
||||
|
||||
AC2Y CCS RACFAIL
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX YNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK ACYJETS
|
||||
TS RWORD2
|
||||
EXTEND
|
||||
MP BIT4
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
CS BLAST
|
||||
AD =+.1SEC
|
||||
EXTEND
|
||||
MP NRJETS
|
||||
CA L
|
||||
ADS DFT
|
||||
TCF NO2Y +2
|
||||
# Page 1057
|
||||
ACBD2Z CCS ACORBD
|
||||
TCF BDF2Z # USING BD-ROLL
|
||||
TCF BDF2Z # MUST CHECK FOR BD FAILURES
|
||||
TCF +1
|
||||
CCS RBDFAIL # USING AC FOR ROLL, CAN DO Z-TRANS
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX ZNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK BDZJETS
|
||||
ADS RWORD2
|
||||
EXTEND
|
||||
MP BIT7
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
CS BLAST
|
||||
AD =+.1SEC
|
||||
EXTEND
|
||||
MP NRJETS
|
||||
CA L
|
||||
ADS DFT
|
||||
TCF PITCHTIM
|
||||
|
||||
BDF2Z CCS RBDFAIL
|
||||
TCF NO2Z # USING BD-ROLL AND BD HAS FAILED
|
||||
TCF +2
|
||||
TCF NO2Z # DITTO
|
||||
INDEX ZNDX
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK BDRJETS
|
||||
TCF NO2Z +1
|
||||
|
||||
RBYPASS CA RWORD1
|
||||
TS RWORD2
|
||||
CAF ZERO
|
||||
TS BLAST
|
||||
TCF PITCHTIM
|
||||
|
||||
# Page 1058
|
||||
# GENERATION OF THE SECOND YAW (X-TRANS) WORD...YWORD2
|
||||
|
||||
ASMBLWY CCS RBDFAIL
|
||||
TCF FYX2 # IF FAILURE ON BD IGNORE X-TRANSLATION
|
||||
TCF +2
|
||||
TCF FYX2
|
||||
INDEX XNDX2
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
FYX2 CA PYTABLE
|
||||
MASK YJETS
|
||||
TS YWORD2
|
||||
TCF T6SETUP
|
||||
|
||||
YBYPASS CA YWORD1
|
||||
TS YWORD2
|
||||
CAF ZERO
|
||||
TS BLAST2
|
||||
|
||||
# Page 1059
|
||||
# SORT THE JET ON-TIMES
|
||||
#
|
||||
# AT THIS POINT ALL THE CHANNEL COMMANDS AND JET ON-TIMES HAVE BEEN DETERMINED. IN SUMMARY THESE ARE:
|
||||
#
|
||||
# RWORD1
|
||||
# RWORD2 BLAST
|
||||
#
|
||||
# PWORD1
|
||||
# PWORD2 BLAST1
|
||||
#
|
||||
# YWORD1
|
||||
# YWORD2 BLAST2
|
||||
#
|
||||
# IN THIS SECTION THE JET ON-TIMES ARE SORTED AND THE SEQUENCE OF T6 INTERRUPTS IS DETERMINED. TO FACILITATE
|
||||
# THE SORTING PROCESS AND THE T6 PROGRAM, THE VARIABLES BLAST, BLAST1, BLAST2, ARE RESERVED AS DOUBLE PRECISION
|
||||
# WORDS. THE LOWER PART OF THESE WORDS CONTAIN A BRANCH INDEX ASSOCIATED WITH THE ROTATION AXIS OF THE HIGHER
|
||||
# ORDER WORD.
|
||||
|
||||
T6SETUP CAF ZERO # BRANCH INDEX FOR ROLL
|
||||
TS BLAST +1
|
||||
CAF FOUR # BRANCH INDEX FOR PITCH
|
||||
TS BLAST1 +1
|
||||
CAF ELEVEN # BRANCH INDEX FOR YAW
|
||||
TS BLAST2 +1
|
||||
|
||||
CS BLAST
|
||||
AD BLAST1
|
||||
EXTEND
|
||||
BZMF DXCHT12 # T1 OR T2
|
||||
CHECKT23 CS BLAST1
|
||||
AD BLAST2
|
||||
EXTEND
|
||||
BZMF DXCHT23
|
||||
CALCDT6 CS BLAST1
|
||||
ADS BLAST2
|
||||
CS BLAST
|
||||
ADS BLAST1 # END OF SORTING PROCEDURE
|
||||
EXTEND # RESET T5LOC TO BEGIN PHASE1
|
||||
DCA RCS2CADR
|
||||
DXCH T5LOC
|
||||
ENDJETS CS BIT1 # RESET BIT1 FOR INITIALIZATION OF
|
||||
MASK RCSFLAGS # T6 PROGRAM
|
||||
TS RCSFLAGS
|
||||
CS ZERO # RESET T5PHASE FOR PHASE1
|
||||
TS T5PHASE
|
||||
TCF RESUME # RESUME INTERRUPTED PROGRAM
|
||||
|
||||
EBANK= KMPAC
|
||||
RCS2CADR 2CADR RCSATT
|
||||
|
||||
# Page 1060
|
||||
DXCHT12 DXCH BLAST
|
||||
DXCH BLAST1
|
||||
DXCH BLAST
|
||||
TCF CHECKT23
|
||||
|
||||
DXCHT23 DXCH BLAST1
|
||||
DXCH BLAST2
|
||||
DXCH BLAST1
|
||||
CS BLAST
|
||||
AD BLAST1
|
||||
EXTEND
|
||||
BZMF +2
|
||||
TCF CALCDT6
|
||||
DXCH BLAST
|
||||
DXCH BLAST1
|
||||
DXCH BLAST
|
||||
TCF CALCDT6
|
||||
|
||||
# Page 1061
|
||||
# T6 PROGRAM AND CHANNEL SETUP
|
||||
|
||||
BANK 21
|
||||
SETLOC DAPS5
|
||||
BANK
|
||||
|
||||
T6START LXCH BANKRUPT
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
CCS TIME6 # CHECK TO SEE IF TIME6 WAS RESET
|
||||
TCF RESUME # AFTER T6RUPT OCCURRED (IN T5RUPT)
|
||||
TCF +2 # IF SO WAIT FOR NEXT T6RUPT BEFORE
|
||||
TCF RESUME # TAKING ACTION
|
||||
|
||||
CS RCSFLAGS
|
||||
MASK BIT1 # IF BIT1 IS 0 RESET TO 1
|
||||
EXTEND # AND INITIALIZE CHANNEL
|
||||
BZF T6RUPTOR
|
||||
ADS RCSFLAGS
|
||||
CA RWORD1
|
||||
EXTEND # INITIALIZE CHANNELS 5,6 WITH WORD1
|
||||
WRITE CHAN6
|
||||
CA PWORD1
|
||||
AD YWORD1
|
||||
EXTEND
|
||||
WRITE CHAN5
|
||||
|
||||
T6RUPTOR CCS BLAST
|
||||
TCF ZBLAST # ZERO BLAST1
|
||||
TCF REPLACE # REPLACE WORD1
|
||||
TCF +2
|
||||
TCF REPLACE
|
||||
T6L1 CCS BLAST1
|
||||
TCF ZBLAST1
|
||||
TCF REPLACE1
|
||||
TCF +2
|
||||
TCF REPLACE1
|
||||
T6L2 CCS BLAST2
|
||||
TCF ZBLAST2
|
||||
TCF REPLACE2
|
||||
TCF RESUME
|
||||
TCF REPLACE2
|
||||
|
||||
REPLACE INDEX BLAST +1
|
||||
TC REPLACER
|
||||
CS ONE
|
||||
TS BLAST
|
||||
TCF T6L1
|
||||
|
||||
REPLACE1 INDEX BLAST1 +1
|
||||
# Page 1062
|
||||
TC REPLACER
|
||||
CS ONE
|
||||
TS BLAST1
|
||||
TCF T6L2
|
||||
|
||||
REPLACE2 INDEX BLAST2 +1
|
||||
TC REPLACER
|
||||
CS ONE
|
||||
TS BLAST2
|
||||
TCF RESUME
|
||||
|
||||
REPLACER CA RWORD2 # INITIALIZE CHANNELS 5,6 WITH WORD2
|
||||
EXTEND
|
||||
WRITE CHAN6
|
||||
TC Q
|
||||
|
||||
REPLACEP CA YJETS
|
||||
EXTEND
|
||||
RAND CHAN5
|
||||
AD PWORD2
|
||||
EXTEND
|
||||
WRITE CHAN5
|
||||
TC Q
|
||||
|
||||
REPLACEY CA PJETS
|
||||
EXTEND
|
||||
RAND CHAN5
|
||||
AD YWORD2
|
||||
EXTEND
|
||||
WRITE CHAN5
|
||||
TC Q
|
||||
|
||||
ZBLAST CAF ZERO
|
||||
XCH BLAST
|
||||
TCF ENABT6
|
||||
ZBLAST1 CAF ZERO
|
||||
XCH BLAST1
|
||||
TCF ENABT6
|
||||
ZBLAST2 CAF ZERO
|
||||
XCH BLAST2
|
||||
ENABT6 TS TIME6
|
||||
CAF NEGMAX
|
||||
EXTEND
|
||||
WOR CHAN13 # ENABLE T6RUPT
|
||||
TCF RESUME
|
||||
|
||||
# END OF T6 INTERRUPT
|
||||
|
||||
ENDSLECT EQUALS
|
||||
|
Reference in New Issue
Block a user