Source Code
These source-code files are part of a reconstructed copy of Luminary 173, the
second (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with reconstructed source code for Luminary 178. Changes between revision 173 and 178 were backed out, as described by Luminary memo 167 (revision 1). The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 173 listing would be different. 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. |
039206,000002: ## Copyright: Public domain.
039207,000003: ## Filename: FINDCDUW_-_GUIDAP_INTERFACE.agc
039208,000004: ## Purpose: A section of Luminary revision 173.
039209,000005: ## It is part of the reconstructed source code for the second
039210,000006: ## (unflown) release of the flight software for the Lunar
039211,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
039212,000008: ## The code has been recreated from a reconstructed copy of
039213,000009: ## Luminary 178, as well as Luminary memo 167 (revision 1).
039214,000010: ## It has been adapted such that the resulting bugger words
039215,000011: ## exactly match those specified for Luminary 173 in NASA
039216,000012: ## drawing 2021152N, which gives relatively high confidence
039217,000013: ## that the reconstruction is correct.
039218,000014: ## Reference: pp. 899-917
039219,000015: ## Assembler: yaYUL
039220,000016: ## Contact: Ron Burkey <info@sandroid.org>.
039221,000017: ## Website: www.ibiblio.org/apollo/index.html
039222,000018: ## Mod history: 2019-09-18 MAS Created from Luminary 178.
039223,000019:
Page 899 |
039225,000021: # PROGRAM NAME: FINDCDUW
039226,000022:
039227,000023: # MOD NUMBER: 1 68 07 15
039228,000024:
039229,000025: # MOD AUTHOR: KLUMPP
039230,000026:
039231,000027: # OBJECTS OF MOD: 1. TO SUPPLY COMMANDED GIMBAL ANGLES FOR NOUN 22.
039232,000028: # 2. TO MAINTAIN CORRECT AND CURRENT THRUST
039233,000029: # DIRECTION DATA IN ALL MODES. THIS IS DONE BY
039234,000030: # FETCHING FOR THE THRUST DIRECTION FILTER THE
039235,000031: # CDUD'S IN PNGCS-AUTO, THE CDU'S IN ALL OTHER
039236,000032: # MODES.
039237,000033: # 3. TO SUBSTITUTE A STOPRATE FOR THE NORMAL
039238,000034: # AUTOPILOT COMMANDS WHENEVER
039239,000035: # 1) NOT IN PNGCS-AUTO, OR
039240,000036: # 2) ENGINE IS OFF.
039241,000037:
039242,000038: # FUNCTIONAL DESCRIPTION:
039243,000039:
039244,000040: # FINDCDUW PROVIDES THE INTERFACES BETWEEN THE VARIOUS POWERED FLITE GUIDANCE PROGRAMS
039245,000041: # AND THE DIGITAL AUTOPILOT. THE INPUTS TO FINDCDUW ARE THE THRUST COMMAND VECTOR
039246,000042: # AND THE WINDOW COMMAND VECTOR, AND THE OUTPUTS ARE THE GIMBAL ANGLE
039247,000043: # INCREMENTS, THE COMMANDED ATTITUDE ANGLE RATES, AND THE COMMANDED
039248,000044: # ATTITUDE LAG ANGLES (WHICH ACCOUNT FOR THE ANGLES BY WHICH THE BODY WILL
039249,000045: # LAG BEHIND A RAMP COMMAND IN ATTITUDE ANGLE DUE TO THE FINITE ANGULAR
039250,000046: # ACCELERATIONS AVAILABLE).
039251,000047:
039252,000048: # FINDCDUW ALINES THE ESTIMATED THRUST VECTOR FROM THE THRUST DIRECTION
039253,000049: # FILTER WITH THE THRUST COMMAND VECTOR, AND, WHEN XOVINHIB SET,
039254,000050: # ALINES THE +Z HALF OF THE LM ZX PLANE WITH THE WINDOW COMMAND VECTOR.
039255,000051:
Page 900 |
039257,000053: # SPECIFICATIONS:
039258,000054:
039259,000055: # INITIALIZATION: A SINGLE INTERPRETIVE CALL TO INITCDUW IS REQUIRED
039260,000056: # BEFORE EACH GUIDED MANEUVER USING FINDCDUW.
039261,000057:
039262,000058: # CALL: INTERPRETIVE CALL TO FINDCDUW WITH THE THRUST COMMAND
039263,000059: # VECTOR IN MPAC. INTERPRETIVE CALL TO FINDCDUW -2 WITH
039264,000060: # THE THRUST COMMAND VECTOR IN UNFC/2 AND NOT IN MPAC.
039265,000061:
039266,000062: # RETURNS: NORMAL INTERPRETIVE IN ALL CASES
039267,000063:
039268,000064: # 1. NORMALLY ALL AUTOPILOT CMDS ARE ISSUED.
039269,000065:
039270,000066: # 2. IF NOT PNGCS AUTO, DO STOPRATE AND RETURN
039271,000067: # WITHOUT ISSUING AUTOPILOT CMDS.
039272,000068:
039273,000069: # 3. IF ENGINE OFF, DO STOPRATE AND RETURN WITHOUT
039274,000070: # ISSUING AUTOPILOT CMDS.
039275,000071:
039276,000072: # ALARMS: 00401 IF INPUTS DETERMINE AN ATTITUDE IN GIMBAL LOCK.
039277,000073: # FINDCDUW DRIVES CDUXD AND CDUYD TO THE RQD VALUES,
039278,000074: # BUT DRIVES CDUZD ONLY TO THE GIMBAL LOCK CONE.
039279,000075: # 00402 IF UNFC/2 OR UNWC/2 PRODUCE OVERFLOW WHEN
039280,000076: # UNITIZED USING NORMUNIT. FINDCDUW ISSUES
039281,000077: # STOPRATE AS ONLY INPUT TO AUTOPILOT.
039282,000078:
039283,000079: # INPUTS: UNFC/2 THRUST COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039284,000080: # UNWC/2 WINDOW COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039285,000081: # OGABIAS POSSIBLE BIAS FOR OUTER GIMBAL ANGLE (ZEROED IN INITCDUW), UNITS OF PI.
039286,000082: # XOVINHIB FLAG DENOTING X AXIS OVERRIDE INHIBITED.
039287,000083: # CSMDOCKD FLAG DENOTING CSM DOCKED.
039288,000084: # STEERSW FLAG DENOTING INSUFF THRUST FOR THRUST DIR FLTR.
039289,000085:
039290,000086: # OUTPUTS: DELCDUX,Y,Z
039291,000087: # OMEGAPD,+1,+2
039292,000088: # DELPEROR,+1,+2
039293,000089: # CPHI,+1,+2 FOR NOUN22
039294,000090:
039295,000091: # DEBRIS: FINDCDUW DESTROYS SINCDUX,Y,Z AND COSCDUX,Y,Z BY
039296,000092: # WRITING INTO THESE LOCATIONS THE SINES AND COSINES
039297,000093: # OF THE CDUD'S IN PNGCS-AUTO, OF THE CDU'S OTHERWISE.
039298,000094:
Page 901 |
039300,000096: # INITIALIZATION FOR FINDCDUW
039301,000097:
039302,000098: 30,3063 BANK 30
039303,000099: 30,2000 SETLOC FCDUW
039304,000100: 30,2000 BANK
039305,000101:
039306,000102: 30,3063 E6,1645 EBANK= ECDUW
039307,000103:
039308,000104: 30,3063 COUNT* $$/FCDUW
039309,000105:
039310,000106: 30,3063 77331 INITCDUW SSP VLOAD
039311,000107: 30,3064 03300 OGABIAS
039312,000108: 30,3065 00000 0
039313,000109: 30,3066 06516 UNITX
039314,000110: 30,3067 03267 STORE UNFV/2
039315,000111: 30,3070 03261 STORE UNWC/2
039316,000112: 30,3071 77616 RVQ
039317,000113:
039318,000114: # FINDCDUW PRELIMINARIES
039319,000115:
039320,000116: 30,3072 77775 VLOAD # FINDCDUW -2: ENTRY WHEN UNFC/2 PRE-STORD
039321,000117: 30,3073 03253 UNFC/2 # INPUT VECTORS NEED NOT BE SEMI-UNIT
039322,000118: 30,3074 40200 FINDCDUW BOV SETPD # FINDCDUW: ENTRY WHEN UNFC/2 IN MPAC
039323,000119: 30,3075 61074 FINDCDUW # INTERPRETER NOW INITIALIZED
039324,000120: 30,3076 00023 22 # LOCS 0 THRU 21 FOR DIRECTION COSINE MAT
039325,000121: 30,3077 77420 STQ EXIT
039326,000122: 30,3100 03246 QCDUWUSR # SAVE RETURN ADDRESS
039327,000123:
039328,000124: # MORE HAUSKEEPING
039329,000125:
039330,000126: 30,3101 33744 CA ECDUWL
039331,000127: 30,3102 56003 XCH EBANK # SET EBANK
039332,000128: 30,3103 55645 TS ECDUWUSR # SAVE USER'S EBANK
039333,000129:
039334,000130: 30,3104 30111 CA DAPBOOLS
039335,000131: 30,3105 74737 MASK CSMDOCKD # CSMDOCKD MUST NOT BE BIT15
039336,000132: 30,3106 10000 CCS A
039337,000133: 30,3107 34753 CA ONE # INDEX IF CSM DOCKED
039338,000134: 30,3110 55647 TS NDXCDUW
039339,000135:
039340,000136: 30,3111 34743 CA XOVINHIB # XOVINHIB MUST NOT BE BIT15
039341,000137: 30,3112 55651 TS FLPAUTNO # SET TO POS-NON-ZERO FLAG PNGCS AUTO NOT
039342,000138:
039343,000139: 30,3113 70111 MASK DAPBOOLS
039344,000140: 30,3114 55650 TS FLAGOODW # FLAGOODW = ANY PNZ NUMBER IF XOV INHIBTD
039345,000141:
Page 902 |
039347,000143: # FETCH BASIC DATA
039348,000144:
039349,000145: 30,3115 00004 INHINT # RELINT AT PAUTNO (TC INTPRET)
039350,000146:
039351,000147: 30,3116 30032 CA CDUX # FETCH CDUX,CDUY,CDUZ IN ALL CASES, BUT
039352,000148: 30,3117 54771 TS CDUSPOTX # REPLACE BELOW IF PNGCS AUTO
039353,000149: 30,3120 30033 CA CDUY
039354,000150: 30,3121 54765 TS CDUSPOTY
039355,000151: 30,3122 30034 CA CDUZ
039356,000152: 30,3123 54767 TS CDUSPOTZ
039357,000153:
039358,000154: 30,3124 34742 CA BIT10 # PNGCS CONTROL BIT
039359,000155: 30,3125 00006 EXTEND
039360,000156: 30,3126 02030 RAND CHAN30
039361,000157: 30,3127 10000 CCS A
039362,000158: 30,3130 13145 TCF PAUTNO # NOT PNGCS (BITS INVERTED)
039363,000159:
039364,000160: 30,3131 34736 CA BIT14 # AUTO MODE BIT
039365,000161: 30,3132 00006 EXTEND
039366,000162: 30,3133 02031 RAND CHAN31
039367,000163: 30,3134 10000 CCS A
039368,000164: 30,3135 13145 TCF PAUTNO # NOT AUTO (BITS INVERTED)
039369,000165:
039370,000166: 30,3136 55651 TS FLPAUTNO # RESET FLAG PNGCS AUTO NOT
039371,000167:
039372,000168: 30,3137 31634 CA CDUXD # PNGCS AUTO: FETCH CDUXD,CDUYD,CDUZD
039373,000169: 30,3140 54771 TS CDUSPOTX
039374,000170: 30,3141 31635 CA CDUYD
039375,000171: 30,3142 54765 TS CDUSPOTY
039376,000172: 30,3143 31636 CA CDUZD
039377,000173: 30,3144 54767 TS CDUSPOTZ
039378,000174:
Page 903 |
039380,000176: # FETCH INPUTS
039381,000177:
039382,000178: 30,3145 06042 PAUTNO TC INTPRET # ENTERING THRUST CMD STILL IN MPAC
039383,000179: 30,3146 77634 RTB
039384,000180: 30,3147 21727 NORMUNIT
039385,000181: 30,3150 24001 STOVL UNX/2 # SEMI-UNIT THRUST CMD AS INITIAL UNX/2
039386,000182: 30,3151 03261 UNWC/2
039387,000183: 30,3152 47034 RTB RTB
039388,000184: 30,3153 21727 NORMUNIT
039389,000185: 30,3154 47622 QUICTRIG # ALWAYS RQD TO OBTAIN TRIGS OF CDUD'S
039390,000186: 30,3155 24015 STOVL UNZ/2 # SEMI-UNIT WINDOW CMD AS INITIAL UNZ/2
039391,000187: 30,3156 00325 DELV
039392,000188: 30,3157 53404 BOVB UNIT
039393,000189: 30,3160 61733 NOATTCNT # AT LEAST ONE ENTERING CMD VCT ZERO
039394,000190: 30,3161 45000 BOV CALL
039395,000191: 30,3162 61176 AFTRFLTR # IF UNIT DELV OVERFLOWS, SKIP FILTER
039396,000192: 30,3163 47676 *SMNB* # YIELDS UNIT(DELV) IN VEH COORDS FOR FLTR
039397,000193:
039398,000194: # THRUST DIRECTION FILTER
039399,000195:
039400,000196: 30,3164 77776 EXIT
039401,000197:
039402,000198: 30,3165 31670 CA UNFVY/2 # FOR RESTARTS, UNFV/2 ALWAYS INTACT, MPAC
039403,000199: 30,3166 22157 LXCH MPAC +3 # RENEWED AFTER RETURN FROM CALLER,
039404,000200: 30,3167 03466 TC FLTRSUB # TWO FILTER UPDATES MAY BE DONE.
039405,000201: 30,3170 55670 TS UNFVY/2 # UNFV/2 NEED NOT BE EXACTLY SEMI-UNIT.
039406,000202:
039407,000203: 30,3171 31672 CA UNFVZ/2
039408,000204: 30,3172 22161 LXCH MPAC +5
039409,000205: 30,3173 03466 TC FLTRSUB
039410,000206: 30,3174 55672 TS UNFVZ/2
039411,000207:
039412,000208: 30,3175 06042 TC INTPRET # COMPLETES FILTER
039413,000209:
Page 904 |
039415,000211: # FIND A SUITABLE WINDOW POINTING VECTOR
039416,000212:
039417,000213: 30,3176 46135 AFTRFLTR SLOAD BHIZ # IF XOV NOT INHIBITED, GO FETCH ZNB
039418,000214: 30,3177 03251 FLAGOODW
039419,000215: 30,3200 61204 FETCHZNB
039420,000216: 30,3201 45175 VLOAD CALL
039421,000217: 30,3202 00015 UNZ/2
039422,000218: 30,3203 61506 UNWCTEST
039423,000219:
039424,000220: 30,3204 77775 FETCHZNB VLOAD
039425,000221: 30,3205 02162 ZNBPIP
039426,000222: 30,3206 34015 STCALL UNZ/2
039427,000223: 30,3207 61506 UNWCTEST
039428,000224:
039429,000225: 30,3210 57575 VLOAD VCOMP # Z AND -X CAN'T BOTH PARALLEL UNFC/2
039430,000226: 30,3211 02146 XNBPIP
039431,000227: 30,3212 00015 STORE UNZ/2
039432,000228:
039433,000229: # COMPUTE THE REQUIRED DIRECTION COSINE MATRIX
039434,000230:
039435,000231: 30,3213 47375 DCMCL VLOAD VXV
039436,000232: 30,3214 00015 UNZ/2
039437,000233: 30,3215 00001 UNX/2
039438,000234: 30,3216 41456 UNIT PUSH # UNY/2 FIRST ITERATION
039439,000235: 30,3217 76435 VXV VSL1
039440,000236: 30,3220 00001 UNX/2
039441,000237: 30,3221 00015 STORE UNZ/2 # -UNZ/2 FIRST ITERATION
039442,000238: 30,3222 63361 VXSC PDVL # EXCHANGE -UNFVZ/2 UNZ/2 FOR UNY/2
039443,000239: 30,3223 03273 UNFVZ/2 # MUST BE SMALL
039444,000240: 30,3224 51361 VXSC BVSU # YIELDS -UNFVY/2 UNY/2-UNFVZ/2 UNZ/2
039445,000241: 30,3225 03271 UNFVY/2 # MUST BE SMALL
039446,000242: 30,3226 53372 VSL1 VAD
039447,000243: 30,3227 00001 UNX/2
039448,000244: 30,3230 77656 UNIT # TOTALLY ELIMINATES THRUST POINTING ERROR
039449,000245: 30,3231 00001 STORE UNX/2 # UNX/2
039450,000246: 30,3232 76435 VXV VSL1
039451,000247: 30,3233 00015 UNZ/2 # -UNZ/2 WAS STORED HERE REMEMBER
039452,000248: 30,3234 00007 STORE UNY/2 # UNY/2
039453,000249: 30,3235 47276 VCOMP VXV
039454,000250: 30,3236 00001 UNX/2
039455,000251: 30,3237 77772 VSL1
039456,000252: 30,3240 00015 STORE UNZ/2 # UNZ/2
039457,000253:
Page 905 |
039459,000255: # COMPUTE THE REQUIRED GIMBAL ANGLES
039460,000256:
039461,000257: 30,3241 77624 CALL
039462,000258: 30,3242 61516 NB2CDUSP # YIELDS THE RQD GIMBAL ANGLES, 2'S, PI
039463,000259: 30,3243 77776 EXIT
039464,000260:
039465,000261: # BIAS OUTER GIMBAL ANGLE
039466,000262:
039467,000263: 30,3244 31677 CA OGABIAS
039468,000264: 30,3245 26154 ADS MPAC
039469,000265:
039470,000266: # LIMIT THE MIDDLE GIMBAL ANGLE & COMPUTE THE UNLIMITED GIMBAL ANGLE CHGS
039471,000267:
039472,000268: 30,3246 30156 CA MPAC +2 # LIMIT THE MGA
039473,000269: 30,3247 54001 TS L # CAN'T LXCH: NEED UNLIMITED MGA FOR ALARM
039474,000270: 30,3250 33756 CA CDUZDLIM
039475,000271: 30,3251 03712 TC LIMITSUB # YIELDS LIMITED MGA. 1 BIT ERROR POSSIBLE
039476,000272: 30,3252 56156 XCH MPAC +2 # BECAUSE USING 2'S COMP. WHO CARES?
039477,000273: 30,3253 00006 EXTEND
039478,000274: 30,3254 20156 MSU MPAC +2 # THIS BETTER YIELD ZERO
039479,000275: 30,3255 00006 EXTEND
039480,000276: 30,3256 13260 BZF +2
039481,000277: 30,3257 13741 TCF ALARMMGA
039482,000278:
039483,000279: 30,3260 00004 MGARET INHINT # RELINT AT TC INTPRET AFTER TCQCDUW
039484,000280:
039485,000281: 30,3261 22007 ZL
039486,000282: 30,3262 34752 CA TWO
039487,000283: 30,3263 54142 DELGMBLP TS TEM2
039488,000284:
039489,000285: 30,3264 30001 CA L # TO PREVENT FALSE STARTS ABOUT X, ZERO
039490,000286: 30,3265 00006 EXTEND # FLAGOODW IF DELGMBZ OR Y TOO BIG.
039491,000287: 30,3266 70000 SQUARE
039492,000288: 30,3267 64350 AD HI5 # WITHIN 1 BIT OF -(45 DEG SQUARED)
039493,000289: 30,3270 00006 EXTEND
039494,000290: 30,3271 63274 BZMF +3
039495,000291: 30,3272 34755 CA ZERO
039496,000292: 30,3273 55650 TS FLAGOODW
039497,000293:
039498,000294: 30,3274 50142 INDEX TEM2
039499,000295: 30,3275 30154 CA MPAC
039500,000296: 30,3276 50142 INDEX TEM2
039501,000297: 30,3277 54321 TS CPHI # OUTPUTS TO NOUN22
039502,000298: 30,3300 00006 EXTEND
039503,000299: 30,3301 50142 INDEX TEM2
039504,000300: 30,3302 21634 MSU CDUXD # NO MATTER THAT THESE SLIGHTLY DIFFERENT
039505,000301: 30,3303 40000 COM # FROM WHEN WE INITIALLY FETCHED THEM
039506,000302: 30,3304 50142 INDEX TEM2
039507,000303: 30,3305 55674 TS -DELGMB # -UNLIMITED GIMBAL ANGLE CHGS, 1'S, PI
039508,000304: 30,3306 54001 TS L # FOR PRECEDING TEST ON NEXT LOOP PASS
Page 906 |
039510,000306: 30,3307 10142 CCS TEM2
039511,000307: 30,3310 13263 TCF DELGMBLP
039512,000308:
Page 907 |
039514,000310: # BRANCHES TO NOATTCNT
039515,000311:
039516,000312: 30,3311 11651 CCS FLPAUTNO
039517,000313: 30,3312 13735 TCF NOATTCNT +2 # NOT PNGCS AUTO
039518,000314:
039519,000315: 30,3313 30101 CA FLAGWRD5
039520,000316: 30,3314 74745 MASK ENGONBIT
039521,000317: 30,3315 00006 EXTEND
039522,000318: 30,3316 13735 BZF NOATTCNT +2 # ENGINE NOT ON
039523,000319:
Page 908 |
039525,000321: # LIMIT THE ATTITUDE ANGLE CHANGES
039526,000322:
039527,000323: # THIS SECTION LIMITS THE ATTITUDE ANGLE CHANGES ABOUT A SET OF ORTHOGONAL VEHICLE AXES X,YPRIME,ZPRIME.
039528,000324: # THESE AXES COINCIDE WITH THE COMMANDED VEHICLE AXES IF AND ONLY IF CDUXD IS ZERO. THE PRIME SYSTEM IS
039529,000325: # THE COMMANDED VEHICLE SYSTEM ROTATED ABOUT THE X AXIS TO BRING THE Z AXIS INTO ALINEMENT WITH THE MIDDLE GIMBAL
039530,000326: # AXIS. ATTITUDE ANGLE CHANGES IN THE PRIME SYSTEM ARE RELATED TO SMALL GIMBAL ANGLE CHANGES BY:
039531,000327:
039532,000328: # * -DELATTX * * 1 SIN(CDUZD) 0 * * -DELGMBX *
039533,000329: # * * * * * *
039534,000330: # * -DELATTYPRIME * = * 0 COS(CDUZD) 0 * * -DELGMBY *
039535,000331: # * * * * * *
039536,000332: # * -DELATTZPRIME * * 0 0 1 * * -DELGMBZ *
039537,000333:
039538,000334: 30,3317 23676 LXCH -DELGMB +2 # SAME AS -DELATTZPRIME UNLIMITED
039539,000335: 30,3320 51647 INDEX NDXCDUW
039540,000336: 30,3321 33752 CA DAZMAX
039541,000337: 30,3322 03712 TC LIMITSUB
039542,000338: 30,3323 55676 TS -DELGMB +2 # -DELGMBZ
039543,000339:
039544,000340: 30,3324 31675 CA -DELGMB +1
039545,000341: 30,3325 00006 EXTEND
039546,000342: 30,3326 70745 MP COSCDUZ # YIELDS -DELATTYPRIME/2 UNLIMITED
039547,000343: 30,3327 54001 TS L
039548,000344: 30,3330 51647 INDEX NDXCDUW
039549,000345: 30,3331 33754 CA DAY/2MAX
039550,000346: 30,3332 03712 TC LIMITSUB
039551,000347: 30,3333 00006 EXTEND
039552,000348: 30,3334 10745 DV COSCDUZ
039553,000349: 30,3335 57675 XCH -DELGMB +1 # -DELGMBY, FETCHING UNLIMITED VALUE
039554,000350:
039555,000351: 30,3336 00006 EXTEND
039556,000352: 30,3337 70737 MP SINCDUZ
039557,000353: 30,3340 20001 DDOUBL
039558,000354: 30,3341 40000 COM
039559,000355: 30,3342 00006 EXTEND # YIELDS +DELATTX UNLIMITD, MAG < 180 DEG,
039560,000356: 30,3343 21674 MSU -DELGMB # BASED ON UNLIMITED DELGMBY.
039561,000357: 30,3344 54001 TS L # ONE BIT ERROR IF OPERANDS IN MSU
039562,000358: 30,3345 51647 INDEX NDXCDUW # OF MIXED SIGNS. WHO CARES?
039563,000359: 30,3346 33752 CA DAXMAX
039564,000360: 30,3347 03712 TC LIMITSUB
039565,000361: 30,3350 55674 TS -DELGMB # SAVE LIMITED +DELATTX
039566,000362: 30,3351 11650 CCS FLAGOODW
039567,000363: 30,3352 41674 CS -DELGMB # FETCH IT BACK CHGING SIGN IF WINDOW GOOD
039568,000364: 30,3353 55674 TS -DELGMB # OTHERWISE USE ZERO FOR -DELATTX
039569,000365: 30,3354 41675 CS -DELGMB +1
039570,000366: 30,3355 00006 EXTEND
039571,000367: 30,3356 70737 MP SINCDUZ
039572,000368: 30,3357 20001 DDOUBL # YIELDS -CNTRIB TO -DELATTX FROM -DELGMBY
039573,000369: 30,3360 27674 ADS -DELGMB # -DELGMBX. NO OVERFLOW SINCE LIMITED TO
039574,000370: # 20DEG(1+SIN(70DEG)/COS(70DEG)) < 180DEG
039575,000371:
Page 909 |
039577,000373: # COMPUTE COMMANDED ATTITUDE RATES
039578,000374:
039579,000375: # * OMEGAPD * * -2 -4 SINCDUZ +0 * * -DELGMBX *
039580,000376: # * * * * * *
039581,000377: # * OMEGAQD * = * +0 -8 COSCDUZ COSCDUX -4 SINCDUX * * -DELGMBY *
039582,000378: # * * * * * *
039583,000379: # * OMEGARD * * +0 +8 COSCDUZ SINCDUX -4 COSCDUX * * -DELGMBZ *
039584,000380:
039585,000381: # ATTITUDE ANGLE RATES IN UNITS OF PI/4 RAD/SEC = K TRIG FCNS IN UNITS OF 2 X GIMBAL ANGLE RATES IN UNITS OF
039586,000382: # PI/2 RAD/SEC. THE CONSTANTS ARE BASED ON DELGMB BEING THE GIMBAL ANGLE CHANGES IN UNITS OF PI RADIANS,
039587,000383: # AND 2 SECONDS BEING THE COMPUTATION PERIOD (THE PERIOD BETWEEN SUCCESSIVE PASSES THRU FINDCDUW).
039588,000384:
039589,000385: 30,3361 41674 CS -DELGMB
039590,000386: 30,3362 55642 TS OMEGAPD
039591,000387: 30,3363 41675 CS -DELGMB +1
039592,000388: 30,3364 00006 EXTEND
039593,000389: 30,3365 70737 MP SINCDUZ
039594,000390: 30,3366 20001 DDOUBL
039595,000391: 30,3367 27642 ADS OMEGAPD
039596,000392: 30,3370 27642 ADS OMEGAPD
039597,000393:
039598,000394: 30,3371 41675 CS -DELGMB +1
039599,000395: 30,3372 00006 EXTEND
039600,000396: 30,3373 70747 MP COSCDUX
039601,000397: 30,3374 20001 DDOUBL
039602,000398: 30,3375 00006 EXTEND
039603,000399: 30,3376 70745 MP COSCDUZ
039604,000400: 30,3377 55643 TS OMEGAQD
039605,000401: 30,3400 41676 CS -DELGMB +2
039606,000402: 30,3401 00006 EXTEND
039607,000403: 30,3402 70741 MP SINCDUX
039608,000404: 30,3403 27643 ADS OMEGAQD
039609,000405: 30,3404 27643 ADS OMEGAQD
039610,000406: 30,3405 27643 ADS OMEGAQD
039611,000407:
039612,000408: 30,3406 31675 CA -DELGMB +1
039613,000409: 30,3407 00006 EXTEND
039614,000410: 30,3410 70741 MP SINCDUX
039615,000411: 30,3411 20001 DDOUBL
039616,000412: 30,3412 00006 EXTEND
039617,000413: 30,3413 70745 MP COSCDUZ
039618,000414: 30,3414 55644 TS OMEGARD
039619,000415: 30,3415 41676 CS -DELGMB +2
039620,000416: 30,3416 00006 EXTEND
039621,000417: 30,3417 70747 MP COSCDUX
039622,000418: 30,3420 27644 ADS OMEGARD
039623,000419: 30,3421 27644 ADS OMEGARD
039624,000420: 30,3422 27644 ADS OMEGARD
039625,000421:
Page 910 |
039627,000423: # FINAL TRANSFER
039628,000424:
039629,000425: 30,3423 34752 CA TWO
039630,000426: 30,3424 54142 CDUWXFR TS TEM2
039631,000427: 30,3425 50142 INDEX TEM2
039632,000428: 30,3426 31674 CA -DELGMB
039633,000429: 30,3427 00006 EXTEND
039634,000430: 30,3430 73757 MP DT/DELT # RATIO OF DAP INTERVAL TO CDUW INTERVAL
039635,000431: 30,3431 03726 TC ONESTO2S
039636,000432: 30,3432 50142 INDEX TEM2
039637,000433: 30,3433 55637 TS DELCDUX # ANGLE INTERFACE
039638,000434:
039639,000435: 30,3434 50142 INDEX TEM2
039640,000436: 30,3435 11642 CCS OMEGAPD
039641,000437: 30,3436 64753 AD ONE
039642,000438: 30,3437 13441 TCF +2
039643,000439: 30,3440 64753 AD ONE
039644,000440: 30,3441 00006 EXTEND # WE NOW HAVE ABS(OMEGAPD,QD,RD)
039645,000441: 30,3442 50142 INDEX TEM2
039646,000442: 30,3443 71642 MP OMEGAPD
039647,000443: 30,3444 00006 EXTEND
039648,000444: 30,3445 74741 MP BIT11 # 1/16
039649,000445: 30,3446 00006 EXTEND
039650,000446: 30,3447 50142 INDEX TEM2 # 2
039651,000447: 30,3450 11530 DV 1JACC # UNITS PI/4 RAD/SEC
039652,000448: 30,3451 54001 TS L
039653,000449: 30,3452 33754 CA DELERLIM
039654,000450: 30,3453 03712 TC LIMITSUB
039655,000451: 30,3454 50142 INDEX TEM2
039656,000452: 30,3455 55274 TS DELPEROR # LAG ANGLE = OMEGA ABS(OMEGA)/2 ACCEL
039657,000453: 30,3456 10142 CCS TEM2
039658,000454: 30,3457 13424 TCF CDUWXFR
039659,000455:
039660,000456: # HAUSKEEPING AND RETURN
039661,000457:
039662,000458: 30,3460 31645 TCQCDUW CA ECDUWUSR
039663,000459: 30,3461 54003 TS EBANK # RETURN USER'S EBANK
039664,000460:
039665,000461: 30,3462 06042 TC INTPRET
039666,000462: 30,3463 52001 SETPD GOTO
039667,000463: 30,3464 00001 0
039668,000464: 30,3465 03246 QCDUWUSR # NORMAL AND ABNORMAL RETURN TO USER
039669,000465:
Page 911 |
039671,000467: # THRUST VECTOR FILTER SUBROUTINE
039672,000468:
039673,000469: 30,3466 00006 FLTRSUB EXTEND
039674,000470: 30,3467 22142 QXCH TEM2
039675,000471: 30,3470 54143 TS TEM3 # SAVE ORIGINAL OFFSET
039676,000472: 30,3471 40000 COM # ONE MCT, NO WDS, CAN BE SAVED IF NEG OF
039677,000473: 30,3472 60001 AD L # ORIG OFFSET ARRIVES IN A, BUT IT'S
039678,000474: 30,3473 00006 EXTEND # NOT WORTH THE INCREASED OBSCURITY.
039679,000475: 30,3474 51647 INDEX NDXCDUW
039680,000476: 30,3475 73745 MP GAINFLTR
039681,000477: 30,3476 54001 TS L # INCR TO OFFSET, UNLIMITED
039682,000478: 30,3477 33747 CA DUNFVLIM # SAME LIMIT FOR Y AND Z
039683,000479: 30,3500 03712 TC LIMITSUB # YIELDS INCR TO OFFSET, LIMITED
039684,000480: 30,3501 60143 AD TEM3 # ORIGINAL OFFSET
039685,000481: 30,3502 54001 TS L # TOTAL OFFSET, UNLIMITED
039686,000482: 30,3503 33750 CA UNFVLIM # SAME LIMIT FOR Y AND Z
039687,000483: 30,3504 03712 TC LIMITSUB # YIELDS TOTAL OFFSET, LIMITED
039688,000484: 30,3505 00142 TC TEM2
039689,000485:
039690,000486: # SUBR TO TEST THE ANGLE BETWEEN THE PROPOSED WINDOW AND THRUST CMD VCTS
039691,000487:
039692,000488: 30,3506 63441 UNWCTEST DOT DSQ
039693,000489: 30,3507 00001 UNX/2
039694,000490: 30,3510 50025 DSU BMN
039695,000491: 30,3511 21752 DOTSWFMX
039696,000492: 30,3512 61213 DCMCL
039697,000493: 30,3513 43531 SSP RVQ # RVQ FOR ALT CHOICE IF DOT MAGN TOO LARGE
039698,000494: 30,3514 03251 FLAGOODW # ZEROING WINDOW GOOD FLAG
039699,000495: 30,3515 00000 0
039700,000496:
Page 912 |
039702,000498: # NB2CDUSP RETURNS THE 2'S COMPLEMENT, PI, SP CDU ANGLES X,Y,Z IN MPAC,+1,+2 GIVEN THE MATRIX WHOSE ROW VECTORS
039703,000499: # ARE THE SEMI-UNIT NAV BASE VECTORS X,Y,Z EXPRESSED IN STABLE MEMBER COORDINATES, LOCATED AT 0 IN THE PUSH LIST.
039704,000500:
039705,000501: # NB2CDUSP USES ARCTRGSP WHICH HAS A MAXIMUM ERROR OF +-4 BITS.
039706,000502:
039707,000503: 30,3516 63545 NB2CDUSP DLOAD DSQ
039708,000504: 30,3517 00003 2
039709,000505: 30,3520 51021 BDSU BPL
039710,000506: 30,3521 06510 DP1/4TH
039711,000507: 30,3522 61525 +3
039712,000508: 30,3523 77745 DLOAD
039713,000509: 30,3524 06520 ZEROVECS # IN CASE SIN WAS SLIGHTLY > 1/2
039714,000510: 30,3525 77566 SQRT EXIT # YIELDS COS(CDUZ) IN UNITS OF 2
039715,000511:
039716,000512: 30,3526 00006 EXTEND
039717,000513: 30,3527 30155 DCA MPAC
039718,000514: 30,3530 20001 DDOUBL
039719,000515: 30,3531 54145 TS TEM5
039720,000516: 30,3532 13535 TCF +3
039721,000517: 30,3533 34733 CA POSMAX # OVERFLOW. FETCH POSMAX, MPAC ALWAYS POS
039722,000518: 30,3534 54145 TS TEM5 # COS(CDUZ) IN TEM5, UNITS 1
039723,000519:
039724,000520: 30,3535 50120 INDEX FIXLOC
039725,000521: 30,3536 30002 CA 2
039726,000522: 30,3537 22154 LXCH MPAC
039727,000523: 30,3540 03605 TC ARCTRGSP
039728,000524: 30,3541 54156 TS MPAC +2 # CDUZ
039729,000525:
039730,000526: 30,3542 34755 CA ZERO
039731,000527: 30,3543 03563 TC DVBYCOSM
039732,000528: 30,3544 34751 CA FOUR
039733,000529: 30,3545 03563 TC DVBYCOSM
039734,000530: 30,3546 40141 CS TEM1
039735,000531: 30,3547 03605 TC ARCTRGSP
039736,000532: 30,3550 54155 TS MPAC +1 # CDUY
039737,000533:
039738,000534: 30,3551 34750 CA BIT4
039739,000535: 30,3552 03563 TC DVBYCOSM
039740,000536: 30,3553 33562 CA 16OCT
039741,000537: 30,3554 03563 TC DVBYCOSM
039742,000538: 30,3555 40141 CS TEM1
039743,000539: 30,3556 03605 TC ARCTRGSP
039744,000540: 30,3557 54154 TS MPAC # CDUX
039745,000541:
039746,000542: 30,3560 06042 TC INTPRET
039747,000543: 30,3561 77616 RVQ
039748,000544:
039749,000545: 30,3562 00016 16OCT OCT 16
039750,000546:
Page 913 |
039752,000548: # THE ELEMENTS OF THE NAV BASE MATRIX WHICH WE MUST DIVIDE BY COS(MGA)
039753,000549: # ALREADY CONTAIN COS(MGA)/2 AS A FACTOR. THEREFORE THE QUOTIENT SHOULD
039754,000550: # ORDINARILY NEVER EXCEED 1/2 IN MAGNITUDE. BUT IF THE MGA IS NEAR PI/2
039755,000551: # THEN COS(MGA) IS NEAR ZERO, AND THERE MAY BE SOME CHAFF IN THE OTHER
039756,000552: # ELEMENTS OF THE MATRIX WHICH WOULD PRODUCE CHAOS UNDER DIVISION.
039757,000553: # BEFORE DIVIDING WE MAKE SURE COS(MGA) IS AT LEAST ONE BIT LARGER
039758,000554: # THAN THE MAGNITUDE OF THE HIGH ORDER PART OF THE OPERAND.
039759,000555:
039760,000556: # IF ONE OR MORE DIVIDES CANNOT BE PERFORMED, THIS MEANS THAT THE
039761,000557: # REQUIRED MGA IS VERY NEARLY +-PI/2 AND THEREFORE THE OTHER GIMBAL
039762,000558: # ANGLES ARE INDETERMINATE. THE INNER AND OUTER GIMBAL ANGLES RETURNED
039763,000559: # IN THIS CASE WILL BE RANDOM MULTIPLES OF PI/2.
039764,000560:
039765,000561: 30,3563 60120 DVBYCOSM AD FIXLOC
039766,000562: 30,3564 54116 TS ADDRWD # ADRES OF OPERAND
039767,000563:
039768,000564: 30,3565 50116 INDEX ADDRWD # FETCH NEG ABS OF OPERAND, AD TEM5, AND
039769,000565: 30,3566 30000 CA 0 # SKIP DIVIDE IF RESULT NEG OR ZERO
039770,000566: 30,3567 00006 EXTEND
039771,000567: 30,3570 63572 BZMF +2
039772,000568: 30,3571 40000 COM
039773,000569: 30,3572 60145 AD TEM5 # C(A) ZERO OR NEG, C(TEM5) ZERO OR POS
039774,000570: 30,3573 00006 EXTEND
039775,000571: 30,3574 63602 BZMF TSL&TCQ # DIFFERENCE ALWAYS SMALL IF BRANCH
039776,000572:
039777,000573: 30,3575 00006 EXTEND # TEM5 EXCEEDS ABS HIGH ORDER PART OF
039778,000574: 30,3576 50116 INDEX ADDRWD # OPERAND BY AT LEAST ONE BIT.
039779,000575: 30,3577 30001 DCA 0 # THEREFORE IT EXCEEDS THE DP OPERAND
039780,000576: 30,3600 00006 EXTEND # AND DIVISION WILL ALWAYS SUCCEED.
039781,000577: 30,3601 10145 DV TEM5
039782,000578: 30,3602 54001 TSL&TCQ TS L
039783,000579: 30,3603 22141 LXCH TEM1
039784,000580: 30,3604 00002 TC Q
039785,000581:
Page 914 |
039787,000583: # ARCTRGSP RETURNS THE 2'S COMPLEMENT, PI, SP ANGLE IN THE A REGISTER GIVEN ITS SINE IN A AND ITS COSINE IN L IN
039788,000584: # UNITS OF 2. THE RESULT IS AN UNAMBIGUOUS ANGLE ANYWHERE IN THE CIRCLE, WITH A MAXIMUM ERROR OF +-4 BITS.
039789,000585: # THE ERROR IS PRODUCED BY THE SUBROUTINE SPARCSIN WHICH IS USED ONLY IN THE REGION +-45 DEGREES.
039790,000586:
039791,000587: 30,3605 00006 ARCTRGSP EXTEND
039792,000588: 30,3606 13650 BZF SINZERO # TO AVOID DIVIDING BY ZERO
039793,000589:
039794,000590: 30,3607 00006 EXTEND
039795,000591: 30,3610 22144 QXCH TEM4
039796,000592: 30,3611 54142 TS TEM2
039797,000593: 30,3612 30001 CA L
039798,000594: 30,3613 54143 TS TEM3
039799,000595: 30,3614 34755 CA ZERO
039800,000596: 30,3615 00006 EXTEND
039801,000597: 30,3616 10142 DV TEM2
039802,000598: 30,3617 00006 EXTEND
039803,000599: 30,3620 13637 BZF USECOS
039804,000600:
039805,000601: 30,3621 10143 CCS TEM3 # SIN IS SMALLER OR EQUAL
039806,000602: 30,3622 34755 CA ZERO
039807,000603: 30,3623 13627 TCF +4
039808,000604: 30,3624 40142 CS TEM2 # IF COS NEG, REVERSE SIGN OF SIN,
039809,000605: 30,3625 54142 TS TEM2 # ANGLE = PI-ARCSIN(SIN)
039810,000606: 30,3626 34735 CA NEGMAX # PICK UP PI, 2'S COMPLEMENT
039811,000607: 30,3627 54143 TS TEM3 # WE NO LONGER NEED COS
039812,000608: 30,3630 30142 CA TEM2
039813,000609: 30,3631 03655 TC SPARCSIN -1
039814,000610: 30,3632 03726 TC ONESTO2S
039815,000611: 30,3633 00006 EXTEND
039816,000612: 30,3634 20143 MSU TEM3
039817,000613: 30,3635 03726 1TO2&TCQ TC ONESTO2S
039818,000614: 30,3636 00144 TC TEM4
039819,000615:
039820,000616: 30,3637 40143 USECOS CS TEM3 # COS IS SMALLER
039821,000617: 30,3640 03655 TC SPARCSIN -1 # ANGLE = SIGN(SIN)(PI/2-ARCSIN(COS))
039822,000618: 30,3641 64736 AD HALF
039823,000619: 30,3642 54143 TS TEM3 # WE NO LONGER NEED COS
039824,000620: 30,3643 10142 CCS TEM2
039825,000621: 30,3644 30143 CA TEM3
039826,000622: 30,3645 13635 TCF 1TO2&TCQ
039827,000623: 30,3646 40143 CS TEM3
039828,000624: 30,3647 13635 TCF 1TO2&TCQ
039829,000625:
039830,000626: 30,3650 10001 SINZERO CCS L
039831,000627: 30,3651 34755 CA ZERO
039832,000628: 30,3652 00002 TC Q
039833,000629: 30,3653 34735 CA NEGMAX # PI, 2'S COMP
039834,000630: 30,3654 00002 TC Q
039835,000631:
Page 915 |
039837,000633: # SPARCSIN TAKES AN ARGUMENT SCALED UNITY IN A AND RETURNS AN ANGLE SCALED
039838,000634: # 180 DEGREES IN A. IT HAS BEEN UNIT TESTED IN THE REGION +-.94 (+- 70
039839,000635: # DEGREES) AND THE MAXIMUM ERROR IS +-5 BITS WITH AN AVERAGE TIME OF
039840,000636: # 450 MICROSECONDS. SPARCSIN -1 TAKES THE ARGUMENT SCALED TWO.(BOB CRISP)
039841,000637:
039842,000638: 30,3655 60000 DOUBLE
039843,000639: 30,3656 54021 SPARCSIN TS SR
039844,000640: 30,3657 13663 TCF +4
039845,000641: 30,3660 50000 INDEX A
039846,000642: 30,3661 44734 CS LIMITS
039847,000643: 30,3662 54021 TS SR
039848,000644: 30,3663 00006 EXTEND
039849,000645: 30,3664 70000 MP A
039850,000646: 30,3665 54141 TS TEM1
039851,000647: 30,3666 00006 EXTEND
039852,000648: 30,3667 73711 MP DPL9
039853,000649: 30,3670 63710 AD DPL7
039854,000650: 30,3671 00006 EXTEND
039855,000651: 30,3672 70141 MP TEM1
039856,000652: 30,3673 63707 AD DPL5
039857,000653: 30,3674 00006 EXTEND
039858,000654: 30,3675 70141 MP TEM1
039859,000655: 30,3676 63706 AD DPL3
039860,000656: 30,3677 00006 EXTEND
039861,000657: 30,3700 70141 MP TEM1
039862,000658: 30,3701 63705 AD DPL1
039863,000659: 30,3702 00006 EXTEND
039864,000660: 30,3703 70021 MP SR
039865,000661: 30,3704 00002 TC Q
039866,000662: 30,3705 24406 DPL1 DEC 10502 B-14
039867,000663: 30,3706 00660 DPL3 DEC 432 B-14
039868,000664: 30,3707 16204 DPL5 DEC 7300 B-14
039869,000665: 30,3710 50744 DPL7 DEC -11803 B-14
039870,000666: 30,3711 20315 DPL9 DEC 8397 B-14
039871,000667:
Page 916 |
039873,000669: # LIMITSUB LIMITS THE MAGNITUDE OF THE POSITIVE OR NEGATIVE VARIABLE
039874,000670: # ARRIVING IN L TO THE POSITIVE LIMIT ARRIVING IN A.
039875,000671: # THE SIGNED LIMITED VARIABLE IS RETURNED IN A.
039876,000672:
039877,000673: # VERSION COURTESY HUGH BLAIR-SMITH
039878,000674:
039879,000675: 30,3712 54141 LIMITSUB TS TEM1
039880,000676: 30,3713 34755 CA ZERO
039881,000677: 30,3714 00006 EXTEND
039882,000678: 30,3715 10141 DV TEM1
039883,000679: 30,3716 10000 CCS A
039884,000680: 30,3717 22141 LXCH TEM1
039885,000681: 30,3720 13722 TCF +2
039886,000682: 30,3721 13724 TCF +3
039887,000683: 30,3722 30001 CA L
039888,000684: 30,3723 00002 TC Q
039889,000685: 30,3724 40141 CS TEM1
039890,000686: 30,3725 00002 TC Q
039891,000687:
039892,000688: # SUBROUTINE TO CONVERT 1'S COMP SP TO 2'S COMP
039893,000689:
039894,000690: 30,3726 10000 ONESTO2S CCS A
039895,000691: 30,3727 64753 AD ONE
039896,000692: 30,3730 00002 TC Q
039897,000693: 30,3731 40000 CS A
039898,000694: 30,3732 00002 TC Q
039899,000695:
039900,000696: # NO ATTITUDE CONTROL
039901,000697:
039902,000698: 30,3733 05600 NOATTCNT TC ALARM
039903,000699: 30,3734 00402 OCT 00402 # NO ATTITUDE CONTROL
039904,000700:
039905,000701: 30,3735 00004 +2 INHINT # COME HERE FOR NOATTCNT WITHOUT ALARM
039906,000702: 30,3736 04674 TC IBNKCALL # RELINT AT TC INTPRET AFTER TCQCDUW
039907,000703: 30,3737 40166 FCADR STOPRATE
039908,000704: 30,3740 13460 TCF TCQCDUW # RETURN TO USER SKIPPING AUTOPILOT CMDS
039909,000705:
039910,000706: # MIDDLE GIMBAL ANGLE ALARM
039911,000707:
039912,000708: 30,3741 05600 ALARMMGA TC ALARM
039913,000709: 30,3742 00401 OCT 00401
039914,000710: 30,3743 13260 TCF MGARET
039915,000711:
Page 917 |
039917,000713: # ************************************************************************
039918,000714: # CONSTANTS
039919,000715: # ************************************************************************
039920,000716:
039921,000717: # ADDRESS CONSTANTS
039922,000718:
039923,000719: 30,3744 03245 ECDUWL ECADR ECDUW
039924,000720:
039925,000721: # THRUST DIRECTION FILTER CONSTANTS
039926,000722:
039927,000723: 30,3745 06315 GAINFLTR DEC .2 # GAIN FILTER SANS CSM
039928,000724: 30,3746 03146 DEC .1 # GAIN FILTER WITH CSM
039929,000725:
039930,000726: 30,3747 00071 DUNFVLIM DEC .007 B-1 # 7 MR MAX CHG IN F DIR IN VEH IN 2 SECS.
039931,000727: # THIS DOES NOT ALLOW FOR S/C ROT RATE.
039932,000728:
039933,000729: 30,3750 02041 UNFVLIM DEC .129 B-1 # 129 MR MAX THRUST OFFSET. 105 MR TRAVEL
039934,000730: # +10MR DEFL+5MR MECH MOUNT+9MR ABLATION.
039935,000731:
039936,000732: # CONSTANTS RELATED TO GIMBAL ANGLE COMPUTATIONS
039937,000733:
039938,000734: 30,3751 01673 DOTSWFMX DEC .93302 B-4 # LIM COLNRTY OF UNWC/2 & UNFC/2 TO 85 DEG
039939,000735: # LOWER PART COMES FROM NEXT CONSTANT
039940,000736:
039941,000737: 30,3752 03434 DAXMAX DEC .11111111111 # DELATTX LIM TO 20 DEG IN 2 SECS, 1'S, PI
039942,000738: 30,3753 00266 DEC .0111111111 # 2 DEG WHEN CSM DOCKED
039943,000739:
039944,000740: 30,3754 01616 DAY/2MAX DEC .05555555555 # LIKEWISE FOR DELATTY
039945,000741: 30,3755 00133 DEC .0055555555
039946,000742:
039947,000743: 30,3756 30,3752 DAZMAX = DAXMAX # LIKEWISE FOR DELATTZ
039948,000744:
039949,000745: 30,3756 14344 CDUZDLIM DEC .3888888888 # 70 DEG LIMIT FOR MGA, 1'S, PI
039950,000746:
039951,000747: # CONSTANTS FOR DATA TRANSFER
039952,000748:
039953,000749: 30,3757 01463 DT/DELT DEC .05 # .1 SEC/2 SEC WHICH IS THE AUTOPILOT
039954,000750: # CONTROL SAMPLE PERIOD/COMPUTATION PERIOD
039955,000751:
039956,000752: 30,3760 30,3754 DELERLIM = DAY/2MAX # 10 DEG LIMIT FOR LAG ANGLES, 1'S, PI
039957,000753:
End of include-file FINDCDUW_-_GUIDAP_INTERFACE.agc. Parent file is MAIN.agc