| @@ -33,22 +33,23 @@ | ||||
| # Page 945 | ||||
| # PROGRAM NAME....	TVCEXECUTIVE, CONSISTING OF TVCEXEC, NEEDLEUP, VARGAINS | ||||
| #			1SHOTCHK, REPCHEK, CG.CORR, COPYCYCLES, ETC. | ||||
| # LOG SECTION....	TVCEXECUTIVE		SUBROUTINE ....DAPCSM | ||||
| # MOD BY SCHLUNDT				21 OCTOBER 1968 | ||||
| # | ||||
| # LOG SECTION...TVCEXECUTIVE			   SUBROUTINE...DAPCSM | ||||
| # MODIFIED BY SCHLUNDT				   21 OCTOBER 1968 | ||||
| # FUNCTIONAL DESCRIPTION.... | ||||
| # | ||||
| #      *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 PHASE PLANE  OGAERR  (FLY-FROM  OGA ERROR) | ||||
| #	PREPARES THE TVC ROLLDAP TASK WAITLIST CALL (3 CS DELAY) | ||||
| #	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 | ||||
| #	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.... | ||||
| # | ||||
| #      *TVCEXEC CALLED AS A WAITLIST TASK, IN PARTICULAR BY TVCINIT4 AND BY | ||||
| #	ITSELF, BOTH AT 1/2 SECOND INTERVALS | ||||
| # | ||||
| @@ -59,12 +60,13 @@ | ||||
| # SUBROUTINES CALLED....NEEDLER, S40.15, MASSPROP, TASKOVER, IBNKCALL | ||||
| # | ||||
| # OTHER INTERFACES.... | ||||
| # | ||||
| #      *TVCRESTART PACKAGE FOR RESTARTS | ||||
| #      *PITCHDAP, YAWDAP FOR VARIABLE GAINS AND ENGINE TRIM ANGLES | ||||
| # | ||||
| # ERASABLE INITIALIZATION REQUIRED.... | ||||
| # | ||||
| #      *SEE TVCDAPON....TVCINIT4 | ||||
| #      *VARK AND 1/CONACC (S40.15 OF R03) | ||||
| #      *VARK AND 1/CONACC (S40.15 OF TVCINITIALIZE) | ||||
| #      *PAD LOAD EREPFRAC | ||||
| #      *BITS 15,14 OF FLAGWRD6 (T5 BITS) | ||||
| #      *TVCEXPHS FOR RESTARTS | ||||
| @@ -72,7 +74,8 @@ | ||||
| #      *CDUX, OGAD | ||||
| # | ||||
| # 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 | ||||
| #      *SINGLE-SHOT AND REPETITIVE CORRECTIONS TO ENGINE TRIM ANGLES | ||||
| #	PACTOFF AND YACTOFF | ||||
| @@ -87,7 +90,7 @@ | ||||
| 		COUNT*	$$/TVCX | ||||
|  | ||||
| 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 | ||||
| 		BZMF	TVCEXFIN	# TERMINATE | ||||
|  | ||||
| @@ -97,18 +100,18 @@ TVCEXEC		CS	FLAGWRD6	# CHECK FOR TERMINATION (BITS 15,14 READ | ||||
| 		2CADR	TVCEXEC | ||||
|  | ||||
| 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 | ||||
|  | ||||
| 		CAE	OGAD		# PREPARE ROLL FDAI NEEDLE WITH FLY-TO | ||||
| 		EXTEND			#	ERROR (COMMAND - MEASURED) | ||||
| 		EXTEND			#      ERROR (COMMAND - MEASURED) | ||||
| 		MSU	OGANOW | ||||
| 		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 | ||||
| 		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) | ||||
| 		TC	WAITLIST | ||||
| @@ -116,32 +119,32 @@ ROLLPREP	CAE	CDUX		# UPDATE ROLL LADDERS (NO NEED TO RESTART- | ||||
| 		2CADR	ROLLDAP | ||||
|  | ||||
| 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 | ||||
| 		EXTEND			#	GAINS AND MASS IF ENGINE OFF | ||||
| 		EXTEND			#      GAINS AND MASS IF ENGINE OFF | ||||
| 		RAND	DSALMOUT	# CHANNEL 11 | ||||
| 		CCS	A | ||||
| 		TCF	+4		#	ON, SO OK TO UPDATE GAINS AND MASS | ||||
| 	+5	CAF	TWO		#	OFF, SO BYPASS MASS/GAIN UPDATES, | ||||
| 		TS	TVCEXPHS	#		ALSO ENTRY FROM CCS BELOW WITH | ||||
| 		TCF	1SHOTCHK	#		VCNTR = -0 (V97 R40 ENGFAIL) | ||||
| 		CCS	VCNTR		# 	TEST FOR GAIN OF UPDATE TIME | ||||
| 		TCF	+4		#		NOT YET | ||||
| 		TCF	+4		#     ON , SO OK TO UPDATE GAINS AND MASS | ||||
| 	+5	CAF	TWO		#      OFF, SO BYPASS MASS/GAIN UPDATES, | ||||
| 		TS	TVCEXPHS	#	    ALSO ENTRY FROM CCS BELOW WITH | ||||
| 		TCF	1SHOTCHK	#	    VCNTR = -0 (V97 R40 ENGFAIL) | ||||
| 		CCS	VCNTR		#      TEST FOR GAIN OF UPDATE TIME | ||||
| 		TCF	+4		#	    NOT YET | ||||
| # Page 947 | ||||
| 		TCF	GAINCHNG	#		NOW | ||||
| 		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 | ||||
| 		TS	MASSTMP | ||||
| 		TCF	EXECCOPY | ||||
|  | ||||
| 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 | ||||
| 		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 | ||||
| 		AD	CSMMASS | ||||
| 		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 | ||||
| 		TS	VCNTRTMP | ||||
|  | ||||
| EXECCOPY	INCR	TVCEXPHS	# RESTART-PROTECT THE COPYCYCLE		(1) | ||||
| EXECCOPY	INCR	TVCEXPHS	# RESTART-PROTECT THE COPYCYCLE        (1) | ||||
|  | ||||
| 		CAE	MASSTMP		# CSMMASS KG B+16 | ||||
| 		TS	CSMMASS | ||||
|  | ||||
| 		CAE	VCNTRTMP	# 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 | ||||
| 		TCF	+4		#	NOT YET | ||||
| 		TCF	1SHOTOK		#	NOW | ||||
| 		TCF	REPCHEK		#	ONE-SHOT OVER, ON TO REPCORR | ||||
| 		TCF	1SHOTOK		#	NOW (ONE-SHOT ONLY, NO REPCORR) | ||||
| 1SHOTCHK	CCS	CNTR		# CHECK TIME FOR ONE-SHOT OR REPCORR | ||||
| 		TCF	+4		#      NOT YET | ||||
| 		TCF	1SHOTOK		#      NOW | ||||
| 		TCF	REPCHEK		#      ONE-SHOT OVER, ON TO REPCORR | ||||
| 		TCF	1SHOTOK		#      NOW  (ONE-SHOT ONLY, NO REPCORR) | ||||
|  | ||||
| 	+4	TS	CNTRTMP		# COUNT DOWN | ||||
| 		CAF	SIX		# SETUP TVCEXPHS FOR ENTRY AT CNTRCOPY | ||||
| 		CAF	SIX		# SET UP TVCEXPHS FOR ENTRY AT CNTRCOPY | ||||
| 		TS	TVCEXPHS | ||||
| 		TCF	CNTRCOPY | ||||
|  | ||||
| REPCHEK		CAE	REPFRAC		# CHECK FOR REPETITIVE UPDATES | ||||
| 		EXTEND | ||||
| 		BZMF	TVCEXFIN	#	NO  (NEG OR +-ZERO) | ||||
| 		TS	TEMPDAP +1	#	YES, SET UP CORRECTION FUNCTION | ||||
| 		BZMF	TVCEXFIN	#      NO, OVER-AND-OUT | ||||
| 		TS	TEMPDAP +1	#      YES, SET UP CORRECTION FRACTION | ||||
| 		CAF	FOUR		# SET UP TVCEXPHS FOR ENTRY AT CORSETUP | ||||
| 		TS	TVCEXPHS | ||||
| 		TCF	CORSETUP | ||||
| # Page 948 | ||||
| 1SHOTOK		CAF	BIT13		# CHECK ENGINE-ON BIT, NOT PERMITTING | ||||
| 		EXTEND			#	SWITCHOVER DURING ENGINE-SHUTDOWN | ||||
| 		EXTEND			#      ONE-SHOT DURING ENGINE-SHUTDOWN | ||||
| 		RAND	DSALMOUT | ||||
| 		CCS	A | ||||
| 		TCF	+2		# 	ONE-SHOT OK | ||||
| 		TCF	TVCEXFIN	# 	NO, TERMINATE | ||||
| 		TCF	+2		#      ONE-SHOT OK | ||||
| 		TCF	TVCEXFIN	#      NO, TERMINATE | ||||
|  | ||||
| 		INCR	TVCEXPHS	#					(3) | ||||
|  | ||||
| # 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 | ||||
| # 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 | ||||
|  | ||||
| 		INCR	TVCEXPHS	# ENTRY FROM REPCHECK AT NEXT LOCATION	(4) | ||||
| @@ -204,8 +207,8 @@ CORSETUP	CAE	DAPDATR1	# CHECK FOR LEM-OFF/ON | ||||
| 		AD	TEMPDAP +1 | ||||
| 		TS	TEMPDAP		# CG.CORR USES TEMPDAP | ||||
|  | ||||
| 		CAF	NEGONE		# SET UP FOR CNTR = -1 (SWTCHOVR DONE) | ||||
| 		TS	CNTRTMP		#	(COPYCYCLE AT "CNTRCOPY") | ||||
| 		CAF	NEGONE		# SET UP FOR CNTR = -1 (ONE-SHOT DONE) | ||||
| 		TS	CNTRTMP		#      (COPYCYCLE AT  .CNTRCOPY. ) | ||||
|  | ||||
| CG.CORR		EXTEND			# PITCH TMC LOOP | ||||
| 		DCA	PDELOFF | ||||
| @@ -246,7 +249,7 @@ CG.CORR		EXTEND			# PITCH TMC LOOP | ||||
| 		MP	TEMPDAP | ||||
| 		DAS	YACTTMP | ||||
|  | ||||
| CORCOPY		INCR	TVCEXPHS	# RESTART-PROTECT THE COPYCYCLE		(5) | ||||
| CORCOPY		INCR	TVCEXPHS	# RESTART PROTECT THE COPYCYCLE		(5) | ||||
|  | ||||
| 		EXTEND			# TRIM-ESTIMATES, AND | ||||
| 		DCA	PACTTMP | ||||
|   | ||||
		Reference in New Issue
	
	Block a user