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