Source Code

038294,000001: # Copyright: Public domain. 038295,000002: # Filename: FINDCDUW--GUIDAP_INTERFACE.agc 038296,000003: # Purpose: A section of Luminary 1C, revision 131. 038297,000004: # It is part of the source code for the Lunar Module's (LM) 038298,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 038299,000006: # This file is intended to be a faithful transcription, except 038300,000007: # that the code format has been changed to conform to the 038301,000008: # requirements of the yaYUL assembler rather than the 038302,000009: # original YUL assembler. 038303,000010: # Reference: pp. 907-925 of 1729.pdf. 038304,000011: # Contact: Ron Burkey <info@sandroid.org>. 038305,000012: # Website: www.ibiblio.org/apollo/index.html 038306,000013: # Mod history: 05/28/03 RSB. Began transcribing. 038307,000014: # 05/14/05 RSB Corrected website reference above. 038308,000015: 038309,000016: # Page 907 038310,000017: # PROGRAM NAME: FINDCDUW 038311,000018: # MOD NUMBER: 1 68-07-15 038312,000019: # MOD AUTHOR: KLUMPP 038313,000020: 038314,000021: # OBJECTS OF MOD: 1. TO SUPPLY COMMANDED GIMBAL ANGLES FOR NOUN 22. 038315,000022: # 2. TO MAINTAIN CORRECT AND CURRENT THRUST 038316,000023: # DIRECTION DATA IN ALL MODES. THIS IS DONE BY 038317,000024: # FETCHING FOR THE THRUST DIRECTION FILTER THE 038318,000025: # CDUD'S IN PNGCS-AUTO, THE CDU'S IN ALL OTHER 038319,000026: # MODES. 038320,000027: # 3. TO SUBSTITUDE A STOPRATE FOR THE NORMAL 038321,000028: # AUTOPILOT COMMANDS WHENEVER 038322,000029: # 1) NOT IN PNGCS-AUTO, OR 038323,000030: # 2) ENGINE IS OFF. 038324,000031: 038325,000032: # FUNCTIONAL DESCRIPTION: 038326,000033: 038327,000034: # FINDCDUW PROVIDES THE INTERFACES BETWEEN THE VARIOUS POWERED FLITE GUIDANCE PROGRAMS 038328,000035: # AND THE DIGITAL AUTOPILOT. THE INPUTS TO FINDCDUW ARE THE THRUST COMMAND VECTOR 038329,000036: # AND THE WINDOW COMMAND VECTOR, AND THE OUTPUTS ARE THE GIMBAL ANGLE 038330,000037: # INCRMENTS, THE COMMANDED ATTITUDE ANGLE RATES, AND THE COMMANDED 038331,000038: # ATTITUDE LAG ANGLES (WHICH ACCOUNT FOR TH ANGLES BY WHICH THE BODY WILL 038332,000039: # LAG BEHIND A RAMP COMMAND IN ATTITUDE ANGLE DUE TO THE FINITE ANGULAR 038333,000040: # ACCELERATIONS AVAILABLE). 038334,000041: 038335,000042: # FINDCDUW ALIGNS THE ESTIMATED THRUST VECTOR FROM THE THRUST DIRECTION 038336,000043: # FILTER WITH THE THRUST COMMAND VECTOR, AND, WHEN XDVINHIB SET, 038337,000044: # ALIGNS THE +Z HALF OF THE LM ZX PLANE WITH THE WINDOW COMMAND VECTOR. 038338,000045: 038339,000046: # Page 908 038340,000047: # SPECIFICATIONS: 038341,000048: 038342,000049: # INITIALIZATION: A SINGLE INTERPRETIVE CALL TO INITCDUW IS REQUIRED 038343,000050: # BEFORE EACH GUIDED MANEUVER USING FINDCDUW. 038344,000051: 038345,000052: # CALL: INTERPRETIVE CALL TO FINDCDUW WITH THE THRUST COMMAND 038346,000053: # VECTOR IN MPAC. INTERPRETIVE CALL TO FINDCDUW -2 WITH 038347,000054: # THE THRUST COMMAND VECTOR IN UNFC/2 AND NOT IN MPAC. 038348,000055: 038349,000056: # RETURNS: NORMAL INTERPRETIVE IN ALL CASES 038350,000057: # 1. NORMALLY ALL AUTOPILOT CMDS ARE ISSUED. 038351,000058: # 2. IF NOT PNGCS AUTO, DO STOPRATE AND RETURN 038352,000059: # WITHOUT ISSUING AUTOPILOT CMDS. 038353,000060: # 3. IF ENGINE OFF, DO STOPRATE AND RETURN WITHOUT 038354,000061: # ISSUING AUTOPILOT CMDS. 038355,000062: 038356,000063: # ALARMS: 00401 IF INPUTS DETERMINE AN ATTITUDE IN GIMBAL LOCK. 038357,000064: # FINDCDUW DRIVES CDUXD AND CDUYD TO THE RQD VALUES, 038358,000065: # BUT DRIVES CDUZD ONLY TO THE GIMBAL LOCK CONE. 038359,000066: 038360,000067: # 00402 IF UNFC/2 OR UNWC/2 PRODUCE OVERFLOW WHEN 038361,000068: # UNITIZED USING NORMUNIT. FINDCDUW ISSUES 038362,000069: # STOPRATE AS ONLY INPUT TO AUTOPILOT. 038363,000070: 038364,000071: # INPUTS: UNFC/2 THRUST COMMAND VECTOR, NEED NOT BE SEMI-UNIT. 038365,000072: # UNWC/2 WINDOW COMMAND VECTOR, NEED NOT BE SEMI-UNIT. 038366,000073: # OGABIAS POSSIBLE BIAS FOR OUTER GIMBAL ANGLE (ZEROED IN INITCDUW), UNITS OF PI. 038367,000074: # XOVINHIB FLAG DENOTING X AXIS OVERRIDE INHIBITED. 038368,000075: # CSMDOCKD FLAG DENOTING CSM DOCKED. 038369,000076: # STEERSW FLAG DENOTING INSUFF THRUST FOR THRUST DIR FLTR. 038370,000077: 038371,000078: # OUTPUTS: DCDUX,Y,Z 038372,000079: # OMEGAPD,+1,+2 038373,000080: # DELPEROR,+1,+2 038374,000081: # CPHI,+1,+2 FOR NOUN22 038375,000082: 038376,000083: # DEBRIS: FINDCDUW DESTROYS SINCDUX,Y,Z AND COSCDUX,Y,Z BY 038377,000084: # WRITING INTO THESE LOCATIONS THE SINES AND COSINES 038378,000085: # OF THE CDUD'S IN PNGCS-AUTO, OF THE CDU'S OTHERWISE. 038379,000086: 038380,000087: # Page 909 038381,000088: # INITIALIZATION FOR FINDCDUW 038382,000089: 038383,000090: 30,3071 BANK 30 038384,000091: 30,2000 SETLOC FCDUW 038385,000092: 30,2000 BANK 038386,000093: 038387,000094: 30,3071 E6,1645 EBANK= ECDUW 038388,000095: 30,3071 COUNT* $$/FCDUW 038389,000096: 038390,000097: 30,3071 77331 INITCDUW SSP VLOAD 038391,000098: 30,3072 03300 OGABIAS 038392,000099: 30,3073 00000 0 038393,000100: 30,3074 06522 UNITX 038394,000101: 30,3075 03267 STORE UNFV/2 038395,000102: 30,3076 03261 STORE UNWC/2 038396,000103: 30,3077 77616 RVQ 038397,000104: 038398,000105: # FINDCDUW PRELIMINARIES 038399,000106: 038400,000107: 30,3100 77775 VLOAD # FINDCDUW -2: ENTRY WHEN UNFC/2 PRE-STORD 038401,000108: 30,3101 03253 UNFC/2 # INPUT VECTORS NEED NOT BE SEMI-UNIT 038402,000109: 30,3102 40200 FINDCDUW BOV SETPD # FINDCDUW: ENTRY WHEN UNFC/2 IN MPAC 038403,000110: 30,3103 61102 FINDCDUW # INTERPRETER NOW INITIALIZED 038404,000111: 30,3104 00023 22 # LOCS 0 THRU 21 FOR DIRECTION COSINE MAT 038405,000112: 30,3105 77420 STQ EXIT 038406,000113: 30,3106 03246 QCDUWUSR # SAVE RETURN ADDRESS 038407,000114: 038408,000115: # MORE HAUSKEEPING 038409,000116: 30,3107 33752 CA ECDUWL 038410,000117: 30,3110 56003 XCH EBANK # SET EBANK 038411,000118: 30,3111 55645 TS ECDUWUSR # SAVE USER'S EBANK 038412,000119: 038413,000120: 30,3112 30111 CA DAPBOOLS 038414,000121: 30,3113 74737 MASK CSMDOCKD # CSMDOCKD MUST NOT BE BIT15 038415,000122: 30,3114 10000 CCS A 038416,000123: 30,3115 34753 CA ONE # INDEX IF CSM DOCKED 038417,000124: 30,3116 55647 TS NDXCDUW 038418,000125: 038419,000126: 30,3117 34743 CA XOVINHIB # XOVINHIB MUST NOT BE BIT15 038420,000127: 30,3120 55651 TS FLPAUTNO # SET TO POS-NON-ZERO FLAG PNGCS AUTO NOT 038421,000128: 038422,000129: 30,3121 70111 MASK DAPBOOLS 038423,000130: 30,3122 55650 TS FLAGOODW # FLAG0ODW = ANY PNZ NUMBER IF XOV INHIBTD 038424,000131: 038425,000132: # Page 910 038426,000133: # FETCH BASIC DATA 038427,000134: 30,3123 00004 INHINT # RELINT AT PAUTNO (TC INTPRET) 038428,000135: 038429,000136: 30,3124 30032 CA CDUX # FETCH CDUX,CDUY,CDUZ IN ALL CASES, BUT 038430,000137: 30,3125 54771 TS CDUSPOTX # REPLACE BELOW IF PNGCS AUTO 038431,000138: 30,3126 30033 CA CDUY 038432,000139: 30,3127 54765 TS CDUSPOTY 038433,000140: 30,3130 30034 CA CDUZ 038434,000141: 30,3131 54767 TS CDUSPOTZ 038435,000142: 038436,000143: 30,3132 34742 CA BIT10 # PNGCS CONTROL BIT 038437,000144: 30,3133 00006 EXTEND 038438,000145: 30,3134 02030 RAND CHAN30 038439,000146: 30,3135 10000 CCS A 038440,000147: 30,3136 13153 TCF PAUTNO # NOT PNGCS (BITS INVERTED) 038441,000148: 038442,000149: 30,3137 34736 CA BIT14 # AUTO MODE BIT 038443,000150: 30,3140 00006 EXTEND 038444,000151: 30,3141 02031 RAND CHAN31 038445,000152: 30,3142 10000 CCS A 038446,000153: 30,3143 13153 TCF PAUTNO # NOT AUTO (BITS INVERTED) 038447,000154: 038448,000155: 30,3144 55651 TS FLPAUTNO # RESET FLAG PNGCS AUTO NOT 038449,000156: 038450,000157: 30,3145 31634 CA CDUXD # PNGCS AUTO: FETCH CDUXD,CDUYD,CDUZD 038451,000158: 30,3146 54771 TS CDUSPOTX 038452,000159: 30,3147 31635 CA CDUYD 038453,000160: 30,3150 54765 TS CDUSPOTY 038454,000161: 30,3151 31636 CA CDUZD 038455,000162: 30,3152 54767 TS CDUSPOTZ 038456,000163: 038457,000164: # Page 911 038458,000165: # FETCH INPUTS 038459,000166: 30,3153 06042 PAUTNO TC INTPRET # ENTERING THRUST CMD STILL IN MPAC 038460,000167: 30,3154 77634 RTB 038461,000168: 30,3155 21727 NORMUNIT 038462,000169: 30,3156 24001 STOVL UNX/2 # SEMI-UNIT THRUST CMD AS INITIAL UNX/2 038463,000170: 30,3157 03261 UNWC/2 038464,000171: 30,3160 47034 RTB RTB 038465,000172: 30,3161 21727 NORMUNIT 038466,000173: 30,3162 47617 QUICTRIG # ALWAYS RQD TO OBTAIN TRIGS OF CDUD'S 038467,000174: 30,3163 24015 STOVL UNZ/2 # SEMI-UNIT WINDOW CMD AS INITIAL UNZ/2 038468,000175: 30,3164 00325 DELV 038469,000176: 30,3165 53404 BOVB UNIT 038470,000177: 30,3166 61741 NOATTCNT # AT LEAST ONE ENTERING CMD VCT ZERO 038471,000178: 30,3167 45000 BOV CALL 038472,000179: 30,3170 61204 AFTRFLTR # IF UNIT DELV OVERFLOWS SKIP FILTER 038473,000180: 30,3171 47673 *SMNB* # YIELDS UNIT(DELV) IN VEH COORDS FOR FLTR 038474,000181: 038475,000182: # THRUST DIRECTION FILTER 038476,000183: 038477,000184: 30,3172 77776 EXIT 038478,000185: 038479,000186: 30,3173 31670 CA UNFVY/2 # FOR RESTARTS, UNFV/2 ALWAYS INTACT, MPAC 038480,000187: 30,3174 22157 LXCH MPAC +3 # RENEWD AFTER RETURN FROM CALLER, 038481,000188: 30,3175 03474 TC FLTRSUB # TWO FILTER UPDATES MAY BE DONE. 038482,000189: 30,3176 55670 TS UNFVY/2 # UNFV/2 NEED NOT BE EXACTLY SEMI-UNIT. 038483,000190: 038484,000191: 30,3177 31672 CA UNFVZ/2 038485,000192: 30,3200 22161 LXCH MPAC +5 038486,000193: 30,3201 03474 TC FLTRSUB 038487,000194: 30,3202 55672 TS UNFVZ/2 038488,000195: 038489,000196: 30,3203 06042 TC INTPRET # COMPLETES FILTER 038490,000197: 038491,000198: # Page 912 038492,000199: # FIND A SUITABLE WINDOW POINTING VECTOR 038493,000200: 038494,000201: 30,3204 46135 AFTRFLTR SLOAD BHIZ # IF XOV NOT INHIBITED, GO FETCH ZNB 038495,000202: 30,3205 03251 FLAGOODW 038496,000203: 30,3206 61212 FETCHZNB 038497,000204: 30,3207 45175 VLOAD CALL 038498,000205: 30,3210 00015 UNZ/2 038499,000206: 30,3211 61514 UNWCTEST 038500,000207: 038501,000208: 30,3212 77775 FETCHZNB VLOAD 038502,000209: 30,3213 02162 ZNBPIP 038503,000210: 30,3214 34015 STCALL UNZ/2 038504,000211: 30,3215 61514 UNWCTEST 038505,000212: 038506,000213: 30,3216 57575 VLOAD VCOMP # Z AND -X CAN'T BOTH PARALLEL UNFC/2 038507,000214: 30,3217 02146 XNBPIP 038508,000215: 30,3220 00015 STORE UNZ/2 038509,000216: 038510,000217: # COMPUTE THE REQUIRED DIRECTION COSINE MATRIX 038511,000218: 038512,000219: 30,3221 47375 DCMCL VLOAD VXV 038513,000220: 30,3222 00015 UNZ/2 038514,000221: 30,3223 00001 UNX/2 038515,000222: 30,3224 41456 UNIT PUSH # UNY/2 FIRST ITERATION 038516,000223: 30,3225 76435 VXV VSL1 038517,000224: 30,3226 00001 UNX/2 038518,000225: 30,3227 00015 STORE UNZ/2 # -UNZ/2 FIRST ITERATION 038519,000226: 30,3230 63361 VXSC PDVL # EXCHANGE -UNFVZ/2 UNZ/2 FOR UNY/2 038520,000227: 30,3231 03273 UNFVZ/2 # MUST BE SMALL 038521,000228: 30,3232 51361 VXSC BVSU # YIELDS -UNFVY/2 UNY/2-UNFVZ/2 UNZ/2 038522,000229: 30,3233 03271 UNFVY/2 # MUST BE SMALL 038523,000230: 30,3234 53372 VSL1 VAD 038524,000231: 30,3235 00001 UNX/2 038525,000232: 30,3236 77656 UNIT # TOTALLY ELIMINATES THRUST POINTING ERROR 038526,000233: 30,3237 00001 STORE UNX/2 # UNX/2 038527,000234: 30,3240 76435 VXV VSL1 038528,000235: 30,3241 00015 UNZ/2 # -UNZ/2 WAS STORED HERE REMEMBER 038529,000236: 30,3242 00007 STORE UNY/2 # UNY/2 038530,000237: 30,3243 47276 VCOMP VXV 038531,000238: 30,3244 00001 UNX/2 038532,000239: 30,3245 77772 VSL1 038533,000240: 30,3246 00015 STORE UNZ/2 # UNZ/2 038534,000241: 038535,000242: # Page 913 038536,000243: # COMPUTES THE REQUIRED GIMBAL ANGLES 038537,000244: 038538,000245: 30,3247 77624 CALL 038539,000246: 30,3250 61524 NB2CDUSP # YIELDS THE RQD GIMBAL ANGLES, 2'S, PI 038540,000247: 30,3251 77776 EXIT 038541,000248: 038542,000249: # BIAS OUTER GIMBAL ANGLE 038543,000250: 038544,000251: 30,3252 31677 CA OGABIAS 038545,000252: 30,3253 26154 ADS MPAC 038546,000253: 038547,000254: # LIMIT THE MIDDLE GIMBAL ANGLE & COMPUTE THE UNLIMITED GIMBAL ANGLE CHGS 038548,000255: 038549,000256: 30,3254 30156 CA MPAC +2 # LIMIT THE MGA 038550,000257: 30,3255 54001 TS L # CAN'T LXCH: NEED UNLIMITED MGA FOR ALARM 038551,000258: 30,3256 33764 CA CDUZDLIM 038552,000259: 30,3257 03720 TC LIMITSUB # YIELDS LIMITED MGA. 1 BIT ERROR POSSIBLE 038553,000260: 30,3260 56156 XCH MPAC +2 # BECAUSE USING 2'S COMP. WHO CARES? 038554,000261: 30,3261 00006 EXTEND 038555,000262: 30,3262 20156 MSU MPAC +2 # THIS BETTER YIELD ZERO 038556,000263: 30,3263 00006 EXTEND 038557,000264: 30,3264 13266 BZF +2 038558,000265: 30,3265 13747 TCF ALARMMGA 038559,000266: 038560,000267: 30,3266 00004 MGARET INHINT # RELINT AT TC INTPRET AFTER TCQCDUW 038561,000268: 038562,000269: 30,3267 22007 ZL 038563,000270: 30,3270 34752 CA TWO 038564,000271: 30,3271 54142 DELGMBLP TS TEM2 038565,000272: 038566,000273: 30,3272 30001 CA L # TO PREVENT FALSE STARTS ABOUT X, ZERO 038567,000274: 30,3273 00006 EXTEND # FLAGOODW IF DELGMBZ OR Y TOO BIG. 038568,000275: 30,3274 70000 SQUARE 038569,000276: 30,3275 64350 AD HI5 # WITHIN 1 BIT OF -(45 DEG SQUARED) 038570,000277: 30,3276 00006 EXTEND 038571,000278: 30,3277 63302 BZMF +3 038572,000279: 30,3300 34755 CA ZERO 038573,000280: 30,3301 55650 TS FLAGOODW 038574,000281: 038575,000282: 30,3302 50142 INDEX TEM2 038576,000283: 30,3303 30154 CA MPAC 038577,000284: 30,3304 50142 INDEX TEM2 038578,000285: 30,3305 54321 TS CPHI # OUTPUTS TO NOUN22 038579,000286: 30,3306 00006 EXTEND 038580,000287: 30,3307 50142 INDEX TEM2 038581,000288: 30,3310 21634 MSU CDUXD 038582,000289: 30,3311 40000 COM 038583,000290: 30,3312 50142 INDEX TEM2 038584,000291: 30,3313 55674 TS -DELGMB # -UNLIMITED GIMBAL ANGLE CHGS, 1'S, PI 038585,000292: 30,3314 54001 TS L # FOR PRECEDING TEST ON NEXT LOOP PASS 038586,000293: # Page 914 038587,000294: 30,3315 10142 CCS TEM2 038588,000295: 30,3316 13271 TCF DELGMBLP 038589,000296: 038590,000297: # Page 915 038591,000298: # BRANCHES TO NOATTCNT 038592,000299: 30,3317 11651 CCS FLPAUTNO 038593,000300: 30,3320 13743 TCF NOATTCNT +2 # NO PNGCS AUTO 038594,000301: 038595,000302: 30,3321 30101 CA FLAGWRD5 038596,000303: 30,3322 74745 MASK ENGONBIT 038597,000304: 30,3323 00006 EXTEND 038598,000305: 30,3324 13743 BZF NOATTCNT +2 # ENGINE NOT ON 038599,000306: 038600,000307: # Page 916 038601,000308: # LIMIT THE ATTITUDE ANGLE CHANGES 038602,000309: 038603,000310: # THIS SECTION LIMITS THE ATTITUDE ANGLE CHANGES ABOUT A SET OF ORTHOGONAL VEHICLE AXES X,YPRIME,ZPRIME, 038604,000311: # THESE AXES COINCIDE WITH THE COMMANDED VEHICLE AXES IF AND ONLY IF CDUXD IS ZERO. THE PRIME SYSTEM IS 038605,000312: # THE COMMANDED VEHICLE SYSTEM ROTATED ABOUT THE X AXIS TO BRING THE Z AXIS INTO ALIGNMENT WITH THE MIDDLE GIMBAL 038606,000313: # AXIS. ATTITUDE ANGLE CHANGES IN THE PRIME SYSTEM ARE RELATED TO SMALL GIMBAL ANGLE CHANGES BY: 038607,000314: 038608,000315: # [ -DELATTX ] [ 1 SIN(CDUZD) 0 ] [ -DELGMBX ] 038609,000316: # [ ] [ ] [ ] 038610,000317: # [ -DELATTYPRIME ] = [ 0 COS(CDUZD) 0 ] [ -DELGMBY ] 038611,000318: # [ ] [ ] [ ] 038612,000319: # [ -DELATTZPRIME ] [ 0 0 1 ] [ -DELGMBZ ] 038613,000320: 038614,000321: 30,3325 23676 LXCH -DELGMB +2 # SAME AS -DELATTZPRIME UNLIMITED 038615,000322: 30,3326 51647 INDEX NDXCDUW 038616,000323: 30,3327 33760 CA DAZMAX 038617,000324: 30,3330 03720 TC LIMITSUB 038618,000325: 30,3331 55676 TS -DELGMB +2 # -DELGMBZ 038619,000326: 038620,000327: 30,3332 31675 CA -DELGMB +1 038621,000328: 30,3333 00006 EXTEND 038622,000329: 30,3334 70745 MP COSCDUZ # YIELDS -DELATTYPRIME/2 UNLIMITED 038623,000330: 30,3335 54001 TS L 038624,000331: 30,3336 51647 INDEX NDXCDUW 038625,000332: 30,3337 33762 CA DAY/2MAX 038626,000333: 30,3340 03720 TC LIMITSUB 038627,000334: 30,3341 00006 EXTEND 038628,000335: 30,3342 10745 DV COSCDUZ 038629,000336: 30,3343 57675 XCH -DELGMB +1 # -DELGMBY, FETCHING UNLIMITED VALUE 038630,000337: 038631,000338: 30,3344 00006 EXTEND 038632,000339: 30,3345 70737 MP SINCDUZ 038633,000340: 30,3346 20001 DDOUBL 038634,000341: 30,3347 40000 COM 038635,000342: 30,3350 00006 EXTEND # YIELDS +DELATTX UNLIMITD, MAG < 180 DEG. 038636,000343: 30,3351 21674 MSU -DELGMB # BASED ON UNLIMITED DELGMBV. 038637,000344: 30,3352 54001 TS L # ONE BIT ERROR IF OPERANDS IN MSU 038638,000345: 30,3353 51647 INDEX NDXCDUW # OF MIXED SIGNS. WHO CARES? 038639,000346: 30,3354 33760 CA DAXMAX 038640,000347: 30,3355 03720 TC LIMITSUB 038641,000348: 30,3356 55674 TS -DELGMB # SAVE LIMITED +DELATTX 038642,000349: 30,3357 11650 CCS FLAGOODW 038643,000350: 30,3360 41674 CS -DELGMB # FETCH IT BACK CHNING SIGN IF WINDOW GOOD 038644,000351: 30,3361 55674 TS -DELGMB # OTHERWISE USE ZERO FOR -DELATTX 038645,000352: 30,3362 41675 CS -DELGMB +1 038646,000353: 30,3363 00006 EXTEND 038647,000354: 30,3364 70737 MP SINCDUZ 038648,000355: 30,3365 20001 DDOUBL # YIELDS -CNTRIB TO -DELATTX FROM -DELGMBY 038649,000356: 30,3366 27674 ADS -DELGMB # -DELGMBX. NO OVERFLOW SINCE LIMITED TO 038650,000357: # 20DEG(1+SIN(70DEG)/COS(70DEG)) < 180DEG 038651,000358: 038652,000359: # Page 917 038653,000360: # COMPLTE COMMANDED ATTITUDE RATES 038654,000361: 038655,000362: # [ OMEGAPD ] [ -2 -4 SINCDUZ +0 ] [ -DELGMBZ ] 038656,000363: # [ ] [ ] [ ] 038657,000364: # [ OMEGAQD ] = [ +0 -8 COSCDUZ COSCDUX -4 SINCDUX ] [ -DELGMBY ] 038658,000365: # [ ] [ ] [ ] 038659,000366: # [ OMEGARD ] [ +0 +9 COSCDUZ SINCDUX -4 COSCDUX ] [ -DELGMBZ ] 038660,000367: 038661,000368: # ATTITUDE ANGLE RATES IN UNITS OF PI/4 RAD/SEC = K TRIG FCNS IN UNITS OF 2 X GIMBAL ANGLE RATES IN UNITS OF 038662,000369: # PI/2 RAD/SEC. THE CONSTANTS ARE BASED ON DELGMB BEING THE GIMBAL ANGLE CHANGES IN UNITS OF PI RADIANS, 038663,000370: # AND 2 SECONDS BEING THE COMPUTATION PERIOD (THE PERIOD BETWEEN SUCCESSIVE PASSES THRU FINDCDUW). 038664,000371: 038665,000372: 30,3367 41674 CS -DELGMB 038666,000373: 30,3370 55642 TS OMEGAPD 038667,000374: 30,3371 41675 CS -DELGMB +1 038668,000375: 30,3372 00006 EXTEND 038669,000376: 30,3373 70737 MP SINCDUZ 038670,000377: 30,3374 20001 DDOUBL 038671,000378: 30,3375 27642 ADS OMEGAPD 038672,000379: 30,3376 27642 ADS OMEGAPD 038673,000380: 038674,000381: 30,3377 41675 CS -DELGMB +1 038675,000382: 30,3400 00006 EXTEND 038676,000383: 30,3401 70747 MP COSCDUX 038677,000384: 30,3402 20001 DDOUBL 038678,000385: 30,3403 00006 EXTEND 038679,000386: 30,3404 70745 MP COSCDUZ 038680,000387: 30,3405 55643 TS OMEGAQD 038681,000388: 30,3406 41676 CS -DELGMB +2 038682,000389: 30,3407 00006 EXTEND 038683,000390: 30,3410 70741 MP SINCDUX 038684,000391: 30,3411 27643 ADS OMEGAQD 038685,000392: 30,3412 27643 ADS OMEGAQD 038686,000393: 30,3413 27643 ADS OMEGAQD 038687,000394: 038688,000395: 30,3414 31675 CA -DELGMB +1 038689,000396: 30,3415 00006 EXTEND 038690,000397: 30,3416 70741 MP SINCDUX 038691,000398: 30,3417 20001 DDOUBL 038692,000399: 30,3420 00006 EXTEND 038693,000400: 30,3421 70745 MP COSCDUZ 038694,000401: 30,3422 55644 TS OMEGARD 038695,000402: 30,3423 41676 CS -DELGMB +2 038696,000403: 30,3424 00006 EXTEND 038697,000404: 30,3425 70747 MP COSCDUX 038698,000405: 30,3426 27644 ADS OMEGARD 038699,000406: 30,3427 27644 ADS OMEGARD 038700,000407: 30,3430 27644 ADS OMEGARD 038701,000408: 038702,000409: # Page 918 038703,000410: # FINAL TRANSFER 038704,000411: 038705,000412: 30,3431 34752 CA TWO 038706,000413: 30,3432 54142 CDUWXFR TS TEM2 038707,000414: 30,3433 50142 INDEX TEM2 038708,000415: 30,3434 31674 CA -DELGMB 038709,000416: 30,3435 00006 EXTEND 038710,000417: 30,3436 73765 MP DT/DELT # RATIO OF DAP INTERVAL TC CDUW INTERVAL 038711,000418: 30,3437 03734 TC ONESTO2S 038712,000419: 30,3440 50142 INDEX TEM2 038713,000420: 30,3441 55637 TS DELCDUX # ANGLE INTERFACE 038714,000421: 038715,000422: 30,3442 50142 INDEX TEM2 038716,000423: 30,3443 11642 CCS OMEGAPD 038717,000424: 30,3444 64753 AD ONE 038718,000425: 30,3445 13447 TCF +2 038719,000426: 30,3446 64753 AD ONE 038720,000427: 30,3447 00006 EXTEND # WE NOW HAVE ABS(OMEGAPD,QD,RD) 038721,000428: 30,3450 50142 INDEX TEM2 038722,000429: 30,3451 71642 MP OMEGAPD 038723,000430: 30,3452 00006 EXTEND 038724,000431: 30,3453 74741 MP BIT11 # 1/16 038725,000432: 30,3454 00006 EXTEND 038726,000433: 30,3455 50142 INDEX TEM2 # 2 038727,000434: 30,3456 11530 DV 1JACC # UNITS P/4 RAD/SEC 038728,000435: 30,3457 54001 TS L 038729,000436: 30,3460 33762 CA DELERLIM 038730,000437: 30,3461 03720 TC LIMITSUB 038731,000438: 30,3462 50142 INDEX TEM2 038732,000439: 30,3463 55274 TS DELPEROR # LAG ANGLE = OMEGA ABS(OMEGA)/2 ACCEL 038733,000440: 30,3464 10142 CCS TEM2 038734,000441: 30,3465 13432 TCF CDUWXFR 038735,000442: 038736,000443: # HAUSKEEPING AND RETURN 038737,000444: 038738,000445: 30,3466 31645 TCQCDUW CA ECDUWUSR 038739,000446: 30,3467 54003 TS EBANK # RETURN USER'S EBANK 038740,000447: 038741,000448: 30,3470 06042 TC INTPRET 038742,000449: 30,3471 52001 SETPD GOTO 038743,000450: 30,3472 00001 0 038744,000451: 30,3473 03246 QCDUWUSR # NORMAL AND ABNORMAL RETURN TO USER 038745,000452: 038746,000453: # Page 919 038747,000454: # THRUST VECTOR FILTER SUBROUTINE 038748,000455: 038749,000456: 30,3474 00006 FLTRSUB EXTEND 038750,000457: 30,3475 22142 QXCH TEM2 038751,000458: 30,3476 54143 TS TEM3 # SAVE ORIGINAL OFFSET 038752,000459: 30,3477 40000 COM # ONE MCT, NO WDS, CAN BE SAVED IF NEG OF 038753,000460: 30,3500 60001 AD L # ORIG OFFSET ARRIVES IN A, BUT IT'S 038754,000461: 30,3501 00006 EXTEND # NOT WORTH THE INCREASED OBSCURITY. 038755,000462: 30,3502 51647 INDEX NDXCDUW 038756,000463: 30,3503 73753 MP GAINFLTR 038757,000464: 30,3504 54001 TS L # INCR TO OFFSET, UNLIMITED 038758,000465: 30,3505 33755 CA DUNFVLIM # SAME LIMIT FOR Y AND Z 038759,000466: 30,3506 03720 TC LIMITSUB # YIELDS INCR TO OFFSET, LIMITED 038760,000467: 30,3507 60143 AD TEM3 # ORIGINAL OFFSET 038761,000468: 30,3510 54001 TS L # TOTAL OFFSET, UNLIMITED 038762,000469: 30,3511 33756 CA UNFVLIM # SAME LIMIT FOR Y AND Z 038763,000470: 30,3512 03720 TC LIMITSUB # YIELDS TOTAL OFFSET, LIMITED 038764,000471: 30,3513 00142 TC TEM2 038765,000472: 038766,000473: # SUBR TO TEST THE ANGLE BETWEEN THE PROPOSED WINDOW AND THRUST CMD VCTS 038767,000474: 038768,000475: 30,3514 63441 UNWCTEST DOT DSQ 038769,000476: 30,3515 00001 UNX/2 038770,000477: 30,3516 50025 DSU BMN 038771,000478: 30,3517 21760 DOTSWFMX 038772,000479: 30,3520 61221 DCMCL 038773,000480: 30,3521 43531 SSP RVQ # RVQ FOR ALT CHOICE IF DOT MAGN TOO LARGE 038774,000481: 30,3522 03251 FLAGOODW # ZEROING WINDOW GOOD FLAG 038775,000482: 30,3523 00000 0 038776,000483: 038777,000484: # Page 920 038778,000485: # NB2CDUSP RETURNS THE 2'S COMPLEMENT, PI, SP CDU ANGLES X,Y,Z IN MPAC,+1,+2 GIVEN THE MATRIX WHOSE ROW VECTORS 038779,000486: # ARE THE SEMI-UNIT NAV BASE VECTORS X,Y,X EXPRESSED IN STABLE MEMBER COORDINATES, LOCATED AT 0 IN THE PUSH LIST. 038780,000487: # NB2CDUSP USES THE ARCTRGSP WHICH HAS A MAXIMUM ERROR OF +-4 BITS. 038781,000488: 038782,000489: 30,3524 63545 NB2CDUSP DLOAD DSQ 038783,000490: 30,3525 00003 2 038784,000491: 30,3526 51021 BDSU BPL 038785,000492: 30,3527 06514 DP1/4TH 038786,000493: 30,3530 61533 +3 038787,000494: 30,3531 77745 DLOAD 038788,000495: 30,3532 06524 ZEROVECS # IN CASE SIN WAS SLIGHTLY > 1/2 038789,000496: 30,3533 77566 SQRT EXIT # YIELDS COS(CDUZ) IN UNITS OF 2 038790,000497: 038791,000498: 30,3534 00006 EXTEND 038792,000499: 30,3535 30155 DCA MPAC 038793,000500: 30,3536 20001 DDOUBL 038794,000501: 30,3537 54145 TS TEM5 038795,000502: 30,3540 13543 TCF +3 038796,000503: 30,3541 34733 CA POSMAX # OVERFLOW. FETCH POSMAX, MPAC ALWAYS POS 038797,000504: 30,3542 54145 TS TEM5 # COS(CDUZ) IN TEM5, UNITS 1 038798,000505: 038799,000506: 30,3543 50120 INDEX FIXLOC 038800,000507: 30,3544 30002 CA 2 038801,000508: 30,3545 22154 LXCH MPAC 038802,000509: 30,3546 03613 TC ARCTRGSP 038803,000510: 30,3547 54156 TS MPAC +2 # CDUZ 038804,000511: 038805,000512: 30,3550 34755 CA ZERO 038806,000513: 30,3551 03571 TC DVBYCOSM 038807,000514: 30,3552 34751 CA FOUR 038808,000515: 30,3553 03571 TC DVBYCOSM 038809,000516: 30,3554 40141 CS TEM1 038810,000517: 30,3555 03613 TC ARCTRGSP 038811,000518: 30,3556 54155 TS MPAC +1 # CDUY 038812,000519: 038813,000520: 30,3557 34750 CA BIT4 038814,000521: 30,3560 03571 TC DVBYCOSM 038815,000522: 30,3561 33570 CA 16OCT 038816,000523: 30,3562 03571 TC DVBYCOSM 038817,000524: 30,3563 40141 CS TEM1 038818,000525: 30,3564 03613 TC ARCTRGSP 038819,000526: 30,3565 54154 TS MPAC # CDUX 038820,000527: 038821,000528: 30,3566 06042 TC INTPRET 038822,000529: 30,3567 77616 RVQ 038823,000530: 038824,000531: 30,3570 00016 16OCT OCT 16 038825,000532: 038826,000533: # Page 921 038827,000534: # THE ELEMENTS OF THE NAV BASE MATRIX WHICH WE MUST DIVIDE BY COS(MGA) 038828,000535: # ALREADY CONTAIN COS(MGA)/2 AS A FACTOR. THEREFORE THE QUOTIENT SHOULD 038829,000536: # ORDINARILY NEVER EXCEED 1/2 IN MAGNITUDE. BUT IF THE MGA IS NEAR PI/2 038830,000537: # THEN COS(MGA) IS NEAR ZERO, AND THERE MAY BE SOME CHAFF IN THE OTHER 038831,000538: # ELEMENTS OF THE MATRIX WHICH WOULD PRODUCE CHAOS UNDER DIVISION. 038832,000539: # BEFORE DIVIDING WE MAKE SURE COS(MGA) IS AT LEAST ONE BIT LARGER 038833,000540: # THAN THE MAGNITUDE OF THE HIGH ORDER PART OF THE OPERAND. 038834,000541: 038835,000542: # IF ONE OR MORE DIVIDES CANNOT BE PERFORMED, THIS MEANS THAT THE 038836,000543: # REQUIRED MGA IS VERY NEARLY +-PI/2 AND THEREFORE THE OTHER GIMBAL 038837,000544: # ANGLES ARE INDETERMINATE. THE INNER AND OUTER GIMBAL ANGLES RETURNED 038838,000545: # IN THIS CASE WILL BE RANDOM MULTIPLES OF PI/2. 038839,000546: 038840,000547: 30,3571 60120 DVBYCOSM AD FIXLOC 038841,000548: 30,3572 54116 TS ADDRWD # ADRES OF OPERAND 038842,000549: 038843,000550: 30,3573 50116 INDEX ADDRWD # FETCH NEG ABS OF OPERAND, AD TEM5, AND 038844,000551: 30,3574 30000 CA 0 # SKIP DIVIDE IF RESULT NEG OR ZERO 038845,000552: 30,3575 00006 EXTEND 038846,000553: 30,3576 63600 BZMF +2 038847,000554: 30,3577 40000 COM 038848,000555: 30,3600 60145 AD TEM5 # C(A) ZERO OR NEG, C(TEM5) ZERO OR POS 038849,000556: 30,3601 00006 EXTEND 038850,000557: 30,3602 63610 BZMF TSL&TCQ # DIFFERENCE ALWAYS SMALL IF BRANCH 038851,000558: 038852,000559: 30,3603 00006 EXTEND # TEM5 EXCEEDS ABS HIGH ORDER PART OF 038853,000560: 30,3604 50116 INDEX ADDRWD # OPERAND BY AT LEAST ONE BIT. 038854,000561: 30,3605 30001 DCA 0 # THEREFORE IT EXCEEDS THE DP OPERAND 038855,000562: 30,3606 00006 EXTEND # AND DIVISION WILL ALWAYS SUCCEED. 038856,000563: 30,3607 10145 DV TEM5 038857,000564: 30,3610 54001 TSL&TCQ TS L 038858,000565: 30,3611 22141 LXCH TEM1 038859,000566: 30,3612 00002 TC Q 038860,000567: 038861,000568: # Page 922 038862,000569: # ARCTRGSP RETURNS THE 2'S COMPLEMENT, PI, SP ANGLE IN THE A REGISTER GIVEN ITS SINE IN A AND ITS COSINE IN L IN 038863,000570: # UNITS OF 2. THE RESULT IS AN UNAMBIGUOUS ANGLE ANYWHERE IN THE CIRCLE, WITH A MAXIMUM ERROR OF +-4 BITS. 038864,000571: # THE ERROR IS PRODUCED BY THE SUBROUTINE SPARCSIN WHICH IS USED ONLY IN THE REGION +-45 DEGREES. 038865,000572: 038866,000573: 30,3613 00006 ARCTRGSP EXTEND 038867,000574: 30,3614 13656 BZF SINZERO # TO AVOID DIVIDING BY ZERO 038868,000575: 038869,000576: 30,3615 00006 EXTEND 038870,000577: 30,3616 22144 QXCH TEM4 038871,000578: 30,3617 54142 TS TEM2 038872,000579: 30,3620 30001 CA L 038873,000580: 30,3621 54143 TS TEM3 038874,000581: 30,3622 34755 CA ZERO 038875,000582: 30,3623 00006 EXTEND 038876,000583: 30,3624 10142 DV TEM2 038877,000584: 30,3625 00006 EXTEND 038878,000585: 30,3626 13645 BZF USECOS 038879,000586: 038880,000587: 30,3627 10143 CCS TEM3 # SIN IS SMALLER OR EQUAL 038881,000588: 30,3630 34755 CA ZERO 038882,000589: 30,3631 13635 TCF +4 038883,000590: 30,3632 40142 CS TEM2 # IF COS NEG, REVERSE SIGN OF SIN, 038884,000591: 30,3633 54142 TS TEM2 # ANGLE = PI-ARCSIN(SIN) 038885,000592: 30,3634 34735 CA NEGMAX # PICK UP PI, 2'S COMPLEMENT 038886,000593: 30,3635 54143 TS TEM3 # WE NO LONGER NEED COS 038887,000594: 30,3636 30142 CA TEM2 038888,000595: 30,3637 03663 TC SPARCSIN -1 038889,000596: 30,3640 03734 TC ONESTO2S 038890,000597: 30,3641 00006 EXTEND 038891,000598: 30,3642 20143 MSU TEM3 038892,000599: 30,3643 03734 1TO2&TCQ TC ONESTO2S 038893,000600: 30,3644 00144 TC TEM4 038894,000601: 038895,000602: 30,3645 40143 USECOS CS TEM3 # COS IS SMALLER 038896,000603: 30,3646 03663 TC SPARCSIN -1 # ANGLE = SIGN(SIN)(FI/2-ARCSIN(COS)) 038897,000604: 30,3647 64736 AD HALF 038898,000605: 30,3650 54143 TS TEM3 # WE NO LONGER NEED COS 038899,000606: 30,3651 10142 CCS TEM2 038900,000607: 30,3652 30143 CA TEM3 038901,000608: 30,3653 13643 TCF 1TO2&TCQ 038902,000609: 30,3654 40143 CS TEM3 038903,000610: 30,3655 13643 TCF 1TO2&TCQ 038904,000611: 038905,000612: 30,3656 10001 SINZERO CCS L 038906,000613: 30,3657 34755 CA ZERO 038907,000614: 30,3660 00002 TC Q 038908,000615: 30,3661 34735 CA NEGMAX # PI, 2'S COMP 038909,000616: 30,3662 00002 TC Q 038910,000617: 038911,000618: # Page 923 038912,000619: # SPARCSIN TAKES AN ARGUMENT SCALED UNITY IN A AND RETURNS AN ANGLE SCALED 038913,000620: # 180 DEGREES IN A. IT HAS BEEN UNIT TESTED IN THE REGION +-.94 (+-70 038914,000621: # DEGREES) AND THE MAXIMUM ERROR IS +-5 BITS WITH AN AVERAGE TIME OF 038915,000622: # 450 MICROSECONDS. SPARCSIN -1 TAKES THE ARGUMENT SCALED TWO. (BOB CRISP) 038916,000623: 038917,000624: 30,3663 60000 DOUBLE 038918,000625: 30,3664 54021 SPARCSIN TS SR 038919,000626: 30,3665 13671 TCF +4 038920,000627: 30,3666 50000 INDEX A 038921,000628: 30,3667 44734 CS LIMITS 038922,000629: 30,3670 54021 TS SR 038923,000630: 30,3671 00006 EXTEND 038924,000631: 30,3672 70000 MP A 038925,000632: 30,3673 54141 TS TEM1 038926,000633: 30,3674 00006 EXTEND 038927,000634: 30,3675 73717 MP DPL9 038928,000635: 30,3676 63716 AD DPL7 038929,000636: 30,3677 00006 EXTEND 038930,000637: 30,3700 70141 MP TEM1 038931,000638: 30,3701 63715 AD DPL5 038932,000639: 30,3702 00006 EXTEND 038933,000640: 30,3703 70141 MP TEM1 038934,000641: 30,3704 63714 AD DPL3 038935,000642: 30,3705 00006 EXTEND 038936,000643: 30,3706 70141 MP TEM1 038937,000644: 30,3707 63713 AD DPL1 038938,000645: 30,3710 00006 EXTEND 038939,000646: 30,3711 70021 MP SR 038940,000647: 30,3712 00002 TC Q 038941,000648: 30,3713 24406 DPL1 DEC 10502 B-14 038942,000649: 30,3714 00660 DPL3 DEC 432 B-14 038943,000650: 30,3715 16204 DPL5 DEC 7300 B-14 038944,000651: 30,3716 50744 DPL7 DEC -11803 B-14 038945,000652: 30,3717 20315 DPL9 DEC 8397 B-14 038946,000653: 038947,000654: # Page 924 038948,000655: # LIMITSUB LIMITS THE MAGNITUDE OF THE POSITIVE OR NEGATIVE VARIABLE 038949,000656: # ARRIVING IN L TO THE POSITIVE LIMIT ARRIVING IN A. 038950,000657: # THE SIGNED LIMITED VARIABLE IS RETURNED IN A. 038951,000658: 038952,000659: # VERSION COUTESY HUGH BLAIR-SMITH 038953,000660: 038954,000661: 30,3720 54141 LIMITSUB TS TEM1 038955,000662: 30,3721 34755 CA ZERO 038956,000663: 30,3722 00006 EXTEND 038957,000664: 30,3723 10141 DV TEM1 038958,000665: 30,3724 10000 CCS A 038959,000666: 30,3725 22141 LXCH TEM1 038960,000667: 30,3726 13730 TCF +2 038961,000668: 30,3727 13732 TCF +3 038962,000669: 30,3730 30001 CA L 038963,000670: 30,3731 00002 TC Q 038964,000671: 30,3732 40141 CS TEM1 038965,000672: 30,3733 00002 TC Q 038966,000673: 038967,000674: # SUBROUTINE TO CONVERT 1'S COMP SP TO 2'S COMP 038968,000675: 038969,000676: 30,3734 10000 ONESTO2S CCS A 038970,000677: 30,3735 64753 AD ONE 038971,000678: 30,3736 00002 TC Q 038972,000679: 30,3737 40000 CS A 038973,000680: 30,3740 00002 TC Q 038974,000681: 038975,000682: # NO ATTITUDE CONTROL 038976,000683: 038977,000684: 30,3741 05567 NOATTCNT TC ALARM 038978,000685: 30,3742 00402 OCT 00402 # NO ATTITUDE CONTROL 038979,000686: 038980,000687: 30,3743 00004 +2 INHINT # COME HERE FOR NOATTCNT WITHOUT ALARM 038981,000688: 30,3744 04674 TC IBNKCALL # RELINT AT TC INTPRET AFTER TCQCDUW 038982,000689: 30,3745 40166 FCADR STOPRATE 038983,000690: 30,3746 13466 TCF TCQCDUW # RETURN TO USER SKIPPING AUTOPILOT CMDS 038984,000691: 038985,000692: # MIDDLE GIMBAL ANGLE ALARM 038986,000693: 038987,000694: 30,3747 05567 ALARMMGA TC ALARM 038988,000695: 30,3750 00401 OCT 00401 038989,000696: 30,3751 13266 TCF MGARET 038990,000697: 038991,000698: # Page 925 038992,000699: # ****************************************************************** 038993,000700: # CONSTANTS 038994,000701: # ****************************************************************** 038995,000702: 038996,000703: # ADDRESS CONSTANTS 038997,000704: 038998,000705: 30,3752 03245 ECDUWL ECADR ECDUW 038999,000706: 039000,000707: # THRUST DIRECTION FILTER CONSTANTS 039001,000708: 039002,000709: 30,3753 06315 GAINFLTR DEC .2 # GAIN FILTER SANS CSM 039003,000710: 30,3754 03146 DEC .1 # GAIN FILTER WITH CSM 039004,000711: 039005,000712: 30,3755 00071 DUNFVLIM DEC .007 B-1 # 7 MR MAX CHG IN F DIR IN VEH IN 2 SECS. 039006,000713: # THIS DOES NOT ALLOW FOR S/C ROT RATE. 039007,000714: 039008,000715: 30,3756 02041 UNFVLIM DEC .129 B-1 # 129 MR MAX THRUST OFFSET. 105 MR TRAVEL 039009,000716: # +10MR DEFL+5MR MECH MOUNT+9MR ABLATION. 039010,000717: 039011,000718: # CONSTANT RELATED TO GIMBAL ANGLE COMPUTATIONS 039012,000719: 039013,000720: 30,3757 01673 DOTSWFMX DEC .93302 B-4 # LIM COLNRTY OF UNWC/W & UNFC/2 TO 85 DEG 039014,000721: # LOWER PART COMES FROM NEXT CONSTANT 039015,000722: 039016,000723: 30,3760 03434 DAXMAX DEC .11111111111 # DELATTX LIM TO 20 DEG IN 2 SECS, 1'S, PI 039017,000724: 30,3761 00266 DEC .0111111111 # 2 DEG WHEN CSM DOCKED 039018,000725: 039019,000726: 30,3762 01616 DAY/2MAX DEC .05555555555 # LIKEWISE FOR DELATTY 039020,000727: 30,3763 00133 DEC .0055555555 039021,000728: 039022,000729: 30,3764 30,3760 DAZMAX = DAXMAX # LIKEWISE FOR DELATTZ 039023,000730: 039024,000731: 30,3764 14344 CDUZDLIM DEC .3888888888 # 70 DEG LIMIT FOR MGA, 1'S, PI 039025,000732: 039026,000733: # CONSTANTS FOR DATA TRANSFER 039027,000734: 039028,000735: 30,3765 01463 DT/DELT DEC .05 # .1 SEC/2 SEC WHICH IS THE AUTOPILOT 039029,000736: # CONTROL SAMPLE PERIOD/COMPUTATION PERIOD 039030,000737: 039031,000738: 30,3766 30,3762 DELERLIM = DAY/2MAX # 0 DEG LIMIT FOR LAG ANGLES, 1'S, PI 039032,000739: 039033,000740: # *** END OF FLY .153 *** End of include-file FINDCDUW--GUIDAP_INTERFACE.agc. Parent file is MAIN.agc