Source Code

060539,000001: # Copyright: Public domain. 060540,000002: # Filename: P-AXIS_RCS_AUTOPILOT.agc 060541,000003: # Purpose: Part of the source code for Luminary 1A build 099. 060542,000004: # It is part of the source code for the Lunar Module's (LM) 060543,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 060544,000006: # Assembler: yaYUL 060545,000007: # Contact: Ron Burkey <info@sandroid.org>. 060546,000008: # Website: www.ibiblio.org/apollo. 060547,000009: # Pages: 1421-1441 060548,000010: # Mod history: 2009-05-27 RSB Adapted from the corresponding 060549,000011: # Luminary131 file, using page 060550,000012: # images from Luminary 1A. 060551,000013: # 2009-06-05 RSB Corrected a relative jump from 060552,000014: # +8 to +8D. 060553,000015: # 2009-06-07 RSB Corrected a typo. 060554,000016: 060555,000017: # This source code has been transcribed or otherwise adapted from 060556,000018: # digitized images of a hardcopy from the MIT Museum. The digitization 060557,000019: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 060558,000020: # the Museum. Many thanks to both. The images (with suitable reduction 060559,000021: # in storage size and consequent reduction in image quality as well) are 060560,000022: # available online at www.ibiblio.org/apollo. If for some reason you 060561,000023: # find that the images are illegible, contact me at info@sandroid.org 060562,000024: # about getting access to the (much) higher-quality images which Paul 060563,000025: # actually created. 060564,000026: 060565,000027: # Notations on the hardcopy document read, in part: 060566,000028: 060567,000029: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 060568,000030: # 16:27 JULY 14, 1969 060569,000031: 060570,000032: # Page 1421 060571,000033: 16,2213 BANK 16 060572,000034: 16,2000 SETLOC DAPS1 060573,000035: 16,2000 BANK 060574,000036: 060575,000037: 16,2213 E6,1464 EBANK= PERROR 060576,000038: 16,2213 COUNT* $$/DAPP 060577,000039: 060578,000040: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS. 060579,000041: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP. 060580,000042: 060581,000043: 16,2213 37727 PAXIS CA MS100 060582,000044: 16,2214 26030 ADS TIME5 # *** NECESSARY IN ORDER TO ALLOW 060583,000045: # SYNCHRONIZATION WITH OTHER INTERRUPTS *** 060584,000046: 060585,000047: 16,2215 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED) 060586,000048: 16,2216 00006 EXTEND 060587,000049: 16,2217 22012 QXCH QRUPT 060588,000050: 060589,000051: # CHECK IF DAP PASS IS PERMISSIBLE 060590,000052: 060591,000053: 16,2220 11757 CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS 060592,000054: 16,2221 05634 TC BAILOUT # STILL IN PROGRESS AND A RESTART IS 060593,000055: 16,2222 02000 OCT 02000 # CALLED FOR. IT IS NEVER ZERO 060594,000056: 060595,000057: 16,2223 02000 TC CHEKBITS # RETURN IS TC I+1 IF DAP SHOULD STAY ON. 060596,000058: 060597,000059: 16,2224 30032 CA CDUX # READ AND STORE CDU'S 060598,000060: 16,2225 55750 TS DAPTREG4 060599,000061: 16,2226 30033 CA CDUY 060600,000062: 16,2227 55751 TS DAPTREG5 060601,000063: 16,2230 30034 CA CDUZ 060602,000064: 16,2231 55752 TS DAPTREG6 060603,000065: 060604,000066: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE ***** 060605,000067: 060606,000068: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM 060607,000069: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION). 060608,000070: 060609,000071: 16,2232 31635 CA CDUXD 060610,000072: 16,2233 00006 EXTEND 060611,000073: 16,2234 21640 MSU DELCDUX 060612,000074: 16,2235 02256 TC 1STOTWOS 060613,000075: 16,2236 55635 TS CDUXD 060614,000076: 16,2237 31636 CA CDUYD 060615,000077: 16,2240 00006 EXTEND 060616,000078: 16,2241 21641 MSU DELCDUY 060617,000079: 16,2242 02256 TC 1STOTWOS 060618,000080: 16,2243 55636 TS CDUYD 060619,000081: 16,2244 31637 CA CDUZD 060620,000082: 16,2245 00006 EXTEND 060621,000083: 16,2246 21642 MSU DELCDUZ 060622,000084: # Page 1422 060623,000085: 16,2247 02256 TC 1STOTWOS 060624,000086: 16,2250 55637 TS CDUZD 060625,000087: 16,2251 00006 EXTEND # DIMINISH MANUAL CONTROL DIRECT RATE 060626,000088: 16,2252 27445 DIM TCP # TIME COUNTERS. 060627,000089: 16,2253 00006 EXTEND 060628,000090: 16,2254 27457 DIM TCQR 060629,000091: 060630,000092: # RATFLOOP COMPUTES JETRATEQ, JRATER, AND 1JACC*NO. PJEETS IN ITEMP1. 060631,000093: # RETURNS TO BACKP. 060632,000094: 060633,000095: # JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP) 060634,000096: # JETRATEQ = 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS) 060635,000097: # JETRATER = 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS) 060636,000098: 060637,000099: 16,2255 12647 TCF PAXFILT # PROCEEDS TO RATELOOP AFTER SUPERJOB 060638,000100: 16,2256 10000 1STOTWOS CCS A 060639,000101: 16,2257 64753 AD ONE 060640,000102: 16,2260 00002 TC Q 060641,000103: 16,2261 40000 CS A 060642,000104: 16,2262 00002 TC Q 060643,000105: 16,2263 00006 SUBDIVDE EXTEND # OVERFLOW PROTECTION ROUTINE TO GIVE 060644,000106: 16,2264 71741 MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD 060645,000107: 16,2265 21427 DAS OMEGAU # OVERFLOW 060646,000108: 060647,000109: 16,2266 00006 +3 EXTEND 060648,000110: 16,2267 31427 DCA OMEGAU 060649,000111: 16,2270 53744 DXCH DAPTEMP5 060650,000112: 16,2271 11426 CCS OMEGAU 060651,000113: 16,2272 12274 TCF +2 060652,000114: 16,2273 12304 TCF DIVIDER 060653,000115: 16,2274 62315 AD -OCT630 060654,000116: 16,2275 00006 EXTEND 060655,000117: 16,2276 62304 BZMF DIVIDER 060656,000118: 060657,000119: 16,2277 11426 CCS OMEGAU 060658,000120: 16,2300 34733 CA POSMAX # 45 DEG/SEC 060659,000121: 16,2301 00002 TC Q 060660,000122: 16,2302 44733 CS POSMAX 060661,000123: 16,2303 00002 TC Q 060662,000124: 060663,000125: 16,2304 53427 DIVIDER DXCH OMEGAU 060664,000126: 16,2305 00006 EXTEND 060665,000127: 16,2306 11750 DV DAPTREG4 060666,000128: 16,2307 00002 TC Q 060667,000129: 060668,000130: 16,2310 54007 OVERSUB TS 7 # RETURNS A UNCHANGED OR LIMITED TO 060669,000131: 16,2311 00002 TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW 060670,000132: 16,2312 50000 INDEX A 060671,000133: 16,2313 44734 CS BIT15 -1 060672,000134: # Page 1423 060673,000135: 16,2314 00002 TC Q 060674,000136: 060675,000137: 16,2315 77147 -OCT630 OCT 77147 060676,000138: 060677,000139: 16,2316 31737 BACKP CA DAPTEMP1 060678,000140: 16,2317 00006 EXTEND 060679,000141: 16,2320 71530 MP 1JACC 060680,000142: 16,2321 55745 TS JETRATE 060681,000143: 060682,000144: # BEGINNING OF THE RATE DERIVATION 060683,000145: # OMEGAP,Q,R BODY RATES SCALED AT PI/4 060684,000146: # TRAPEDP,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40) 060685,000147: # NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED 060686,000148: # AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELERATION. (PI/4) 060687,000149: # JETRATE,Q,R CHANGE IN RATE DUE TO JET ACCELERATION. (PI/4) 060688,000150: # TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAPEDP, ETC. 060689,000151: # OMEGAU DP-TEMPORARY STORAGE 060690,000152: # OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG) 060691,000153: 060692,000154: 16,2322 31750 CAE DAPTREG4 # CDUX IS STORED HERE 060693,000155: 16,2323 54001 TS L 060694,000156: 16,2324 00006 EXTEND 060695,000157: 16,2325 21440 MSU OLDXFORP # SCALED AT PI 060696,000158: 16,2326 23440 LXCH OLDXFORP 060697,000159: 16,2327 55737 TS DAPTEMP1 060698,000160: 16,2330 33620 CA 1/40 060699,000161: 16,2331 55750 TS DAPTREG4 060700,000162: 16,2332 41745 CS JETRATE 060701,000163: 16,2333 00006 EXTEND 060702,000164: 16,2334 74736 MP BIT14 060703,000165: 16,2335 27430 ADS TRAPEDP 060704,000166: 16,2336 31746 CA JETRATEQ 060705,000167: 16,2337 61545 AD AOSQTERM 060706,000168: 16,2340 00006 EXTEND 060707,000169: 16,2341 77736 MP -BIT14 060708,000170: 16,2342 27431 ADS TRAPEDQ 060709,000171: 16,2343 31747 CA JETRATER 060710,000172: 16,2344 61546 AD AOSRTERM 060711,000173: 16,2345 00006 EXTEND 060712,000174: 16,2346 77736 MP -BIT14 060713,000175: 16,2347 27432 ADS TRAPEDR 060714,000176: 060715,000177: 16,2350 31751 CA DAPTREG5 # CDUY IS STORED HERE 060716,000178: 16,2351 54001 TS L 060717,000179: 16,2352 00006 EXTEND 060718,000180: 16,2353 21441 MSU OLDYFORP # SCALED AT PI 060719,000181: 16,2354 23441 LXCH OLDYFORP 060720,000182: 16,2355 55740 TS DAPTEMP2 060721,000183: 16,2356 00006 EXTEND 060722,000184: 16,2357 71414 MP M11 # M11 SCALED AT 1 060723,000185: # Page 1424 060724,000186: 16,2360 61737 AD DAPTEMP1 060725,000187: 16,2361 53427 DXCH OMEGAU 060726,000188: 060727,000189: 16,2362 02266 TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4 060728,000190: 060729,000191: 16,2363 00006 EXTEND 060730,000192: 16,2364 61421 SU OMEGAP 060731,000193: 16,2365 27430 ADS TRAPEDP 060732,000194: 16,2366 02310 TC OVERSUB 060733,000195: 16,2367 55430 TS TRAPEDP 060734,000196: 16,2370 00006 EXTEND 060735,000197: 16,2371 31744 DCA DAPTEMP5 060736,000198: 16,2372 21447 DAS DXERROR 060737,000199: 16,2373 41454 CS PLAST 060738,000200: 16,2374 00006 EXTEND 060739,000201: 16,2375 73620 MP 1/40 060740,000202: 16,2376 21447 DAS DXERROR # MANUAL MODE X-ATTITUDE ERROR (DP) 060741,000203: 16,2377 31752 CA DAPTREG6 # CDUZ IS STORED HERE 060742,000204: 16,2400 54001 TS L 060743,000205: 16,2401 00006 EXTEND 060744,000206: 16,2402 21442 MSU OLDZFORQ 060745,000207: 16,2403 55741 TS DAPTEMP3 060746,000208: 16,2404 23442 LXCH OLDZFORQ 060747,000209: 16,2405 31415 CA M21 060748,000210: 16,2406 00006 EXTEND 060749,000211: 16,2407 71740 MP DAPTEMP2 060750,000212: 16,2410 53427 DXCH OMEGAU 060751,000213: 16,2411 31417 CA M22 060752,000214: 16,2412 02263 TC SUBDIVDE 060753,000215: 060754,000216: 16,2413 00006 EXTEND 060755,000217: 16,2414 61422 SU OMEGAQ 060756,000218: 16,2415 27431 ADS TRAPEDQ 060757,000219: 16,2416 02310 TC OVERSUB 060758,000220: 16,2417 55431 TS TRAPEDQ 060759,000221: 16,2420 00006 EXTEND 060760,000222: 16,2421 31744 DCA DAPTEMP5 060761,000223: 16,2422 21451 DAS DYERROR 060762,000224: 16,2423 41455 CS QLAST 060763,000225: 16,2424 00006 EXTEND 060764,000226: 16,2425 73620 MP 1/40 060765,000227: 16,2426 21451 DAS DYERROR # MANUAL MODE Y-ATTITUDE ERROR (DP) 060766,000228: 16,2427 31416 CA M31 060767,000229: 16,2430 00006 EXTEND 060768,000230: 16,2431 71740 MP DAPTEMP2 060769,000231: 16,2432 53427 DXCH OMEGAU 060770,000232: 16,2433 31420 CA M32 060771,000233: 060772,000234: 16,2434 02263 TC SUBDIVDE 060773,000235: # Page 1425 060774,000236: 16,2435 00006 EXTEND 060775,000237: 16,2436 61423 SU OMEGAR 060776,000238: 16,2437 27432 ADS TRAPEDR 060777,000239: 16,2440 02310 TC OVERSUB 060778,000240: 16,2441 55432 TS TRAPEDR # TRAPEDS HAVE ALL BEEN COMPUTED 060779,000241: 060780,000242: 16,2442 00006 EXTEND 060781,000243: 16,2443 31744 DCA DAPTEMP5 060782,000244: 16,2444 21453 DAS DZERROR 060783,000245: 16,2445 41456 CS RLAST 060784,000246: 16,2446 00006 EXTEND 060785,000247: 16,2447 73620 MP 1/40 060786,000248: 16,2450 21453 DAS DZERROR # MANUAL MODE Z-ATTITUDE ERROR (DP) 060787,000249: 16,2451 30111 CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS 060788,000250: 16,2452 74737 MASK CSMDOCKD 060789,000251: 16,2453 00006 EXTEND 060790,000252: 16,2454 12462 BZF LMONLY 060791,000253: 16,2455 00006 EXTEND # DOCKED 060792,000254: 16,2456 31405 DCA DKOMEGAN 060793,000255: 16,2457 53751 DXCH DAPTREG4 060794,000256: 16,2460 31403 CA DKTRAP 060795,000257: 16,2461 12466 TCF +5 060796,000258: 16,2462 00006 LMONLY EXTEND # UNDOCKED 060797,000259: 16,2463 31410 DCA LMOMEGAN 060798,000260: 16,2464 53751 DXCH DAPTREG4 060799,000261: 16,2465 31406 CA LMTRAP 060800,000262: 16,2466 55752 +5 TS DAPTREG6 060801,000263: 16,2467 11430 CCS TRAPEDP 060802,000264: 16,2470 12472 TCF +2 060803,000265: 16,2471 12507 TCF SMALPDIF 060804,000266: 16,2472 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 060805,000267: 16,2473 00006 EXTEND 060806,000268: 16,2474 62507 BZMF SMALPDIF 060807,000269: 16,2475 22007 ZL 060808,000270: 16,2476 23430 LXCH TRAPEDP 060809,000271: 16,2477 34755 CA ZERO 060810,000272: 16,2500 00006 EXTEND 060811,000273: 16,2501 11433 DV NPTRAPS 060812,000274: 16,2502 27421 ADS OMEGAP 060813,000275: 16,2503 02310 TC OVERSUB 060814,000276: 16,2504 55421 TS OMEGAP 060815,000277: 16,2505 31750 CA DAPTREG4 ABOUT 10 060816,000278: 16,2506 55433 TS NPTRAPS 060817,000279: 16,2507 25433 SMALPDIF INCR NPTRAPS 060818,000280: 16,2510 31745 P-RATE CA JETRATE 060819,000281: 16,2511 27421 ADS OMEGAP 060820,000282: 16,2512 02310 TC OVERSUB 060821,000283: 16,2513 55421 TS OMEGAP 060822,000284: 060823,000285: 16,2514 11431 CCS TRAPEDQ 060824,000286: # Page 1426 060825,000287: 16,2515 12517 TCF +2 060826,000288: 16,2516 12544 TCF Q-RATE 060827,000289: 16,2517 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 060828,000290: 16,2520 00006 EXTEND 060829,000291: 16,2521 62544 BZMF Q-RATE 060830,000292: 16,2522 22007 ZL 060831,000293: 16,2523 23431 LXCH TRAPEDQ 060832,000294: 16,2524 34755 CA ZERO 060833,000295: 16,2525 00006 EXTEND 060834,000296: 16,2526 11434 DV NQTRAPS 060835,000297: 16,2527 55737 TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE 060836,000298: 16,2530 27422 ADS OMEGAQ 060837,000299: 16,2531 02310 TC OVERSUB 060838,000300: 16,2532 55422 TS OMEGAQ 060839,000301: 16,2533 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 060840,000302: 16,2534 57434 XCH NQTRAPS 060841,000303: 16,2535 61751 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60" 060842,000304: 16,2536 57737 XCH DAPTEMP1 060843,000305: 16,2537 00006 EXTEND 060844,000306: 16,2540 74756 MP FIVE 060845,000307: 16,2541 00006 EXTEND 060846,000308: 16,2542 11737 DV DAPTEMP1 060847,000309: 16,2543 27537 ADS AOSQ 060848,000310: 16,2544 25434 Q-RATE INCR NQTRAPS 060849,000311: 16,2545 31746 CA JETRATEQ 060850,000312: 16,2546 61545 AD AOSQTERM 060851,000313: 16,2547 27422 ADS OMEGAQ 060852,000314: 16,2550 02310 TC OVERSUB 060853,000315: 16,2551 55422 TS OMEGAQ 060854,000316: 060855,000317: 16,2552 11432 CCS TRAPEDR 060856,000318: 16,2553 12555 TCF +2 060857,000319: 16,2554 12602 TCF R-RATE 060858,000320: 16,2555 61752 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 060859,000321: 16,2556 00006 EXTEND 060860,000322: 16,2557 62602 BZMF R-RATE 060861,000323: 16,2560 22007 ZL 060862,000324: 16,2561 23432 LXCH TRAPEDR 060863,000325: 16,2562 34755 CA ZERO 060864,000326: 16,2563 00006 EXTEND 060865,000327: 16,2564 11435 DV NRTRAPS 060866,000328: 16,2565 55740 TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE 060867,000329: 16,2566 27423 ADS OMEGAR 060868,000330: 16,2567 02310 TC OVERSUB 060869,000331: 16,2570 55423 TS OMEGAR 060870,000332: 16,2571 31750 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 060871,000333: 16,2572 57435 XCH NRTRAPS 060872,000334: 16,2573 61751 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60" 060873,000335: 16,2574 57740 XCH DAPTEMP2 060874,000336: 16,2575 00006 EXTEND 060875,000337: # Page 1427 060876,000338: 16,2576 74756 MP FIVE 060877,000339: 16,2577 00006 EXTEND 060878,000340: 16,2600 11740 DV DAPTEMP2 060879,000341: 16,2601 27541 ADS AOSR 060880,000342: 16,2602 25435 R-RATE INCR NRTRAPS 060881,000343: 16,2603 31747 CA JETRATER 060882,000344: 16,2604 61546 AD AOSRTERM 060883,000345: 16,2605 27423 ADS OMEGAR 060884,000346: 16,2606 02310 TC OVERSUB 060885,000347: 16,2607 55423 TS OMEGAR 060886,000348: 060887,000349: # END OF RATE DERIVATION 060888,000350: # BEGIN OFFSET ESTIMATER 060889,000351: # IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS. 060890,000352: # AOS = AOS + K*SUMRATE 060891,000353: 060892,000354: 16,2610 40111 CS DAPBOOLS 060893,000355: 16,2611 74744 MASK DRIFTBIT 060894,000356: 16,2612 10000 CCS A 060895,000357: 16,2613 12624 TCF WORKTIME 060896,000358: 16,2614 55424 TS ALPHAQ # ZERO THE OFFSET ACCELERATION VALUES. 060897,000359: 16,2615 55425 TS ALPHAR 060898,000360: 16,2616 55545 TS AOSQTERM 060899,000361: 16,2617 55546 TS AOSRTERM 060900,000362: 16,2620 55537 TS AOSQ 060901,000363: 16,2621 55541 TS AOSR 060902,000364: 16,2622 12667 TCF PRETIMCK 060903,000365: 16,2623 00074 KAOS DEC 60 B-14 060904,000366: 16,2624 31510 WORKTIME CA QACCDOT 060905,000367: 16,2625 00006 EXTEND 060906,000368: 16,2626 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6). 060907,000369: 16,2627 21540 DAS AOSQ 060908,000370: 16,2630 31537 CA AOSQ 060909,000371: 16,2631 55424 TS ALPHAQ 060910,000372: 16,2632 00006 EXTEND 060911,000373: 16,2633 73616 MP 200MS # .2 AT 1 060912,000374: 16,2634 55545 TS AOSQTERM 060913,000375: 16,2635 31512 CA RACCDOT 060914,000376: 16,2636 00006 EXTEND 060915,000377: 16,2637 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6). 060916,000378: 16,2640 21542 DAS AOSR 060917,000379: 16,2641 31541 CA AOSR 060918,000380: 16,2642 55425 TS ALPHAR 060919,000381: 16,2643 00006 EXTEND 060920,000382: 16,2644 73616 MP 200MS # .2 AT 1 060921,000383: 16,2645 55546 TS AOSRTERM 060922,000384: 16,2646 12667 TCF PRETIMCK 060923,000385: 060924,000386: # Page 1428 060925,000387: 16,2647 34747 PAXFILT CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED. 060926,000388: 16,2650 71273 MASK RCSFLAGS 060927,000389: 16,2651 10000 CCS A # CALLGMBL IS NOT BIT15, SO THIS TEST IS 060928,000390: 16,2652 03736 TC ACDT+C12 # VALID. 060929,000391: 060930,000392: 16,2653 52011 DXCH ARUPT 060931,000393: 16,2654 53754 DXCH DAPARUPT 060932,000394: 16,2655 32666 CA SUPERJOB # SETTING UP THE SUPERJOB 060933,000395: 16,2656 56017 XCH BRUPT 060934,000396: 16,2657 22012 LXCH QRUPT 060935,000397: 16,2660 53756 DXCH DAPBQRPT 060936,000398: 16,2661 32665 CA SUPERADR 060937,000399: 16,2662 52016 DXCH ZRUPT 060938,000400: 16,2663 53760 DXCH DAPZRUPT 060939,000401: 16,2664 15275 TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE 060940,000402: # FORM OF A JASK, AT SUPERJOB. 060941,000403: 060942,000404: 16,2665 02667 SUPERADR GENADR SUPERJOB +1 060943,000405: 060944,000406: # COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED. 060945,000407: 060946,000408: 16,2666 13641 SUPERJOB TCF RATELOOP 060947,000409: 16,2667 11632 PRETIMCK CCS QGIMTIMR 060948,000410: 16,2670 12710 TCF DECQTIMR # POSITIVE -- COUNTING DOWN 060949,000411: 16,2671 12714 TCF TURNOFFQ # NEGATIVE -- DRIVE SHOULD BE ENDED 060950,000412: 16,2672 11634 CHKRTIMR CCS RGIMTIMR # NEGATIVE -- INACTIVE 060951,000413: 16,2673 12712 TCF DECRTIMR # (NEG ZERO -- IMPOSSIBLE) 060952,000414: 16,2674 12724 TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS. 060953,000415: 060954,000416: 16,2675 00006 EXTEND # DECREMENT DOCKED JET INHIBITION COUNTERS 060955,000417: 16,2676 27767 DIM PJETCTR 060956,000418: 16,2677 00006 EXTEND 060957,000419: 16,2700 27770 DIM UJETCTR 060958,000420: 16,2701 00006 EXTEND 060959,000421: 16,2702 27771 DIM VJETCTR 060960,000422: 16,2703 34740 CA BIT12 060961,000423: 16,2704 71273 MASK RCSFLAGS 060962,000424: 16,2705 00006 EXTEND 060963,000425: 16,2706 12734 BZF SKIPPAXS 060964,000426: 16,2707 02740 TC CHKVISFZ 060965,000427: 16,2710 55632 DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO. 060966,000428: 16,2711 12672 TCF CHKRTIMR 060967,000429: 16,2712 55634 DECRTIMR TS RGIMTIMR 060968,000430: 16,2713 12675 TCF CHKRTIMR +3 060969,000431: 060970,000432: 16,2714 55501 TURNOFFQ TS NEGUQ # HALT DRIVES. 060971,000433: 16,2715 55510 TS QACCDOT 060972,000434: 16,2716 45007 CS QGIMBITS 060973,000435: 16,2717 00006 EXTEND 060974,000436: # Page 1429 060975,000437: 16,2720 03012 WAND CHAN12 060976,000438: 16,2721 34735 CAF NEGMAX 060977,000439: 16,2722 55632 TS QGIMTIMR 060978,000440: 16,2723 12672 TCF CHKRTIMR 060979,000441: 16,2724 55503 TURNOFFR TS NEGUR 060980,000442: 16,2725 55512 TS RACCDOT 060981,000443: 16,2726 45020 CS RGIMBITS 060982,000444: 16,2727 00006 EXTEND 060983,000445: 16,2730 03012 WAND CHAN12 060984,000446: 16,2731 34735 CAF NEGMAX 060985,000447: 16,2732 55634 TS RGIMTIMR 060986,000448: 16,2733 12675 TCF CHKRTIMR +3 060987,000449: 16,2734 5007 QGIMBITS EQUALS OCT1400 # BITS 9 AND 10 (OF CHANNEL 12). 060988,000450: 16,2734 5020 RGIMBITS EQUALS PRIO6 # BITS 11 AND 12 (OF CHANNEL 12). 060989,000451: 060990,000452: 16,2734 41273 SKIPPAXS CS RCSFLAGS 060991,000453: 16,2735 74740 MASK BIT12 060992,000454: 16,2736 27273 ADS RCSFLAGS # BIT 12 SET TO 1. 060993,000455: 16,2737 13624 TCF QRAXIS # GO TO QRAXIS OR TO CTS. 060994,000456: 060995,000457: # Y-X TRANSLATION 060996,000458: 060997,000459: # INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLLER) 060998,000460: 060999,000461: # OUTPUT: NEXTP 061000,000462: 061001,000463: # NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION. 061002,000464: # IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN 061003,000465: # (1) FOR DIAGONAL TRANS: UNFAILED PAIR 061004,000466: # ALARM (IF NO PAIR) 061005,000467: # (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS 061006,000468: # ALARM (IF DIAGONAL PAIRS ARE FAILED) 061007,000469: 061008,000470: 16,2740 00006 CHKVISFZ EXTEND 061009,000471: 16,2741 00031 READ CHAN31 061010,000472: 16,2742 40000 CS A 061011,000473: 16,2743 73613 MASK 07400OCT 061012,000474: 16,2744 00006 EXTEND 061013,000475: 16,2745 13014 BZF TSNEXTP 061014,000476: 16,2746 00006 EXTEND 061015,000477: 16,2747 74745 MP BIT7 061016,000478: 16,2750 50000 INDEX A 061017,000479: 16,2751 33572 CA INDXYZ 061018,000480: 16,2752 55744 TS ROTINDEX 061019,000481: 16,2753 36242 TRYUORV CA SIX 061020,000482: 16,2754 03551 TC SELECTYZ 061021,000483: 16,2755 46242 CS SIX 061022,000484: 16,2756 61743 AD NUMBERT 061023,000485: 16,2757 00006 EXTEND 061024,000486: # Page 1430 061025,000487: 16,2760 13013 BZF TSNEXTP -1 061026,000488: 16,2761 44756 CS FIVE 061027,000489: 16,2762 61744 AD ROTINDEX 061028,000490: 16,2763 00006 EXTEND 061029,000491: 16,2764 63002 BZMF ALTERYZ 061030,000492: 16,2765 41743 CS NUMBERT 061031,000493: 16,2766 64751 AD FOUR 061032,000494: 16,2767 00006 EXTEND 061033,000495: 16,2770 63013 BZMF TSNEXTP -1 061034,000496: 16,2771 05567 ABORTYZ TC ALARM 061035,000497: 16,2772 02001 OCT 02001 061036,000498: 16,2773 34753 CA BIT1 # INVERT BIT 1 OF RCSFLAGS. 061037,000499: 16,2774 23273 LXCH RCSFLAGS 061038,000500: 16,2775 00006 EXTEND 061039,000501: 16,2776 06001 RXOR 1 061040,000502: 16,2777 55273 TS RCSFLAGS 061041,000503: 16,3000 34755 CA ZERO 061042,000504: 16,3001 13014 TCF TSNEXTP 061043,000505: 16,3002 34753 ALTERYZ CA BIT1 # INVERT BIT 1 OF RCSFLAGS. 061044,000506: 16,3003 23273 LXCH RCSFLAGS 061045,000507: 16,3004 00006 EXTEND 061046,000508: 16,3005 06001 RXOR 1 061047,000509: 16,3006 55273 TS RCSFLAGS 061048,000510: 16,3007 74753 MASK BIT1 061049,000511: 16,3010 64751 AD FOUR 061050,000512: 16,3011 27744 ADS ROTINDEX 061051,000513: 16,3012 12753 TCF TRYUORV 061052,000514: 16,3013 31741 CA POLYTEMP 061053,000515: 16,3014 55472 TSNEXTP TS NEXTP 061054,000516: 061055,000517: # STATE LOGIC 061056,000518: # CHECK IN ORDER: IF ON 061057,000519: # LPDPHASE GO TO PURGENCY 061058,000520: # PULSES MINIMUM PULSE LOTIC 061059,000521: # DETENT(BIT15 CH31) RATE COMMAND 061060,000522: # GOTO TO PURGENCY 061061,000523: 061062,000524: 16,3015 34737 CA BIT13 # CHECK STICK IF IN ATT. HOLD. 061063,000525: 16,3016 00006 EXTEND 061064,000526: 16,3017 02031 RAND CHAN31 061065,000527: 16,3020 00006 EXTEND 061066,000528: 16,3021 13027 BZF MANMODE 061067,000529: 061068,000530: 16,3022 30111 CA DAPBOOLS 061069,000531: 16,3023 74743 MASK XOVINHIB 061070,000532: 16,3024 10000 CCS A 061071,000533: 16,3025 13463 TCF PURGENCY # ATTITUDE STEER DURING VISIBILITY PHASE 061072,000534: 061073,000535: 16,3026 13071 TCF DETENTCK 061074,000536: 16,3027 34735 MANMODE CA PULSES # PULSES IS ONE FOR PULSE MODE 061075,000537: 16,3030 70111 MASK DAPBOOLS 061076,000538: # Page 1431 061077,000539: 16,3031 00006 EXTEND 061078,000540: 16,3032 13071 BZF DETENTCK # BRANCH FOR RATE COMMAND 061079,000541: 061080,000542: 16,3033 34755 CA ZERO 061081,000543: 16,3034 55464 TS PERROR 061082,000544: 061083,000545: # MINIMUM IMPULSE MODE 061084,000546: 061085,000547: 16,3035 30032 CA CDUX 061086,000548: 16,3036 55635 TS CDUXD 061087,000549: 061088,000550: 16,3037 11460 CCS OLDPMIN 061089,000551: 16,3040 13054 TCF CHECKP 061090,000552: 061091,000553: 16,3041 34751 FIREP CA BIT3 061092,000554: 16,3042 00006 EXTEND 061093,000555: 16,3043 02031 RAND CHAN31 061094,000556: 16,3044 00006 EXTEND 061095,000557: 16,3045 13064 BZF +XMIN 061096,000558: 061097,000559: 16,3046 34750 CA BIT4 061098,000560: 16,3047 00006 EXTEND 061099,000561: 16,3050 02031 RAND CHAN31 061100,000562: 16,3051 00006 EXTEND 061101,000563: 16,3052 13062 BZF -XMIN 061102,000564: 061103,000565: 16,3053 13442 TCF JETSOFF 061104,000566: 061105,000567: 16,3054 00006 CHECKP EXTEND 061106,000568: 16,3055 00031 READ CHAN31 061107,000569: 16,3056 40000 CS A 061108,000570: 16,3057 75751 MASK OCT14 061109,000571: 16,3060 55460 TS OLDPMIN 061110,000572: 16,3061 13442 TCF JETSOFF 061111,000573: 061112,000574: 16,3062 44363 -XMIN CS TEN # ANYTHING LESS THAN 14MS. CORRECTED 061113,000575: 16,3063 13065 TCF +2 # IN JET SELECTION ROUTINE 061114,000576: 16,3064 34363 +XMIN CA TEN 061115,000577: 16,3065 55524 TS TJP 061116,000578: 16,3066 34753 CA ONE 061117,000579: 16,3067 55460 TS OLDPMIN 061118,000580: 16,3070 13350 TCF PJETSLEC -6 061119,000581: 061120,000582: # MANUAL RATE COMMAND MODE 061121,000583: # ======================== 061122,000584: # BY ROBERT F. STENGEL 061123,000585: 061124,000586: # THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS: 1) DIRECT RATE AND 2) PSEUDO-AUTO. 061125,000587: # THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT. THE PSEUDO-AUTO MODE PROVIDES PRECISE 061126,000588: # RATE CONTROL AND ATTITUDE HOLD. 061127,000589: 061128,000590: # Page 1432 061129,000591: # IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE. 061130,000592: # THE `BREAKOUT LEVEL' IS .6 D/S FOR LM-ONLY AND .3 D/S FOR CSM-DOCKED. THIS LAW NULLS THE RATE ERROR TO WITHIN 061131,000593: # THE `TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL. 061132,000594: 061133,000595: # IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL. 061134,000596: # CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC. 061135,000597: # IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY. 061136,000598: 061137,000599: # SINCE P-AXIS CONTROL IS SEPARATE FROM Q,R AXES CONTROL, IT IS POSSIBLE TO USE (1) IN P-AXIS AND (2) IN Q,R AXES, 061138,000600: # OR VICE VERSA. THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES. DUE TO U,V CONTROL, HOWEVER, Q AND 061139,000601: # R AXES ARE COUPLED AND MUST USE THE SAME CONTROL LAW. 061140,000602: 061141,000603: # HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW. FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20 061142,000604: # AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION 061143,000605: # OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE. NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED 061144,000606: # CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES. SCALING IS DETERMINED IN ROUTINE 3. 061145,000607: 061146,000608: # ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME 061147,000609: # JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT) 061148,000610: 061149,000611: 16,3071 00006 DETENTCK EXTEND 061150,000612: 16,3072 00031 READ CHAN31 061151,000613: 16,3073 55443 TS CH31TEMP 061152,000614: 16,3074 74735 MASK BIT15 # CHECK OUT-OF-DETENT BIT. 061153,000615: 16,3075 00006 EXTEND 061154,000616: 16,3076 13223 BZF RHCMOVED # BRANCH IF OUT OF DETENT. 061155,000617: 16,3077 34740 CAF OURRCBIT # IN DETENT. CHECK THE RATE COMMAND BIT. 061156,000618: 16,3100 70111 MASK DAPBOOLS 061157,000619: 16,3101 00006 EXTEND 061158,000620: 16,3102 13463 BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS. 061159,000621: 061160,000622: # ................................................................................ 061161,000623: 061162,000624: 16,3103 34743 CA BIT9 # JUST IN DETENT?? 061163,000625: 16,3104 71273 MASK RCSFLAGS 061164,000626: 16,3105 00006 EXTEND 061165,000627: 16,3106 13120 BZF RUTH 061166,000628: 16,3107 34737 CAF BIT13 # CHECK FOR ATTITUDE HOLD. 061167,000629: 16,3110 00006 EXTEND 061168,000630: 16,3111 02031 RAND CHAN31 061169,000631: 16,3112 00006 EXTEND 061170,000632: 16,3113 13220 BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD. 061171,000633: 061172,000634: 16,3114 45014 CS BITS9,11 # IN AUTO. 061173,000635: 16,3115 71273 MASK RCSFLAGS # (X-AXIS OVERRIDE) 061174,000636: 16,3116 55273 TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9). 061175,000637: 16,3117 13220 TCF RATEDAMP 061176,000638: 061177,000639: 16,3120 31273 RUTH CA RCSFLAGS 061178,000640: 16,3121 74742 MASK PBIT # IN ATTITUDE HOLD. 061179,000641: 16,3122 00006 EXTEND 061180,000642: 16,3123 13125 BZF +2 # BRANCH IF P-RATE DAMPING IS FINISHED. 061181,000643: 16,3124 13220 TCF RATEDAMP 061182,000644: 061183,000645: # Page 1433 061184,000646: 16,3125 31273 CA RCSFLAGS 061185,000647: 16,3126 74741 MASK QRBIT 061186,000648: 16,3127 00006 EXTEND 061187,000649: 16,3130 13136 BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED. 061188,000650: 16,3131 13220 TCF RATEDAMP 061189,000651: 061190,000652: # ============================================ 061191,000653: 061192,000654: 16,3132 00001 1/10SEC OCT 1 061193,000655: 16,3133 00050 40CYC OCT 50 061194,000656: 16,3134 74777 PQRBIT OCT 74777 061195,000657: 16,3135 5014 BITS9,11 EQUALS EBANK5 061196,000658: 16,3135 00056 LINRATP DEC 46 B-14 061197,000659: 061198,000660: # ============================================ 061199,000661: 061200,000662: 16,3136 44740 RATEDONE CS OURRCBIT # MANUAL COMMAND AND DAMPING COMPLETED IN 061201,000663: 16,3137 00004 INHINT # ALL AXES. 061202,000664: 16,3140 70111 MASK DAPBOOLS 061203,000665: 16,3141 54111 TS DAPBOOLS 061204,000666: 061205,000667: # READ CDUS INTO CDU DESIRED REGISTERS 061206,000668: 061207,000669: 16,3142 34737 CAF BIT13 061208,000670: 16,3143 00006 EXTEND 061209,000671: 16,3144 02031 RAND CHAN31 061210,000672: 16,3145 00006 EXTEND 061211,000673: 16,3146 13152 BZF +4 061212,000674: 16,3147 30032 CA CDUX # (X-AXIS OVERRIDE) 061213,000675: 16,3150 55635 TS CDUXD 061214,000676: 16,3151 03154 TC +3 061215,000677: 16,3152 04674 TC IBNKCALL 061216,000678: 16,3153 40153 FCADR ZATTEROR 061217,000679: 16,3154 00003 RELINT 061218,000680: 16,3155 13463 TCF PURGENCY 061219,000681: 061220,000682: 16,3156 55464 TS PERROR 061221,000683: 16,3157 34740 JUSTOUT CA OURRCBIT # INITIALIZATION -- FIRST MANUAL PASS. 061222,000684: 16,3160 26111 ADS DAPBOOLS 061223,000685: 16,3161 34755 CA ZERO 061224,000686: 16,3162 55446 TS DXERROR 061225,000687: 16,3163 55447 TS DXERROR +1 061226,000688: 16,3164 55450 TS DYERROR 061227,000689: 16,3165 55451 TS DYERROR +1 061228,000690: 16,3166 55452 TS DZERROR 061229,000691: 16,3167 55453 TS DZERROR +1 061230,000692: 16,3170 55454 TS PLAST 061231,000693: 16,3171 55455 TS QLAST 061232,000694: 16,3172 55456 TS RLAST 061233,000695: 16,3173 54042 TS Q-RHCCTR 061234,000696: 16,3174 54044 TS R-RHCCTR 061235,000697: 16,3175 33134 CA PQRBIT 061236,000698: 16,3176 71273 MASK RCSFLAGS 061237,000699: 16,3177 55273 TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0. 061238,000700: # Page 1434 061239,000701: 16,3200 41273 CS RCSFLAGS # SET 'JUST-IN' BIT TO 1. 061240,000702: 16,3201 74743 MASK BIT9 061241,000703: 16,3202 27273 ADS RCSFLAGS 061242,000704: 16,3203 03205 TC ZEROENBL 061243,000705: 16,3204 13442 TCF JETSOFF 061244,000706: 16,3205 22044 ZEROENBL LXCH R-RHCCTR 061245,000707: 16,3206 30042 CA Q-RHCCTR 061246,000708: 16,3207 53463 DXCH SAVEHAND 061247,000709: 16,3210 34755 CA ZERO 061248,000710: 16,3211 54043 TS P-RHCCTR 061249,000711: 16,3212 54042 TS Q-RHCCTR 061250,000712: 16,3213 54044 TS R-RHCCTR 061251,000713: 16,3214 33617 CA BITS8,9 061252,000714: 16,3215 00006 EXTEND 061253,000715: 16,3216 05013 WOR CHAN13 # COUNTERS ZEROED AND ENABLED 061254,000716: 16,3217 00002 TC Q 061255,000717: 16,3220 34755 RATEDAMP CA ZERO 061256,000718: 16,3221 54043 TS P-RHCCTR 061257,000719: 16,3222 13227 TCF RATERROR 061258,000720: 061259,000721: 16,3223 34740 RHCMOVED CA OURRCBIT # P CONTROL 061260,000722: 16,3224 70111 MASK DAPBOOLS 061261,000723: 16,3225 00006 EXTEND 061262,000724: 16,3226 13156 BZF JUSTOUT -1 061263,000725: 16,3227 30032 RATERROR CA CDUX # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING 061264,000726: 16,3230 55635 TS CDUXD # X-AXIS OVERRIDE 061265,000727: 16,3231 10043 CCS P-RHCCTR 061266,000728: 16,3232 13235 TCF +3 061267,000729: 16,3233 13235 TCF +2 061268,000730: 16,3234 13235 TCF +1 061269,000731: 16,3235 60000 DOUBLE # LINEAR/QUADRATIC CONTROLLER SCALING 061270,000732: 16,3236 60000 DOUBLE # (SEE EXPLANATION OF Q,R-AXES RCS 061271,000733: 16,3237 63135 AD LINRATP # AUTOPILOT) 061272,000734: 16,3240 00006 EXTEND 061273,000735: 16,3241 70043 MP P-RHCCTR 061274,000736: 16,3242 30001 CA L 061275,000737: 16,3243 00006 EXTEND 061276,000738: 16,3244 71444 MP STIKSENS 061277,000739: 16,3245 57454 XCH PLAST 061278,000740: 16,3246 40000 COM 061279,000741: 16,3247 61454 AD PLAST 061280,000742: 16,3250 55737 TS DAPTEMP1 061281,000743: 16,3251 03205 TC ZEROENBL # INTERVAL. ZERO AND ENABLE ACA COUNTERS. 061282,000744: 16,3252 41454 CS PLAST 061283,000745: 16,3253 61421 AD OMEGAP 061284,000746: 16,3254 55427 TS EDOTP 061285,000747: 16,3255 11737 CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT 061286,000748: 16,3256 13261 TCF +3 # LEVEL, GO TO DIRECT RATE CONTROL. IF NOT 061287,000749: 16,3257 13267 TCF +8D # CHECK FOR DIRECT RATE CONTROL LAST TIME. 061288,000750: 16,3260 13261 TCF +1 061289,000751: # Page 1435 061290,000752: 16,3261 61476 AD -RATEDB 061291,000753: 16,3262 00006 EXTEND 061292,000754: 16,3263 63267 BZMF +4 061293,000755: 16,3264 33133 CA 40CYC 061294,000756: 16,3265 55445 TS TCP 061295,000757: 16,3266 03300 TC PEGI 061296,000758: 16,3267 31273 CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME. 061297,000759: 16,3270 74742 MASK PBIT 061298,000760: 16,3271 00006 EXTEND 061299,000761: 16,3272 13274 BZF +2 061300,000762: 16,3273 03300 TC PEGI # TO PURE RATE COMMAND 061301,000763: 16,3274 31446 CA DXERROR # PSEUDO-AUTO CONTROL. 061302,000764: 16,3275 55752 TS E # X-ATTITUDE ERROR (SP) 061303,000765: 16,3276 55464 TS PERROR # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY 061304,000766: 16,3277 03467 TC PURGENCY +4 061305,000767: 16,3300 30032 PEGI CA CDUX # DIRECT RATE CONTROL. 061306,000768: 16,3301 55635 TS CDUXD 061307,000769: 16,3302 34755 CA ZERO 061308,000770: 16,3303 55446 TS DXERROR 061309,000771: 16,3304 55447 TS DXERROR +1 061310,000772: 16,3305 55464 TS PERROR # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY 061311,000773: 16,3306 11427 CCS EDOTP 061312,000774: 16,3307 03312 TC +3 061313,000775: 16,3310 03312 TC +2 061314,000776: 16,3311 03312 TC +1 061315,000777: 16,3312 55737 TS ABSEDOTP 061316,000778: 16,3313 61476 AD TARGETDB 061317,000779: 16,3314 00006 EXTEND # IF RATE ERROR IS LESS THAN DEADBANK, 061318,000780: 16,3315 63325 BZMF LAST # FIRE, AN SWITCH TO PSEUDO-AUTO. 061319,000781: 16,3316 31445 CA TCP 061320,000782: 16,3317 00006 EXTEND # IF TIME IN RATE COMMAND EXCEEDS 4 SEC. 061321,000783: 16,3320 63325 BZMF LAST 061322,000784: 16,3321 41273 CS RCSFLAGS 061323,000785: 16,3322 74742 MASK PBIT 061324,000786: 16,3323 27273 ADS RCSFLAGS # BIT 10 IS 1. 061325,000787: 16,3324 13330 TCF +4 061326,000788: 16,3325 44742 LAST CS PBIT 061327,000789: 16,3326 71273 MASK RCSFLAGS 061328,000790: 16,3327 55273 TS RCSFLAGS # BIT 10 IS 0. 061329,000791: 16,3330 41427 CS EDOTP 061330,000792: 16,3331 00006 EXTEND 061331,000793: 16,3332 71551 MP 1/ANETP # 1/2JTACC SCALED AT 2EXP(7)/PI 061332,000794: 16,3333 20001 DAS A 061333,000795: 16,3334 02310 TC OVERSUB 061334,000796: 16,3335 00006 EXTEND 061335,000797: 16,3336 77716 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25) 061336,000798: 16,3337 55524 TS TJP # 4.JET TIME 061337,000799: 16,3340 31737 CA ABSEDOTP 061338,000800: 16,3341 61475 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT 061339,000801: 16,3342 00006 EXTEND 061340,000802: # Page 1436 061341,000803: 16,3343 63346 BZMF +3 061342,000804: 061343,000805: 16,3344 36242 CA SIX 061344,000806: 16,3345 13355 TCF +8D 061345,000807: 16,3346 31524 CA TJP 061346,000808: 16,3347 27524 ADS TJP 061347,000809: 061348,000810: # GOES TO PJETSLEC FOR TWO JETS 061349,000811: # P-JET-SELECTION-ROUTINE (ROTATION) 061350,000812: 061351,000813: # INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS 061352,000814: # TJP + FOR +P ROTATION 061353,000815: 061354,000816: # OUTPUT: CHANNEL 6 061355,000817: # PJUMPADR FOR P-AXIS SKIP 061356,000818: # (JTLST CALL) (SMALL TJP) 061357,000819: 061358,000820: # ORDER OF POLICIES TRIED IN CASE OF FAILURE. 061359,000821: # +P -P 061360,000822: # 7,15 8,16 061361,000823: # 4,12 3,11 061362,000824: # 4,7 8,11 061363,000825: # 7,12 11,16 061364,000826: # 12,15 3,16 061365,000827: # 4,15 3,8 061366,000828: # ALARM ALARM 061367,000829: 061368,000830: 16,3350 34747 CA AORBSYST 061369,000831: 16,3351 70111 MASK DAPBOOLS 061370,000832: 16,3352 10000 CCS A 061371,000833: 16,3353 34753 CA ONE 061372,000834: 16,3354 64751 AD FOUR 061373,000835: 16,3355 55743 TS NUMBERT 061374,000836: 16,3356 34753 PJETSLEC CA ONE 061375,000837: 16,3357 54001 TS L 061376,000838: 16,3360 11524 CCS TJP 061377,000839: 16,3361 13366 TCF +5 061378,000840: 16,3362 13442 TCF JETSOFF 061379,000841: 16,3363 13365 TCF +2 061380,000842: 16,3364 13442 TCF JETSOFF 061381,000843: 16,3365 22007 ZL 061382,000844: 16,3366 64753 AD ONE 061383,000845: 16,3367 55737 TS ABSTJ 061384,000846: 16,3370 23744 LXCH ROTINDEX 061385,000847: 16,3371 03531 TC SELECTP 061386,000848: 16,3372 46242 CS SIX 061387,000849: 16,3373 61743 AD NUMBERT 061388,000850: 16,3374 00006 EXTEND 061389,000851: 16,3375 13377 BZF +2 061390,000852: 061391,000853: 16,3376 44752 CS TWO 061392,000854: 061393,000855: # Page 1437 061394,000856: 16,3377 64751 AD FOUR 061395,000857: 16,3400 55521 TS NO.PJETS 061396,000858: 16,3401 31741 CA POLYTEMP 061397,000859: 16,3402 05754 TC WRITEP 061398,000860: 16,3403 41737 CS ABSTJ 061399,000861: 16,3404 63612 AD +150MST6 061400,000862: 16,3405 00006 EXTEND 061401,000863: 16,3406 63624 BZMF QRAXIS # GO TO QRAXIS OR TO GTS. 061402,000864: 061403,000865: 16,3407 63572 AD -136MST6 061404,000866: 16,3410 00006 EXTEND 061405,000867: 16,3411 63416 BZMF +5 061406,000868: 061407,000869: 16,3412 27737 ADS ABSTJ 061408,000870: 16,3413 51744 INDEX ROTINDEX 061409,000871: 16,3414 33621 CA MINTIMES 061410,000872: 16,3415 55524 TS TJP 061411,000873: 061412,000874: 16,3416 31737 CA ABSTJ 061413,000875: 16,3417 22007 ZL 061414,000876: 16,3420 00004 INHINT 061415,000877: 16,3421 53471 DXCH T6FURTHA 061416,000878: 16,3422 04674 TC IBNKCALL 061417,000879: 16,3423 37114 CADR JTLST 061418,000880: 16,3424 44740 CS BIT12 061419,000881: 16,3425 71273 MASK RCSFLAGS 061420,000882: 16,3426 55273 TS RCSFLAGS # BIT 12 SET TO 0. 061421,000883: 16,3427 03431 TC ALTSYST 061422,000884: 16,3430 13624 TCF QRAXIS 061423,000885: 061424,000886: 16,3431 30111 ALTSYST CA DAPBOOLS # ALTERNATE P-AXIS JETS 061425,000887: 16,3432 54001 TS L 061426,000888: 16,3433 34747 CA AORBSYST 061427,000889: 16,3434 00006 EXTEND 061428,000890: 16,3435 06001 RXOR LCHAN 061429,000891: 16,3436 54111 TS DAPBOOLS 061430,000892: 16,3437 00003 RELINT 061431,000893: 16,3440 00002 TC Q 061432,000894: 061433,000895: 16,3441 03431 DKALT TC ALTSYST 061434,000896: 061435,000897: 16,3442 05753 JETSOFF TC WRITEP -1 061436,000898: 16,3443 34755 CA ZERO 061437,000899: 16,3444 55524 TS TJP 061438,000900: 16,3445 13624 TCF QRAXIS 061439,000901: 061440,000902: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.) 061441,000903: 061442,000904: 16,3446 30033 CALCPERR CA CDUY # P-ERROR CALCULATION. 061443,000905: 16,3447 00006 EXTEND 061444,000906: 16,3450 21636 MSU CDUYD # CDU VALUE -- ANGLE DESIRED (Y-AXIS) 061445,000907: # Page 1438 061446,000908: 16,3451 00006 EXTEND 061447,000909: 16,3452 71414 MP M11 # (CDUY-CDUYD)M11 SCALED AT PI RADIANS 061448,000910: 16,3453 57752 XCH E # SAVE FIRST TERM (OF TWO) 061449,000911: 16,3454 30032 CA CDUX # THIRD COMPONENT 061450,000912: 16,3455 00006 EXTEND 061451,000913: 16,3456 21635 MSU CDUXD # CDU VALUE -- ANGLE DESIRED (X-AXIS) 061452,000914: # EXTEND 061453,000915: # MP M13 061454,000916: 16,3457 61277 AD DELPEROR # KALCMANU INTERFACE ERROR. 061455,000917: 16,3460 27752 ADS E # SAVE SUM OF TERMS. COULD BE OVERFLOW. 061456,000918: 16,3461 57464 XCH PERROR # SAVE P-ERROR FOR EIGHT-BALL DISPLAY. 061457,000919: 16,3462 00002 TC Q # RETURN TO CALLER 061458,000920: 061459,000921: # P-AXIS URGENCY FUNCTION CALCULATION. 061460,000922: 061461,000923: 16,3463 03446 PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS. 061462,000924: 16,3464 41643 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND 061463,000925: 16,3465 61421 AD OMEGAP # SPS-BACKUP MODE. 061464,000926: 16,3466 55427 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC 061465,000927: 061466,000928: 16,3467 44753 CS ONE 061467,000929: 16,3470 55505 TS AXISCTR 061468,000930: 16,3471 30111 CA DAPBOOLS 061469,000931: 16,3472 74737 MASK CSMDOCKD 061470,000932: 16,3473 00006 EXTEND 061471,000933: 16,3474 13505 BZF HEADTJET 061472,000934: 16,3475 00004 INHINT # IF CSMDOCKD = 1, GOT TO DOCKED RCS LOGIC 061473,000935: 16,3476 04674 TC IBNKCALL 061474,000936: 16,3477 43727 CADR SPSRCS 061475,000937: 061476,000938: 16,3500 31524 CA TJP 061477,000939: 16,3501 00006 EXTEND 061478,000940: 16,3502 13441 BZF DKALT # IF TJP = ZERO, CHANGE AORBSYST. 061479,000941: 16,3503 00003 RELINT 061480,000942: 16,3504 13350 TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS. 061481,000943: 16,3505 34755 HEADTJET CA ZERO 061482,000944: 16,3506 55500 TS SENSETYP 061483,000945: 16,3507 00004 INHINT 061484,000946: 16,3510 04674 TC IBNKCALL 061485,000947: 16,3511 37252 CADR TJETLAW 061486,000948: 16,3512 00003 RELINT 061487,000949: 061488,000950: 16,3513 41741 CS FIREFCT 061489,000951: 16,3514 63530 AD -FOURDEG 061490,000952: 16,3515 00006 EXTEND 061491,000953: 16,3516 63350 BZMF PJETSLEC -6 061492,000954: 16,3517 11524 CCS TJP 061493,000955: 16,3520 13522 TCF +2 061494,000956: 16,3521 13442 TCF JETSOFF 061495,000957: # Page 1439 061496,000958: 16,3522 63527 AD -160MST6 061497,000959: 16,3523 00006 EXTEND 061498,000960: 16,3524 63350 BZMF PJETSLEC -6 061499,000961: 16,3525 36242 CA SIX 061500,000962: 16,3526 13355 TCF PJETSLEC -1 061501,000963: 16,3527 77377 -160MST6 DEC -256 B-14 061502,000964: 16,3530 75117 -FOURDEG DEC -.08888 061503,000965: 061504,000966: # Page 1440 061505,000967: # JET POLICY CONTSTRUCTION SUBROUTINE 061506,000968: 061507,000969: # INPUT: ROTINDEX, NUMBERT 061508,000970: 061509,000971: # OUTPUT: POLYTEMP (JET POLICY) 061510,000972: 061511,000973: # THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE 061512,000974: 061513,000975: 16,3531 36242 SELECTP CA SIX 061514,000976: 16,3532 55742 TS TEMPNUM 061515,000977: 16,3533 51743 INDEX NUMBERT 061516,000978: 16,3534 33563 CA TYPEP 061517,000979: 16,3535 51744 INDEX ROTINDEX 061518,000980: 16,3536 73554 MASK JETSALL 061519,000981: 16,3537 55741 TS POLYTEMP 061520,000982: 16,3540 71263 MASK CH6MASK 061521,000983: 16,3541 10000 CCS A 061522,000984: 16,3542 13544 TCF +2 061523,000985: 16,3543 00002 TC Q 061524,000986: 16,3544 11742 CCS TEMPNUM 061525,000987: 16,3545 13551 TCF +4 061526,000988: 16,3546 05567 TC ALARM 061527,000989: 16,3547 02003 OCT 02003 061528,000990: 16,3550 13442 TCF JETSOFF # ********** TCF ALARMJET ********** 061529,000991: 16,3551 55743 SELECTYZ TS NUMBERT 061530,000992: 16,3552 13532 TCF SELECTP +1 061531,000993: 16,3553 12773 -1 TCF ABORTYZ +2 061532,000994: 16,3554 00252 JETSALL OCT 00252 061533,000995: 16,3555 00125 OCT 00125 # +P 061534,000996: 16,3556 00140 OCT 00140 # -Y 061535,000997: 16,3557 00006 OCT 00006 # -Z 061536,000998: 16,3560 00220 OCT 00220 # +Y 061537,000999: 16,3561 00011 OCT 00011 # +Z 061538,001000: 16,3562 00151 OCT 00151 # +V 061539,001001: 16,3563 00146 TYPEP OCT 00146 # -U 061540,001002: 16,3564 00226 OCT 00226 # -V 061541,001003: 16,3565 00231 OCT 00231 # +U 061542,001004: 16,3566 00151 OCT 00151 # +V 061543,001005: 16,3567 00132 OCT 00132 # 1-3 061544,001006: 16,3570 00245 OCT 00245 # 2-4 061545,001007: 16,3571 00377 OCT 00377 # ALL 061546,001008: 16,3572 16,3572 INDXYZ = -136MST6 061547,001009: 16,3572 77445 -136MST6 DEC -218 B-14 061548,001010: 16,3573 00004 DEC 4 B-14 061549,001011: 16,3574 00002 DEC 2 B-14 061550,001012: 16,3575 07776 OCT 07776 061551,001013: 16,3576 00005 DEC 5 B-14 061552,001014: 16,3577 00011 DEC 9 B-14 061553,001015: 16,3600 00012 DEC 10 B-14 061554,001016: 16,3601 07776 OCT 07776 061555,001017: 16,3602 00003 DEC 3 B-14 061556,001018: # Page 1441 061557,001019: 16,3603 00010 DEC 8 B-14 061558,001020: 16,3604 00007 DEC 7 B-14 061559,001021: 16,3605 07776 OCT 07776 # THESE INDEXES OF MASK JETSALL WILL 061560,001022: 16,3606 07776 OCT 07776 # CHANGE THE INSTRUCTION AT SELECTP +4 061561,001023: 16,3607 07776 OCT 07776 # TO BE TC JETSALL -1 061562,001024: 16,3610 07776 OCT 07776 # ONLY USED FOR TRANSLATION FAILURE 061563,001025: 16,3611 07776 OCT 07776 061564,001026: 16,3612 00360 +150MST6 DEC 240 B-14 061565,001027: 16,3613 07400 07400OCT OCT 07400 061566,001028: 061567,001029: # T-JET LAW FIXED CONSTANTS 061568,001030: 061569,001031: 16,3614 00266 NORMSCL OCT 266 061570,001032: 16,3615 74631 -100MS DEC -.1 061571,001033: 16,3616 06315 200MS DEC .2 061572,001034: 16,3617 7716 25/32 = PRIO31 # (DEC .78125) 061573,001035: 16,3617 00600 BITS8,9 OCTAL 00600 061574,001036: 16,3620 00632 1/40 DEC .02500 061575,001037: 16,3621 77751 MINTIMES DEC -22 B-14 061576,001038: 16,3622 00026 DEC 22 B-14 061577,001039: 16,3623 02734 PSKIPADR GENADR SKIPPAXS 061578,001040: 061579,001041: # GOES TO Q,R-AXES RCS AUTOPILOT 061580,001042: 061581,001043: 16,3624 41645 QRAXIS CS OMEGARD 061582,001044: 16,3625 61423 AD OMEGAR 061583,001045: 16,3626 02310 TC OVERSUB 061584,001046: 16,3627 55437 TS EDOTR 061585,001047: 16,3630 41644 CS OMEGAQD 061586,001048: 16,3631 61422 AD OMEGAQ 061587,001049: 16,3632 02310 TC OVERSUB 061588,001050: 16,3633 55436 TS EDOTQ 061589,001051: 16,3634 00006 EXTEND 061590,001052: 16,3635 33640 DCA QERRCALL 061591,001053: 16,3636 52006 DTCB 061592,001054: 061593,001055: 16,3637 E6,1537 EBANK= AOSQ 061594,001056: 16,3637 02072 36106 QERRCALL 2CADR CALLQERR End of include-file P-AXIS_RCS_AUTOPILOT.agc. Parent file is MAIN.agc