Source Code
|
These source-code files are part of a reconstructed copy of LUM69 Revision 2, the
flown Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction began with source code of Luminary 69 revision 0 previously transcribed from a digitized copy of that program. The code was then updated by back-porting the R-2 lunar potential model from previously-transcribed source code of Luminary 99. These required changes were described in the original Luminary memos 75 and 78. The reconstructed code was verified by matching memory-bank checksums to those listed in drawing 2021152G. Note that page numbers in the reconstructed code match those on the Luminary 069 printout, although the added code would likely have changed page numbers for a real LUM69 Revision 2 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
039926,000002: ## Copyright: Public domain.
039927,000003: ## Filename: FINDCDUW_-_GUIDAP_INTERFACE.agc
039928,000004: ## Purpose: A section of LUM69 revision 2.
039929,000005: ## It is part of the reconstructed source code for the flown
039930,000006: ## version of the flight software for the Lunar Module's (LM)
039931,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has
039932,000008: ## been recreated from a copy of Luminary revsion 069, using
039933,000009: ## changes present in Luminary 099 which were described in
039934,000010: ## Luminary memos 75 and 78. The code has been adapted such
039935,000011: ## that the resulting bugger words exactly match those specified
039936,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives
039937,000013: ## relatively high confidence that the reconstruction is correct.
039938,000014: ## Reference: pp. 907-924
039939,000015: ## Assembler: yaYUL
039940,000016: ## Contact: Ron Burkey <info@sandroid.org>.
039941,000017: ## Website: www.ibiblio.org/apollo/index.html
039942,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69.
039943,000019:
|
Page 907 |
039945,000021: # PROGRAM NAME: FINDCDUW
039946,000022:
039947,000023: # MOD NUMBER: 1 68 07 15
039948,000024:
039949,000025: # MOD AUTHOR: KLUMPP
039950,000026:
039951,000027: # OBJECTS OF MOD: 1. TO SUPPLY COMMANDED GIMBAL ANGLES FOR NOUN 22.
039952,000028: # 2. TO MAINTAIN CORRECT AND CURRENT THRUST
039953,000029: # DIRECTION DATA IN ALL MODES. THIS IS DONE BY
039954,000030: # FETCHING FOR THE THRUST DIRECTION FILTER THE
039955,000031: # CDUD'S IN PNGCS-AUTO, THE CDU'S IN ALL OTHER
039956,000032: # MODES.
039957,000033: # 3. TO SUBSTITUTE A STOPRATE FOR THE NORMAL
039958,000034: # AUTOPILOT COMMANDS WHENEVER
039959,000035: # 1) NOT IN PNGCS-AUTO, OR
039960,000036: # 2) ENGINE IS OFF.
039961,000037:
039962,000038: # FUNCTIONAL DESCRIPTION:
039963,000039:
039964,000040: # FINDCDUW PROVIDES THE INTERFACES BETWEEN THE VARIOUS POWERED FLITE GUIDANCE PROGRAMS
039965,000041: # AND THE DIGITAL AUTOPILOT. THE INPUTS TO FINDCDUW ARE THE THRUST COMMAND VECTOR
039966,000042: # AND THE WINDOW COMMAND VECTOR, AND THE OUTPUTS ARE THE GIMBAL ANGLE
039967,000043: # INCREMENTS, THE COMMANDED ATTITUDE ANGLE RATES, AND THE COMMANDED
039968,000044: # ATTITUDE LAG ANGLES (WHICH ACCOUNT FOR THE ANGLES BY WHICH THE BODY WILL
039969,000045: # LAG BEHIND A RAMP COMMAND IN ATTITUDE ANGLE DUE TO THE FINITE ANGULAR
039970,000046: # ACCELERATIONS AVAILABLE).
039971,000047:
039972,000048: # FINDCDUW ALINES THE ESTIMATED THRUST VECTOR FROM THE THRUST DIRECTION
039973,000049: # FILTER WITH THE THRUST COMMAND VECTOR, AND, WHEN XOVINHIB SET,
039974,000050: # ALINES THE +Z HALF OF THE LM ZX PLANE WITH THE WINDOW COMMAND VECTOR.
039975,000051:
|
Page 908 |
039977,000053: # SPECIFICATIONS:
039978,000054:
039979,000055: # INITIALIZATION: A SINGLE INTERPRETIVE CALL TO INITCDUW IS REQUIRED
039980,000056: # BEFORE EACH GUIDED MANEUVER USING FINDCDUW.
039981,000057:
039982,000058: # CALL: INTERPRETIVE CALL TO FINDCDUW WITH THE THRUST COMMAND
039983,000059: # VECTOR IN MPAC. INTERPRETIVE CALL TO FINDCDUW -2 WITH
039984,000060: # THE THRUST COMMAND VECTOR IN UNFC/2 AND NOT IN MPAC.
039985,000061:
039986,000062: # RETURNS: NORMAL INTERPRETIVE IN ALL CASES
039987,000063:
039988,000064: # 1. NORMALLY ALL AUTOPILOT CMDS ARE ISSUED.
039989,000065:
039990,000066: # 2. IF NOT PNGCS AUTO, DO STOPRATE AND RETURN
039991,000067: # WITHOUT ISSUING AUTOPILOT CMDS.
039992,000068:
039993,000069: # 3. IF ENGINE OFF, DO STOPRATE AND RETURN WITHOUT
039994,000070: # ISSUING AUTOPILOT CMDS.
039995,000071:
039996,000072: # ALARMS: 00401 IF INPUTS DETERMINE AN ATTITUDE IN GIMBAL LOCK.
039997,000073: # FINDCDUW DRIVES CDUXD AND CDUYD TO THE RQD VALUES,
039998,000074: # BUT DRIVES CDUZD ONLY TO THE GIMBAL LOCK CONE.
039999,000075: # 00402 IF UNFC/2 OR UNWC/2 PRODUCE OVERFLOW WHEN
040000,000076: # UNITIZED USING NORMUNIT. FINDCDUW ISSUES
040001,000077: # STOPRATE AS ONLY INPUT TO AUTOPILOT.
040002,000078:
040003,000079: # INPUTS: UNFC/2 THRUST COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
040004,000080: # UNWC/2 WINDOW COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
040005,000081: # XOVINHIB FLAG DENOTING X AXIS OVERRIDE INHIBITED.
040006,000082: # CSMDOCKD FLAG DENOTING CSM DOCKED.
040007,000083: # STEERSW FLAG DENOTING INSUFF THRUST FOR THRUST DIR FLTR.
040008,000084:
040009,000085: # OUTPUTS: DELCDUX,Y,Z
040010,000086: # OMEGAPD,+1,+2
040011,000087: # DELPEROR,+1,+2
040012,000088: # CPHI,+1,+2 FOR NOUN22
040013,000089:
040014,000090: # DEBRIS: FINDCDUW DESTROYS SINCDUX,Y,Z AND COSCDUX,Y,Z BY
040015,000091: # WRITING INTO THESE LOCATIONS THE SINES AND COSINES
040016,000092: # OF THE CDUD'S IN PNGCS-AUTO, OF THE CDU'S OTHERWISE.
040017,000093:
|
Page 909 |
040019,000095: # INITIALIZATION FOR FINDCDUW
040020,000096:
040021,000097: 30,3055 BANK 30
040022,000098: 30,2000 SETLOC FCDUW
040023,000099: 30,2000 BANK
040024,000100:
040025,000101: 30,3055 E6,1644 EBANK= ECDUW
040026,000102:
040027,000103: 30,3055 COUNT* $$/FCDUW
040028,000104:
040029,000105: 30,3055 77775 INITCDUW VLOAD
040030,000106: 30,3056 06422 UNITX
040031,000107: 30,3057 03266 STORE UNFV/2
040032,000108: 30,3060 03260 STORE UNWC/2
040033,000109: 30,3061 77616 RVQ
040034,000110:
040035,000111: # FINDCDUW PRELIMINARIES
040036,000112:
040037,000113: 30,3062 77775 VLOAD # FINDCDUW -2: ENTRY WHEN UNFC/2 PRE-STORD
040038,000114: 30,3063 03252 UNFC/2 # INPUT VECTORS NEED NOT BE SEMI-UNIT
040039,000115: 30,3064 40200 FINDCDUW BOV SETPD # FINDCDUW: ENTRY WHEN UNFC/2 IN MPAC
040040,000116: 30,3065 61064 FINDCDUW # INTERPRETER NOW INITIALIZED
040041,000117: 30,3066 00023 22 # LOCS 0 THRU 21 FOR DIRECTION COSINE MAT
040042,000118: 30,3067 77420 STQ EXIT
040043,000119: 30,3070 03245 QCDUWUSR # SAVE RETURN ADDRESS
040044,000120:
040045,000121: # MORE HAUSKEEPING
040046,000122: 30,3071 33732 CA ECDUWL
040047,000123: 30,3072 56003 XCH EBANK # SET EBANK
040048,000124: 30,3073 55644 TS ECDUWUSR # SAVE USER'S EBANK
040049,000125:
040050,000126: 30,3074 30111 CA DAPBOOLS
040051,000127: 30,3075 74737 MASK CSMDOCKD # CSMDOCKD MUST NOT BE BIT15
040052,000128: 30,3076 10000 CCS A
040053,000129: 30,3077 34753 CA ONE # INDEX IF CSM DOCKED
040054,000130: 30,3100 55646 TS NDXCDUW
040055,000131:
040056,000132: 30,3101 34743 CA XOVINHIB # XOVINHIB MUST NOT BE BIT15
040057,000133: 30,3102 55650 TS FLPAUTNO # SET TO POS-NON-ZERO FLAG PNGCS AUTO NOT
040058,000134:
040059,000135: 30,3103 70111 MASK DAPBOOLS
040060,000136: 30,3104 55647 TS FLAGOODW # FLAGOODW = ANY PNZ NUMBER IF XOV INHIBTD
040061,000137:
|
Page 910 |
040063,000139: # FETCH BASIC DATA
040064,000140:
040065,000141: 30,3105 00004 INHINT # RELINT AT PAUTNO (TC INTPRET)
040066,000142:
040067,000143: 30,3106 30032 CA CDUX # FETCH CDUX,CDUY,CDUZ IN ALL CASES, BUT
040068,000144: 30,3107 54772 TS CDUSPOTX # REPLACE BELOW IF PNGCS AUTO
040069,000145: 30,3110 30033 CA CDUY
040070,000146: 30,3111 54766 TS CDUSPOTY
040071,000147: 30,3112 30034 CA CDUZ
040072,000148: 30,3113 54770 TS CDUSPOTZ
040073,000149:
040074,000150: 30,3114 34742 CA BIT10 # PNGCS CONTROL BIT
040075,000151: 30,3115 00006 EXTEND
040076,000152: 30,3116 02030 RAND CHAN30
040077,000153: 30,3117 10000 CCS A
040078,000154: 30,3120 13135 TCF PAUTNO # NOT PNGCS (BITS INVERTED)
040079,000155:
040080,000156: 30,3121 34736 CA BIT14 # AUTO MODE BIT
040081,000157: 30,3122 00006 EXTEND
040082,000158: 30,3123 02031 RAND CHAN31
040083,000159: 30,3124 10000 CCS A
040084,000160: 30,3125 13135 TCF PAUTNO # NOT AUTO (BITS INVERTED)
040085,000161:
040086,000162: 30,3126 55650 TS FLPAUTNO # RESET FLAG PNGCS AUTO NOT
040087,000163:
040088,000164: 30,3127 31633 CA CDUXD # PNGCS AUTO: FETCH CDUXD,CDUYD,CDUZD
040089,000165: 30,3130 54772 TS CDUSPOTX
040090,000166: 30,3131 31634 CA CDUYD
040091,000167: 30,3132 54766 TS CDUSPOTY
040092,000168: 30,3133 31635 CA CDUZD
040093,000169: 30,3134 54770 TS CDUSPOTZ
040094,000170:
|
Page 911 |
040096,000172: # FETCH INPUTS
040097,000173:
040098,000174: 30,3135 06036 PAUTNO TC INTPRET # ENTERING THRUST CMD STILL IN MPAC
040099,000175: 30,3136 77634 RTB
040100,000176: 30,3137 21700 NORMUNIT
040101,000177: 30,3140 24001 STOVL UNX/2 # SEMI-UNIT THRUST CMD AS INITIAL UNX/2
040102,000178: 30,3141 03260 UNWC/2
040103,000179: 30,3142 47034 RTB RTB
040104,000180: 30,3143 21700 NORMUNIT
040105,000181: 30,3144 47521 QUICTRIG # ALWAYS RQD TO OBTAIN TRIGS OF CDUD'S
040106,000182: 30,3145 24015 STOVL UNZ/2 # SEMI-UNIT WINDOW CMD AS INITIAL UNZ/2
040107,000183: 30,3146 00325 DELV
040108,000184: 30,3147 53404 BOVB UNIT
040109,000185: 30,3150 61721 NOATTCNT # AT LEAST ONE ENTERING CMD VCT ZERO
040110,000186: 30,3151 45000 BOV CALL
040111,000187: 30,3152 61166 AFTRFLTR # IF UNIT DELV OVERFLOWS, SKIP FILTER
040112,000188: 30,3153 47575 *SMNB* # YIELDS UNIT(DELV) IN VEH COORDS FOR FLTR
040113,000189:
040114,000190: # THRUST DIRECTION FILTER
040115,000191:
040116,000192: 30,3154 77776 EXIT
040117,000193:
040118,000194: 30,3155 31667 CA UNFVY/2 # FOR RESTARTS, UNFV/2 ALWAYS INTACT, MPAC
040119,000195: 30,3156 22157 LXCH MPAC +3 # RENEWED AFTER RETURN FROM CALLER,
040120,000196: 30,3157 03454 TC FLTRSUB # TWO FILTER UPDATES MAY BE DONE.
040121,000197: 30,3160 55667 TS UNFVY/2 # UNFV/2 NEED NOT BE EXACTLY SEMI-UNIT.
040122,000198:
040123,000199: 30,3161 31671 CA UNFVZ/2
040124,000200: 30,3162 22161 LXCH MPAC +5
040125,000201: 30,3163 03454 TC FLTRSUB
040126,000202: 30,3164 55671 TS UNFVZ/2
040127,000203:
040128,000204: 30,3165 06036 TC INTPRET # COMPLETES FILTER
040129,000205:
|
Page 912 |
040131,000207: # FIND A SUITABLE WINDOW POINTING VECTOR
040132,000208:
040133,000209: 30,3166 46135 AFTRFLTR SLOAD BHIZ # IF XOV NOT INHIBITED, GO FETCH ZNB
040134,000210: 30,3167 03250 FLAGOODW
040135,000211: 30,3170 61174 FETCHZNB
040136,000212: 30,3171 45175 VLOAD CALL
040137,000213: 30,3172 00015 UNZ/2
040138,000214: 30,3173 61474 UNWCTEST
040139,000215:
040140,000216: 30,3174 77775 FETCHZNB VLOAD
040141,000217: 30,3175 02162 ZNBPIP
040142,000218: 30,3176 34015 STCALL UNZ/2
040143,000219: 30,3177 61474 UNWCTEST
040144,000220:
040145,000221: 30,3200 57575 VLOAD VCOMP # Z AND -X CAN'T BOTH PARALLEL UNFC/2
040146,000222: 30,3201 02146 XNBPIP
040147,000223: 30,3202 00015 STORE UNZ/2
040148,000224:
040149,000225: # COMPUTE THE REQUIRED DIRECTION COSINE MATRIX
040150,000226:
040151,000227: 30,3203 47375 DCMCL VLOAD VXV
040152,000228: 30,3204 00015 UNZ/2
040153,000229: 30,3205 00001 UNX/2
040154,000230: 30,3206 41456 UNIT PUSH # UNY/2 FIRST ITERATION
040155,000231: 30,3207 76435 VXV VSL1
040156,000232: 30,3210 00001 UNX/2
040157,000233: 30,3211 00015 STORE UNZ/2 # -UNZ/2 FIRST ITERATION
040158,000234: 30,3212 63361 VXSC PDVL # EXCHANGE -UNFVZ/2 UNZ/2 FOR UNY/2
040159,000235: 30,3213 03272 UNFVZ/2 # MUST BE SMALL
040160,000236: 30,3214 51361 VXSC BVSU # YIELDS -UNFVY/2 UNY/2-UNFVZ/2 UNZ/2
040161,000237: 30,3215 03270 UNFVY/2 # MUST BE SMALL
040162,000238: 30,3216 53372 VSL1 VAD
040163,000239: 30,3217 00001 UNX/2
040164,000240: 30,3220 77656 UNIT # TOTALLY ELIMINATES THRUST POINTING ERROR
040165,000241: 30,3221 00001 STORE UNX/2 # UNX/2
040166,000242: 30,3222 76435 VXV VSL1
040167,000243: 30,3223 00015 UNZ/2 # -UNZ/2 WAS STORED HERE REMEMBER
040168,000244: 30,3224 00007 STORE UNY/2 # UNY/2
040169,000245: 30,3225 47276 VCOMP VXV
040170,000246: 30,3226 00001 UNX/2
040171,000247: 30,3227 77772 VSL1
040172,000248: 30,3230 00015 STORE UNZ/2 # UNZ/2
040173,000249:
|
Page 913 |
040175,000251: # COMPUTE THE REQUIRED GIMBAL ANGLES
040176,000252:
040177,000253: 30,3231 77624 CALL
040178,000254: 30,3232 61504 NB2CDUSP # YIELDS THE RQD GIMBAL ANGLES, 2'S, PI
040179,000255: 30,3233 77776 EXIT
040180,000256:
040181,000257: # LIMIT THE MIDDLE GIMBAL ANGLE & COMPUTE THE UNLIMITED GIMBAL ANGLE CHGS
040182,000258:
040183,000259: 30,3234 30156 CA MPAC +2 # LIMIT THE MGA
040184,000260: 30,3235 54001 TS L # CAN'T LXCH: NEED UNLIMITED MGA FOR ALARM
040185,000261: 30,3236 33744 CA CDUZDLIM
040186,000262: 30,3237 03700 TC LIMITSUB # YIELDS LIMITED MGA. 1 BIT ERROR POSSIBLE
040187,000263: 30,3240 56156 XCH MPAC +2 # BECAUSE USING 2'S COMP. WHO CARES?
040188,000264: 30,3241 00006 EXTEND
040189,000265: 30,3242 20156 MSU MPAC +2 # THIS BETTER YIELD ZERO
040190,000266: 30,3243 00006 EXTEND
040191,000267: 30,3244 13246 BZF +2
040192,000268: 30,3245 13727 TCF ALARMMGA
040193,000269:
040194,000270: 30,3246 00004 MGARET INHINT # RELINT AT TC INTPRET AFTER TCQCDUW
040195,000271:
040196,000272: 30,3247 22007 ZL
040197,000273: 30,3250 34752 CA TWO
040198,000274: 30,3251 54142 DELGMBLP TS TEM2
040199,000275:
040200,000276: 30,3252 30001 CA L # TO PREVENT FALSE STARTS ABOUT X, ZERO
040201,000277: 30,3253 00006 EXTEND # FLAGOODW IF DELGMBZ OR Y TOO BIG.
040202,000278: 30,3254 70000 SQUARE
040203,000279: 30,3255 64350 AD HI5 # WITHIN 1 BIT OF -(45 DEG SQUARED)
040204,000280: 30,3256 00006 EXTEND
040205,000281: 30,3257 63262 BZMF +3
040206,000282: 30,3260 34755 CA ZERO
040207,000283: 30,3261 55647 TS FLAGOODW
040208,000284:
040209,000285: 30,3262 50142 INDEX TEM2
040210,000286: 30,3263 30154 CA MPAC
040211,000287: 30,3264 50142 INDEX TEM2
040212,000288: 30,3265 54321 TS CPHI # OUTPUTS TO NOUN22
040213,000289: 30,3266 00006 EXTEND
040214,000290: 30,3267 50142 INDEX TEM2
040215,000291: 30,3270 21633 MSU CDUXD # NO MATTER THAT THESE SLIGHTLY DIFFERENT
040216,000292: 30,3271 40000 COM # FROM WHEN WE INITIALLY FETCHED THEM
040217,000293: 30,3272 50142 INDEX TEM2
040218,000294: 30,3273 55673 TS -DELGMB # -UNLIMITED GIMBAL ANGLE CHGS, 1'S, PI
040219,000295: 30,3274 54001 TS L # FOR PRECEDING TEST ON NEXT LOOP PASS
040220,000296: 30,3275 10142 CCS TEM2
040221,000297: 30,3276 13251 TCF DELGMBLP
040222,000298:
|
Page 914 |
040224,000300: # BRANCHES TO NOATTCNT
040225,000301:
040226,000302: 30,3277 11650 CCS FLPAUTNO
040227,000303: 30,3300 13723 TCF NOATTCNT +2 # NOT PNGCS AUTO
040228,000304:
040229,000305: 30,3301 30101 CA FLAGWRD5
040230,000306: 30,3302 74745 MASK ENGONBIT
040231,000307: 30,3303 00006 EXTEND
040232,000308: 30,3304 13723 BZF NOATTCNT +2 # ENGINE NOT ON
040233,000309:
|
Page 915 |
040235,000311: # LIMIT THE ATTITUDE ANGLE CHANGES
040236,000312:
040237,000313: # THIS SECTION LIMITS THE ATTITUDE ANGLE CHANGES ABOUT A SET OF ORTHOGONAL VEHICLE AXES X,YPRIME,ZPRIME.
040238,000314: # THESE AXES COINCIDE WITH THE COMMANDED VEHICLE AXES IF AND ONLY IF CDUXD IS ZERO. THE PRIME SYSTEM IS
040239,000315: # THE COMMANDED VEHICLE SYSTEM ROTATED ABOUT THE X AXIS TO BRING THE Z AXIS INTO ALINEMENT WITH THE MIDDLE GIMBAL
040240,000316: # AXIS. ATTITUDE ANGLE CHANGES IN THE PRIME SYSTEM ARE RELATED TO SMALL GIMBAL ANGLE CHANGES BY:
040241,000317:
040242,000318: # * -DELATTX * * 1 SIN(CDUZD) 0 * * -DELGMBX *
040243,000319: # * * * * * *
040244,000320: # * -DELATTYPRIME * = * 0 COS(CDUZD) 0 * * -DELGMBY *
040245,000321: # * * * * * *
040246,000322: # * -DELATTZPRIME * * 0 0 1 * * -DELGMBZ *
040247,000323:
040248,000324: 30,3305 23675 LXCH -DELGMB +2 # SAME AS -DELATTZPRIME UNLIMITED
040249,000325: 30,3306 51646 INDEX NDXCDUW
040250,000326: 30,3307 33740 CA DAZMAX
040251,000327: 30,3310 03700 TC LIMITSUB
040252,000328: 30,3311 55675 TS -DELGMB +2 # -DELGMBZ
040253,000329:
040254,000330: 30,3312 31674 CA -DELGMB +1
040255,000331: 30,3313 00006 EXTEND
040256,000332: 30,3314 70746 MP COSCDUZ # YIELDS -DELATTYPRIME/2 UNLIMITED
040257,000333: 30,3315 54001 TS L
040258,000334: 30,3316 51646 INDEX NDXCDUW
040259,000335: 30,3317 33742 CA DAY/2MAX
040260,000336: 30,3320 03700 TC LIMITSUB
040261,000337: 30,3321 00006 EXTEND
040262,000338: 30,3322 10746 DV COSCDUZ
040263,000339: 30,3323 57674 XCH -DELGMB +1 # -DELGMBY, FETCHING UNLIMITED VALUE
040264,000340:
040265,000341: 30,3324 00006 EXTEND
040266,000342: 30,3325 70740 MP SINCDUZ
040267,000343: 30,3326 20001 DDOUBL
040268,000344: 30,3327 40000 COM
040269,000345: 30,3330 00006 EXTEND # YIELDS +DELATTX UNLIMITD, MAG < 180 DEG,
040270,000346: 30,3331 21673 MSU -DELGMB # BASED ON UNLIMITED DELGMBY.
040271,000347: 30,3332 54001 TS L # ONE BIT ERROR IF OPERANDS IN MSU
040272,000348: 30,3333 51646 INDEX NDXCDUW # OF MIXED SIGNS. WHO CARES?
040273,000349: 30,3334 33740 CA DAXMAX
040274,000350: 30,3335 03700 TC LIMITSUB
040275,000351: 30,3336 55673 TS -DELGMB # SAVE LIMITED +DELATTX
040276,000352: 30,3337 11647 CCS FLAGOODW
040277,000353: 30,3340 41673 CS -DELGMB # FETCH IT BACK CHGING SIGN IF WINDOW GOOD
040278,000354: 30,3341 55673 TS -DELGMB # OTHERWISE USE ZERO FOR -DELATTX
040279,000355: 30,3342 41674 CS -DELGMB +1
040280,000356: 30,3343 00006 EXTEND
040281,000357: 30,3344 70740 MP SINCDUZ
040282,000358: 30,3345 20001 DDOUBL # YIELDS -CNTRIB TO -DELATTX FROM -DELGMBY
040283,000359: 30,3346 27673 ADS -DELGMB # -DELGMBX. NO OVERFLOW SINCE LIMITED TO
040284,000360: # 20DEG(1+SIN(70DEG)/COS(70DEG)) < 180DEG
040285,000361:
|
Page 916 |
040287,000363: # COMPUTE COMMANDED ATTITUDE RATES
040288,000364:
040289,000365: # * OMEGAPD * * -2 -4 SINCDUZ +0 * * -DELGMBX *
040290,000366: # * * * * * *
040291,000367: # * OMEGAQD * = * +0 -8 COSCDUZ COSCDUX -4 SINCDUX * * -DELGMBY *
040292,000368: # * * * * * *
040293,000369: # * OMEGARD * * +0 +8 COSCDUZ SINCDUX -4 COSCDUX * * -DELGMBZ *
040294,000370:
040295,000371: # ATTITUDE ANGLE RATES IN UNITS OF PI/4 RAD/SEC = K TRIG FCNS IN UNITS OF 2 X GIMBAL ANGLE RATES IN UNITS OF
040296,000372: # PI/2 RAD/SEC. THE CONSTANTS ARE BASED ON DELGMB BEING THE GIMBAL ANGLE CHANGES IN UNITS OF PI RADIANS,
040297,000373: # AND 2 SECONDS BEING THE COMPUTATION PERIOD (THE PERIOD BETWEEN SUCCESSIVE PASSES THRU FINDCDUW).
040298,000374:
040299,000375: 30,3347 41673 CS -DELGMB
040300,000376: 30,3350 55641 TS OMEGAPD
040301,000377: 30,3351 41674 CS -DELGMB +1
040302,000378: 30,3352 00006 EXTEND
040303,000379: 30,3353 70740 MP SINCDUZ
040304,000380: 30,3354 20001 DDOUBL
040305,000381: 30,3355 27641 ADS OMEGAPD
040306,000382: 30,3356 27641 ADS OMEGAPD
040307,000383:
040308,000384: 30,3357 41674 CS -DELGMB +1
040309,000385: 30,3360 00006 EXTEND
040310,000386: 30,3361 70750 MP COSCDUX
040311,000387: 30,3362 20001 DDOUBL
040312,000388: 30,3363 00006 EXTEND
040313,000389: 30,3364 70746 MP COSCDUZ
040314,000390: 30,3365 55642 TS OMEGAQD
040315,000391: 30,3366 41675 CS -DELGMB +2
040316,000392: 30,3367 00006 EXTEND
040317,000393: 30,3370 70742 MP SINCDUX
040318,000394: 30,3371 27642 ADS OMEGAQD
040319,000395: 30,3372 27642 ADS OMEGAQD
040320,000396: 30,3373 27642 ADS OMEGAQD
040321,000397:
040322,000398: 30,3374 31674 CA -DELGMB +1
040323,000399: 30,3375 00006 EXTEND
040324,000400: 30,3376 70742 MP SINCDUX
040325,000401: 30,3377 20001 DDOUBL
040326,000402: 30,3400 00006 EXTEND
040327,000403: 30,3401 70746 MP COSCDUZ
040328,000404: 30,3402 55643 TS OMEGARD
040329,000405: 30,3403 41675 CS -DELGMB +2
040330,000406: 30,3404 00006 EXTEND
040331,000407: 30,3405 70750 MP COSCDUX
040332,000408: 30,3406 27643 ADS OMEGARD
040333,000409: 30,3407 27643 ADS OMEGARD
040334,000410: 30,3410 27643 ADS OMEGARD
040335,000411:
|
Page 917 |
040337,000413: # FINAL TRANSFER
040338,000414:
040339,000415: 30,3411 34752 CA TWO
040340,000416: 30,3412 54142 CDUWXFR TS TEM2
040341,000417: 30,3413 50142 INDEX TEM2
040342,000418: 30,3414 31673 CA -DELGMB
040343,000419: 30,3415 00006 EXTEND
040344,000420: 30,3416 73745 MP DT/DELT # RATIO OF DAP INTERVAL TO CDUW INTERVAL
040345,000421: 30,3417 03714 TC ONESTO2S
040346,000422: 30,3420 50142 INDEX TEM2
040347,000423: 30,3421 55636 TS DELCDUX # ANGLE INTERFACE
040348,000424:
040349,000425: 30,3422 50142 INDEX TEM2
040350,000426: 30,3423 11641 CCS OMEGAPD
040351,000427: 30,3424 64753 AD ONE
040352,000428: 30,3425 13427 TCF +2
040353,000429: 30,3426 64753 AD ONE
040354,000430: 30,3427 00006 EXTEND # WE NOW HAVE ABS(OMEGAPD,QD,RD)
040355,000431: 30,3430 50142 INDEX TEM2
040356,000432: 30,3431 71641 MP OMEGAPD
040357,000433: 30,3432 00006 EXTEND
040358,000434: 30,3433 74741 MP BIT11 # 1/16
040359,000435: 30,3434 00006 EXTEND
040360,000436: 30,3435 50142 INDEX TEM2 # 2
040361,000437: 30,3436 11530 DV 1JACC # UNITS PI/4 RAD/SEC
040362,000438: 30,3437 54001 TS L
040363,000439: 30,3440 33742 CA DELERLIM
040364,000440: 30,3441 03700 TC LIMITSUB
040365,000441: 30,3442 50142 INDEX TEM2
040366,000442: 30,3443 55277 TS DELPEROR # LAG ANGLE = OMEGA ABS(OMEGA)/2 ACCEL
040367,000443: 30,3444 10142 CCS TEM2
040368,000444: 30,3445 13412 TCF CDUWXFR
040369,000445:
040370,000446: # HAUSKEEPING AND RETURN
040371,000447:
040372,000448: 30,3446 31644 TCQCDUW CA ECDUWUSR
040373,000449: 30,3447 54003 TS EBANK # RETURN USER'S EBANK
040374,000450:
040375,000451: 30,3450 06036 TC INTPRET
040376,000452: 30,3451 52001 SETPD GOTO
040377,000453: 30,3452 00001 0
040378,000454: 30,3453 03245 QCDUWUSR # NORMAL AND ABNORMAL RETURN TO USER
040379,000455:
|
Page 918 |
040381,000457: # THRUST VECTOR FILTER SUBROUTINE
040382,000458:
040383,000459: 30,3454 00006 FLTRSUB EXTEND
040384,000460: 30,3455 22142 QXCH TEM2
040385,000461: 30,3456 54143 TS TEM3 # SAVE ORIGINAL OFFSET
040386,000462: 30,3457 40000 COM # ONE MCT, NO WDS, CAN BE SAVED IF NEG OF
040387,000463: 30,3460 60001 AD L # ORIG OFFSET ARRIVES IN A, BUT IT'S
040388,000464: 30,3461 00006 EXTEND # NOT WORTH THE INCREASED OBSCURITY.
040389,000465: 30,3462 51646 INDEX NDXCDUW
040390,000466: 30,3463 73733 MP GAINFLTR
040391,000467: 30,3464 54001 TS L # INCR TO OFFSET, UNLIMITED
040392,000468: 30,3465 33735 CA DUNFVLIM # SAME LIMIT FOR Y AND Z
040393,000469: 30,3466 03700 TC LIMITSUB # YIELDS INCR TO OFFSET, LIMITED
040394,000470: 30,3467 60143 AD TEM3 # ORIGINAL OFFSET
040395,000471: 30,3470 54001 TS L # TOTAL OFFSET, UNLIMITED
040396,000472: 30,3471 33736 CA UNFVLIM # SAME LIMIT FOR Y AND Z
040397,000473: 30,3472 03700 TC LIMITSUB # YIELDS TOTAL OFFSET, LIMITED
040398,000474: 30,3473 00142 TC TEM2
040399,000475:
040400,000476: # SUBR TO TEST THE ANGLE BETWEEN THE PROPOSED WINDOW AND THRUST CMD VCTS
040401,000477:
040402,000478: 30,3474 63441 UNWCTEST DOT DSQ
040403,000479: 30,3475 00001 UNX/2
040404,000480: 30,3476 50025 DSU BMN
040405,000481: 30,3477 21740 DOTSWFMX
040406,000482: 30,3500 61203 DCMCL
040407,000483: 30,3501 43531 SSP RVQ # RVQ FOR ALT CHOICE IF DOT MAGN TOO LARGE
040408,000484: 30,3502 03250 FLAGOODW # ZEROING WINDOW GOOD FLAG
040409,000485: 30,3503 00000 0
040410,000486:
|
Page 919 |
040412,000488: # NB2CDUSP RETURNS THE 2'S COMPLEMENT, PI, SP CDU ANGLES X,Y,Z IN MPAC,+1,+2 GIVEN THE MATRIX WHOSE ROW VECTORS
040413,000489: # ARE THE SEMI-UNIT NAV BASE VECTORS X,Y,Z EXPRESSED IN STABLE MEMBER COORDINATES, LOCATED AT 0 IN THE PUSH LIST.
040414,000490:
040415,000491: # NB2CDUSP USES ARCTRGSP WHICH HAS A MAXIMUM ERROR OF +-4 BITS.
040416,000492:
040417,000493: 30,3504 63545 NB2CDUSP DLOAD DSQ
040418,000494: 30,3505 00003 2
040419,000495: 30,3506 51021 BDSU BPL
040420,000496: 30,3507 06414 DP1/4TH
040421,000497: 30,3510 61513 +3
040422,000498: 30,3511 77745 DLOAD
040423,000499: 30,3512 06424 ZEROVECS # IN CASE SIN WAS SLIGHTLY > 1/2
040424,000500: 30,3513 77566 SQRT EXIT # YIELDS COS(CDUZ) IN UNITS OF 2
040425,000501:
040426,000502: 30,3514 00006 EXTEND
040427,000503: 30,3515 30155 DCA MPAC
040428,000504: 30,3516 20001 DDOUBL
040429,000505: 30,3517 54145 TS TEM5
040430,000506: 30,3520 13523 TCF +3
040431,000507: 30,3521 34733 CA POSMAX # OVERFLOW. FETCH POSMAX, MPAC ALWAYS POS
040432,000508: 30,3522 54145 TS TEM5 # COS(CDUZ) IN TEM5, UNITS 1
040433,000509:
040434,000510: 30,3523 50120 INDEX FIXLOC
040435,000511: 30,3524 30002 CA 2
040436,000512: 30,3525 22154 LXCH MPAC
040437,000513: 30,3526 03573 TC ARCTRGSP
040438,000514: 30,3527 54156 TS MPAC +2 # CDUZ
040439,000515:
040440,000516: 30,3530 34755 CA ZERO
040441,000517: 30,3531 03551 TC DVBYCOSM
040442,000518: 30,3532 34751 CA FOUR
040443,000519: 30,3533 03551 TC DVBYCOSM
040444,000520: 30,3534 40141 CS TEM1
040445,000521: 30,3535 03573 TC ARCTRGSP
040446,000522: 30,3536 54155 TS MPAC +1 # CDUY
040447,000523:
040448,000524: 30,3537 34750 CA BIT4
040449,000525: 30,3540 03551 TC DVBYCOSM
040450,000526: 30,3541 33550 CA 16OCT
040451,000527: 30,3542 03551 TC DVBYCOSM
040452,000528: 30,3543 40141 CS TEM1
040453,000529: 30,3544 03573 TC ARCTRGSP
040454,000530: 30,3545 54154 TS MPAC # CDUX
040455,000531:
040456,000532: 30,3546 06036 TC INTPRET
040457,000533: 30,3547 77616 RVQ
040458,000534:
040459,000535: 30,3550 00016 16OCT OCT 16
040460,000536:
|
Page 920 |
040462,000538: # THE ELEMENTS OF THE NAV BASE MATRIX WHICH WE MUST DIVIDE BY COS(MGA)
040463,000539: # ALREADY CONTAIN COS(MGA)/2 AS A FACTOR. THEREFORE THE QUOTIENT SHOULD
040464,000540: # ORDINARILY NEVER EXCEED 1/2 IN MAGNITUDE. BUT IF THE MGA IS NEAR PI/2
040465,000541: # THEN COS(MGA) IS NEAR ZERO, AND THERE MAY BE SOME CHAFF IN THE OTHER
040466,000542: # ELEMENTS OF THE MATRIX WHICH WOULD PRODUCE CHAOS UNDER DIVISION.
040467,000543: # BEFORE DIVIDING WE MAKE SURE COS(MGA) IS AT LEAST ONE BIT LARGER
040468,000544: # THAN THE MAGNITUDE OF THE HIGH ORDER PART OF THE OPERAND.
040469,000545:
040470,000546: # IF ONE OR MORE DIVIDES CANNOT BE PERFORMED, THIS MEANS THAT THE
040471,000547: # REQUIRED MGA IS VERY NEARLY +-PI/2 AND THEREFORE THE OTHER GIMBAL
040472,000548: # ANGLES ARE INDETERMINATE. THE INNER AND OUTER GIMBAL ANGLES RETURNED
040473,000549: # IN THIS CASE WILL BE RANDOM MULTIPLES OF PI/2.
040474,000550:
040475,000551: 30,3551 60120 DVBYCOSM AD FIXLOC
040476,000552: 30,3552 54116 TS ADDRWD # ADRES OF OPERAND
040477,000553:
040478,000554: 30,3553 50116 INDEX ADDRWD # FETCH NEG ABS OF OPERAND, AD TEM5, AND
040479,000555: 30,3554 30000 CA 0 # SKIP DIVIDE IF RESULT NEG OR ZERO
040480,000556: 30,3555 00006 EXTEND
040481,000557: 30,3556 63560 BZMF +2
040482,000558: 30,3557 40000 COM
040483,000559: 30,3560 60145 AD TEM5 # C(A) ZERO OR NEG, C(TEM5) ZERO OR POS
040484,000560: 30,3561 00006 EXTEND
040485,000561: 30,3562 63570 BZMF TSL&TCQ # DIFFERENCE ALWAYS SMALL IF BRANCH
040486,000562:
040487,000563: 30,3563 00006 EXTEND # TEM5 EXCEEDS ABS HIGH ORDER PART OF
040488,000564: 30,3564 50116 INDEX ADDRWD # OPERAND BY AT LEAST ONE BIT.
040489,000565: 30,3565 30001 DCA 0 # THEREFORE IT EXCEEDS THE DP OPERAND
040490,000566: 30,3566 00006 EXTEND # AND DIVISION WILL ALWAYS SUCCEED.
040491,000567: 30,3567 10145 DV TEM5
040492,000568: 30,3570 54001 TSL&TCQ TS L
040493,000569: 30,3571 22141 LXCH TEM1
040494,000570: 30,3572 00002 TC Q
040495,000571:
|
Page 921 |
040497,000573: # ARCTRGSP RETURNS THE 2'S COMPLEMENT, PI, SP ANGLE IN THE A REGISTER GIVEN ITS SINE IN A AND ITS COSINE IN L IN
040498,000574: # UNITS OF 2. THE RESULT IS AN UNAMBIGUOUS ANGLE ANYWHERE IN THE CIRCLE, WITH A MAXIMUM ERROR OF +-4 BITS.
040499,000575: # THE ERROR IS PRODUCED BY THE SUBROUTINE SPARCSIN WHICH IS USED ONLY IN THE REGION +-45 DEGREES.
040500,000576:
040501,000577: 30,3573 00006 ARCTRGSP EXTEND
040502,000578: 30,3574 13636 BZF SINZERO # TO AVOID DIVIDING BY ZERO
040503,000579:
040504,000580: 30,3575 00006 EXTEND
040505,000581: 30,3576 22144 QXCH TEM4
040506,000582: 30,3577 54142 TS TEM2
040507,000583: 30,3600 30001 CA L
040508,000584: 30,3601 54143 TS TEM3
040509,000585: 30,3602 34755 CA ZERO
040510,000586: 30,3603 00006 EXTEND
040511,000587: 30,3604 10142 DV TEM2
040512,000588: 30,3605 00006 EXTEND
040513,000589: 30,3606 13625 BZF USECOS
040514,000590:
040515,000591: 30,3607 10143 CCS TEM3 # SIN IS SMALLER OR EQUAL
040516,000592: 30,3610 34755 CA ZERO
040517,000593: 30,3611 13615 TCF +4
040518,000594: 30,3612 40142 CS TEM2 # IF COS NEG, REVERSE SIGN OF SIN,
040519,000595: 30,3613 54142 TS TEM2 # ANGLE = PI-ARCSIN(SIN)
040520,000596: 30,3614 34735 CA NEGMAX # PICK UP PI, 2'S COMPLEMENT
040521,000597: 30,3615 54143 TS TEM3 # WE NO LONGER NEED COS
040522,000598: 30,3616 30142 CA TEM2
040523,000599: 30,3617 03643 TC SPARCSIN -1
040524,000600: 30,3620 03714 TC ONESTO2S
040525,000601: 30,3621 00006 EXTEND
040526,000602: 30,3622 20143 MSU TEM3
040527,000603: 30,3623 03714 1TO2&TCQ TC ONESTO2S
040528,000604: 30,3624 00144 TC TEM4
040529,000605:
040530,000606: 30,3625 40143 USECOS CS TEM3 # COS IS SMALLER
040531,000607: 30,3626 03643 TC SPARCSIN -1 # ANGLE = SIGN(SIN)(PI/2-ARCSIN(COS))
040532,000608: 30,3627 64736 AD HALF
040533,000609: 30,3630 54143 TS TEM3 # WE NO LONGER NEED COS
040534,000610: 30,3631 10142 CCS TEM2
040535,000611: 30,3632 30143 CA TEM3
040536,000612: 30,3633 13623 TCF 1TO2&TCQ
040537,000613: 30,3634 40143 CS TEM3
040538,000614: 30,3635 13623 TCF 1TO2&TCQ
040539,000615:
040540,000616: 30,3636 10001 SINZERO CCS L
040541,000617: 30,3637 34755 CA ZERO
040542,000618: 30,3640 00002 TC Q
040543,000619: 30,3641 34735 CA NEGMAX # PI, 2'S COMP
040544,000620: 30,3642 00002 TC Q
040545,000621:
|
Page 922 |
040547,000623: # SPARCSIN TAKES AN ARGUMENT SCALED UNITY IN A AND RETURNS AN ANGLE SCALED
040548,000624: # 180 DEGREES IN A. IT HAS BEEN UNIT TESTED IN THE REGION +-.94 (+-70
040549,000625: # DEGREES) AND THE MAXIMUM ERROR IS +-5 BITS WITH AN AVERAGE TIME OF
040550,000626: # 450 MICROSECONDS. SPARCSIN -1 TAKES THE ARGUMENT SCALED TWO.(BOB CRISP)
040551,000627:
040552,000628: 30,3643 60000 DOUBLE
040553,000629: 30,3644 54021 SPARCSIN TS SR
040554,000630: 30,3645 13651 TCF +4
040555,000631: 30,3646 50000 INDEX A
040556,000632: 30,3647 44734 CS LIMITS
040557,000633: 30,3650 54021 TS SR
040558,000634: 30,3651 00006 EXTEND
040559,000635: 30,3652 70000 MP A
040560,000636: 30,3653 54141 TS TEM1
040561,000637: 30,3654 00006 EXTEND
040562,000638: 30,3655 73677 MP DPL9
040563,000639: 30,3656 63676 AD DPL7
040564,000640: 30,3657 00006 EXTEND
040565,000641: 30,3660 70141 MP TEM1
040566,000642: 30,3661 63675 AD DPL5
040567,000643: 30,3662 00006 EXTEND
040568,000644: 30,3663 70141 MP TEM1
040569,000645: 30,3664 63674 AD DPL3
040570,000646: 30,3665 00006 EXTEND
040571,000647: 30,3666 70141 MP TEM1
040572,000648: 30,3667 63673 AD DPL1
040573,000649: 30,3670 00006 EXTEND
040574,000650: 30,3671 70021 MP SR
040575,000651: 30,3672 00002 TC Q
040576,000652: 30,3673 24406 DPL1 DEC 10502 B-14
040577,000653: 30,3674 00660 DPL3 DEC 432 B-14
040578,000654: 30,3675 16204 DPL5 DEC 7300 B-14
040579,000655: 30,3676 50744 DPL7 DEC -11803 B-14
040580,000656: 30,3677 20315 DPL9 DEC 8397 B-14
040581,000657:
|
Page 923 |
040583,000659: # LIMITSUB LIMITS THE MAGNITUDE OF THE POSITIVE OR NEGATIVE VARIABLE
040584,000660: # ARRIVING IN L TO THE POSITIVE LIMIT ARRIVING IN A.
040585,000661: # THE SIGNED LIMITED VARIABLE IS RETURNED IN A.
040586,000662:
040587,000663: # VERSION COURTESY HUGH BLAIR-SMITH
040588,000664:
040589,000665: 30,3700 54141 LIMITSUB TS TEM1
040590,000666: 30,3701 34755 CA ZERO
040591,000667: 30,3702 00006 EXTEND
040592,000668: 30,3703 10141 DV TEM1
040593,000669: 30,3704 10000 CCS A
040594,000670: 30,3705 22141 LXCH TEM1
040595,000671: 30,3706 13710 TCF +2
040596,000672: 30,3707 13712 TCF +3
040597,000673: 30,3710 30001 CA L
040598,000674: 30,3711 00002 TC Q
040599,000675: 30,3712 40141 CS TEM1
040600,000676: 30,3713 00002 TC Q
040601,000677:
040602,000678: # SUBROUTINE TO CONVERT 1'S COMP SP TO 2'S COMP
040603,000679:
040604,000680: 30,3714 10000 ONESTO2S CCS A
040605,000681: 30,3715 64753 AD ONE
040606,000682: 30,3716 00002 TC Q
040607,000683: 30,3717 40000 CS A
040608,000684: 30,3720 00002 TC Q
040609,000685:
040610,000686: # NO ATTITUDE CONTROL
040611,000687:
040612,000688: 30,3721 05567 NOATTCNT TC ALARM
040613,000689: 30,3722 00402 OCT 00402 # NO ATTITUDE CONTROL
040614,000690:
040615,000691: 30,3723 00004 +2 INHINT # COME HERE FOR NOATTCNT WITHOUT ALARM
040616,000692: 30,3724 04674 TC IBNKCALL # RELINT AT TC INTPRET AFTER TCQCDUW
040617,000693: 30,3725 40165 FCADR STOPRATE
040618,000694: 30,3726 13446 TCF TCQCDUW # RETURN TO USER SKIPPING AUTOPILOT CMDS
040619,000695:
040620,000696: # MIDDLE GIMBAL ANGLE ALARM
040621,000697:
040622,000698: 30,3727 05567 ALARMMGA TC ALARM
040623,000699: 30,3730 00401 OCT 00401
040624,000700: 30,3731 13246 TCF MGARET
040625,000701:
|
Page 924 |
040627,000703: # ************************************************************************
040628,000704: # CONSTANTS
040629,000705: # ************************************************************************
040630,000706:
040631,000707: # ADDRESS CONSTANTS
040632,000708:
040633,000709: 30,3732 03244 ECDUWL ECADR ECDUW
040634,000710:
040635,000711: # THRUST DIRECTION FILTER CONSTANTS
040636,000712:
040637,000713: 30,3733 06315 GAINFLTR DEC .2 # GAIN FILTER SANS CSM
040638,000714: 30,3734 03146 DEC .1 # GAIN FILTER WITH CSM
040639,000715:
040640,000716: 30,3735 00071 DUNFVLIM DEC .007 B-1 # 7 MR MAX CHG IN F DIR IN VEH IN 2 SECS.
040641,000717: # THIS DOES NOT ALLOW FOR S/C ROT RATE.
040642,000718:
040643,000719: 30,3736 02041 UNFVLIM DEC .129 B-1 # 129 MR MAX THRUST OFFSET. 105 MR TRAVEL
040644,000720: # +10MR DEFL+5MR MECH MOUNT+9MR ABLATION.
040645,000721:
040646,000722: # CONSTANTS RELATED TO GIMBAL ANGLE COMPUTATIONS
040647,000723:
040648,000724: 30,3737 01673 DOTSWFMX DEC .93302 B-4 # LIM COLNRTY OF UNWC/2 & UNFC/2 TO 85 DEG
040649,000725: # LOWER PART COMES FROM NEXT CONSTANT
040650,000726:
040651,000727: 30,3740 03434 DAXMAX DEC .11111111111 # DELATTX LIM TO 20 DEG IN 2 SECS, 1'S, PI
040652,000728: 30,3741 00266 DEC .0111111111 # 2 DEG WHEN CSM DOCKED
040653,000729:
040654,000730: 30,3742 01616 DAY/2MAX DEC .05555555555 # LIKEWISE FOR DELATTY
040655,000731: 30,3743 00133 DEC .0055555555
040656,000732:
040657,000733: 30,3744 30,3740 DAZMAX = DAXMAX # LIKEWISE FOR DELATTZ
040658,000734:
040659,000735: 30,3744 14344 CDUZDLIM DEC .3888888888 # 70 DEG LIMIT FOR MGA, 1'S, PI
040660,000736:
040661,000737: # CONSTANTS FOR DATA TRANSFER
040662,000738:
040663,000739: 30,3745 01463 DT/DELT DEC .05 # .1 SEC/2 SEC WHICH IS THE AUTOPILOT
040664,000740: # CONTROL SAMPLE PERIOD/COMPUTATION PERIOD
040665,000741:
040666,000742: 30,3746 30,3742 DELERLIM = DAY/2MAX # 10 DEG LIMIT FOR LAG ANGLES, 1'S, PI
040667,000743:
040668,000744:
End of include-file FINDCDUW_-_GUIDAP_INTERFACE.agc. Parent file is MAIN.agc