Merge pull request #308 from Gaboso/master_

Proof TVCEXECUTIVE #267
This commit is contained in:
Chris Garry 2018-03-23 14:13:19 +09:00 committed by GitHub
commit 1e26998945
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,22 +33,23 @@
# Page 945 # Page 945
# PROGRAM NAME.... TVCEXECUTIVE, CONSISTING OF TVCEXEC, NEEDLEUP, VARGAINS # PROGRAM NAME.... TVCEXECUTIVE, CONSISTING OF TVCEXEC, NEEDLEUP, VARGAINS
# 1SHOTCHK, REPCHEK, CG.CORR, COPYCYCLES, ETC. # 1SHOTCHK, REPCHEK, CG.CORR, COPYCYCLES, ETC.
# LOG SECTION.... TVCEXECUTIVE SUBROUTINE ....DAPCSM # LOG SECTION...TVCEXECUTIVE SUBROUTINE...DAPCSM
# MOD BY SCHLUNDT 21 OCTOBER 1968 # MODIFIED BY SCHLUNDT 21 OCTOBER 1968
#
# FUNCTIONAL DESCRIPTION.... # FUNCTIONAL DESCRIPTION....
#
# *A SELF-PERPETUATING WAITLIST TASK AT 1/2 SECOND INTERVALS WHICH: # *A SELF-PERPETUATING WAITLIST TASK AT 1/2 SECOND INTERVALS WHICH:
# PREPARES THE ROLL WITH OGA (CDUX) # PREPARES THE ROLL DAP WITH OGA (CDUX)
# PREPARES THE ROLL FDAI NEEDLE (FLY-TO OGA ERROR) # PREPARES THE ROLL FDAI NEEDLE (FLY-TO OGA ERROR)
# PREPARES THE ROLL PHASE PLANE OGAERR (FLY-FROM OGA ERROR) # PREPARES THE ROLL PHASE PLANE OGAERR (FLY-FROM OGA ERROR)
# PREPARES THE TVC ROLLDAP TASK WAITLIST CALL (3 CS DELAY) # PREPARES THE TVC ROLLDAP TASK WAITLIST CALL (3 CS DELAY)
# UPDATES THE NEEDLES DISPLAY # UPDATES THE NEEDLES DISPLAY
# UPDATES THE VEHICLE MASS AND CALLS MASSPROP TO UPDATE INERTIA DATA # UPDATES VEHICLE MASS AND CALLS MASSPROP TO UPDATE INERTIA DATA
# UPDATES PITCH, YAW, AND ROLL DAP GAINS FROM MASSPROP DATA # UPDATES PITCH, YAW, AND ROLL DAP GAINS FROM MASSPROP DATA
# PERFORMS ONE-SHOT CORRECTION FOR TMC LOOP 0-3 SEC AFTER IGNITION # PERFORMS ONE-SHOT CORRECTION FOR TMC LOOP 0-3 SEC AFTER IGNITION
# PERFORMS REPETITIVE UPDATES FOR THE TMC LOOP AFTER THE ONE-SHOT CORR. # PERFORMS REPETITIVE UPDATES FOR TMC LOOP AFTER THE ONE-SHOT CORR.
# #
# CALLING SEQUENCE.... # CALLING SEQUENCE....
#
# *TVCEXEC CALLED AS A WAITLIST TASK, IN PARTICULAR BY TVCINIT4 AND BY # *TVCEXEC CALLED AS A WAITLIST TASK, IN PARTICULAR BY TVCINIT4 AND BY
# ITSELF, BOTH AT 1/2 SECOND INTERVALS # ITSELF, BOTH AT 1/2 SECOND INTERVALS
# #
@ -59,12 +60,13 @@
# SUBROUTINES CALLED....NEEDLER, S40.15, MASSPROP, TASKOVER, IBNKCALL # SUBROUTINES CALLED....NEEDLER, S40.15, MASSPROP, TASKOVER, IBNKCALL
# #
# OTHER INTERFACES.... # OTHER INTERFACES....
#
# *TVCRESTART PACKAGE FOR RESTARTS # *TVCRESTART PACKAGE FOR RESTARTS
# *PITCHDAP, YAWDAP FOR VARIABLE GAINS AND ENGINE TRIM ANGLES # *PITCHDAP, YAWDAP FOR VARIABLE GAINS AND ENGINE TRIM ANGLES
#
# ERASABLE INITIALIZATION REQUIRED.... # ERASABLE INITIALIZATION REQUIRED....
#
# *SEE TVCDAPON....TVCINIT4 # *SEE TVCDAPON....TVCINIT4
# *VARK AND 1/CONACC (S40.15 OF R03) # *VARK AND 1/CONACC (S40.15 OF TVCINITIALIZE)
# *PAD LOAD EREPFRAC # *PAD LOAD EREPFRAC
# *BITS 15,14 OF FLAGWRD6 (T5 BITS) # *BITS 15,14 OF FLAGWRD6 (T5 BITS)
# *TVCEXPHS FOR RESTARTS # *TVCEXPHS FOR RESTARTS
@ -72,7 +74,8 @@
# *CDUX, OGAD # *CDUX, OGAD
# #
# OUTPUT.... # OUTPUT....
# *ROLL DAP OGANOW, FDAI NEEDLE= (AK). AND PHASE PLANE OGAERR #
# *ROLL DAP OGANOW, FDAI NEEDLE (AK), AND PHASE PLANE OGAERR
# *VARIABLE GAINS FOR PITCH/YAW AND ROLL TVC DAPS # *VARIABLE GAINS FOR PITCH/YAW AND ROLL TVC DAPS
# *SINGLE-SHOT AND REPETITIVE CORRECTIONS TO ENGINE TRIM ANGLES # *SINGLE-SHOT AND REPETITIVE CORRECTIONS TO ENGINE TRIM ANGLES
# PACTOFF AND YACTOFF # PACTOFF AND YACTOFF
@ -87,7 +90,7 @@
COUNT* $$/TVCX COUNT* $$/TVCX
TVCEXEC CS FLAGWRD6 # CHECK FOR TERMINATION (BITS 15,14 READ TVCEXEC CS FLAGWRD6 # CHECK FOR TERMINATION (BITS 15,14 READ
MASK OCT60000 # 10 FROM TVCDAPON TO RCSDAPON) MASK OCT60000 # 10 FROM TVCDAPON TO RCSDAPON)
EXTEND EXTEND
BZMF TVCEXFIN # TERMINATE BZMF TVCEXFIN # TERMINATE
@ -97,18 +100,18 @@ TVCEXEC CS FLAGWRD6 # CHECK FOR TERMINATION (BITS 15,14 READ
2CADR TVCEXEC 2CADR TVCEXEC
ROLLPREP CAE CDUX # UPDATE ROLL LADDERS (NO NEED TO RESTART- ROLLPREP CAE CDUX # UPDATE ROLL LADDERS (NO NEED TO RESTART-
XCH OGANOW # PROTECT, SINCE ROLL DAPS RE-START) XCH OGANOW # PROTECT, SINCE ROLL DAPS RE-START)
XCH OGAPAST XCH OGAPAST
CAE OGAD # PREPARE ROLL FDAI NEEDLE WITH FLY-TO CAE OGAD # PREPARE ROLL FDAI NEEDLE WITH FLY-TO
EXTEND # ERROR (COMMAND - MEASURED) EXTEND # ERROR (COMMAND - MEASURED)
MSU OGANOW MSU OGANOW
TS AK # FLY-TO OGA ERROR, SC.AT B-1 REVS TS AK # FLY-TO OGA ERROR, SC.AT B-1 REVS
EXTEND # PREPARE ROLL DAP PHASE PLANE OGAERR EXTEND # PREPARE ROLL DAP PHASE PLANE OGAERR
MP -BIT14 MP -BIT14
TS OGAERR # PHASE-PLANE (FLY-FROM) OGAERROR, TS OGAERR # PHASE-PLANE (FLY-FROM) OGAERROR,
# SC.AT B+0 REVS # SC.AT B+0 REVS
CAF THREE # SET UP ROLL DAP TASK (ALLOW SOME TIME) CAF THREE # SET UP ROLL DAP TASK (ALLOW SOME TIME)
TC WAITLIST TC WAITLIST
@ -116,32 +119,32 @@ ROLLPREP CAE CDUX # UPDATE ROLL LADDERS (NO NEED TO RESTART-
2CADR ROLLDAP 2CADR ROLLDAP
NEEDLEUP TC IBNKCALL # DO A NEEDLES UPDATE (RETURNS AFTER CADR) NEEDLEUP TC IBNKCALL # DO A NEEDLES UPDATE (RETURNS AFTER CADR)
CADR NEEDLER # (NEEDLES RESTARTS ITSELF) CADR NEEDLER # (NEEDLES RESTARTS ITSELF)
VARGAINS CAF BIT13 # CHECK ENGINE-ON BIT TO INHIBIT VARIABLE VARGAINS CAF BIT13 # CHECK ENGINE-ON BIT TO INHIBIT VARIABLE
EXTEND # GAINS AND MASS IF ENGINE OFF EXTEND # GAINS AND MASS IF ENGINE OFF
RAND DSALMOUT # CHANNEL 11 RAND DSALMOUT # CHANNEL 11
CCS A CCS A
TCF +4 # ON, SO OK TO UPDATE GAINS AND MASS TCF +4 # ON , SO OK TO UPDATE GAINS AND MASS
+5 CAF TWO # OFF, SO BYPASS MASS/GAIN UPDATES, +5 CAF TWO # OFF, SO BYPASS MASS/GAIN UPDATES,
TS TVCEXPHS # ALSO ENTRY FROM CCS BELOW WITH TS TVCEXPHS # ALSO ENTRY FROM CCS BELOW WITH
TCF 1SHOTCHK # VCNTR = -0 (V97 R40 ENGFAIL) TCF 1SHOTCHK # VCNTR = -0 (V97 R40 ENGFAIL)
CCS VCNTR # TEST FOR GAIN OF UPDATE TIME CCS VCNTR # TEST FOR GAIN OF UPDATE TIME
TCF +4 # NOT YET TCF +4 # NOT YET
# Page 947 # Page 947
TCF GAINCHNG # NOW TCF GAINCHNG # NOW
TCF +0 # NOT USED TCF +0 # NOT USED
TCF VARGAINS +5 # NO, LOTHRUST (S40.6 R40) TCF VARGAINS +5 # NO, LOTHRUST (S40.8 R40)
+4 TS VCNTRTMP # PROTECT VCNTR AND +4 TS VCNTRTMP # PROTECT VCNTR AND
CAE CSMMASS # CSMMASS DURING AN IMPULSIVE BURN CAE CSMMASS # CSMMASS DURING AN IMPULSIVE BURN
TS MASSTMP TS MASSTMP
TCF EXECCOPY TCF EXECCOPY
GAINCHNG TC IBNKCALL # UPDATE IXX, IAVG, IAVG/TLX GAINCHNG TC IBNKCALL # UPDATE IXX, IAVG, IAVG/TLX
CADR FIXCW # MASSPROP ENTRY (ALREADY INITIALIZED) CADR FIXCW # MASSPROP ENTRY (ALREADY INITIALIZED)
TC IBNKCALL # UPDATE 1/CONACC, VARK TC IBNKCALL # UPDATE 1/CONACC, VARK
CADR S40.15 # (S40.15 IS IN TVCINITIALIZE) CADR S40.15 # (S40.15 IS IN TVCINITIALIZE)
CS TENMDOT # UPDATE MASS FOR NEXT 10 SEC. OF BURN CS TENMDOT # UPDATE MASS FOR NEXT 10 SEC. OF BURN
AD CSMMASS AD CSMMASS
TS MASSTMP # KG B+16 TS MASSTMP # KG B+16
@ -149,49 +152,49 @@ GAINCHNG TC IBNKCALL # UPDATE IXX, IAVG, IAVG/TLX
CAF NINETEEN # RESET THE VARIABLE-GAIN UPDATE COUNTER CAF NINETEEN # RESET THE VARIABLE-GAIN UPDATE COUNTER
TS VCNTRTMP TS VCNTRTMP
EXECCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (1) EXECCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (1)
CAE MASSTMP # CSMMASS KG B+16 CAE MASSTMP # CSMMASS KG B+16
TS CSMMASS TS CSMMASS
CAE VCNTRTMP # VCNTR CAE VCNTRTMP # VCNTR
TS VCNTR TS VCNTR
TS V97VCNTR # FOR ENGFAIL (R41) MASS UPATES AT SPSOFF TS V97VCNTR # FOR ENGFAIL (R41) MASS UPDATES AT SPSOFF
INCR TVCEXPHS # COPYCYCLE OVER (2) INCR TVCEXPHS # COPYCYCLE OVER (2)
1SHOTCHK CCS CNTR # CHECK FOR ONE-SHOT OR REPCORR 1SHOTCHK CCS CNTR # CHECK TIME FOR ONE-SHOT OR REPCORR
TCF +4 # NOT YET TCF +4 # NOT YET
TCF 1SHOTOK # NOW TCF 1SHOTOK # NOW
TCF REPCHEK # ONE-SHOT OVER, ON TO REPCORR TCF REPCHEK # ONE-SHOT OVER, ON TO REPCORR
TCF 1SHOTOK # NOW (ONE-SHOT ONLY, NO REPCORR) TCF 1SHOTOK # NOW (ONE-SHOT ONLY, NO REPCORR)
+4 TS CNTRTMP # COUNT DOWN +4 TS CNTRTMP # COUNT DOWN
CAF SIX # SETUP TVCEXPHS FOR ENTRY AT CNTRCOPY CAF SIX # SET UP TVCEXPHS FOR ENTRY AT CNTRCOPY
TS TVCEXPHS TS TVCEXPHS
TCF CNTRCOPY TCF CNTRCOPY
REPCHEK CAE REPFRAC # CHECK FOR REPETITIVE UPDATES REPCHEK CAE REPFRAC # CHECK FOR REPETITIVE UPDATES
EXTEND EXTEND
BZMF TVCEXFIN # NO (NEG OR +-ZERO) BZMF TVCEXFIN # NO, OVER-AND-OUT
TS TEMPDAP +1 # YES, SET UP CORRECTION FUNCTION TS TEMPDAP +1 # YES, SET UP CORRECTION FRACTION
CAF FOUR # SET UP TVCEXPHS FOR ENTRY AT CORSETUP CAF FOUR # SET UP TVCEXPHS FOR ENTRY AT CORSETUP
TS TVCEXPHS TS TVCEXPHS
TCF CORSETUP TCF CORSETUP
# Page 948 # Page 948
1SHOTOK CAF BIT13 # CHECK ENGINE-ON BIT, NOT PERMITTING 1SHOTOK CAF BIT13 # CHECK ENGINE-ON BIT, NOT PERMITTING
EXTEND # SWITCHOVER DURING ENGINE-SHUTDOWN EXTEND # ONE-SHOT DURING ENGINE-SHUTDOWN
RAND DSALMOUT RAND DSALMOUT
CCS A CCS A
TCF +2 # ONE-SHOT OK TCF +2 # ONE-SHOT OK
TCF TVCEXFIN # NO, TERMINATE TCF TVCEXFIN # NO, TERMINATE
INCR TVCEXPHS # (3) INCR TVCEXPHS # (3)
# RSB 2009. The following instruction was previously "CAE FCORFRAC", but FCORFRAC # RSB 2009. The following instruction was previously "CAE FCORFRAC", but FCORFRAC
# is not in erasable memory as implied by the use of CAE. I've accordingly changed # is not in erasable memory as implied by the use of CAE. I've accordingly changed
# it to CAF instead to indicate fixed memory. # it to CAF instead to indicate fixed memory.
TEMPSET CAF FCORFRAC # SET UP CORRECTION FRACTION TEMPSET CAF FCORFRAC # SET UP CORRECTION FRACTION
TS TEMPDAP +1 TS TEMPDAP +1
INCR TVCEXPHS # ENTRY FROM REPCHECK AT NEXT LOCATION (4) INCR TVCEXPHS # ENTRY FROM REPCHECK AT NEXT LOCATION (4)
@ -204,8 +207,8 @@ CORSETUP CAE DAPDATR1 # CHECK FOR LEM-OFF/ON
AD TEMPDAP +1 AD TEMPDAP +1
TS TEMPDAP # CG.CORR USES TEMPDAP TS TEMPDAP # CG.CORR USES TEMPDAP
CAF NEGONE # SET UP FOR CNTR = -1 (SWTCHOVR DONE) CAF NEGONE # SET UP FOR CNTR = -1 (ONE-SHOT DONE)
TS CNTRTMP # (COPYCYCLE AT "CNTRCOPY") TS CNTRTMP # (COPYCYCLE AT .CNTRCOPY. )
CG.CORR EXTEND # PITCH TMC LOOP CG.CORR EXTEND # PITCH TMC LOOP
DCA PDELOFF DCA PDELOFF
@ -246,7 +249,7 @@ CG.CORR EXTEND # PITCH TMC LOOP
MP TEMPDAP MP TEMPDAP
DAS YACTTMP DAS YACTTMP
CORCOPY INCR TVCEXPHS # RESTART-PROTECT THE COPYCYCLE (5) CORCOPY INCR TVCEXPHS # RESTART PROTECT THE COPYCYCLE (5)
EXTEND # TRIM-ESTIMATES, AND EXTEND # TRIM-ESTIMATES, AND
DCA PACTTMP DCA PACTTMP