Proof CM_ENTRY_DIGITAL_AUTOPILOT (#340, closes #196)

Proof CM_ENTRY_DIGITAL_AUTOPILOT (closes #196)
pull/345/head
cai 2018-07-19 06:08:49 +08:00 committed by James Harris
parent 3a9b000cb4
commit b47cb532c2
1 changed files with 46 additions and 48 deletions

View File

@ -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
@ -57,7 +57,7 @@ READGYMB CA TEN # KEEP RESTART DT GOING RELATIVE TO
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
@ -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,11 +263,11 @@ 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.
@ -289,13 +288,13 @@ 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
# 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,9 +543,9 @@ 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.
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.
@ -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
@ -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.
@ -717,7 +716,7 @@ COSTRIM DEC .93969 # COS(-20) (FOR NOMINAL L/D = .3)
# 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
@ -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?
@ -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