Reorganized files to separate Luminary099 source code from Comanche055 source code
This commit is contained in:
781
Comanche055/TVCDAPS.s
Normal file
781
Comanche055/TVCDAPS.s
Normal file
@ -0,0 +1,781 @@
|
||||
# Copyright: Public domain.
|
||||
# Filename: TVCDAPS.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: 961-978
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
# 2009-05-20 RSB Corrections: Eliminated an extraneous EXTEND,
|
||||
# added a missing instruction to PFORWARD.
|
||||
# 2000-05-21 RSB Wrong opcode was used with DELBRTMP and
|
||||
# DELBRTMP +1 operands in 4 places. Corrected
|
||||
# an MP operation in 2CASFLTR.
|
||||
#
|
||||
# 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 961
|
||||
# PROGRAM NAME....TVCDAP, CONSISTING OF PITCHDAP, YAWDAP, ETC.
|
||||
# LOG SECTION....TVCDAPS SUBROUTINE....DAPCSM
|
||||
# MODIFIED BY SCHLUNDT 21 OCTOBER 1968
|
||||
#
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
#
|
||||
# SELF-PERPETUATING T5 TASKS WHICH GENERATE THE COMMAND SIGNALS
|
||||
# FOR THE PITCH AND YAW SPS GIMBAL ACTUATORS DURING TVC (SPS) BURNS,
|
||||
# IN RESPONSE TO BODY-AXIS RATE COMMANDS FROM CROSS-PRODUCT STEERING
|
||||
# (S40.8). IF NO STEERING (IMPULSIVE BURNS) MAINTAINS ATTITUDE-HOLD
|
||||
# ABOUT THE REFERENCE (INITIAL) DIRECTIONS (ZERO RATE COMMANDS).
|
||||
#
|
||||
# THE PITCH AND YAW LOOPS ARE SEPARATE, BUT STRUCTURED IDENTICALLY.
|
||||
# EACH ATTITUDE-RATE LOOP INCLUDES GIMBAL ANGLE RATE DERIVATION,
|
||||
# GIMBAL/BODY AXIS TRANSFORMATION, BODY-AXIS ATTITUDE ERROR
|
||||
# INTEGRATION WITH ERROR LIMITING, THE GENERALIZED 6TH-ORDER FILTERS
|
||||
# FOR CSM OR CSM/LM OPERATION. A FILTER OUTPUT LIMITER.
|
||||
# CG-OFFSET TRACKER FILTER, AND THE CG-TRACKER MINOR LOOP.
|
||||
#
|
||||
# THE DAPS ARE CYCLIC, CALLING EACH OTHER AT 1/2 THE DAP SAMPLE
|
||||
# TIME, AS DETERMINED BY T5TVCDT. THE ACTUATOR COMMANDS ARE
|
||||
# REGENERATED AS ANALOG VOLTAGES BY THE OPTICS ERROR COUNTERS, WHICH
|
||||
# TRANSMIT THE SIGNAL TO THE ACTUATOR SERVOS WHEN THERE IS PROPER CDU
|
||||
# MODING.
|
||||
#
|
||||
# CALLING SEQUENCE.... (TYPICALLY)
|
||||
#
|
||||
# T5 CALL OF TVCDAPON (TVCINITIALIZE) BY DOTVCON (P40)
|
||||
# T5 CALL OF DAPINIT (TVCDAPS) BY TVCINIT4 (TVCINITIALIZE)
|
||||
# T5 CALL OF PITCHDAP BY DAPINIT
|
||||
# T5 CALL OF YAWDAP BY PITCHDAP
|
||||
# T5 CALL OF PITCHDAP BY YAWDAP
|
||||
# ETC.
|
||||
# (AUTOMATIC SEQUENCING FROM TVCDAPON)
|
||||
#
|
||||
# NORMAL EXIT MODE....RESUME
|
||||
#
|
||||
# ALARM OR ABORT EXIT MODES....NONE
|
||||
#
|
||||
# SUBROUTINES CALLED....
|
||||
#
|
||||
# HACK FOR STROKE TEST (V68) WAVEFORM GENERATION
|
||||
# PCOPY, YCOPY FOR COPY-CYCLES (USED ALSO BY TVC RESTART PACKAGE)
|
||||
# DAPINIT FOR INITIAL CDUS FOR RATE MEASUREMENTS
|
||||
# ERRORLIM, ACTLIM FOR INPUT (ATTITUDE-ERROR INTEGRATION) AND
|
||||
# OUTPUT (ACTUATOR COMMAND) LIMITING, COMMON TO PITCH AND
|
||||
# YAW DAPS
|
||||
# FWDFLTR (INCLUDING OPTVARK) AND PRECOMP, TO COMPUTE FILTER
|
||||
# OUTPUTS AND STORAGE VALUES
|
||||
# RESUME
|
||||
#
|
||||
# Page 962
|
||||
# OTHER INTERFACES
|
||||
#
|
||||
# S40.8 CROSS-PRODUCT STEERING FOR BODY AXIS RATE COMMANDS OMEGAY,ZC
|
||||
# S40.15 FOR THE INITIAL DAP GAINS VARK AND 1/CONACC
|
||||
# TVCEXECUTIVE FOR DAP GAIN UPDATES AND TMC LOOP OPERATIONS
|
||||
# TVCRESTART PACKAGE FOR TVC RESTART PROTECTION.
|
||||
#
|
||||
# ERASABLE INITIALIZATION REQUIRED....
|
||||
#
|
||||
# PAD-LOAD ERASABLES (SEE ERASABLE ASSIGNMENTS)
|
||||
# CONFIGURATION BITS (14, 13) OF DAPDATR1 AS IN R03
|
||||
# ENGINE-ON BIT (11.13) FOR RESTARTS
|
||||
# TVCPHASE FOR RESTARTS (SEE DOTVCON, AND TVCINIT4)
|
||||
# T5 BITS (15,14 OF FLAGWRD6) FOR RESTARTS
|
||||
# MISCELLANEOUS VARIABLES SET UP OR COMPUTED BY TVCDAPON....TVCINIT4,
|
||||
# INCLUDING THE ZEROING OF TEMPORARIES BY MRCLEAN
|
||||
# CDUX,Y,Z AND SINCDUX.... COSCDUX AS PREPARED BY QUICTRIG1 (WITH
|
||||
# UPDATES EVERY 1/2 SECOND)
|
||||
# ALSO G+N PRIMARY, TVC ENABLE, AND OPTICS ERROR COUNTER ENABLE
|
||||
# UNLESS BENCH-TESTING.
|
||||
#
|
||||
# OUTPUT....
|
||||
#
|
||||
# TVCPITCH AND TVCYAW WITH COUNTER RELEASE (11.14 AND 11.13 INCREMENTAL
|
||||
# COMMANDS TO OPTICS ERROR COUNTERS), FILTER NODES, BODY-
|
||||
# AXIS ATTITUDE ERROR INTEGRATOR, TOTAL ACTUATOR COMMANDS,
|
||||
# OFFSET-TRACKER-FILTER OUTPUTS, ETC.
|
||||
#
|
||||
# DEBRIS....
|
||||
#
|
||||
# MUCH, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY
|
||||
|
||||
BANK 17
|
||||
SETLOC DAPS2
|
||||
BANK
|
||||
|
||||
EBANK= BZERO
|
||||
|
||||
COUNT* $$/DAPS
|
||||
|
||||
# Page 963
|
||||
# PITCH TVCDAP STARTS HERE....(INCOPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
|
||||
|
||||
PITCHDAP LXCH BANKRUPT # T5 ENTRY, NORMAL OR VIA DAPINIT
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
|
||||
CAF YAWT5 # SET UP T5 CALL FOR YAW AUTOPILOT (LOW-
|
||||
TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
|
||||
CAE T5TVCDT
|
||||
TS TIME5
|
||||
|
||||
PSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
|
||||
TC HACK # TEST-START OR TEST-IN-PROGRESS
|
||||
TCF +2 # NO-TEST
|
||||
TC HACK # TEST-IN-PROGRESS
|
||||
|
||||
PCDUDOTS CAE CDUY # COMPUTE CDUYDOT (USED BY PITCH AND YAW)
|
||||
XCH PCDUYPST
|
||||
EXTEND
|
||||
MSU PCDUYPST
|
||||
TCR RLIMTEST # RATE TEST
|
||||
TS MCDUYDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
|
||||
|
||||
CAE CDUZ # COMPUTE CDUZDOT (USED BY PITCH AND YAW)
|
||||
XCH PCDUZPST
|
||||
EXTEND
|
||||
MSU PCDUZPST
|
||||
TCR RLIMTEST # RATE TEST
|
||||
TS MCDUZDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
|
||||
TCF PINTEGRL
|
||||
|
||||
RLIMTEST TS TTMP1 # TEST FOR EXCESSIVE CDU RATES (GREATER
|
||||
EXTEND # THAN 2.33 DEG IN ONE SAMPLE PERIOD
|
||||
MP 1/RTLIM
|
||||
EXTEND
|
||||
BZF +3
|
||||
CAF ZERO
|
||||
TS TTMP1
|
||||
CAE TTMP1
|
||||
TC Q
|
||||
|
||||
PINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS PITCH-RATE
|
||||
DCA PERRB # ERROR, SC.AT B-1 REVS
|
||||
DXCH ERRBTMP
|
||||
|
||||
EXTEND
|
||||
DCA OMEGAYC
|
||||
DAS ERRBTMP
|
||||
|
||||
# Page 964
|
||||
CS COSCDUZ # PREPARE BODY-AXIS PITCH RATE, OMEGAYB
|
||||
EXTEND
|
||||
MP COSCDUX
|
||||
DDOUBL
|
||||
EXTEND
|
||||
MP MCDUYDOT
|
||||
DDOUBL
|
||||
DXCH OMEGAYB
|
||||
|
||||
CS MCDUZDOT
|
||||
EXTEND
|
||||
MP SINCDUX
|
||||
DDOUBL
|
||||
DAS OMEGAYB # (COMPLETED OMEGAYB, SC.AT 1/2TVCDT REVS)
|
||||
|
||||
EXTEND # PICK UP -OMEGAYB (SIGN CHNG, INTEGRATE)
|
||||
DCS OMEGAYB
|
||||
DAS ERRBTMP
|
||||
|
||||
PERORLIM TCR ERRORLIM # PITCH BODY-AXIS-ERROR INPUT LIMITER
|
||||
|
||||
PFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
|
||||
DCA PTMP1 # FOR THE PITCH CHANNEL
|
||||
DXCH TMP1
|
||||
EXTEND
|
||||
DCA PTMP3
|
||||
DXCH TMP3
|
||||
EXTEND
|
||||
DCA PTMP5
|
||||
DXCH TMP5
|
||||
|
||||
TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
|
||||
# (INCLUDES VARIABLE GAIN PACKAGE)
|
||||
|
||||
POFFSET EXTEND
|
||||
DCA PDELOFF
|
||||
DAS CMDTMP # NO SCALED AT B+0 ASCREV
|
||||
|
||||
PACLIM TCR ACTLIM # ROUND OFF & LIMIT PITCH ACTUATOR COMMAND
|
||||
|
||||
POUT CS PCMD # INCREMENTAL PITCH COMMAND
|
||||
AD CMDTMP
|
||||
ADS TVCPITCH # UPDATE THE ERROR COUNTER (NO RESTART-
|
||||
# PROTECT. SINCE ERROR CNTR ZEROED)
|
||||
|
||||
CAF BIT11 # BIT FOR TVCPITCH COUNT RELEASE
|
||||
EXTEND
|
||||
WOR CHAN14
|
||||
|
||||
PPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR PITCH
|
||||
# Page 965
|
||||
DCA PTMP2
|
||||
DXCH TMP2
|
||||
EXTEND
|
||||
DCA PTMP4
|
||||
DXCH TMP4
|
||||
EXTEND
|
||||
DCA PTMP6
|
||||
DXCH TMP6
|
||||
|
||||
TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
|
||||
|
||||
DELBARP CAE DELPBAR +1
|
||||
EXTEND
|
||||
MP E(-AT)
|
||||
TS DELBRTMP +1
|
||||
CAE DELPBAR
|
||||
EXTEND
|
||||
MP E(-AT)
|
||||
DAS DELBRTMP
|
||||
CAE CMDTMP
|
||||
EXTEND
|
||||
MP 1-E(-AT)
|
||||
DAS DELBRTMP
|
||||
|
||||
PCOPYCYC TCR PCOPY # PITCH COPYCYCLE
|
||||
|
||||
PDAPEND TCF RESUME # PITCH DAP COMPLETED
|
||||
# Page 966
|
||||
# PITCH TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA PITCH TVCDAP OR TVC RESTART PACKAGE)
|
||||
|
||||
PCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (1)
|
||||
# NOTE POSSIBLE RE-ENTRY FROM RESTART
|
||||
# PACKAGE, SHOULD A RESTART OCCUR
|
||||
# DURING PITCH COPYCYCLE.
|
||||
|
||||
EXTEND
|
||||
DCA TMP1
|
||||
DXCH PTMP1
|
||||
EXTEND
|
||||
DCA TMP2
|
||||
DXCH PTMP2
|
||||
EXTEND
|
||||
DCA TMP3
|
||||
DXCH PTMP3
|
||||
EXTEND
|
||||
DCA TMP4
|
||||
DXCH PTMP4
|
||||
EXTEND
|
||||
DCA TMP5
|
||||
DXCH PTMP5
|
||||
EXTEND
|
||||
DCA TMP6
|
||||
DXCH PTMP6
|
||||
|
||||
PMISC EXTEND # MISC....PITCH-RATE-ERROR INTEGRATOR
|
||||
DCA ERRBTMP
|
||||
TS AK1 # FOR PITCH NEEDLES, SC.AT B-1 REVS
|
||||
DXCH PERRB
|
||||
|
||||
CAE CMDTMP # PITCH ACTUATOR COMMAND
|
||||
TS PCMD
|
||||
|
||||
EXTEND # PITCH OFFSET-TRACKER-FILTER
|
||||
DCA DELBRTMP
|
||||
DXCH DELPBAR
|
||||
|
||||
INCR TVCPHASE # PITCH COPYCYCLE COMPLETED (2)
|
||||
|
||||
TC Q
|
||||
|
||||
# Page 967
|
||||
# YAW TVCDAP STARTS HERE....(INCORPORATES CSM/LEM DAP FILTER, MODOR DESIGN)
|
||||
|
||||
YAWDAP LXCH BANKRUPT # T5 ENTRY, NORMAL
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
|
||||
CAF PITCHT5 # SET UP T5 CALL FOR PITCH AUTOPILOT (LOW-
|
||||
TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
|
||||
CAE T5TVCDT
|
||||
TS TIME5
|
||||
|
||||
YSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST
|
||||
TC HACK # TEST-START OR TEST-IN-PROGRESS
|
||||
TCF +2 # NO-TEST
|
||||
TC HACK # TEST-IN-PROGRESS
|
||||
|
||||
# USE BODY RATES FROM PITCHDAP (PCDUDOTS)
|
||||
|
||||
YINTEGRL EXTEND # COMPUTE INTEGRAL OF BODY-AXIS YAW-RATE
|
||||
DCA YERRB # ERROR, SC.AT B-1 REVS
|
||||
DXCH ERRBTMP
|
||||
|
||||
EXTEND
|
||||
DCA OMEGAZC
|
||||
DAS ERRBTMP
|
||||
|
||||
CAE COSCDUZ # PREPARE BODY-AXIS YAW-RATE, OMEGAZB
|
||||
EXTEND
|
||||
MP SINCDUX
|
||||
DDOUBL
|
||||
EXTEND
|
||||
MP MCDUYDOT
|
||||
DDOUBL
|
||||
DXCH OMEGAZB
|
||||
|
||||
CS MCDUZDOT
|
||||
EXTEND
|
||||
MP COSCDUX
|
||||
DDOUBL
|
||||
DAS OMEGAZB # (COMPLETED OMEGAZB, SC.AT 1/2TVCDT REVS)
|
||||
|
||||
EXTEND # PICK UP -OMEGAZB (SIGN CHNG, INTEGRATE)
|
||||
DCS OMEGAZB
|
||||
DAS ERRBTMP
|
||||
|
||||
YERORLIM TCR ERRORLIM # YAW BODY-AXIS-ERROR INPUT LIMITER
|
||||
|
||||
YFORWARD EXTEND # PREPARE THE FILTER STORAGE LOCATIONS
|
||||
DCA YTMP1 # FOR THE YAW CHANNEL
|
||||
# Page 968
|
||||
DXCH TMP1
|
||||
EXTEND
|
||||
DCA YTMP3
|
||||
DXCH TMP3
|
||||
EXTEND
|
||||
DCA YTMP5
|
||||
DXCH TMP5
|
||||
|
||||
TCR FWDFLTR # GO COMPUTE PRESENT OUTPUT
|
||||
# (INCLUDES VARIABLE GAIN PACKAGE)
|
||||
|
||||
YOFFSET EXTEND
|
||||
DCA YDELOFF
|
||||
DAS CMDTMP # NOW SCALED AT B+0 ASCREV
|
||||
|
||||
YACLIM TCR ACTLIM # YAW ACTUATOR-COMMAND-LIMITER
|
||||
|
||||
YOUT CS YCMD # INCRMENTAL YAW COMMAND
|
||||
AD CMDTMP
|
||||
ADS TVCYAW # UPDATE THE ERROR COUNTER (NO RESTART-
|
||||
# PROTECT, SINCE ERROR CNTR ZEROED)
|
||||
|
||||
CAF BIT12 # BIT FOR TVCYAW COUNT RELEASE
|
||||
EXTEND
|
||||
WOR CHAN14
|
||||
|
||||
YPRECOMP EXTEND # PREPARE THE FILTER STORAGE FOR YAW
|
||||
DCA YTMP2
|
||||
DXCH TMP2
|
||||
EXTEND
|
||||
DCA YTMP4
|
||||
DXCH TMP4
|
||||
EXTEND
|
||||
DCA YTMP6
|
||||
DXCH TMP6
|
||||
|
||||
TCR PRECOMP # TO THE FILTER FOR PRECOMPUTATION
|
||||
|
||||
DELBARY CAE DELYBAR +1 # UPDATE YAW OFFSET-TRACKER-FILTER
|
||||
EXTEND
|
||||
MP E(-AT)
|
||||
TS DELBRTMP +1
|
||||
CAE DELYBAR
|
||||
EXTEND
|
||||
MP E(-AT)
|
||||
DAS DELBRTMP
|
||||
CAE CMDTMP
|
||||
EXTEND
|
||||
MP 1-E(-AT)
|
||||
DAS DELBRTMP
|
||||
|
||||
# Page 969
|
||||
YCOPYCYC TCR YCOPY # YAW COPYCYCLE
|
||||
|
||||
YDAPEND TCF RESUME # YAW DAP COMPLETED
|
||||
|
||||
# Page 970
|
||||
# TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA YAW TVCDAP OR TVC RESTART PACKAGE)
|
||||
|
||||
YCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (3)
|
||||
# NOTE POSSIBLE RE-ENTRY FROM RESTART
|
||||
# PACKAGE, SHOULD A RESTART OCCUR
|
||||
# DURING YAW COPYCYCLE.
|
||||
|
||||
EXTEND
|
||||
DCA TMP1
|
||||
DXCH YTMP1
|
||||
EXTEND
|
||||
DCA TMP2
|
||||
DXCH YTMP2
|
||||
EXTEND
|
||||
DCA TMP3
|
||||
DXCH YTMP3
|
||||
EXTEND
|
||||
DCA TMP4
|
||||
DXCH YTMP4
|
||||
EXTEND
|
||||
DCA TMP5
|
||||
DXCH YTMP5
|
||||
EXTEND
|
||||
DCA TMP6
|
||||
DXCH YTMP6
|
||||
|
||||
YMISC EXTEND # MISC....YAW-RATE-ERROR INTEGRATOR
|
||||
DCA ERRBTMP
|
||||
TS AK2 # FOR YAW NEEDLES, SC.AT B-1 REVS
|
||||
DXCH YERRB
|
||||
|
||||
CAE CMDTMP
|
||||
TS YCMD
|
||||
|
||||
EXTEND
|
||||
DCA DELBRTMP
|
||||
DXCH DELYBAR
|
||||
|
||||
CAF ZERO # YAW COPYCYCLE COMPLETED
|
||||
TS TVCPHASE # RESET TVCPHASE
|
||||
|
||||
TC Q
|
||||
|
||||
# Page 971
|
||||
# SUBROUTINES COMMON TO BOTH PITCH AND YAW DAPS....
|
||||
|
||||
# INITIALIZATION PACKAGE FOR CDURATES....
|
||||
|
||||
DAPINIT LXCH BANKRUPT # T5 RUPT ENTRY (CALLED BY TVCINT4)
|
||||
|
||||
CAF NEGONE # SET UP
|
||||
AD T5TVCDT # T5 CALL FOR PITCHDAP IN TVCDT SECS
|
||||
AD NEGMAX # (T5TVCDT = POSMAX - TVCDT/2 +1)
|
||||
AD T5TVCDT
|
||||
TS TIME5
|
||||
CAF PITCHT5 # (BBCON ALREADY THERE)
|
||||
TS T5LOC
|
||||
|
||||
CAE CDUY # READ AND STORE CDUS FOR DIFFERENTIATOR
|
||||
TS PCDUYPST # PAST-VALUES
|
||||
CAE CDUZ
|
||||
TS PCDUZPST
|
||||
|
||||
TCF NOQRSM
|
||||
|
||||
# BODY-AXIS-ERROR INPUT LIMITER PACKAGE....
|
||||
|
||||
ERRORLIM CAE ERRBTMP # CHECK FOR INPUT-ERROR LIMIT
|
||||
EXTEND # CHECKS UPPER WORD ONLY
|
||||
MP 1/ERRLIM
|
||||
EXTEND
|
||||
BZF +6
|
||||
CCS ERRBTMP
|
||||
CAF ERRLIM
|
||||
TCF +2
|
||||
CS ERRLIM
|
||||
TS ERRBTMP # LIMIT WRITES OVER UPPER WORD ONLY
|
||||
|
||||
TC Q
|
||||
|
||||
# ACTUATOR-COMMAND LIMITER PACKAGE....
|
||||
|
||||
ACTLIM CAE CMDTMP +1 # ROUND UP FOR OUTPUT
|
||||
DOUBLE
|
||||
TS L
|
||||
CAF ZERO
|
||||
AD CMDTMP
|
||||
|
||||
EXTEND # CHECK FOR ACTUATOR COMMAND LIMIT
|
||||
MP 1/ACTSAT
|
||||
EXTEND
|
||||
# Page 972
|
||||
BZF +6
|
||||
CCS CMDTMP # APPLY LIMITS
|
||||
CAF ACTSAT
|
||||
TCF +2
|
||||
CS ACTSAT
|
||||
TS CMDTMP # LIMITS WRITE OVER CMDTMP
|
||||
|
||||
TC Q
|
||||
|
||||
# FILTER COMPUTATIONS FOR PRESENT OUTPUT................
|
||||
|
||||
FWDFLTR CAF ZERO
|
||||
TS DAP1
|
||||
TS DAP2
|
||||
TS DAP3
|
||||
TS CMDTMP
|
||||
|
||||
TS DELBRTMP
|
||||
|
||||
1DAPCAS CAE ERRBTMP +1 # FIRST DAP CASCADE
|
||||
EXTEND
|
||||
MP N10 # N10
|
||||
TS DAP1 +1
|
||||
CA ERRBTMP
|
||||
EXTEND
|
||||
MP N10 # N10
|
||||
DAS DAP1
|
||||
DXCH TMP1
|
||||
DAS DAP1
|
||||
|
||||
2DAPCAS CAE DAP1 +1 # SECOND DAP CASCADE
|
||||
EXTEND
|
||||
MP N10 +5 # N20
|
||||
TS DAP2 +1
|
||||
CA DAP1
|
||||
EXTEND
|
||||
MP N10 +5 # N20
|
||||
DAS DAP2
|
||||
DXCH TMP3
|
||||
DAS DAP2
|
||||
|
||||
CAE DAPDATR1 # TEST FOR LEM ON OR OFF
|
||||
MASK BIT14
|
||||
CCS A
|
||||
TCF 3DAPCAS # LEM ON
|
||||
EXTEND # LEM OFF
|
||||
DCA DAP2
|
||||
DXCH DAP3
|
||||
TCF OPTVARK
|
||||
|
||||
# Page 973
|
||||
3DAPCAS CAE DAP2 +1 # THIRD DAP CASCADE
|
||||
EXTEND
|
||||
MP N10 +10D # N30
|
||||
TS DAP3 +1
|
||||
CA DAP2
|
||||
EXTEND
|
||||
MP N10 +10D # N30
|
||||
DAS DAP3
|
||||
DXCH TMP5
|
||||
DAS DAP3
|
||||
|
||||
OPTVARK CS DAP3 +1 # VARIABLE GAIN PACKAGE
|
||||
EXTEND # (ALSO, SIGN CHANGE IN FORWARD LOOP)
|
||||
MP VARK # SCALED AT 1/(8 ASCREV) OF ACTUAL VALUE
|
||||
TS CMDTMP +1
|
||||
CS DAP3
|
||||
EXTEND
|
||||
MP VARK
|
||||
DAS CMDTMP
|
||||
|
||||
DXCH CMDTMP # FIX UP SCALING -- SCALED B+3 ASCREVS
|
||||
DDOUBL
|
||||
DDOUBL
|
||||
DXCH CMDTMP # -- SCALED B+1 ASCREVS
|
||||
# NOTE -- THERE IS AN INHERENT GAIN OF
|
||||
# (B+1 ASCREVS) ON THE OUTPUT DACS.
|
||||
|
||||
TC Q
|
||||
|
||||
# FILTER PRECOMPUTATIONS FOR NEXT PASS................
|
||||
|
||||
PRECOMP CAF ZERO # **** FIRST CASCADE FILTER **********
|
||||
TS TTMP1
|
||||
TS TTMP2
|
||||
|
||||
CA ERRBTMP +1 # MULTIPLY INPUT BY
|
||||
EXTEND
|
||||
MP N10 +1 # N11/2
|
||||
TS TTMP1 +1
|
||||
CA ERRBTMP
|
||||
EXTEND
|
||||
MP N10 +1 # N11/2
|
||||
DAS TTMP1
|
||||
|
||||
CS DAP1 +1 # MULTIPLY OUTPUT BY
|
||||
EXTEND
|
||||
MP N10 +3 # D11/2
|
||||
TS TTMP2 +1
|
||||
CS DAP1
|
||||
|
||||
# Page 974
|
||||
EXTEND
|
||||
MP N10 +3 # D11/2
|
||||
DAS TTMP2
|
||||
|
||||
DXCH TTMP2
|
||||
DAS TTMP1
|
||||
DXCH TTMP1
|
||||
DDOUBL
|
||||
DAS TMP2
|
||||
|
||||
DXCH TMP2
|
||||
DXCH TMP1
|
||||
|
||||
CAF ZERO
|
||||
TS TTMP1
|
||||
TS TMP2
|
||||
|
||||
CA ERRBTMP +1 # MULTIPLY INPUT BY
|
||||
EXTEND # SECOND-ORDER NUMERATOR COEFF.
|
||||
MP N10 +2 # N12
|
||||
TS TTMP1 +1
|
||||
CA ERRBTMP
|
||||
EXTEND
|
||||
MP N10 +2 # N12
|
||||
DAS TTMP1
|
||||
|
||||
CS DAP1 +1 # MULTIPLY OUTPUT BY
|
||||
EXTEND
|
||||
MP N10 +4 # D12
|
||||
TS TMP2 +1
|
||||
CS DAP1
|
||||
EXTEND
|
||||
MP N10 +4 # D12
|
||||
DAS TMP2
|
||||
|
||||
DXCH TTMP1
|
||||
DAS TMP2
|
||||
|
||||
2CASFLTR CAF ZERO # **** SECOND CASCADE FILTER **********
|
||||
TS TTMP1
|
||||
TS TTMP2
|
||||
|
||||
CA DAP1 +1 # MULTIPLY INPUT BY
|
||||
EXTEND
|
||||
MP N10 +6 # N21/2
|
||||
TS TTMP1 +1
|
||||
CA DAP1
|
||||
EXTEND
|
||||
MP N10 +6 # N21/2
|
||||
# Page 975
|
||||
DAS TTMP1
|
||||
|
||||
CS DAP2 +1 # MULTIPLY OUTPUT BY
|
||||
EXTEND
|
||||
MP N10 +8D # D21/2
|
||||
TS TTMP2 +1
|
||||
CS DAP2
|
||||
EXTEND
|
||||
MP N10 +8D # D21/2
|
||||
DAS TTMP2
|
||||
|
||||
DXCH TTMP2
|
||||
DAS TTMP1
|
||||
DXCH TTMP1
|
||||
DDOUBL
|
||||
DAS TMP4
|
||||
|
||||
DXCH TMP4
|
||||
DXCH TMP3
|
||||
|
||||
CAF ZERO
|
||||
TS TTMP1
|
||||
TS TMP4
|
||||
|
||||
CA DAP1 +1 # MULTIPLY INPUT BY
|
||||
EXTEND # SECOND-ORDER NUMERATOR COEFF.
|
||||
MP N10 +7 # N22
|
||||
TS TTMP1 +1
|
||||
CA DAP1
|
||||
EXTEND
|
||||
MP N10 +7 # N22
|
||||
DAS TTMP1
|
||||
|
||||
CS DAP2 +1 # MULTIPLY OUTPUT BY
|
||||
EXTEND
|
||||
MP N10 +9D # D22
|
||||
TS TMP4 +1
|
||||
CS DAP2
|
||||
EXTEND
|
||||
MP N10 +9D # D22
|
||||
DAS TMP4
|
||||
|
||||
DXCH TTMP1
|
||||
DAS TMP4
|
||||
|
||||
CAE DAPDATR1 # TEST FOR LEM ON OR OFF
|
||||
MASK BIT13
|
||||
CCS A
|
||||
TC Q # EXIT IF LEM OFF
|
||||
|
||||
# Page 976
|
||||
3CASFLTR CAF ZERO # **** THIRD CASCADE FILTER **********
|
||||
TS TTMP1
|
||||
TS TTMP2
|
||||
|
||||
CA DAP2 +1 # MULTIPLY INPUT BY (1/2)
|
||||
EXTEND
|
||||
MP N10 +11D # N31/2
|
||||
TS TTMP1 +1
|
||||
CA DAP2
|
||||
EXTEND
|
||||
MP N10 +11D # N31/2
|
||||
DAS TTMP1
|
||||
|
||||
CS DAP3 +1
|
||||
EXTEND
|
||||
MP N10 +13D # D31/2
|
||||
TS TTMP2 +1
|
||||
CS DAP3
|
||||
EXTEND
|
||||
MP N10 +13D # D31/2
|
||||
DAS TTMP2
|
||||
|
||||
DXCH TTMP2
|
||||
DAS TTMP1
|
||||
DXCH TTMP1
|
||||
DDOUBL
|
||||
DAS TMP6
|
||||
|
||||
DXCH TMP6
|
||||
DXCH TMP5
|
||||
|
||||
CAF ZERO
|
||||
TS TTMP1
|
||||
TS TMP6
|
||||
|
||||
CA DAP2 +1 # MULTIPLY INPUT BY
|
||||
EXTEND
|
||||
MP N10 +12D # N32
|
||||
TS TTMP1 +1
|
||||
CA DAP2
|
||||
EXTEND
|
||||
MP N10 +12D # N32
|
||||
DAS TTMP1
|
||||
|
||||
CS DAP3 +1
|
||||
EXTEND
|
||||
MP N10 +14D # D32
|
||||
TS TMP6 +1
|
||||
CS DAP3
|
||||
EXTEND
|
||||
# Page 977
|
||||
MP N10 +14D # D32
|
||||
DAS TMP6
|
||||
|
||||
DXCH TTMP1
|
||||
DAS TMP6
|
||||
|
||||
TC Q
|
||||
|
||||
# Page 978
|
||||
# CONSTANTS FOR AUTOPILOTS
|
||||
|
||||
# NOTE....1 ASCREV (ACTUATOR CMD SCALING) = 85.41 ARCSEC/BIT OR 1.07975111 REVS (85.41x16384/3600/360)
|
||||
# 1 SPASCREV (SPECIAL ACTUATOR CMD SCALING) = 1.04620942 REVS
|
||||
|
||||
ACTSAT DEC 253 # ACTUATOR LIMIT (6 DEG), SC.AT 1ASCREV
|
||||
1/ACTSAT DEC .0039525692 # RECIPROCAL (1/253)
|
||||
|
||||
ERRLIM EQUALS BIT13 # FILTER INPUT LIMIT....B-3 REVS (45DEG),
|
||||
1/ERRLIM EQUALS BIT3 # SC.AT B-1 REV, AND ITS RECIPROCAL
|
||||
|
||||
PITCHT5 GENADR PITCHDAP # UPPER WORDS OF T5 2CADRS, LOWER WORDS
|
||||
DAPT5 GENADR DAPINIT # (BBCON) ALREADY THERE. ORDER IS
|
||||
YAWT5 GENADR YAWDAP # REQUIRED.
|
||||
|
||||
1/RTLIM DEC 0.004715 # .004715(CDUDIF) = 0 IF CDUIF < 2.33 DEG
|
||||
1-E(-AT) OCT 00243 # AT = .01SEC....EITHER(1/A=4SEC, T=40MS),
|
||||
E(-AT) OCT 37535 # OR(1/A=8SEC, T=80MS)
|
||||
|
Reference in New Issue
Block a user