Proof CM_ENTRY_DIGITAL_AUTOPILOT (closes #196)
This commit is contained in:
		| @@ -31,11 +31,11 @@ | ||||
| #			Colossus 2A | ||||
|  | ||||
| # Page 1063 | ||||
| # SUBROUTINE TO READ GIMBAL ANGLES AND FORM DIFFERENCES.  GIMBAL ANGLES ARE SAVED IN 2'S COMPLEMENT, BUT THE | ||||
| # DIFFERENCES ARE IN 1'S COMP.  ENTER AND READ ANGLES EACH .1 SEC. | ||||
| # SUBROUTINE TO READ GIMBAL ANGLES AND FORM DIFFERENCES.  GIMBAL ANGLES ARE SAVED IN 2S COMPLEMENT, BUT THE | ||||
| # DIFFERENCES ARE IN 1S COMP.  ENTER AND READ ANGLES EACH .1 SEC. | ||||
| # | ||||
| #	CM/DSTBY = 1 FOR DAP OPERATION | ||||
| #	CM/DSTBY = 0 TO TERMINATE DAP OPERATION | ||||
| #	CM/DSTBY = 0 TO TERMINATE DAP OPERATION. | ||||
|  | ||||
| 		BANK	15 | ||||
|  | ||||
| @@ -47,17 +47,17 @@ | ||||
| 		EBANK=	AOG | ||||
|  | ||||
| READGYMB	CA	TEN		# KEEP RESTART DT GOING RELATIVE TO | ||||
| 		ADS	CM/GYMDT	# PIPTIME.  (GROUP 6) | ||||
| 		ADS	CM/GYMDT	# PIPTIME. (GROUP 6) | ||||
|  | ||||
| 					# IF A RESTART OCCURS, SKIP PRESENT CYCLE.  THE | ||||
| 					# IF A RESTART OCCURS, SKIP PRESENT CYCLE. THE | ||||
| 					# PHASCHNG PROTECTION IS IN CM/DAPIC. | ||||
|  | ||||
| 		CA	BIT6		# CHECK FOR FINE ALIGN MODE OF CDU. | ||||
| 		MASK	IMODES33	# (PROTECT AOG/PIP ETC AS WELL AS | ||||
| 		EXTEND			# GIMBAL DIFFERENCES) | ||||
| 		MASK	IMODES33	# ( PROTECT AOG/PIP ETC AS WELL AS | ||||
| 		EXTEND			#  GIMBAL DIFFERENCES) | ||||
| 		BZF	READGYM1	# OK | ||||
|  | ||||
| 		CS	BIT1		# NOT IN FINE ALIGN, SO IDLE | ||||
| 		CS	BIT1		# NOT IN FINE ALIGN, SO IDLE. | ||||
| 		MASK	CM/FLAGS	# SET GYMDIFSW = 0 | ||||
| 		TS	CM/FLAGS | ||||
| 		TC	FLUSHJET	# QUENCH JETS, SINCE MAY BE A WHILE. | ||||
| @@ -87,7 +87,7 @@ DOBRATE?	CS	CM/FLAGS	# CM/DSTBY=103D BIT2  GYMDIFSW=104D BIT1 | ||||
| 		INDEX	A | ||||
| 		TC	+1 | ||||
| 		TC	DOBRATE		# OK, GO ON | ||||
| 		TC	CM/GYMIC	# DON'T CALC BODYRATE ON FIRST PASS. | ||||
| 		TC	CM/GYMIC	# DONT CALC BODYRATE ON FIRST PASS. | ||||
| 		NOOP | ||||
| 		TC	FLUSHJET	# TURN OFF ALL JETS | ||||
|  | ||||
| @@ -97,7 +97,7 @@ DOBRATE?	CS	CM/FLAGS	# CM/DSTBY=103D BIT2  GYMDIFSW=104D BIT1 | ||||
| 		TC	TASKOVER | ||||
|  | ||||
| DOBRATE		CA	ONE		# DO BODYRATE | ||||
| DOBRATE1	TS	JETEM		# SKIP BODYRATE | ||||
| DOBRATE1	TS	JETEM		# SKIP BODYRATE. | ||||
|  | ||||
| 		CA	TEN		# KEEP CDU READ GOING. | ||||
| 		TC	WAITLIST | ||||
| @@ -108,9 +108,9 @@ DOBRATE1	TS	JETEM		# SKIP BODYRATE | ||||
|  | ||||
| 		CCS	JETEM | ||||
| 		TC	BODYRATE | ||||
| 		TC	TASKOVER	# SKIP CALC ON INITIAL PASS.  (PASSES) | ||||
| 		TC	TASKOVER	# SKIP CALC ON INITIAL PASS. (PASSES) | ||||
|  | ||||
| CM/GYMIC	ADS	CM/FLAGS	# GYMDIFSW:  C(A)=1, KNOW BIT IS 0 | ||||
| CM/GYMIC	ADS	CM/FLAGS	# GYMDIFSW: C(A)=1, KNOW BIT IS 0 | ||||
| 		CAF	ZERO | ||||
| 		TS	JETAG | ||||
| 		TS	OLDELP | ||||
| @@ -168,7 +168,7 @@ CM/DAPON	CA	EBAOG | ||||
| 		TS	EBANK | ||||
|  | ||||
| 		TC	DOWNFLAG	# RESET DAPBIT1.  T5 RESTART IDENTIFIER. | ||||
| 		ADRES	DAPBIT1		# BIT 15 FLAG 6		CMFLAGS. | ||||
| 		ADRES	DAPBIT1		# BIT 15 FLAG 6		CM FLAGS. | ||||
| 		TC	DOWNFLAG	# RESET DAPBIT2 | ||||
| 		ADRES	DAPBIT2		# BIT 14 FLAG 6 | ||||
| 		EXTEND | ||||
| @@ -181,7 +181,7 @@ CM/DAPON	CA	EBAOG | ||||
| 		TC	FLUSHJET	# JETS DEPARTED ON SM. ZERO JET BITS. | ||||
|  | ||||
| 		CS	13,14,15 | ||||
| 		MASK	DAPDATR1	# SET CONFIG BITS=0 FOR ENTRY | ||||
| 		MASK	DAPDATR1	# SET CONFIG BITS =0 FOR ENTRY | ||||
| 		TS	DAPDATR1 | ||||
| 		TC	+4 | ||||
|  | ||||
| @@ -198,8 +198,7 @@ NOTYET		CA	.5SEC | ||||
| 					# NEXT PASS. | ||||
| 		TS	P63FLAG		# SO WAKEP62 WILL NOT BE INITIATED UNTIL | ||||
| 					# HEADSUP IS SET IN P62. | ||||
|  | ||||
| 					# FLAG TO PREVENT MULTIPLE CALLS TO WAKEP62 | ||||
| 					# FLAG TO PREVENT MULTIPLE CALLS TO WAKEP62. | ||||
|  | ||||
| 		CA	7 | ||||
| 		TS	JETAG | ||||
| @@ -240,7 +239,7 @@ CM/DAPIC	CA	EBAOG | ||||
|  | ||||
| 		INHINT | ||||
| CM/DAP2C	CS	PIPTIME +1 | ||||
| 					# PRIO OF P62 L PRIO AVG.:PIPTM=PIPTM1. | ||||
| 					# PRIO OF P62 L PRIO AVG.:PIPTM=PIPTM1 | ||||
| 		TS	JETEM | ||||
|  | ||||
| 		CA	POS1/2 | ||||
| @@ -264,13 +263,13 @@ CM/DAP2C	CS	PIPTIME +1 | ||||
| 		MASK	CM/FLAGS	# DAPARM, .05GSW, LATSW, ENTRYDSP | ||||
| 		AD	CM/SWIC2	# SET CM/DSTBY, LATSW | ||||
| 					# DISABLE ENTRY DISPLAY, SINCE DES. GIMB. | ||||
| 					# CALC.  (P62.3) GOES TO ENDEXIT | ||||
| 					# CALC. (P62.3) GOES TO ENDEXIT. | ||||
| 		TS	CM/FLAGS | ||||
|  | ||||
| 		CA	7 | ||||
| 		TS	BETA/180	# NECESSARY:  NO OVFL CORRECTIO | ||||
| 		TS	BETA/180	# NECESSARY:  NO OVFL CORRECTION | ||||
| 		CA	ONE		# INITIALIZE THE TM OF BODY RATES VIA | ||||
| 		TS	SW/NDX		# UPBUFF. | ||||
| 		TS	SW/NDX		#   UPBUFF. | ||||
|  | ||||
| 		TC	2PHSCHNG	# DOES INHINT/RELINT | ||||
| 		OCT	40116		# SAVE TBASE6 | ||||
| @@ -282,20 +281,20 @@ CM/DAP2C	CS	PIPTIME +1 | ||||
| 		CADR	P62.2 | ||||
|  | ||||
| CM/SWIC1	OCT	16017 | ||||
| CM/SWIC2	=	TEN		# 00012: CM/DSTBY, LATSW | ||||
| CM/SWIC2	=	TEN		# 00012 : CM/DSTBY, LATSW | ||||
| -CDUT+1		OCT	77766 | ||||
| 		EBANK=	T5LOC | ||||
| T5IDLER1	2CADR	T5IDLOC | ||||
|  | ||||
| # Page 1070 | ||||
| # THIS SECTION CALCULATES THE ANGULAR BODY RATES EACH .1 SEC.  THE ANGULAR RATES ARE THOSE ALONG THE BODY AXES | ||||
| # XB, YB, ZB, AND ARE NORMALLY DESIGNATED P, Q, R.	REQUIREMENT:  TEMPORARILY ERASE.  JETEM, JETEM +1 | ||||
| # XB, YB, ZB, AND ARE NORMALLY DESIGNATED  P, Q, R.	REQUIREMENT:  TEMPORARY ERASE. JETEM, JETEM +1 | ||||
| # | ||||
| # SINCE RESTARTS ZERO THE JET OUTPUT CHANNELS, NO ATTEMPT IS MADE TO RESTART THE ENTRY DAPS.  THAT IS, | ||||
| # THE 0.1 SEC DAPS WILL MISS A CYCLE, AND WILL PICK UP AT THE NEXT 0.1 SEC UPDATE.  MOST OF THE TIME THE 2 SEC | ||||
| # ROLL SYSTEM WILL MISS ONLY 0.1 SEC OF CONTROL.  HOWEVER, IF THE RESTART OCCURS AFTER THE SECTION TIMETST HAS | ||||
| # 	   SINCE RESTARTS ZERO THE JET OUTPUT CHANNELS, NO ATTEMPT IS MADE TO RESTART THE  ENTRY DAPS. THAT IS, | ||||
| # THE 0.1 SEC DAPS WILL MISS A CYCLE, AND WILL PICK UP AT THE NEXT 0.1 SEC UPDATE. MOST OF THE TIME THE 2 SEC | ||||
| # ROLL SYSTEM WILL MISS ONLY 0.1 SEC OF CONTROL. HOWEVER, IF THE RESTART OCCURS AFTER THE SECTION TIMETST HAS | ||||
| # STARTED, THEN THE ROLL SYSTEM WILL MISS ONE CYCLE. | ||||
| # THIS IS NECESSARY UNDER THE GROUND-RULE THAT NO JET COMMANDS SHALL BE LESS THAN 14 MS. | ||||
| # THIS IS NECESSARY UNDER THE GROUNDRULE THAT NO JET COMMANDS SHALL BE LESS THAN 14 MS. | ||||
|  | ||||
| 		EBANK=	AOG | ||||
| 		BANK	15 | ||||
| @@ -304,7 +303,7 @@ T5IDLER1	2CADR	T5IDLOC | ||||
|  | ||||
| 		COUNT	15/DAPEN | ||||
|  | ||||
| BODYRATE	CA	AMG		# THESE ARE 2'S COMPL NOS, BUT USE ANYWAY. | ||||
| BODYRATE	CA	AMG		# THESE ARE 2S COMPL NOS, BUT USE ANYWAY. | ||||
| 		TC	SPCOS | ||||
| 		TS	COSM | ||||
|  | ||||
| @@ -544,10 +543,10 @@ BIASEDZ		TS	JETEM2		# SAVE RATE/180.  ERROR/180 IS IN L. | ||||
| 		TCF	+2 | ||||
| 		CA	CM/BIAS | ||||
| 		AD	L		# BIAS THE ERROR. | ||||
| 		LXCH	Q		# SAVE CALLER'S RETURN ADDRES. | ||||
| 		LXCH	Q		# SAVE CALLERS RETURN ADDRESS. | ||||
| 		TC	3DDZ		# GO GENERATE THE ERROR BIT. | ||||
| 		DXCH	L		# BIT TO L, RESTORE CALLER'S Q. | ||||
| 4D/SDZ		CCS	JETEM2		# CAME HERE IN EXT ATM.  C(L) = ERROR BIT | ||||
| 		DXCH	L		# BIT TO L, RESTORE CALLERS Q. | ||||
| 4D/SDZ		CCS	JETEM2		# CAME HERE IN EXT ATM. C(L) = ERROR BIT | ||||
| 		AD	4D/SLIM		# IF RATE GEQ 4D/S, SET L=0 AND TAKE | ||||
| 		TCF	+2		# JET BITS ACCORDING TO SGN OF RATE. | ||||
| 		AD	4D/SLIM | ||||
| @@ -641,7 +640,7 @@ EXDAP1		TS	RAXERR		# FOR YAW FDAI | ||||
| 		CA	ONE		# USE BETADOT TO COORD IN MODE +0 | ||||
| 		INDEX	A		# OTHERWISE USE RREL. | ||||
| 		CA	RREL | ||||
| 		TC	BIASEDZ		# GO TEST DZ  +0 IF IN DX, +-1 OTHERWISE | ||||
| 		TC	BIASEDZ		# GO TEST DZ. +0 IF IN DZ, +-1 OTHERWISE | ||||
| 					# IF GEQ 4D/S, SET ERROR BIT IN L=0 | ||||
| 		EXTEND | ||||
| 		ROR	LCHAN		# L HAS BETA BIT | ||||
| @@ -660,7 +659,7 @@ EXDAP1		TS	RAXERR		# FOR YAW FDAI | ||||
| EXDAP2		INCR	CMDAPMOD	# SET CMDAPMOD TO +1 | ||||
|  | ||||
| 		CS	ONE		# INDICATE CHANGE FROM .1 SEC UPDATE TO | ||||
| 		TS	JETAG		# TO 2 SEC FOR ROLL JETS.  (IF CMDAPMOD | ||||
| 		TS	JETAG		# TO 2 SEC FOR ROLL JETS. (IF CMDAPMOD | ||||
| 					# =0 AND JETAG =-1, QUENCHES JETS IF ON) | ||||
|  | ||||
| 		CCS	P63FLAG		# IF FLAG WAS +1, SET =0. | ||||
| @@ -687,11 +686,11 @@ EXDAP2		INCR	CMDAPMOD	# SET CMDAPMOD TO +1 | ||||
| 		INDEX	A | ||||
| 		CAF	P/RJCODE	# GET ROLL CODE | ||||
| 		EXTEND			# ROLL CONTROL WITH YAW JETS. | ||||
| 		WRITE	ROLLJETS	# WE'LL SKIP REGULAR ROLL SYST | ||||
| 		WRITE	ROLLJETS	# WE,LL SKIP REGULAR ROLL SYST | ||||
|  | ||||
| 		CA	ROLLHOLD	# ROLL/180 AT CM/DAPON TIME. | ||||
| 		EXTEND | ||||
| 		MSU	ROLL/180	# 1'S COMPL, BUT SO WHAT'S A BIT? | ||||
| 		MSU	ROLL/180	# 1,S COMPL, BUT SO WHATS A BIT.? | ||||
| 		TS	L		# FORCE A LIMIT CYCLE IN YAW RATE. | ||||
| 		CCS	SALFA | ||||
| 		CA	L		# TO REMOVE ITS BIASING EFFECT ON M DOT. | ||||
| @@ -713,11 +712,11 @@ SINTRIM		DEC	-.34202		# SIN(-20)	(FOR NOMINAL L/D = .3) | ||||
| COSTRIM		DEC	.93969		# COS(-20)	(FOR NOMINAL L/D = .3) | ||||
|  | ||||
| # TO MAKE DAP INSENSITIVE TO PITCH ERRORS DUE TO ACCUMULATED NAV ERRORS, USE NOMINAL VALUE (-20 DEG) FOR TRIM ALFA | ||||
| # USED DURING ATMOSPHERIC COORDINATION.  OUTSIDE ATMOSPHERE, NAV ERRORS WILL BE SLIGHT, BUT ALFA CAN DIFFER GREATLY | ||||
| # USED DURING ATMOSPHERIC COORDINATION. OUTSIDE ATMOSPHERE, NAV ERRORS WILL BE SLIGHT, BUT ALFA CAN DIFFER GREATLY | ||||
| # FROM TRIM, SO USE ON-BOARD ESTIMATES. | ||||
|  | ||||
| # Page 1080 | ||||
| # JET CODE TABLES FOLLOW | ||||
| # JET CODE TABLES FOLLOW _ | ||||
|  | ||||
| 		OCTAL	00120		# POS Y | ||||
| YJETCODE	OCTAL	00000		# RCS JET BITS | ||||
| @@ -787,7 +786,7 @@ GETLCX		CA	POS1/2		# FORM RCOM/360 | ||||
| 		AD	NEG1/2 | ||||
| 		AD	NEG1/2		# IGNORE OVFL | ||||
| 		XCH	LCX/360		# -R/360 | ||||
| 		ADS	LCX/360		# LCX/360 = RCOM/360 - R/360  RANGE (-1,1) | ||||
| 		ADS	LCX/360		# LCX/360 = RCOM/360 -R/360  RANGE (-1,1) | ||||
|  | ||||
| # DOES SGN(-VT) (VT/180) (VT/180) (180/(4 A1 TT COSALFA)) + X/360 + SGN(X) / 2	  OVFL ? | ||||
|  | ||||
| @@ -840,7 +839,7 @@ COMPAT		CA	LCX/360		# CORRECT FOR ASSUMED COORD TURN. | ||||
| 		MP	180/8ATT | ||||
| 		TS	VSQ/4API | ||||
|  | ||||
| # IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 -.5 BUFLIM/360  POS? | ||||
| # IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 - .5 BUFLIM/360  POS? | ||||
|  | ||||
| WHICHALF	DOUBLE			# FOR SECOND BURN, A1 | ||||
| 		COM | ||||
| @@ -861,7 +860,7 @@ WHICHALF	DOUBLE			# FOR SECOND BURN, A1 | ||||
| 		AD	BUFLIM | ||||
| 		AD	BUFLIM | ||||
| 		EXTEND | ||||
| 		BZMF	DZ1		# POINT (X,V) IN RHP | ||||
| 		BZMF	DZ1		# POINT (X,V) IN RHP. | ||||
|  | ||||
| # IS POINT WITHIN VELOCITY DZ? | ||||
|  | ||||
| @@ -899,7 +898,7 @@ DZ2		CS	XMIN/360	# XMIN/360 = 4/360 | ||||
| 		AD	LCX/360 | ||||
| 		AD	SR		# C(SR) = -VT/360 | ||||
| 		EXTEND			# IS X/360 - XMIN/360 -VT/360 NEG  $ | ||||
| 		BZMF	DZCALL		# YES, IN DZ.  EXIT SETTING JETAG=0. | ||||
| 		BZMF	DZCALL		# YES, IN DZ. EXIT SETTING JETAG=0. | ||||
|  | ||||
| # IS XD/360 - VM/360K - XS/360 POS? | ||||
|  | ||||
| @@ -1003,7 +1002,7 @@ TIMSCAL		TS	TOFF		# IN CS | ||||
| 		TS	JETAG		# SET +0 TO SHOW ROLL DAP CALLED. | ||||
|  | ||||
| 					# CAUSE THE TM OF BODY RATES VIA UPBUFF TO BE | ||||
| 					# INITIALIZED.  ALSO CAUSE NEEDLES TO BE DONE ON EXIT | ||||
| 					# INITIALIZED. ALSO CAUSE NEEDLES TO BE DONE ON EXIT | ||||
| 					# AND ON ALTERNATE PASSES THROUGH CM/DUMPR. | ||||
|  | ||||
| 		CA	ONE | ||||
| @@ -1188,7 +1187,7 @@ CM/FDAIR	CA	HALF | ||||
|  | ||||
| CM/DUMPR	CS	SW/NDX		# COMBINED ALTERNATION SWITCH AND FILE | ||||
| 		TS	SW/NDX | ||||
| 		EXTEND			# INDEX | ||||
| 		EXTEND			# INDEX. | ||||
| 		BZMF	CMTMFILE	# FILE STARTS WITH SW/NDX +1 AND GOES TO | ||||
| 					# ENDBUF. | ||||
| 					# INDEX IS POS FOR NEEDLES. | ||||
| @@ -1203,7 +1202,6 @@ CM/DUMPR	CS	SW/NDX		# COMBINED ALTERNATION SWITCH AND FILE | ||||
| CMTMFILE	AD	THREE | ||||
| 		EXTEND | ||||
| 		BZMF	SAVENDX | ||||
|  | ||||
| # Page 1091 | ||||
| 		CA	TIME1		# INITIALIZE THE TM LIST IN UPBUFF. | ||||
| 		TS	CMTMTIME | ||||
| @@ -1250,9 +1248,9 @@ T5IDLER2	2CADR	T5IDLOC | ||||
| # SPACER | ||||
| # | ||||
| # CONSTANTS USED IN THE ROLL CONTROL SYSTEM: | ||||
| # CONSTANTS ARE THE FOLLOWING:  A = 9.1 DEG/SECSQ, VM = 20 DEG/SEC, T = 2 SEC, TCDU = .1 SEC, | ||||
| # XMIN = 4 DEG, VMIN = 2 DEG/SEC, K = .25, A1 = 4.55 DEG/SECSQ, VI = 1 DEG/SEC, INTERCEPT WITH DZ SIDE | ||||
| # XBUF = 4DEG | ||||
| # CONSTANTS ARE THE FOLLOWING:  A = 9.1 DEG/SECSQ, VM = 20 DEG/SEC, 	T = 2 SEC, TCDU = .1 SEC, | ||||
| # XMIN = 4 DEG, VMIN = 2 DEG/SEC, K = .25, A1 = 4.55 DEG/SECSQ, 	VI = 1 DEG/SEC, INTERCEPT WITH DZ SIDE | ||||
| # XBUF = 4 DEG | ||||
|  | ||||
| -T-3		DEC	-203		# CS | ||||
| VSQMIN		DEC	.61050061 E-3	# VSQ MIN/4 A PI = 4/(4 (9.1) 180) | ||||
| @@ -1266,10 +1264,10 @@ XMIN/360	DEC	182		# XMIN/360 = 4/ 360  EXP 14  = 182 INTEGER | ||||
| 1/16A1		=	180/8ATT | ||||
| 					# 1/16A1   = 180/(16 A1 TT) | ||||
| 					#          = 180/(16 4.55 4) | ||||
| XS/360		DEC	91		# = (XMIN +VI (T-1/K))/360 = 2/360 EXP 14 | ||||
| XS/360		DEC	91		# =(XMIN +VI (T-1/K))/360 = 2/360 EXP 14 | ||||
| BUFLIM		=	XS/360		# 4/(2 360) | ||||
|  | ||||
| KTRCS		=	HALF		#    KT = (.25) 2 = .5 | ||||
| KTRCS		=	HALF		# KT = (.25) 2 = .5 | ||||
|  | ||||
| # *** END OF TVCDAPS .011 *** | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user