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