Source Code

058886,000001: # Copyright: Public domain. 058887,000002: # Filename: P-AXIS_RCS_AUTOPILOT.agc 058888,000003: # Purpose: A section of Luminary 1C, revision 131. 058889,000004: # It is part of the source code for the Lunar Module's (LM) 058890,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 058891,000006: # This file is intended to be a faithful transcription, except 058892,000007: # that the code format has been changed to conform to the 058893,000008: # requirements of the yaYUL assembler rather than the 058894,000009: # original YUL assembler. 058895,000010: # Reference: pp. 1418-1438 of 1729.pdf. 058896,000011: # Contact: Ron Burkey <info@sandroid.org>. 058897,000012: # Website: www.ibiblio.org/apollo/index.html 058898,000013: # Mod history: 06/07/03 RSB. Began transcribing. 058899,000014: # 05/14/05 RSB Corrected website reference above. 058900,000015: # 2010-10-25 JL Added missing # in comment. Indentation fixes. 058901,000016: 058902,000017: # Page 1418 058903,000018: 16,2213 BANK 16 058904,000019: 16,2000 SETLOC DAPS1 058905,000020: 16,2000 BANK 058906,000021: 058907,000022: 16,2213 E6,1464 EBANK= PERROR 058908,000023: 16,2213 COUNT* $$/DAPP 058909,000024: 058910,000025: # THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS. 058911,000026: # THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP. 058912,000027: 058913,000028: 16,2213 37732 PAXIS CA MS100 058914,000029: 16,2214 26030 ADS TIME5 # *** NECESSARY IN ORDER TO ALLOW 058915,000030: # SYNCHRONIZATION WITH OTHER INTERRUPTS *** 058916,000031: 058917,000032: 16,2215 22016 LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED) 058918,000033: 16,2216 00006 EXTEND 058919,000034: 16,2217 22012 QXCH QRUPT 058920,000035: 058921,000036: # CHECK IF DAP PASS IS PERMISSIBLE 058922,000037: 058923,000038: 16,2220 11756 CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS 058924,000039: 16,2221 05624 TC BAILOUT # STILL IN PROGRESS AND A RESTART IS 058925,000040: 16,2222 32000 OCT 32000 # CALLED FOR. IT IS NEVER ZERO 058926,000041: 058927,000042: 16,2223 02000 TC CHEKBITS # RETUR IS TC I+1 IF DAP SHOULD STAY ON. 058928,000043: 058929,000044: 16,2224 30032 CA CDUX # READ AND STORE CDU'S 058930,000045: 16,2225 55747 TS DAPTREG4 058931,000046: 16,2226 30033 CA CDUY 058932,000047: 16,2227 55750 TS DAPTREG5 058933,000048: 16,2230 30034 CA CDUZ 058934,000049: 16,2231 55751 TS DAPTREG6 058935,000050: 058936,000051: # ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE ***** 058937,000052: 058938,000053: # THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM 058939,000054: # AUTOPILOT (WHENEVER THE DAP IS IN OPERATION). 058940,000055: 058941,000056: 16,2232 31634 CA CDUXD 058942,000057: 16,2233 00006 EXTEND 058943,000058: 16,2234 21637 MSU DELCDUX 058944,000059: 16,2235 02256 TC 1STOTWOS 058945,000060: 16,2236 55634 TS CDUXD 058946,000061: 16,2237 31635 CA CDUYD 058947,000062: 16,2240 00006 EXTEND 058948,000063: 16,2241 21640 MSU DELCDUY 058949,000064: 16,2242 02256 TC 1STOTWOS 058950,000065: 16,2243 55635 TS CDUYD 058951,000066: 16,2244 31636 CA CDUZD 058952,000067: 16,2245 00006 EXTEND 058953,000068: 16,2246 21641 MSU DELCDUZ 058954,000069: # Page 1419 058955,000070: 16,2247 02256 TC 1STOTWOS 058956,000071: 16,2250 55636 TS CDUZD 058957,000072: 16,2251 00006 EXTEND # DIMINISH MANUAL CONTROL DIRECT RATE 058958,000073: 16,2252 27445 DIM TCP # TIME COUNTERS. 058959,000074: 16,2253 00006 EXTEND 058960,000075: 16,2254 27457 DIM TCQR 058961,000076: 058962,000077: # RATFLOOP COMPUTES JETRATEQ, JRATER, AND 1JACC*NO. PJEETS IN ITEMP1. 058963,000078: # RETURNS TO BACKP. 058964,000079: 058965,000080: # JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP) 058966,000081: # JETRATEQ = 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS) 058967,000082: # JETRATER = 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS) 058968,000083: 058969,000084: 16,2255 12647 TCF PAXFILT # PROCEEDS TO RATELOOP AFTER SUPERJOB 058970,000085: 16,2256 10000 1STOTWOS CCS A 058971,000086: 16,2257 64753 AD ONE 058972,000087: 16,2260 00002 TC Q 058973,000088: 16,2261 40000 CS A 058974,000089: 16,2262 00002 TC Q 058975,000090: 16,2263 00006 SUBDIVDE EXTEND # OVERFLOW PROTECTION ROUTINE TO GIVE 058976,000091: 16,2264 71740 MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD 058977,000092: 16,2265 21427 DAS OMEGAU # OVERFLOW 058978,000093: 058979,000094: 16,2266 00006 +3 EXTEND 058980,000095: 16,2267 31427 DCA OMEGAU 058981,000096: 16,2270 53743 DXCH DAPTEMP5 058982,000097: 16,2271 11426 CCS OMEGAU 058983,000098: 16,2272 12274 TCF +2 058984,000099: 16,2273 12304 TCF DIVIDER 058985,000100: 16,2274 62315 AD -OCT630 058986,000101: 16,2275 00006 EXTEND 058987,000102: 16,2276 62304 BZMF DIVIDER 058988,000103: 058989,000104: 16,2277 11426 CCS OMEGAU 058990,000105: 16,2300 34733 CA POSMAX # 45 DEG/SEC 058991,000106: 16,2301 00002 TC Q 058992,000107: 16,2302 44733 CS POSMAX 058993,000108: 16,2303 00002 TC Q 058994,000109: 058995,000110: 16,2304 53427 DIVIDER DXCH OMEGAU 058996,000111: 16,2305 00006 EXTEND 058997,000112: 16,2306 11747 DV DAPTREG4 058998,000113: 16,2307 00002 TC Q 058999,000114: 059000,000115: 16,2310 54007 OVERSUB TS 7 # RETURNS A UNCHANGED OR LIMITED TO 059001,000116: 16,2311 00002 TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW 059002,000117: 16,2312 50000 INDEX A 059003,000118: 16,2313 44734 CS BIT15 -1 059004,000119: # Page 1420 059005,000120: 16,2314 00002 TC Q 059006,000121: 059007,000122: 16,2315 77147 -OCT630 OCT 77147 059008,000123: 059009,000124: 16,2316 31736 BACKP CA DAPTEMP1 059010,000125: 16,2317 00006 EXTEND 059011,000126: 16,2320 71530 MP 1JACC 059012,000127: 16,2321 55744 TS JETRATE 059013,000128: 059014,000129: # BEGINNING OF THE RATE DERIVATION 059015,000130: # OMEGAP,Q,R BODY RATES SCALED AT PI/4 059016,000131: # TRAPEDP,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40) 059017,000132: # NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED 059018,000133: # AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELERATION. (PI/4) 059019,000134: # JETRATE,Q,R CHANGE IN RATE DUE TO JET ACCELERATION. (PI/4) 059020,000135: # TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAEDP, ETC. 059021,000136: # OMEGAU DP-TEMPORARY STORAGE 059022,000137: # OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG) 059023,000138: 059024,000139: 16,2322 31747 CAE DAPTREG4 # CDUX IS STORED HERE 059025,000140: 16,2323 54001 TS L 059026,000141: 16,2324 00006 EXTEND 059027,000142: 16,2325 21440 MSU OLDXFORP # SCALED AT PI 059028,000143: 16,2326 23440 LXCH OLDXFORP 059029,000144: 16,2327 55736 TS DAPTEMP1 059030,000145: 16,2330 33624 CA 1/40 059031,000146: 16,2331 55747 TS DAPTREG4 059032,000147: 16,2332 41744 CS JETRATE 059033,000148: 16,2333 00006 EXTEND 059034,000149: 16,2334 74736 MP BIT14 059035,000150: 16,2335 27430 ADS TRAPEDP 059036,000151: 16,2336 31745 CA JETRATEQ 059037,000152: 16,2337 61544 AD AOSQTERM 059038,000153: 16,2340 00006 EXTEND 059039,000154: 16,2341 77741 MP -BIT14 059040,000155: 16,2342 27431 ADS TRAPEDQ 059041,000156: 16,2343 31746 CA JETRATER 059042,000157: 16,2344 61545 AD AOSRTERM 059043,000158: 16,2345 00006 EXTEND 059044,000159: 16,2346 77741 MP -BIT14 059045,000160: 16,2347 27432 ADS TRAPEDR 059046,000161: 059047,000162: 16,2350 31750 CA DAPTREG5 # CDUY IS STORED HERE 059048,000163: 16,2351 54001 TS L 059049,000164: 16,2352 00006 EXTEND 059050,000165: 16,2353 21441 MSU OLDYFORP # SCALED AT PI 059051,000166: 16,2354 23441 LXCH OLDYFORP 059052,000167: 16,2355 55737 TS DAPTEMP2 059053,000168: 16,2356 00006 EXTEND 059054,000169: 16,2357 71414 MP M11 # M11 SCALED AT 1 059055,000170: # Page 1421 059056,000171: 16,2360 61736 AD DAPTEMP1 059057,000172: 16,2361 53427 DXCH OMEGAU 059058,000173: 059059,000174: 16,2362 02266 TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4 059060,000175: 059061,000176: 16,2363 00006 EXTEND 059062,000177: 16,2364 61421 SU OMEGAP 059063,000178: 16,2365 27430 ADS TRAPEDP 059064,000179: 16,2366 02310 TC OVERSUB 059065,000180: 16,2367 55430 TS TRAPEDP 059066,000181: 16,2370 00006 EXTEND 059067,000182: 16,2371 31743 DCA DAPTEMP5 059068,000183: 16,2372 21447 DAS DXERROR 059069,000184: 16,2373 41454 CS PLAST 059070,000185: 16,2374 00006 EXTEND 059071,000186: 16,2375 73624 MP 1/40 059072,000187: 16,2376 21447 DAS DXERROR # MANUAL MODE X-ATTITUDE ERROR (DP) 059073,000188: 16,2377 31751 CA DAPTREG6 # CDUZ IS STORED HERE 059074,000189: 16,2400 54001 TS L 059075,000190: 16,2401 00006 EXTEND 059076,000191: 16,2402 21442 MSU OLDZFORQ 059077,000192: 16,2403 55740 TS DAPTEMP3 059078,000193: 16,2404 23442 LXCH OLDZFORQ 059079,000194: 16,2405 31415 CA M21 059080,000195: 16,2406 00006 EXTEND 059081,000196: 16,2407 71737 MP DAPTEMP2 059082,000197: 16,2410 53427 DXCH OMEGAU 059083,000198: 16,2411 31417 CA M22 059084,000199: 16,2412 02263 TC SUBDIVDE 059085,000200: 059086,000201: 16,2413 00006 EXTEND 059087,000202: 16,2414 61422 SU OMEGAQ 059088,000203: 16,2415 27431 ADS TRAPEDQ 059089,000204: 16,2416 02310 TC OVERSUB 059090,000205: 16,2417 55431 TS TRAPEDQ 059091,000206: 16,2420 00006 EXTEND 059092,000207: 16,2421 31743 DCA DAPTEMP5 059093,000208: 16,2422 21451 DAS DYERROR 059094,000209: 16,2423 41455 CS QLAST 059095,000210: 16,2424 00006 EXTEND 059096,000211: 16,2425 73624 MP 1/40 059097,000212: 16,2426 21451 DAS DYERROR # MANUAL MODE Y-ATTITUDE ERROR (DP) 059098,000213: 16,2427 31416 CA M31 059099,000214: 16,2430 00006 EXTEND 059100,000215: 16,2431 71737 MP DAPTEMP2 059101,000216: 16,2432 53427 DXCH OMEGAU 059102,000217: 16,2433 31420 CA M32 059103,000218: 059104,000219: 16,2434 02263 TC SUBDIVDE 059105,000220: # Page 1422 059106,000221: 16,2435 00006 EXTEND 059107,000222: 16,2436 61423 SU OMEGAR 059108,000223: 16,2437 27432 ADS TRAPEDR 059109,000224: 16,2440 02310 TC OVERSUB 059110,000225: 16,2441 55432 TS TRAPEDR # TRAPEDS HAVE ALL BEEN COMPUTED 059111,000226: 059112,000227: 16,2442 00006 EXTEND 059113,000228: 16,2443 31743 DCA DAPTEMP5 059114,000229: 16,2444 21453 DAS DZERROR 059115,000230: 16,2445 41456 CS RLAST 059116,000231: 16,2446 00006 EXTEND 059117,000232: 16,2447 73624 MP 1/40 059118,000233: 16,2450 21453 DAS DZERROR # MANUAL MODE Z-ATTITUDE ERROR (DP) 059119,000234: 16,2451 30111 CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS 059120,000235: 16,2452 74737 MASK CSMDOCKD 059121,000236: 16,2453 00006 EXTEND 059122,000237: 16,2454 12462 BZF LMONLY 059123,000238: 16,2455 00006 EXTEND # DOCKED 059124,000239: 16,2456 31405 DCA DKOMEGAN 059125,000240: 16,2457 53750 DXCH DAPTREG4 059126,000241: 16,2460 31403 CA DKTRAP 059127,000242: 16,2461 12466 TCF +5 059128,000243: 16,2462 00006 LMONLY EXTEND # UNDOCKED 059129,000244: 16,2463 31410 DCA LMOMEGAN 059130,000245: 16,2464 53750 DXCH DAPTREG4 059131,000246: 16,2465 31406 CA LMTRAP 059132,000247: 16,2466 55751 +5 TS DAPTREG6 059133,000248: 16,2467 11430 CCS TRAPEDP 059134,000249: 16,2470 12472 TCF +2 059135,000250: 16,2471 12507 TCF SMALPDIF 059136,000251: 16,2472 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 059137,000252: 16,2473 00006 EXTEND 059138,000253: 16,2474 62507 BZMF SMALPDIF 059139,000254: 16,2475 22007 ZL 059140,000255: 16,2476 23430 LXCH TRAPEDP 059141,000256: 16,2477 34755 CA ZERO 059142,000257: 16,2500 00006 EXTEND 059143,000258: 16,2501 11433 DV NPTRAPS 059144,000259: 16,2502 27421 ADS OMEGAP 059145,000260: 16,2503 02310 TC OVERSUB 059146,000261: 16,2504 55421 TS OMEGAP 059147,000262: 16,2505 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 059148,000263: 16,2506 55433 TS NPTRAPS 059149,000264: 16,2507 25433 SMALPDIF INCR NPTRAPS 059150,000265: 16,2510 31744 P-RATE CA JETRATE 059151,000266: 16,2511 27421 ADS OMEGAP 059152,000267: 16,2512 02310 TC OVERSUB 059153,000268: 16,2513 55421 TS OMEGAP 059154,000269: 059155,000270: 16,2514 11431 CCS TRAPEDQ 059156,000271: # Page 1423 059157,000272: 16,2515 12517 TCF +2 059158,000273: 16,2516 12544 TCF Q-RATE 059159,000274: 16,2517 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 059160,000275: 16,2520 00006 EXTEND 059161,000276: 16,2521 62544 BZMF Q-RATE 059162,000277: 16,2522 22007 ZL 059163,000278: 16,2523 23431 LXCH TRAPEDQ 059164,000279: 16,2524 34755 CA ZERO 059165,000280: 16,2525 00006 EXTEND 059166,000281: 16,2526 11434 DV NQTRAPS 059167,000282: 16,2527 55736 TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE 059168,000283: 16,2530 27422 ADS OMEGAQ 059169,000284: 16,2531 02310 TC OVERSUB 059170,000285: 16,2532 55422 TS OMEGAQ 059171,000286: 16,2533 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 059172,000287: 16,2534 57434 XCH NQTRAPS 059173,000288: 16,2535 61750 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60" 059174,000289: 16,2536 57736 XCH DAPTEMP1 059175,000290: 16,2537 00006 EXTEND 059176,000291: 16,2540 74756 MP FIVE 059177,000292: 16,2541 00006 EXTEND 059178,000293: 16,2542 11736 DV DAPTEMP1 059179,000294: 16,2543 27536 ADS AOSQ 059180,000295: 16,2544 25434 Q-RATE INCR NQTRAPS 059181,000296: 16,2545 31745 CA JETRATEQ 059182,000297: 16,2546 61544 AD AOSQTERM 059183,000298: 16,2547 27422 ADS OMEGAQ 059184,000299: 16,2550 02310 TC OVERSUB 059185,000300: 16,2551 55422 TS OMEGAQ 059186,000301: 059187,000302: 16,2552 11432 CCS TRAPEDR 059188,000303: 16,2553 12555 TCF +2 059189,000304: 16,2554 12602 TCF R-RATE 059190,000305: 16,2555 61751 AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC" 059191,000306: 16,2556 00006 EXTEND 059192,000307: 16,2557 62602 BZMF R-RATE 059193,000308: 16,2560 22007 ZL 059194,000309: 16,2561 23432 LXCH TRAPEDR 059195,000310: 16,2562 34755 CA ZERO 059196,000311: 16,2563 00006 EXTEND 059197,000312: 16,2564 11435 DV NRTRAPS 059198,000313: 16,2565 55737 TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE 059199,000314: 16,2566 27423 ADS OMEGAR 059200,000315: 16,2567 02310 TC OVERSUB 059201,000316: 16,2570 55423 TS OMEGAR 059202,000317: 16,2571 31747 CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED 059203,000318: 16,2572 57435 XCH NRTRAPS 059204,000319: 16,2573 61750 AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60" 059205,000320: 16,2574 57737 XCH DAPTEMP2 059206,000321: 16,2575 00006 EXTEND 059207,000322: # Page 1424 059208,000323: 16,2576 74756 MP FIVE 059209,000324: 16,2577 00006 EXTEND 059210,000325: 16,2600 11737 DV DAPTEMP2 059211,000326: 16,2601 27540 ADS AOSR 059212,000327: 16,2602 25435 R-RATE INCR NRTRAPS 059213,000328: 16,2603 31746 CA JETRATER 059214,000329: 16,2604 61545 AD AOSRTERM 059215,000330: 16,2605 27423 ADS OMEGAR 059216,000331: 16,2606 02310 TC OVERSUB 059217,000332: 16,2607 55423 TS OMEGAR 059218,000333: 059219,000334: # END OF RATE DERIVATION 059220,000335: # BEGIN OFFSET ESTIMATER 059221,000336: # IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS. 059222,000337: # AOS = AOS + K*SUMRATE 059223,000338: 059224,000339: 16,2610 40111 CS DAPBOOLS 059225,000340: 16,2611 74744 MASK DRIFTBIT 059226,000341: 16,2612 10000 CCS A 059227,000342: 16,2613 12624 TCF WORKTIME 059228,000343: 16,2614 55424 TS ALPHAQ # ZERO THE OFFSET ACCELERATION VALUES. 059229,000344: 16,2615 55425 TS ALPHAR 059230,000345: 16,2616 55544 TS AOSQTERM 059231,000346: 16,2617 55545 TS AOSRTERM 059232,000347: 16,2620 55536 TS AOSQ 059233,000348: 16,2621 55540 TS AOSR 059234,000349: 16,2622 12667 TCF PRETIMCK 059235,000350: 16,2623 00074 KAOS DEC 60 B-14 059236,000351: 16,2624 31510 WORKTIME CA QACCDOT 059237,000352: 16,2625 00006 EXTEND 059238,000353: 16,2626 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6). 059239,000354: 16,2627 21537 DAS AOSQ 059240,000355: 16,2630 31536 CA AOSQ 059241,000356: 16,2631 55424 TS ALPHAQ 059242,000357: 16,2632 00006 EXTEND 059243,000358: 16,2633 73622 MP 200MS # .2 AT 1 059244,000359: 16,2634 55544 TS AOSQTERM 059245,000360: 16,2635 31512 CA RACCDOT 059246,000361: 16,2636 00006 EXTEND 059247,000362: 16,2637 74766 MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6). 059248,000363: 16,2640 21541 DAS AOSR 059249,000364: 16,2641 31540 CA AOSR 059250,000365: 16,2642 55425 TS ALPHAR 059251,000366: 16,2643 00006 EXTEND 059252,000367: 16,2644 73622 MP 200MS # .2 AT 1 059253,000368: 16,2645 55545 TS AOSRTERM 059254,000369: 16,2646 12667 TCF PRETIMCK 059255,000370: 059256,000371: # Page 1425 059257,000372: 16,2647 34747 PAXFILT CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED. 059258,000373: 16,2650 71262 MASK RCSFLAGS 059259,000374: 16,2651 10000 CCS A # CALLGMBL IS NOT BIT15, SO THIS TEST IS 059260,000375: 16,2652 03742 TC ACDT+C12 # VALID. 059261,000376: 059262,000377: 16,2653 52011 DXCH ARUPT 059263,000378: 16,2654 53753 DXCH DAPARUPT 059264,000379: 16,2655 32666 CA SUPERJOB # SETTING UP THE SUPERJOB 059265,000380: 16,2656 56017 XCH BRUPT 059266,000381: 16,2657 22012 LXCH QRUPT 059267,000382: 16,2660 53755 DXCH DAPBQRPT 059268,000383: 16,2661 32665 CA SUPERADR 059269,000384: 16,2662 52016 DXCH ZRUPT 059270,000385: 16,2663 53757 DXCH DAPZRUPT 059271,000386: 16,2664 15275 TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE 059272,000387: # FORM OF A JASK, AT SUPERJOB. 059273,000388: 059274,000389: 16,2665 02667 SUPERADR GENADR SUPERJOB +1 059275,000390: 059276,000391: # COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED. 059277,000392: 059278,000393: 16,2666 13645 SUPERJOB TCF RATELOOP 059279,000394: 16,2667 11631 PRETIMCK CCS QGIMTIMR 059280,000395: 16,2670 12710 TCF DECQTIMR # POSITIVE -- COUNTING DOWN 059281,000396: 16,2671 12714 TCF TURNOFFQ # NEGATIVE -- DRIVE SHOULD BE ENDED 059282,000397: 16,2672 11633 CHKRTIMR CCS RGIMTIMR # NEGATIVE -- INACTIVE 059283,000398: 16,2673 12712 TCF DECRTIMR # (NEG ZERO -- IMPOSSIBLE) 059284,000399: 16,2674 12724 TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS. 059285,000400: 059286,000401: 16,2675 00006 EXTEND # DECREMENT DOCKED JET INHIBITION COUNTERS 059287,000402: 16,2676 27766 DIM PJETCTR 059288,000403: 16,2677 00006 EXTEND 059289,000404: 16,2700 27767 DIM UJETCTR 059290,000405: 16,2701 00006 EXTEND 059291,000406: 16,2702 27770 DIM VJETCTR 059292,000407: 16,2703 34740 CA BIT12 059293,000408: 16,2704 71262 MASK RCSFLAGS 059294,000409: 16,2705 00006 EXTEND 059295,000410: 16,2706 12734 BZF SKIPPAXS 059296,000411: 16,2707 02740 TC CHKVISFZ 059297,000412: 16,2710 55631 DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO. 059298,000413: 16,2711 12672 TCF CHKRTIMR 059299,000414: 16,2712 55633 DECRTIMR TS RGIMTIMR 059300,000415: 16,2713 12675 TCF CHKRTIMR +3 059301,000416: 059302,000417: 16,2714 55501 TURNOFFQ TS NEGUQ # HALT DRIVES. 059303,000418: 16,2715 55510 TS QACCDOT 059304,000419: 16,2716 45007 CS QGIMBITS 059305,000420: 16,2717 00006 EXTEND 059306,000421: # Page 1426 059307,000422: 16,2720 03012 WAND CHAN12 059308,000423: 16,2721 34735 CAF NEGMAX 059309,000424: 16,2722 55631 TS QGIMTIMR 059310,000425: 16,2723 12672 TCF CHKRTIMR 059311,000426: 16,2724 55503 TURNOFFR TS NEGUR 059312,000427: 16,2725 55512 TS RACCDOT 059313,000428: 16,2726 45020 CS RGIMBITS 059314,000429: 16,2727 00006 EXTEND 059315,000430: 16,2730 03012 WAND CHAN12 059316,000431: 16,2731 34735 CAF NEGMAX 059317,000432: 16,2732 55633 TS RGIMTIMR 059318,000433: 16,2733 12675 TCF CHKRTIMR +3 059319,000434: 16,2734 5007 QGIMBITS EQUALS OCT1400 # BITS 9 AND 10 (OF CHANNEL 12). 059320,000435: 16,2734 5020 RGIMBITS EQUALS PRIO6 # BITS 11 AND 12 (OF CHANNEL 12). 059321,000436: 059322,000437: 16,2734 41262 SKIPPAXS CS RCSFLAGS 059323,000438: 16,2735 74740 MASK BIT12 059324,000439: 16,2736 27262 ADS RCSFLAGS # BIT 12 SET TO 1. 059325,000440: 16,2737 13630 TCF QRAXIS # GO TO QRAXIS OR TO CTS. 059326,000441: 059327,000442: # Y-X TRANSLATION 059328,000443: 059329,000444: # INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLLER) 059330,000445: 059331,000446: # OUTPUT: NEXTP 059332,000447: # NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION. 059333,000448: # IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN 059334,000449: # (1) FOR DIAGONAL TRANS: UNFAILED PAIR 059335,000450: # ALARM (IF NO PAIR) 059336,000451: # (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS 059337,000452: # ALARM (IF DIAGONAL PAIRS ARE FAILED) 059338,000453: 059339,000454: 16,2740 00006 CHKVISFZ EXTEND 059340,000455: 16,2741 00031 READ CHAN31 059341,000456: 16,2742 40000 CS A 059342,000457: 16,2743 73617 MASK 07400OCT 059343,000458: 16,2744 00006 EXTEND 059344,000459: 16,2745 13014 BZF TSNEXTP 059345,000460: 16,2746 00006 EXTEND 059346,000461: 16,2747 74745 MP BIT7 059347,000462: 16,2750 50000 INDEX A 059348,000463: 16,2751 33576 CA INDXYZ 059349,000464: 16,2752 55743 TS ROTINDEX 059350,000465: 16,2753 36245 TRYUORV CA SIX 059351,000466: 16,2754 03555 TC SELECTYZ 059352,000467: 16,2755 46245 CS SIX 059353,000468: 16,2756 61742 AD NUMBERT 059354,000469: 16,2757 00006 EXTEND 059355,000470: # Page 1427 059356,000471: 16,2760 13013 BZF TSNEXTP -1 059357,000472: 16,2761 44756 CS FIVE 059358,000473: 16,2762 61743 AD ROTINDEX 059359,000474: 16,2763 00006 EXTEND 059360,000475: 16,2764 63002 BZMF ALTERYZ 059361,000476: 16,2765 41742 CS NUMBERT 059362,000477: 16,2766 64751 AD FOUR 059363,000478: 16,2767 00006 EXTEND 059364,000479: 16,2770 63013 BZMF TSNEXTP -1 059365,000480: 16,2771 05567 ABORTYZ TC ALARM 059366,000481: 16,2772 02001 OCT 02001 059367,000482: 16,2773 34753 CA BIT1 # INVERT BIT 1 OF RCSFLAGS. 059368,000483: 16,2774 23262 LXCH RCSFLAGS 059369,000484: 16,2775 00006 EXTEND 059370,000485: 16,2776 06001 RXOR 1 059371,000486: 16,2777 55262 TS RCSFLAGS 059372,000487: 16,3000 34755 CA ZERO 059373,000488: 16,3001 13014 TCF TSNEXTP 059374,000489: 16,3002 34753 ALTERYZ CA BIT1 # INVERT BIT 1 OF RCSFLAGS. 059375,000490: 16,3003 23262 LXCH RCSFLAGS 059376,000491: 16,3004 00006 EXTEND 059377,000492: 16,3005 06001 RXOR 1 059378,000493: 16,3006 55262 TS RCSFLAGS 059379,000494: 16,3007 74753 MASK BIT1 059380,000495: 16,3010 64751 AD FOUR 059381,000496: 16,3011 27743 ADS ROTINDEX 059382,000497: 16,3012 12753 TCF TRYUORV 059383,000498: 16,3013 31740 CA POLYTEMP 059384,000499: 16,3014 55472 TSNEXTP TS NEXTP 059385,000500: 059386,000501: # STATE LOGIC 059387,000502: # CHECK IN ORDER: IF ON 059388,000503: # LPDPHASE GO TO PURGENCY 059389,000504: # PULSES MINIMUM PULSE LOTIC 059390,000505: # DETENT(BIT15 CH31) RATE COMMAND 059391,000506: # GOTO TO PURGENCY 059392,000507: 059393,000508: 16,3015 34737 CA BIT13 # CHECK STICK IF IN ATT. HOLD. 059394,000509: 16,3016 00006 EXTEND 059395,000510: 16,3017 02031 RAND CHAN31 059396,000511: 16,3020 00006 EXTEND 059397,000512: 16,3021 13027 BZF MANMODE 059398,000513: 059399,000514: 16,3022 30111 CA DAPBOOLS 059400,000515: 16,3023 74743 MASK XOVINHIB 059401,000516: 16,3024 10000 CCS A 059402,000517: 16,3025 13467 TCF PURGENCY # ATTITUDE STEER DURING VISIBILITY PHASE 059403,000518: 059404,000519: 16,3026 13071 TCF DETENTCK 059405,000520: 16,3027 34735 MANMODE CA PULSES # PULSES IS ONE FOR PULSE MODE 059406,000521: 16,3030 70111 MASK DAPBOOLS 059407,000522: # Page 1428 059408,000523: 16,3031 00006 EXTEND 059409,000524: 16,3032 13071 BZF DETENTCK # BRANCH FOR RATE COMMAND 059410,000525: 059411,000526: 16,3033 34755 CA ZERO 059412,000527: 16,3034 55464 TS PERROR 059413,000528: 059414,000529: # MINIMUM IMPULSE MODE 059415,000530: 059416,000531: 16,3035 30032 CA CDUX 059417,000532: 16,3036 55634 TS CDUXD 059418,000533: 059419,000534: 16,3037 11460 CCS OLDPMIN 059420,000535: 16,3040 13054 TCF CHECKP 059421,000536: 059422,000537: 16,3041 34751 FIREP CA BIT3 059423,000538: 16,3042 00006 EXTEND 059424,000539: 16,3043 02031 RAND CHAN31 059425,000540: 16,3044 00006 EXTEND 059426,000541: 16,3045 13064 BZF +XMIN 059427,000542: 059428,000543: 16,3046 34750 CA BIT4 059429,000544: 16,3047 00006 EXTEND 059430,000545: 16,3050 02031 RAND CHAN31 059431,000546: 16,3051 00006 EXTEND 059432,000547: 16,3052 13062 BZF -XMIN 059433,000548: 059434,000549: 16,3053 13446 TCF JETSOFF 059435,000550: 059436,000551: 16,3054 00006 CHECKP EXTEND 059437,000552: 16,3055 00031 READ CHAN31 059438,000553: 16,3056 40000 CS A 059439,000554: 16,3057 75741 MASK OCT14 059440,000555: 16,3060 55460 TS OLDPMIN 059441,000556: 16,3061 13446 TCF JETSOFF 059442,000557: 059443,000558: 16,3062 44363 -XMIN CS TEN # ANYTHING LESS THAN 14MS. CORRECTED 059444,000559: 16,3063 13065 TCF +2 # IN JET SELECTION ROUTINE 059445,000560: 16,3064 34363 +XMIN CA TEN 059446,000561: 16,3065 55524 TS TJP 059447,000562: 16,3066 34753 CA ONE 059448,000563: 16,3067 55460 TS OLDPMIN 059449,000564: 16,3070 13354 TCF PJETSLEC -6 059450,000565: 059451,000566: # MANUAL RATE COMMAND MODE 059452,000567: # ======================== 059453,000568: # BY ROBERT F. STENGEL 059454,000569: 059455,000570: # THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS: 1) DIRECT RATE AND 2) PSEUDO-AUTO. 059456,000571: # THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT. THE PSEUDO-AUTO MODE PROVIDES PRECISE 059457,000572: # RATE CONTROL AND ATTITUDE HOLD. 059458,000573: 059459,000574: # Page 1429 059460,000575: # IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE. 059461,000576: # 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 059462,000577: # THE `TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL. 059463,000578: 059464,000579: # IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL. 059465,000580: # CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC. 059466,000581: # IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY. 059467,000582: 059468,000583: # 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, 059469,000584: # OR VICE VERSA. THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES. DUE TO U,V CONTROL, HOWEVER, Q AND 059470,000585: # R AXES ARE COUPLED AND MUST USE TEH SAME CONTROL LAW. 059471,000586: 059472,000587: # HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW. FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20 059473,000588: # AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION 059474,000589: # OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE. NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED 059475,000590: # CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES. SCALING IS DETERMINED IN ROUTINE 3. 059476,000591: 059477,000592: # ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME 059478,000593: # JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT) 059479,000594: 059480,000595: 16,3071 00006 DETENTCK EXTEND 059481,000596: 16,3072 00031 READ CHAN31 059482,000597: 16,3073 55443 TS CH31TEMP 059483,000598: 16,3074 74735 MASK BIT15 # CHECK OUT-OF-DETENT BIT. 059484,000599: 16,3075 00006 EXTEND 059485,000600: 16,3076 13223 BZF RHCMOVED # BRANCH IF OUT OF DETENT. 059486,000601: 16,3077 34740 CAF OURRCBIT # IN DETENT. CHECK THE RATE COMMAND BIT. 059487,000602: 16,3100 70111 MASK DAPBOOLS 059488,000603: 16,3101 00006 EXTEND 059489,000604: 16,3102 13467 BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS. 059490,000605: 059491,000606: # ................................................................................ 059492,000607: 059493,000608: 16,3103 34743 CA BIT9 # JUST IN DETENT?? 059494,000609: 16,3104 71262 MASK RCSFLAGS 059495,000610: 16,3105 00006 EXTEND 059496,000611: 16,3106 13120 BZF RUTH 059497,000612: 16,3107 34737 CAF BIT13 # CHECK FOR ATTITUDE HOLD. 059498,000613: 16,3110 00006 EXTEND 059499,000614: 16,3111 02031 RAND CHAN31 059500,000615: 16,3112 00006 EXTEND 059501,000616: 16,3113 13220 BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD. 059502,000617: 059503,000618: 16,3114 45014 CS BITS9,11 # IN AUTO. 059504,000619: 16,3115 71262 MASK RCSFLAGS # (X-AXIS OVERRIDE) 059505,000620: 16,3116 55262 TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9). 059506,000621: 16,3117 13220 TCF RATEDAMP 059507,000622: 059508,000623: 16,3120 31262 RUTH CA RCSFLAGS 059509,000624: 16,3121 74742 MASK PBIT # IN ATTITUDE HOLD. 059510,000625: 16,3122 00006 EXTEND 059511,000626: 16,3123 13125 BZF +2 # BRANCH IF P-RATE DAMPING IS FINISHED. 059512,000627: 16,3124 13220 TCF RATEDAMP 059513,000628: 059514,000629: # Page 1430 059515,000630: 16,3125 31262 CA RCSFLAGS 059516,000631: 16,3126 74741 MASK QRBIT 059517,000632: 16,3127 00006 EXTEND 059518,000633: 16,3130 13134 BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED. 059519,000634: 16,3131 13220 TCF RATEDAMP 059520,000635: 059521,000636: # ============================================ 059522,000637: 059523,000638: 16,3132 4753 1/10SEC = BIT1 059524,000639: 16,3132 4771 40CYC = OCT50 059525,000640: 16,3132 74777 PQRBIT OCT 74777 059526,000641: 16,3133 5014 BITS9,11 EQUALS EBANK5 059527,000642: 16,3133 00056 LINRATP DEC 46 B-14 059528,000643: 059529,000644: # ============================================ 059530,000645: 059531,000646: 16,3134 44740 RATEDONE CS OURRCBIT # MANUAL COMMAND AND DAMPING COMPLETED IN 059532,000647: 16,3135 00004 INHINT # ALL AXES. 059533,000648: 16,3136 70111 MASK DAPBOOLS 059534,000649: 16,3137 54111 TS DAPBOOLS 059535,000650: 059536,000651: # READ CDUS INTO CDU DESIRED REGISTERS 059537,000652: 059538,000653: 16,3140 34737 CAF BIT13 059539,000654: 16,3141 00006 EXTEND 059540,000655: 16,3142 02031 RAND CHAN31 059541,000656: 16,3143 00006 EXTEND 059542,000657: 16,3144 13150 BZF +4 059543,000658: 16,3145 30032 CA CDUX # (X-AXIS OVERRIDE) 059544,000659: 16,3146 55634 TS CDUXD 059545,000660: 16,3147 03152 TC +3 059546,000661: 16,3150 04674 TC IBNKCALL 059547,000662: 16,3151 40154 FCADR ZATTEROR 059548,000663: 16,3152 00003 RELINT 059549,000664: 16,3153 13467 TCF PURGENCY 059550,000665: 059551,000666: 16,3154 55464 TS PERROR 059552,000667: 16,3155 34740 JUSTOUT CA OURRCBIT # INITIALIZATION -- FIRST MANUAL PASS. 059553,000668: 16,3156 26111 ADS DAPBOOLS 059554,000669: 16,3157 34755 CA ZERO 059555,000670: 16,3160 55446 TS DXERROR 059556,000671: 16,3161 55447 TS DXERROR +1 059557,000672: 16,3162 55450 TS DYERROR 059558,000673: 16,3163 55451 TS DYERROR +1 059559,000674: 16,3164 55452 TS DZERROR 059560,000675: 16,3165 55453 TS DZERROR +1 059561,000676: 16,3166 55454 TS PLAST 059562,000677: 16,3167 55455 TS QLAST 059563,000678: 16,3170 55456 TS RLAST 059564,000679: 16,3171 54042 TS Q-RHCCTR 059565,000680: 16,3172 54044 TS R-RHCCTR 059566,000681: 16,3173 33132 CA PQRBIT 059567,000682: 16,3174 71262 MASK RCSFLAGS 059568,000683: 16,3175 55262 TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0. 059569,000684: # Page 1431 059570,000685: 16,3176 03201 TC ZEROENBL 059571,000686: 16,3177 00003 RELINT 059572,000687: 16,3200 13446 TCF JETSOFF 059573,000688: 16,3201 22044 ZEROENBL LXCH R-RHCCTR 059574,000689: 16,3202 30042 CA Q-RHCCTR 059575,000690: 16,3203 53463 DXCH SAVEHAND 059576,000691: 16,3204 34755 CA ZERO 059577,000692: 16,3205 54043 TS P-RHCCTR 059578,000693: 16,3206 54042 TS Q-RHCCTR 059579,000694: 16,3207 54044 TS R-RHCCTR 059580,000695: 16,3210 00004 INHINT 059581,000696: 16,3211 00006 EXTEND 059582,000697: 16,3212 23265 QXCH C13QSAV 059583,000698: 16,3213 06022 TC C13STALL 059584,000699: 059585,000700: 16,3214 33623 CA BITS8,9 059586,000701: 16,3215 00006 EXTEND 059587,000702: 16,3216 05013 WOR CHAN13 # COUNTERS ZEROED AND ENABLED 059588,000703: 16,3217 01265 TC C13QSAV 059589,000704: 059590,000705: 16,3220 34755 RATEDAMP CA ZERO 059591,000706: 16,3221 54043 TS P-RHCCTR 059592,000707: 16,3222 13232 TCF RATERROR 059593,000708: 059594,000709: 16,3223 41262 RHCMOVED CS RCSFLAGS # SET JUSTIN BIT TO 1 059595,000710: 16,3224 74743 MASK BIT9 059596,000711: 16,3225 27262 ADS RCSFLAGS 059597,000712: 16,3226 34740 CA OURRCBIT # P CONTROL 059598,000713: 16,3227 70111 MASK DAPBOOLS 059599,000714: 16,3230 00006 EXTEND 059600,000715: 16,3231 13154 BZF JUSTOUT -1 059601,000716: 16,3232 30032 RATERROR CA CDUX # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING 059602,000717: 16,3233 55634 TS CDUXD # X-AXIS OVERRIDE 059603,000718: 16,3234 10043 CCS P-RHCCTR 059604,000719: 16,3235 13240 TCF +3 059605,000720: 16,3236 13240 TCF +2 059606,000721: 16,3237 13240 TCF +1 059607,000722: 16,3240 60000 DOUBLE # LINEAR/QUADRATIC CONTROLLER SCALING 059608,000723: 16,3241 60000 DOUBLE # (SEE EXPLANATION OF Q,R-AXES RCS 059609,000724: 16,3242 63133 AD LINRATP # AUTOPILOT) 059610,000725: 16,3243 00006 EXTEND 059611,000726: 16,3244 70043 MP P-RHCCTR 059612,000727: 16,3245 30001 CA L 059613,000728: 16,3246 00006 EXTEND 059614,000729: 16,3247 71444 MP STIKSENS 059615,000730: 16,3250 57454 XCH PLAST 059616,000731: 16,3251 40000 COM 059617,000732: 16,3252 61454 AD PLAST 059618,000733: 16,3253 55736 TS DAPTEMP1 059619,000734: 16,3254 03201 TC ZEROENBL # INTERVAL. ZERO AND ENABLE ACA COUNTERS. 059620,000735: # Page 1432 059621,000736: 16,3255 00003 RELINT 059622,000737: 16,3256 41454 CS PLAST 059623,000738: 16,3257 61421 AD OMEGAP 059624,000739: 16,3260 55427 TS EDOTP 059625,000740: 16,3261 11736 CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT 059626,000741: 16,3262 13265 TCF +3 # LEVEL, GO TO DIRECT RATE CONTROL. IF NOT 059627,000742: 16,3263 13273 TCF +8D # CHECK FOR DIRECT RATE CONTROL LAST TIME. 059628,000743: 16,3264 13265 TCF +1 059629,000744: 16,3265 61476 AD -RATEDB 059630,000745: 16,3266 00006 EXTEND 059631,000746: 16,3267 63273 BZMF +4 059632,000747: 16,3270 34771 CA 40CYC 059633,000748: 16,3271 55445 TS TCP 059634,000749: 16,3272 03304 TC PEGI 059635,000750: 16,3273 31262 CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME. 059636,000751: 16,3274 74742 MASK PBIT 059637,000752: 16,3275 00006 EXTEND 059638,000753: 16,3276 13300 BZF +2 059639,000754: 16,3277 03304 TC PEGI # TO PURE RATE COMMAND 059640,000755: 16,3300 31446 CA DXERROR # PSEUDO-AUTO CONTROL. 059641,000756: 16,3301 55751 TS E # X-ATTITUDE ERROR (SP) 059642,000757: 16,3302 55464 TS PERROR # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY 059643,000758: 16,3303 03473 TC PURGENCY +4 059644,000759: 16,3304 30032 PEGI CA CDUX # DIRECT RATE CONTROL. 059645,000760: 16,3305 55634 TS CDUXD 059646,000761: 16,3306 34755 CA ZERO 059647,000762: 16,3307 55446 TS DXERROR 059648,000763: 16,3310 55447 TS DXERROR +1 059649,000764: 16,3311 55464 TS PERROR # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY 059650,000765: 16,3312 11427 CCS EDOTP 059651,000766: 16,3313 03316 TC +3 059652,000767: 16,3314 03316 TC +2 059653,000768: 16,3315 03316 TC +1 059654,000769: 16,3316 55736 TS ABSEDOTP 059655,000770: 16,3317 61476 AD TARGETDB 059656,000771: 16,3320 00006 EXTEND # IF RATE ERROR IS LESS THAN DEADBANK, 059657,000772: 16,3321 63331 BZMF LAST # FIRE, AN SWITCH TO PSEUDO-AUTO. 059658,000773: 16,3322 31445 CA TCP 059659,000774: 16,3323 00006 EXTEND # IF TIME IN RATE COMMAND EXCEEDS 4 SEC. 059660,000775: 16,3324 63331 BZMF LAST 059661,000776: 16,3325 41262 CS RCSFLAGS 059662,000777: 16,3326 74742 MASK PBIT 059663,000778: 16,3327 27262 ADS RCSFLAGS # BIT 10 IS 1. 059664,000779: 16,3330 13334 TCF +4 059665,000780: 16,3331 44742 LAST CS PBIT 059666,000781: 16,3332 71262 MASK RCSFLAGS 059667,000782: 16,3333 55262 TS RCSFLAGS # BIT 10 IS 0. 059668,000783: 16,3334 41427 CS EDOTP 059669,000784: 16,3335 00006 EXTEND 059670,000785: 16,3336 71550 MP 1/ANETP # 1/2JTACC SCALED AT 2EXP(7)/PI 059671,000786: # Page 1433 059672,000787: 16,3337 20001 DAS A 059673,000788: 16,3340 02310 TC OVERSUB 059674,000789: 16,3341 00006 EXTEND 059675,000790: 16,3342 77721 MP 25/32 # A CONTAINS TJET SCALED AT 2EXP(4)(16/25) 059676,000791: 16,3343 55524 TS TJP # 4.JET TIME 059677,000792: 16,3344 31736 CA ABSEDOTP 059678,000793: 16,3345 61475 AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT 059679,000794: 16,3346 00006 EXTEND 059680,000795: 16,3347 63352 BZMF +3 059681,000796: 059682,000797: 16,3350 36245 CA SIX 059683,000798: 16,3351 13361 TCF +8D 059684,000799: 16,3352 31524 CA TJP 059685,000800: 16,3353 27524 ADS TJP 059686,000801: 059687,000802: # GOES TO PJETSLEC FOR TWO JETS 059688,000803: # P-JET-SELECTION-ROUTINE (ROTATION) 059689,000804: 059690,000805: # INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS 059691,000806: # TJP + FOR +P ROTATION 059692,000807: 059693,000808: # OUTPUT: CHANNEL 6 059694,000809: # PJUMPADR FOR P-AXIS SKIP 059695,000810: # (JTLST CALL) (SMALL TJP) 059696,000811: 059697,000812: # ORDER OF POLICIES TRIED IN CASE OF FAILURE. 059698,000813: # +P -P 059699,000814: # 7,15 8,16 059700,000815: # 4,12 3,11 059701,000816: # 4,7 8,11 059702,000817: # 7,12 11,16 059703,000818: # 12,15 3,16 059704,000819: # 4,15 3,8 059705,000820: # ALARM ALARM 059706,000821: 059707,000822: 16,3354 34747 CA AORBSYST 059708,000823: 16,3355 70101 MASK FLAGWRD5 059709,000824: 16,3356 10000 CCS A 059710,000825: 16,3357 34753 CA ONE 059711,000826: 16,3360 64751 AD FOUR 059712,000827: 16,3361 55742 TS NUMBERT 059713,000828: 16,3362 34753 PJETSLEC CA ONE 059714,000829: 16,3363 54001 TS L 059715,000830: 16,3364 11524 CCS TJP 059716,000831: 16,3365 13372 TCF +5 059717,000832: 16,3366 13446 TCF JETSOFF 059718,000833: 16,3367 13371 TCF +2 059719,000834: 16,3370 13446 TCF JETSOFF 059720,000835: 16,3371 22007 ZL 059721,000836: 16,3372 64753 AD ONE 059722,000837: 16,3373 55736 TS ABSTJ 059723,000838: # Page 1434 059724,000839: 16,3374 23743 LXCH ROTINDEX 059725,000840: 16,3375 03535 TC SELECTP 059726,000841: 16,3376 46245 CS SIX 059727,000842: 16,3377 61742 AD NUMBERT 059728,000843: 16,3400 00006 EXTEND 059729,000844: 16,3401 13403 BZF +2 059730,000845: 059731,000846: 16,3402 44752 CS TWO 059732,000847: 16,3403 64751 AD FOUR 059733,000848: 16,3404 55521 TS NO.PJETS 059734,000849: 16,3405 31740 CA POLYTEMP 059735,000850: 16,3406 05744 TC WRITEP 059736,000851: 16,3407 41736 CS ABSTJ 059737,000852: 16,3410 63616 AD +150MST6 059738,000853: 16,3411 00006 EXTEND 059739,000854: 16,3412 63630 BZMF QRAXIS # GO TO QRAXIS OR TO GTS. 059740,000855: 059741,000856: 16,3413 63576 AD -136MST6 059742,000857: 16,3414 00006 EXTEND 059743,000858: 16,3415 63422 BZMF +5 059744,000859: 059745,000860: 16,3416 27736 ADS ABSTJ 059746,000861: 16,3417 51743 INDEX ROTINDEX 059747,000862: 16,3420 33625 CA MINTIMES 059748,000863: 16,3421 55524 TS TJP 059749,000864: 059750,000865: 16,3422 31736 CA ABSTJ 059751,000866: 16,3423 22007 ZL 059752,000867: 16,3424 00004 INHINT 059753,000868: 16,3425 53471 DXCH T6FURTHA 059754,000869: 16,3426 04674 TC IBNKCALL 059755,000870: 16,3427 37143 CADR JTLST 059756,000871: 16,3430 44740 CS BIT12 059757,000872: 16,3431 71262 MASK RCSFLAGS 059758,000873: 16,3432 55262 TS RCSFLAGS # BIT 12 SET TO 0. 059759,000874: 16,3433 03435 TC ALTSYST 059760,000875: 16,3434 13630 TCF QRAXIS 059761,000876: 059762,000877: 16,3435 30101 ALTSYST CA FLAGWRD5 # ALTERNATE P-AXIS JETS 059763,000878: 16,3436 54001 TS L 059764,000879: 16,3437 34747 CA AORBSYST 059765,000880: 16,3440 00006 EXTEND 059766,000881: 16,3441 06001 RXOR LCHAN 059767,000882: 16,3442 54101 TS FLAGWRD5 059768,000883: 16,3443 00003 RELINT 059769,000884: 16,3444 00002 TC Q 059770,000885: 059771,000886: 16,3445 03435 DKALT TC ALTSYST 059772,000887: 059773,000888: 16,3446 05743 JETSOFF TC WRITEP -1 059774,000889: # Page 1435 059775,000890: 16,3447 34755 CA ZERO 059776,000891: 16,3450 55524 TS TJP 059777,000892: 16,3451 13630 TCF QRAXIS 059778,000893: 059779,000894: # (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.) 059780,000895: 059781,000896: 16,3452 30033 CALCPERR CA CDUY # P-ERROR CALCULATION. 059782,000897: 16,3453 00006 EXTEND 059783,000898: 16,3454 21635 MSU CDUYD # CDU VALUE -- ANGLE DESIRED (Y-AXIS) 059784,000899: 16,3455 00006 EXTEND 059785,000900: 16,3456 71414 MP M11 # (CDUY-CDUYD)M1 SCALED AT PI RADIANS 059786,000901: 16,3457 57751 XCH E # SAVE FIRST TERM (OF TWO) 059787,000902: 16,3460 30032 CA CDUX # THIRD COMPONENT 059788,000903: 16,3461 00006 EXTEND 059789,000904: 16,3462 21634 MSU CDUXD # CDU VALUE -- ANGLE DESIRED (X-AXIS) 059790,000905: # EXTEND 059791,000906: # MP M13 059792,000907: 16,3463 61274 AD DELPEROR # KALCMANU INTERFACE ERROR. 059793,000908: 16,3464 27751 ADS E # SAVE SUM OF TERMS. COULD BE OVERFLOW. 059794,000909: 16,3465 57464 XCH PERROR # SAVE P-ERROR FOR EIGHT-BALL DISPLAY. 059795,000910: 16,3466 00002 TC Q # RETURN TO CALLER 059796,000911: 059797,000912: # P-AXIS URGENCY FUNCTION CALCULATION. 059798,000913: 059799,000914: 16,3467 03452 PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS. 059800,000915: 16,3470 41642 CS OMEGAPD # THIS CODING IS COMMON TO BOTH LM DAP AND 059801,000916: 16,3471 61421 AD OMEGAP # SPS-BACKUP MODE. 059802,000917: 16,3472 55427 TS EDOTP # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC 059803,000918: 059804,000919: 16,3473 44753 CS ONE 059805,000920: 16,3474 55505 TS AXISCTR 059806,000921: 16,3475 30111 CA DAPBOOLS 059807,000922: 16,3476 74737 MASK CSMDOCKD 059808,000923: 16,3477 00006 EXTEND 059809,000924: 16,3500 13511 BZF HEADTJET 059810,000925: 16,3501 00004 INHINT # IF CSMDOCKD = 1, GOT TO DOCKED RCS LOGIC 059811,000926: 16,3502 04674 TC IBNKCALL 059812,000927: 16,3503 43736 CADR SPSRCS 059813,000928: 059814,000929: 16,3504 31524 CA TJP 059815,000930: 16,3505 00006 EXTEND 059816,000931: 16,3506 13445 BZF DKALT # IF TJP = ZERO, CHANGE AORBSYST. 059817,000932: 16,3507 00003 RELINT 059818,000933: 16,3510 13354 TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS. 059819,000934: 16,3511 34755 HEADTJET CA ZERO 059820,000935: 16,3512 55500 TS SENSETYP 059821,000936: 16,3513 00004 INHINT 059822,000937: 16,3514 04674 TC IBNKCALL 059823,000938: 16,3515 37304 CADR TJETLAW 059824,000939: 16,3516 00003 RELINT 059825,000940: # Page 1436 059826,000941: 16,3517 41740 CS FIREFCT 059827,000942: 16,3520 63534 AD -FOURDEG 059828,000943: 16,3521 00006 EXTEND 059829,000944: 16,3522 63354 BZMF PJETSLEC -6 059830,000945: 16,3523 11524 CCS TJP 059831,000946: 16,3524 13526 TCF +2 059832,000947: 16,3525 13446 TCF JETSOFF 059833,000948: 16,3526 63533 AD -160MST6 059834,000949: 16,3527 00006 EXTEND 059835,000950: 16,3530 63354 BZMF PJETSLEC -6 059836,000951: 16,3531 36245 CA SIX 059837,000952: 16,3532 13361 TCF PJETSLEC -1 059838,000953: 16,3533 77377 -160MST6 DEC -256 B-14 059839,000954: 16,3534 75117 -FOURDEG DEC -.08888 059840,000955: 059841,000956: # Page 1437 059842,000957: # JET POLICY CONTSTRUCTION SUBROUTINE 059843,000958: 059844,000959: # INPUT: ROTINDEX, NUMBERT 059845,000960: 059846,000961: # OUTPUT: POLYTEMP (JET POLICY) 059847,000962: 059848,000963: # THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE 059849,000964: 059850,000965: 16,3535 36245 SELECTP CA SIX 059851,000966: 16,3536 55741 TS TEMPNUM 059852,000967: 16,3537 51742 INDEX NUMBERT 059853,000968: 16,3540 33567 CA TYPEP 059854,000969: 16,3541 51743 INDEX ROTINDEX 059855,000970: 16,3542 73560 MASK JETSALL 059856,000971: 16,3543 55740 TS POLYTEMP 059857,000972: 16,3544 71260 MASK CH6MASK 059858,000973: 16,3545 10000 CCS A 059859,000974: 16,3546 13550 TCF +2 059860,000975: 16,3547 00002 TC Q 059861,000976: 16,3550 11741 CCS TEMPNUM 059862,000977: 16,3551 13555 TCF +4 059863,000978: 16,3552 05567 TC ALARM 059864,000979: 16,3553 02003 OCT 02003 059865,000980: 16,3554 13446 TCF JETSOFF # ********** TCF ALARMJET ********** 059866,000981: 16,3555 55742 SELECTYZ TS NUMBERT 059867,000982: 16,3556 13536 TCF SELECTP +1 059868,000983: 16,3557 12773 -1 TCF ABORTYZ +2 059869,000984: 16,3560 00252 JETSALL OCT 00252 059870,000985: 16,3561 00125 OCT 00125 # +P 059871,000986: 16,3562 00140 OCT 00140 # -Y 059872,000987: 16,3563 00006 OCT 00006 # -Z 059873,000988: 16,3564 00220 OCT 00220 # +Y 059874,000989: 16,3565 00011 OCT 00011 # +Z 059875,000990: 16,3566 00151 OCT 00151 # +V 059876,000991: 16,3567 00146 TYPEP OCT 00146 # -U 059877,000992: 16,3570 00226 OCT 00226 # -V 059878,000993: 16,3571 00231 OCT 00231 # +U 059879,000994: 16,3572 00151 OCT 00151 # +V 059880,000995: 16,3573 00132 OCT 00132 # 1-3 059881,000996: 16,3574 00245 OCT 00245 # 2-4 059882,000997: 16,3575 00377 OCT 00377 # ALL 059883,000998: 16,3576 16,3576 INDXYZ = -136MST6 059884,000999: 16,3576 77445 -136MST6 DEC -218 B-14 059885,001000: 16,3577 00004 DEC 4 B-14 059886,001001: 16,3600 00002 DEC 2 B-14 059887,001002: 16,3601 07776 OCT 07776 059888,001003: 16,3602 00005 DEC 5 B-14 059889,001004: 16,3603 00011 DEC 9 B-14 059890,001005: 16,3604 00012 DEC 10 B-14 059891,001006: 16,3605 07776 OCT 07776 059892,001007: 16,3606 00003 DEC 3 B-14 059893,001008: # Page 1438 059894,001009: 16,3607 00010 DEC 8 B-14 059895,001010: 16,3610 00007 DEC 7 B-14 059896,001011: 16,3611 07776 OCT 07776 # THESE INDEXES OF MASK JETSALL WILL 059897,001012: 16,3612 07776 OCT 07776 # CHANGE THE INSTRUCTION AT SELECTP +4 059898,001013: 16,3613 07776 OCT 07776 # TO BE TC JETSALL -1 059899,001014: 16,3614 07776 OCT 07776 # ONLY USED FOR TRANSLATION FAILURE 059900,001015: 16,3615 07776 OCT 07776 059901,001016: 16,3616 00360 +150MST6 DEC 240 B-14 059902,001017: 16,3617 07400 07400OCT OCT 07400 059903,001018: 059904,001019: # T-JET LAW FIXED CONSTANTS 059905,001020: 059906,001021: 16,3620 00266 NORMSCL OCT 266 059907,001022: 16,3621 74631 -100MS DEC -.1 059908,001023: 16,3622 06315 200MS DEC .2 059909,001024: 16,3623 7721 25/32 = PRIO31 # (DEC .78125) 059910,001025: 16,3623 00600 BITS8,9 OCTAL 00600 059911,001026: 16,3624 00632 1/40 DEC .02500 059912,001027: 16,3625 77751 MINTIMES DEC -22 B-14 059913,001028: 16,3626 00026 DEC 22 B-14 059914,001029: 16,3627 02734 PSKIPADR GENADR SKIPPAXS 059915,001030: 059916,001031: # GOES TO Q,R-AXES RCS AUTOPILOT 059917,001032: 059918,001033: 16,3630 41644 QRAXIS CS OMEGARD 059919,001034: 16,3631 61423 AD OMEGAR 059920,001035: 16,3632 02310 TC OVERSUB 059921,001036: 16,3633 55437 TS EDOTR 059922,001037: 16,3634 41643 CS OMEGAQD 059923,001038: 16,3635 61422 AD OMEGAQ 059924,001039: 16,3636 02310 TC OVERSUB 059925,001040: 16,3637 55436 TS EDOTQ 059926,001041: 16,3640 00006 EXTEND 059927,001042: 16,3641 33644 DCA QERRCALL 059928,001043: 16,3642 52006 DTCB 059929,001044: 059930,001045: 16,3643 E6,1536 EBANK= AOSQ 059931,001046: 16,3643 02124 36106 QERRCALL 2CADR CALLQERR End of include-file P-AXIS_RCS_AUTOPILOT.agc. Parent file is MAIN.agc