* Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(pp. 0984-0985): Proof TVCROLLDAP #271 * done(pp. 0984-0998): Proof TVCROLLDAP #271 * fix: change back "B-10 (simulator patch) to "B+4" (original GAP printouts)
This commit is contained in:
		
				
					committed by
					
						 James Harris
						James Harris
					
				
			
			
				
	
			
			
			
						parent
						
							f2be2c6ffe
						
					
				
				
					commit
					16ffeaeb08
				
			| @@ -28,56 +28,57 @@ | ||||
| #			Colossus 2A | ||||
|  | ||||
| # Page 984 | ||||
| # PROGRAM NAME....TVC ROLL AUTOPILOT | ||||
| # LOG SECTION....TVCROLLDAP			SUBROUTINE....DAPCSM | ||||
| # PROGRAM NAME...TVC ROLL AUTOPILOT | ||||
| # LOG SECTION...TVCROLLDAP			SUBROUTINE...DAPCSM | ||||
| # MOD BY SCHLUNDT				21 OCTOBER 1968 | ||||
| # | ||||
|  | ||||
|  | ||||
| # FUNCTIONAL DESCRIPTION.... | ||||
| # | ||||
|  | ||||
| #      *AN ADAPTATION OF THE LEM P-AXIS CONTROLLER | ||||
| #      *MAINTAIN OGA WITHIN 5 DEG DEADBND OF OGAD, WHERE OGAD = OGA AS SEEN | ||||
| #	BY IGNOVER (P40) | ||||
| #	BY IGNITION (P40) | ||||
| #      *MAINTAIN OGA RATE LESS THAN 0.1 DEG/SEC LIMIT CYCLE RATE | ||||
| #      *SWITCHING LOGIC IN PHASE PLANE.... SEE GSOP CHAPTER 3 | ||||
| #      *USES T6 CLOCK TO TIME JET FIRINGS. | ||||
| #      *USES T6 CLOCK TO TIME JET FIRINGS | ||||
| #      *MAXIMUM JET FIRING TIME = 2.56 SECONDS, LIMITED TO 2.5 IF GREATER | ||||
| #      *MINIMUM JET FIRING TIME = 15 MS | ||||
| #      *JET PAIRS FIRE ALTERNATELY | ||||
| #      *AT LEAST 1/2 SECOND DELAY BEFORE A NEW JET PAIR IS FIRED | ||||
| #      *JET FIRINGS MAY NOT BE EXTENDED, ONLY SHORTENED, WHEN RE-EVALUATION | ||||
| #	OF A JET FIRING TIME IS MADE ON A LATER PASS | ||||
| # | ||||
|  | ||||
| # CALLING SEQUENCE.... | ||||
| # | ||||
|  | ||||
| #      *ROLLDAP CALL VIA WAITLIST, IN PARTICULAR BY TVCEXEC (EVERY 1/2 SEC) | ||||
| #	WITH A 3CS DELAY TO ALLOW FREE TIME FOR OTHER RUPTS (DWNRPT, ETC.) | ||||
| # | ||||
|  | ||||
| # NORMAL EXIT MODES.... ENDOFJOB | ||||
| # | ||||
|  | ||||
| # ALARM OR ABORT EXIT MODES.... NONE | ||||
| # | ||||
|  | ||||
| # SUBROUTINES CALLED.....NONE | ||||
| # | ||||
|  | ||||
| # OTHER INTERFACES.... | ||||
| # | ||||
|  | ||||
| #      *TVCEXEC SETS UP ROLLDAP TASK EVERY 1/2 SECOND AND UPDATES 1/CONACC | ||||
| #	EVERY 10 SECONDS (VIA MASSPROP AND S40.15) | ||||
| #      *RESTARTS SUSPEND ROLL DAP COMPUTATIONS UNTIL THE NEXT 1/2 SEC | ||||
| #	SAMPLE PERIOD.  (THE PART OF TVCEXECUTIVE THAT CALLS ROLL DAP IS | ||||
| #	NOT RESTARTED.)  THE OGAD FROM IGNITION IS MAINTAINED. | ||||
| # | ||||
| # ERASABLE INITIALIZATION REQUIRED | ||||
| # | ||||
| #      *1/CONACC				(S40.15) | ||||
| #      *OGAD					(CDUX, AT IGNITION) | ||||
| #      *OGANOW					(CDUX AT TVCINIT4 AND TVCEXECUTIVE) | ||||
| #      *OGAPAST					(OGANOW AT TVCEXECUTIVE) | ||||
| #      *ROLLFIRE = TEMREG = ROLLWORD = 0	(MRCLEAN LOOP IN TVCDAPON) | ||||
|  | ||||
| # ERASABLE INITIALIZATION REQUIRED.... | ||||
|  | ||||
| #      *1/CONACC (S40.15) | ||||
| #      *OGAD (CDUX AT IGNITION) | ||||
| #      *OGANOW (CDUX AT TVCINIT4 AND TVCEXECUTIVE) | ||||
| #      *OGAPAST (OGANOW AT TVCEXECUTIVE) | ||||
| #      *ROLLFIRE = TEMREG = ROLLWORD = 0 (MRCLEAN LOOP IN TVCDAPON) | ||||
| # | ||||
| # OUTPUT.... | ||||
| # | ||||
|  | ||||
| #      *ROLL JET PAIR FIRINGS | ||||
| # | ||||
|  | ||||
| # Page 985 | ||||
| # DEBRIS.... MISCELLANEOUS, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY | ||||
|  | ||||
| @@ -86,7 +87,7 @@ | ||||
| # LOGIC.  SEE SECTION THREE OF THE GSOP (SUNDISK/COLOSSUS) FOR DETAILS. | ||||
|  | ||||
| # SWITCHING LOGIC IN THE PHASE PLANE.... | ||||
| # | ||||
|  | ||||
| #                              OGARATE | ||||
| #                                 * | ||||
| #                                 * | ||||
| @@ -118,17 +119,17 @@ | ||||
| #                                 *                        -MAXLIM | ||||
| #                                 * | ||||
| #                                 * | ||||
| # | ||||
|  | ||||
| # SWITCHING PARABOLAS ARE CONTROL PARABOLAS, THUS REQUIRING KNOWLEDGE OF | ||||
| #	CONTROL ACCELERATION CONACC, OR ITS RECIPROCAL, 1/CONACC, THE TVC | ||||
| #	ROLL DAP GAIN  (SEE TVCEXECUTIVE VARIABLE GAIN PACKAGE).  JET | ||||
| #	ROLL DAP GAIN (SEE TVCEXECUTIVE VARIABLE GAIN PACKAGE).  JET | ||||
| #	FIRING TIME IS SIMPLY THAT REQUIRED TO ACHIEVE THE DESIRED OGARATE, | ||||
| #	SUBJECT TO THE LIMITATIONS DISCUSSED UNDER FUNCTIONAL DESCRIPTION, | ||||
| #	ABOVE. | ||||
| # | ||||
| # THE THREE CONTROL REGIONS  (+, -, AND ZERO TORQUE) ARE COMPRISED OF | ||||
| #	TWELVE SUBSET REGIONS  ( 1...6, AND THE CORRESPONDING 1-PRIME... | ||||
| #	5-PRIME )  SEE SECTION 3 OF THE GSOP  (SUNDISK OR COLOSSUS) | ||||
|  | ||||
| # THE THREE CONTROL REGIONS (+, -, AND ZERO TORQUE) ARE COMPRIZED OF | ||||
| #	TWELVE SUBSET REGIONS ( 1...6, AND THE CORRESPONDING 1-PRIME... | ||||
| #	6-PRIME ) SEE SECTION 3 OF THE GSOP (SUNDISK OR COLOSSUS) | ||||
| # Page 987 | ||||
| # | ||||
| # GIVEN THE OPERATING POINT NOT IN THE COAST REGION, THE DESIRED OGARATE | ||||
| @@ -137,7 +138,7 @@ | ||||
| #	DESIRED OGARATE IS SIMPLY +-MAXLIM.  FOR REGIONS 1 OR 6 THE SOLUTION | ||||
| #	TO A QUADRATIC IS REQUIRED (THE PENETRATION IS ALONG THE STRAIGHT | ||||
| #	LINE OR MINLIM BOUNDRY SWITCH LINES).  AN APPROXIMATION IS MADE | ||||
| #	INSTEAD.  CONSIDER AN OPERATING POINT IN REGION 6'.  PASS A TANGENT TO | ||||
| #	INSTEAD.  TAKE AN OPERATING POINT IN REGION 6' .  PASS A TANGENT TO | ||||
| #	THE CONTROL PARABOLA THROUGH THE OPERATING POINT, AND FIND ITS | ||||
| #	INTERSECTION WITH THE STRAIGHT LINE SECTION OF THE SWITCH CURVE... | ||||
| #	THE INTERSECTION DEFINES THE DESIRED OGARATE.  IF THE OPERATING POINT IS | ||||
| @@ -149,61 +150,63 @@ | ||||
| #	RE-EVALUATION OF DESIRED OGARATE IN SUBSEQUENT ROLL DAP PASSES (1/2 | ||||
| #	SECOND INTERVALS) WILL BENEFIT FROM THE CONVERGENT NATURE OF THE | ||||
| #	APPROXIMATION. | ||||
| # | ||||
|  | ||||
| # FOR LARGE OGAERROR THE TANGENT INTERSECTS +-MINLIM SWITCH BOUNDARY BEFORE | ||||
| #	INTERSECTING THE STRAIGHT LINE SWITCH.  HOWEVER THE MINLIM IS | ||||
| #	IGNORED IN COMPUTING THE FIRING TIME, SO THAT THE EXTENSION (INTO | ||||
| #	THE COAST REGION) OF THE STRAIGHT LINE SWITCH IS WHAT IS FIRED TO. | ||||
| #	IF THE ROLL DAP FINDS ITSELF IN THE COAST REGION BEFORE REACHING | ||||
| #	THE DESIRED INTERSECTION (I.E., IN THE REGION BETWEEN THE MINLIM | ||||
| #	THE DESIRED INTERSECTION (IE. IN THE REGION BETWEEN THE MINLIM | ||||
| #	AND THE STRAIGHT LINE SWITCH) IT WILL EXHIBIT NORMAL COAST-REGION | ||||
| #	BEHAVIOR AND TURN OFF THE JETS.  THE PURPOSE OF THIS FIRING POLICY | ||||
| #	IS TO MAINTAIN STATIC ROLL STABILITY IN THE EVENT OF A JET | ||||
| #	FAILED-ON. | ||||
| # | ||||
|  | ||||
| # WHEN THE OPERATING POINT IS IN REGION 1 THE SAME APPROXIMATION IS | ||||
| #	MADE, BUT AT AN ARTIFICIALLY-CREATED OR DUMMY OPERATING POINT, | ||||
| #	DEFINED BY:  OGAERROR = INTERSECTION OF CONTROL PARABOLA AND | ||||
| #	DEFINED BY.. OGAERROR = INTERSECTION OF CONTROL PARABOLA AND | ||||
| #	OGAERROR AXIS, OGARATE = +-LMCRATE WHERE SIGN IS OPPOSITE THAT OF | ||||
| #	REAL OPERATING POINT RATE.  WHEN THE OPERATING POINT HAS PASSED | ||||
| #	FROM REGION 1 TO REGION 6', THE DUMMY POINT IS NO LONGER REQUIRED, | ||||
| #	AND THE SOLUTION REVERTS TO THAT OF A REGULAR REGION 6' POINT. | ||||
| # | ||||
|  | ||||
|  | ||||
| # EQUATION FOR SWITCHING PARABOLA (SEE FIGURE ABOVE).... | ||||
| #				    2 | ||||
| #				  2 | ||||
| #	SOGAERROR = (DB - (SOGARATE) (1/CONACC)/2) SGN(SOGARATE) | ||||
| # | ||||
|  | ||||
|  | ||||
| # EQUATION FOR SWITCHING STRAIGHT LINE SEGMENT.... | ||||
| # | ||||
|  | ||||
| #	SOGARATE = -(-SLOPE)(SOGAERROR) - SGN(SOGARATE) INTERCEP | ||||
| # | ||||
|  | ||||
| #		WHERE  INTERCEP = DB(-SLOPE) - LMCRATE | ||||
| # Page 988 | ||||
| # | ||||
| # EQUATION FOR INTERSECTION, CONTROL PARABOLA, AND STRAIGHT SWITCH LINE.... | ||||
| # | ||||
| # EQUATION FOR INTERSECTION, CONTROL PARABOLA AND STRAIGHT SWITCH LINE.... | ||||
|  | ||||
| #	DOGADOT = NUM/DEN, WHERE | ||||
| #				       2 | ||||
| #		NUM = (-SLOPE)(OGARATE) (1/CONACC) | ||||
| #		      +SGN(DELOGA)(-SLOPE)(OGAERROR - SGN(DELOGA)(DB)) | ||||
| #		      +LMCRATE | ||||
| # | ||||
| #		DEN = (-SLOPE)(LMCRATE)(1/CONACC) = SGN(DELOGA) | ||||
| #						  2 | ||||
| #		DELOGA = OGAERROR - (DB - (OGADOT) (1/CONACC)/2)SGN(OGARATE) | ||||
| # | ||||
| # FOR REGIONS 6 AND 6-PRIME, USE ACTUAL OPERATING POINT  (OGA, OGARATE) | ||||
| #				   2 | ||||
| #	    NUM = (-SLOPE)(OGARATE) (1/CONACC) | ||||
| #		    +SGN(DELOGA)(-SLOPE)(OGAERROR - SGN(DELOGA)(DB)) | ||||
| #		    +LMCRATE | ||||
|  | ||||
| #	    DEN = (-SLOPE)(LMCRATE)(1/CONACC) - SGN(DELOGA) | ||||
|  | ||||
| #					      2 | ||||
| #	    DELOGA = OGAERROR - (DB - (OGADOT) (1/CONACC)/2) SGN(OGARATE) | ||||
|  | ||||
|  | ||||
| # FOR REGIONS 6 AND 6-PRIME USE ACTUAL OPERATING POINT (OGA, OGARATE) | ||||
| #	FOR OGAERROR AND OGARATE IN THE INTERSECTION EQUATIONS ABOVE. | ||||
| #	FOR REGIONS 1 AND 1-PRIME USE DUMMY OPERATING POINT FOR OGAERROR | ||||
| #	AND OGARATE, WHERE THE DUMMY POINT IS GIVEN BY.... | ||||
| #	OGAERROR= DELOGA + DB SGN(OGARATE) | ||||
| #	OGARATE= -LMCRATE SGN(OGARATE) | ||||
| # | ||||
| #		OGAERROR = DELOGA + DB SGN(OGARATE) | ||||
| # | ||||
| #		OGARATE = -LMCRATE SGN(OGARATE) | ||||
| # | ||||
| # NOTE, OGAERROR = OGA - OGAD  USES DUMMY REGISTER  OGA  IN ROLL DAP CODING | ||||
| #	ALSO, AT POINT WHERE DOGADOT IS COMPUTED, REGISTER DELOGA IS USED | ||||
| #	AS A DUMMY REGISTER FOR THE OGAERROR IN THE NUM EQUATION ABOVE. | ||||
| # NOTE, OGAERROR = OGA - OGAD USES DUMMY REGISTER OGA IN ROLL DAP CODING | ||||
| #	ALSO, AT POINT WHERE DOGARATE IS COMPUTED, REGISTER DELOGA IS USED | ||||
| #	AS A DUMMY REGISTER FOR THE OGAERROR IN THE NUM EQUATION ABOVE | ||||
| # Page 989 | ||||
|  | ||||
| # ROLLDAP CODING.... | ||||
| @@ -221,15 +224,15 @@ ROLLDAP		CAE	OGANOW		# OGA RATE ESTIMATOR...SIMPLE FIRST-ORDER | ||||
| 		TS	OGARATE		# SC.AT B-4 REV/SEC | ||||
|  | ||||
| # COMPUTATIONS WHICH FOLLOW USE OGA FOR OGAERR (SAME REGISTER) | ||||
| # EXAMINE DURATION OF LAST ROLL FIRING IF JETS ARE NOW ON. | ||||
| # EXAMINE DURATION OF LAST JET FIRING IF JETS ARE NOW ON. | ||||
|  | ||||
| DURATION	CA	ROLLFIRE	# SAME SGN AS PRESENT TORQ,MAGN=POSMAX | ||||
| 		EXTEND | ||||
| 		BZF	+2		# ROLL JETS ARE NOW OFF. | ||||
| 		TCF	ROLLOGIC	# ENTER LOGIC, JETS NOW ON. | ||||
| 		TCF	ROLLOGIC	# ENTER LOGIC,JETS NOW ON. | ||||
|  | ||||
| 		CAE	TEMREG		# EXAMINE LAST FIRING INTERVAL | ||||
| 		EXTEND			# IF POSITIVE, DON'T FIRE | ||||
| 		EXTEND			# IF POSITIVE, DONT FIRE | ||||
| 		BZF	ROLLOGIC	# ENTER LOGIC, JETS NOW OFF. | ||||
|  | ||||
| 		CAF	ZERO		# JETS HAVE NOT BEEN OFF FOR 1/2 SEC. WAIT | ||||
| @@ -257,7 +260,8 @@ ROLLOGIC	CS	OGARATE		# SCALED AT 2(-4) REV/SEC | ||||
| 		TS	SGNRT		# + OR -  2(-14) | ||||
|  | ||||
| # Page 990 | ||||
| # CALCULATE DISTANCE FROM SWITCH PARABOLA,DELOGA | ||||
| # CALCULATE DISTANCE FROM SWITCH PARABOLA (DELOGA) | ||||
|  | ||||
| 		EXTEND | ||||
| 		MP	TEMREG		# SGN(OGARATE) TEMREG NOW IN L | ||||
| 		CS	L | ||||
| @@ -268,28 +272,28 @@ DELOGAC		TS	DELOGA		# SC.AT B+0 REV, PLUS TO RIGHT OF C-PARAB | ||||
|  | ||||
| 		EXTEND | ||||
| 		BZMF	+3 | ||||
| 		CAF	PRIO30		# = CA (30000) | ||||
| 		CAF	PRIO30		# =CA (30000) | ||||
| 		TCF	+2 | ||||
| 		CAF	BIT15		# = CS (40000) | ||||
| 		CAF	BIT15		# =CS (40000) | ||||
| 		TS	I | ||||
|  | ||||
| 		INDEX	I		# TSET ON  I SGN(OGARATE) | ||||
| 		INDEX	I		# TSET ON I SGN(OGARATE) | ||||
| 		0	SGNRT		# CA OR CS | ||||
| 		COM | ||||
| 		EXTEND | ||||
| REG1TST		BZMF	ROLLON		# IF REGION 1 (DELOGA OGARATE SAME SIGN) | ||||
|  | ||||
| # NO JET FIRE YET.  TEST FOR MAX OGARATE. | ||||
| # NO JET FIRE YET.  TEST FOR MAX OGARATE | ||||
|  | ||||
| 		INDEX	I | ||||
| 		0	OGARATE		# CA OR CS...BOTH MUST BE NEG. HERE | ||||
| 		TS	IOGARATE	# I.E., I OGARATE | ||||
| 		TS	IOGARATE	# I.E. I OGARATE | ||||
| 		AD	MAXLIM		# SCALED AT 2(-4) REV/SEC | ||||
| 		EXTEND | ||||
| REG3TST		BZMF	RATELIM		# IF REGION 3 (RATES TOO HIGH, FIRE JETS) | ||||
|  | ||||
| # COMPUTATION OF I((-SLOPE)OGA + OGARATE) - INTERCEPT:  NOTE THAT STR. LINE | ||||
| # SWITCH SLOPE IS (SLOPE) DEG/SEC/DEG, A NEG. QUANTITY | ||||
| # COMPUTATION OF I((-SLOPE)OGA + OGARATE) - INTERCEPT..NOTE THAT STR. LINE | ||||
| # SWITCH SLOPE IS (SLOPE) DEG/SEC/DEG, A NEG QUANTITY | ||||
|  | ||||
| 		CA	OGARATE | ||||
| 		EXTEND | ||||
| @@ -312,10 +316,10 @@ REG3TST		BZMF	RATELIM		# IF REGION 3 (RATES TOO HIGH, FIRE JETS) | ||||
| 		EXTEND | ||||
| REG2TST		BZMF	NOROLL		# IP REGION 2 (COAST SIDE OF STRT LINE) | ||||
|  | ||||
| # CHECK TO SEE IF OGARATE IS ABOVE MINLIM | ||||
| # CHECK TO SEE IF OGARATE IS ABOVE MINLIM BOUNDARY | ||||
|  | ||||
| 		CA	IOGARATE	# ALWAYS NEGATIVE | ||||
| 		AD	MINLIM		# SCALED AT 2(-4) REV/SEC. | ||||
| 		AD	MINLIM		# SCALED AT 2(-4) REV/SEC | ||||
| 		EXTEND | ||||
| REG4TST		BZMF	NOROLL		# IF REGION 4 (COAST SIDE OF MINLIM) | ||||
|  | ||||
| @@ -329,7 +333,7 @@ REG4TST		BZMF	NOROLL		# IF REGION 4 (COAST SIDE OF MINLIM) | ||||
| 		EXTEND | ||||
| REG5TST		BZMF	NOROLL		# IF REGION 5 (COAST SIDE OF DB) | ||||
|  | ||||
| # JETS MUST FIRE NOW.  OGARATE IS NEG. (OR VICE VERSA).  USE DIRECT STR. LINE. | ||||
| # JETS MUST FIRE NOW.OGARATE IS NEG.(OR VICE VERSA).USE DIRECT STR. LINE. | ||||
| # DELOGA AND DELOGART ARE USED AS DUMMY VARIABLES IN THE SOLUTION OF A | ||||
| # STRAIGHT LINE APPROXIMATION TO A QUADRATIC SOLUTION OF THE INTERSECTION | ||||
| # OF THE CONTROL PARABOLA AND THE STRAIGHT-LINE SWITCH LINE.  THE STRAIGHT | ||||
| @@ -339,13 +343,13 @@ REG5TST		BZMF	NOROLL		# IF REGION 5 (COAST SIDE OF DB) | ||||
| REGION6		CAE	OGA		# USE ACTUAL OPERATING POINT FOR TANGENT | ||||
| 		TS	DELOGA		# ACTUAL STATE | ||||
| 		CA	OGARATE | ||||
| 		TS	DELOGART	# ACTUAL STATE, I.E., DEL OGARATE | ||||
| 		TS	DELOGART	# ACTUAL STATE,I.E. DEL OGARATE | ||||
| 		TCF	ONROLL | ||||
|  | ||||
| # JETS ALSO FIRE FROM HERE EXCEPT OGARATE IS POS (VICE VERSA), USE INDIRECT | ||||
| # STRAIGHT LINE ESTABLISHED BY TANGENT TO A CONTROL PARABOLA AT  ((DELOGA | ||||
| # JETS ALSO FIRE FROM HERE EXCEPT OGARATE IS POS (VICE VERSA),USE INDIRECT | ||||
| # STRAIGHT LINE ESTABLISHED BY TANGENT TO A CONTROL PARABOLA AT    ((DELOGA | ||||
| # + DB SGN(DELOGA) ), -LMCRATE SGN(DELOGA) )	(THIS IS THE DUMMY | ||||
| # OPERATING POINT FOR OPERATING POINTS IN REGIONS 1 AND 1') | ||||
| # OPERATING POINT FOR OPERATING POINTS IN REGIONS 1 AND 1' ) | ||||
|  | ||||
| ROLLON		INDEX	I | ||||
| 		0	DB | ||||
| @@ -386,7 +390,7 @@ RATEDEN		ADS	TEMREG		# DENOMINATOR COMPLETED | ||||
| 		MP	BIT11 | ||||
| RATENUM		AD	DELOGART	# NUMERATOR COMPLETED | ||||
|  | ||||
| 		XCH	L		# PLACE NUMERATOR IN L FOR OVERFL.  CHECK | ||||
| 		XCH	L		# PLACE NUMERATOR IN L FOR OVERFL. CHECK | ||||
| 		CA	ZERO | ||||
| 		EXTEND | ||||
| 		DV	TEMREG		# OVERFLOW, IF ANYTHING, NOW APPEARS IN A | ||||
| @@ -402,12 +406,12 @@ MINLIMAP	CCS	A | ||||
| DVOK		LXCH	A		# PUT NUMERATOR BACK INTO A, 0 INTO L | ||||
| 		EXTEND | ||||
| 		DV	TEMREG		# RESULT OF DIVISION IS DESIRED OGARATE | ||||
| 		TCF	ROLLSET		#	(SCALED AT B-4 REV/SEC) | ||||
| 		TCF	ROLLSET		#	( SCALED AT B-4 REV/SEC ) | ||||
|  | ||||
| RATELIM		CS	MAXLIM | ||||
| 		INDEX	I | ||||
| # Page 993 | ||||
| 		0	A		# IF I = CA, DESIRED RATE IS  -MAXLIM | ||||
| 		0	A		# IF I = CA, DESIRED RATE IS	-MAXLIM | ||||
|  | ||||
| # COMPUTE JET FIRE TIME, BASED ON DESIRED RATE MINUS PRESENT RATE | ||||
|  | ||||
| @@ -436,7 +440,7 @@ ROLLSET		TS	TEMREG		# STORE DESIRED OGARATE (SCALED B-4) | ||||
|  | ||||
| 		CAE	TEMREG		# DESIRED CHANGE IN OGARATE | ||||
| 		EXTEND | ||||
| 		MP	ROLLFIRE	# (SGN OF TORQUE: ZERO IF JETS NOW OFF) | ||||
| 		MP	ROLLFIRE	# (SGN OF TORQUE..ZERO IF JETS NOW OFF) | ||||
| 		CCS	A | ||||
| 		TCF	MOREROLL	# CONTINUE FIRING WITH PRESENT POLARITY | ||||
| 		TCF	NEWROLL		# START NEW FIRING NOW, PLUS | ||||
| @@ -462,11 +466,11 @@ NEWROLL		CCS	TEMREG		# CALL THIS T6FIRE | ||||
| 		EXTEND | ||||
| MINTST		BZMF	NOROLL		# IF NOT GREATER THAN TMINFIRE (NEW FIRE) | ||||
|  | ||||
| # PROCEED WITH NEW FIRING BUT NOT LONGER THAN TMAXFIRE | ||||
| # PROCEED WITH NEW FIRING BUT NOT LONGER THAN TMAXFIRE. | ||||
|  | ||||
| MAXTFIRE	CA	TEMREG | ||||
| 		EXTEND | ||||
| 		MP	1/TMXFIR	# I.E., 1/TMAXFIRE | ||||
| 		MP	1/TMXFIR	# I.E. 1/TMAXFIRE | ||||
| 		EXTEND | ||||
| MAXTST		BZF	NOMXFIRE	# IF LESS THAN TMAXFIRE | ||||
|  | ||||
| @@ -476,7 +480,7 @@ MAXTST		BZF	NOMXFIRE	# IF LESS THAN TMAXFIRE | ||||
| 		CS	TMAXFIRE	# USE MAXIMUM | ||||
| 		TS	TEMREG | ||||
|  | ||||
| # SET UP SIGN OF REQUIRED TORQUE | ||||
| # SET UP SIGN OF REQUIRED TORQUE. | ||||
|  | ||||
| NOMXFIRE	CCS	TEMREG		# FOR TORQUE SIGN | ||||
| 		CA	POSMAX		# POSITIVE TORQUE REQUIRED | ||||
| @@ -499,7 +503,7 @@ FIREPLUG	CAE	TIME6		# CHECK FOR EXTENDED FIRING | ||||
| 		EXTEND | ||||
| 		SU	TEMREG | ||||
| 		EXTEND | ||||
| EXTENTST	BZMF	TASKOVER	# IF EXTENSION WANTED, DON'T, EXIT ROLL DAP | ||||
| EXTENTST	BZMF	TASKOVER	# IF EXTENSION WANTED, DONT, EXIT ROLL DAP | ||||
| 		TCF	JETROLL | ||||
|  | ||||
| NOROLL		CS	ZERO		# COAST....(NEG ZERO FOR TIME6) | ||||
| @@ -513,7 +517,7 @@ JETROLL		EXTEND | ||||
| 		CA	TEMREG		# ENTER JET FIRING TIME | ||||
| 		TS	TIME6 | ||||
|  | ||||
| 		CA	I		# I=0 IF MOREROLL, KEEP SAME JETS ON | ||||
| 		CA	I		# I=0 IF MOREROLL,KEEP SAME JETS ON | ||||
| 		EXTEND | ||||
| SAMEJETS	BZF	TASKOVER	# IF JETS ON KEEP SAME JETS.  EXIT ROLL DAP | ||||
|  | ||||
| @@ -574,7 +578,7 @@ RDAPEND		TCF	TASKOVER	# EXIT ROLL DAP | ||||
| # THIS T6 TASK SHUTS OFF ALL ROLL JETS | ||||
|  | ||||
| NOROLL1		LXCH	BANKRUPT	# SHUT OFF ALL (ROLL) JETS, (A T6 TASK | ||||
| 		CAF	ZERO		#	CALLED BY "JETROLL") | ||||
| 		CAF	ZERO		#	CALLED BY ..JETROLL..) | ||||
| 		TS	ROLLFIRE	# ZERO INDICATES JETS NOW OFF | ||||
| 		EXTEND | ||||
| KILLJETS	WRITE	CHAN6 | ||||
| @@ -600,18 +604,16 @@ MINLIM		DEC	.00277778 B+4	# RATELIM,MIN (1DEG/SEC), SC.AT B-4 REV/SC | ||||
|  | ||||
| MAXLIM		DEC	.01388889 B+4	# RATELIM,MAX (5DEG/SEC), SC.AT B-4 REV/SC | ||||
|  | ||||
| # The following two were B+4.---RSB 2009. | ||||
| TMINFIRE	DEC	1.5 B-10	# 15 MS. (14MIN), SC.AT 16 BITS/CS | ||||
| TMINFIRE	DEC	1.5 B+4		# 15 MS (14MIN), SC.AT 16 BITS/CS | ||||
|  | ||||
| TMAXFIRE	DEC	250 B-10	# 2.5 SEC, SC.AT 16 BITS/CS | ||||
| TMAXFIRE	DEC	250 B+4		# 2.5 SEC, SC.AT 16 BITS/CS | ||||
|  | ||||
| 1/TMXFIR	=	BIT3		# RECIPROCAL THEREOF, SHIFTED 14 RIGHT, | ||||
| 					#	ROUNDS TO OCT00004, SO ALLOWS 2.56 | ||||
| 					#	SEC FIRINGS BEFORE APPLYING LIMIT | ||||
| T6SCALE		=	PRIO31		# (B+3) (16 BITS/CS)  (100CS/SEC) | ||||
| T6SCALE		=	PRIO31		# (B+3) (16 BITS/CS) (100CS/SEC) | ||||
|  | ||||
| +ROLL1		= 	FIVE		# ONBITS FOR JETS 9 AND 11 | ||||
| +ROLL2		=	OCT120		# ONBITS FOR JETS 13 AND 15 | ||||
| -ROLL1		=	TEN		# ONBITS FOR JETS 12 AND 10 | ||||
| -ROLL1		=	TEN		# ONBITS FOR JETS 12 NAD 10 | ||||
| -ROLL2		OCT	240		# ONBITS FOR JETS 16 AND 14 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user