Source Code
These source-code files were derived from scans of the
Colossus 237 (Apollo 8 Command Module) program listing from the private collection of original
AGC developer Fred Martin. Scanning was by Ron Burkey. Pre-existing Colossus 249
(Apollo 9 CM) source files were used as a template, and changes between Colossus 249
and Colossus 237 were manually transcribed by a team of volunteers. Note
that the page images
presented online are of reduced quality, and that additional images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS BY NASA 2021111-031 1:17 AUG. 24, 1968Note that the date is the date of the printout, not the date of the program revision. |
044709,000002: ## Copyright: Public domain.
044710,000003: ## Filename: CM_ENTRY_DIGITAL_AUTOPILOT.agc
044711,000004: ## Purpose: Part of the source code for Colossus build 237.
044712,000005: ## This is for the Command Module's (CM) Apollo Guidance
044713,000006: ## Computer (AGC), for Apollo 8.
044714,000007: ## Assembler: yaYUL
044715,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
044716,000009: ## Website: www.ibiblio.org/apollo/index.html
044717,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
044718,000011: ## Mod history: 2011-04-09 JL Adapted from corresponding Colossus 249 file.
044719,000012: ## 2011-04-17 JL Removed temporary line.
044720,000013: ## 2011-04-27 JL Fixed symbol name.
044721,000014: ## 2011-04-29 JL Had = instead of DEC.
044722,000015: ## 2016-11-02 RSB Typo (offset-target +4 was not indented).
044723,000016: ## 2017-01-01 RSB Proofed comment text using octopus/ProoferComments,
044724,000017: ## and fixed errors found.
044725,000018: ## 2017-01-07 RSB Fixed comment errors detected in cross-diff vs
044726,000019: ## Colossus 249.
044727,000020: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
044728,000021: ## side-by-side diff of Luminary 69/99/116/131/210.
044729,000022: ## 2017-03-16 RSB Comment-text fixes identified in 4-way side-by-side
044730,000023: ## diff of Colossus237/249/Comanche55/Artemis72.
044731,000024:
Page 1031 |
044733,000026: # SUBROUTINE TO READ GYMBAL ANGLES AND FORM DIFFERENCES. GIMBAL ANGLES ARE SAVED IN 2S COMPLEMENT, BUT THE
044734,000027: # DIFFERENCES ARE IN 1S COMP. ENTER AND READ ANGLES EACH .1 SEC.
044735,000028:
044736,000029: # CM/DSTBY = 1 FOR DAP OPERATION
044737,000030: # CM/DSTBY = 0 TO TERMINATE DAP OPERATION.
044738,000031:
044739,000032: 15,2454 BANK 15
044740,000033:
044741,000034: 15,2000 SETLOC ETRYDAP
044742,000035: 15,2000 BANK
044743,000036:
044744,000037: 15,2454 COUNT 15/DAPEN
044745,000038:
044746,000039: 15,2454 E6,1661 EBANK= AOG
044747,000040:
044748,000041: 15,2454 34377 READGYMB CA TEN # KEEP RESTART DT GOING RELATIVE TO
044749,000042: 15,2455 27725 ADS CM/GYMDT # PIPTIME. (GROUP 6)
044750,000043:
044751,000044: # IF A RESTART OCCURS, SKIP PRESENT CYCLE. THE
044752,000045: # PHASCHNG PROTECTION IS IN CM/DAPIC.
044753,000046:
044754,000047: 15,2456 34705 CA BIT6 # CHECK FOR FINE ALIGN MODE OF CDU.
044755,000048: 15,2457 71321 MASK IMODES33 # ( PROTECT AOG/PIP ETC AS WELL AS
044756,000049: 15,2460 00006 EXTEND # GIMBAL DIFFERENCES)
044757,000050: 15,2461 12467 BZF READGYM1 # OK
044758,000051:
044759,000052: 15,2462 44712 CS BIT1 # NOT IN FINE ALIGN, SO IDLE.
044760,000053: 15,2463 70102 MASK CM/FLAGS # SET GYMDIFSW = 0
044761,000054: 15,2464 54102 TS CM/FLAGS
044762,000055: 15,2465 06000 TC FLUSHJET # QUENCH JETS, SINCE MAY BE A WHILE.
044763,000056: 15,2466 02534 TC CM/GYMIC +2
044764,000057:
044765,000058: 15,2467 30032 READGYM1 CA CDUX
044766,000059: 15,2470 57661 XCH AOG
044767,000060: 15,2471 00006 EXTEND
044768,000061: 15,2472 21661 MSU AOG # -DELAOG=AOG(N-1) - AOG(N)
044769,000062: 15,2473 55675 TS -DELAOG
044770,000063:
044771,000064: 15,2474 30033 CA CDUY
044772,000065: 15,2475 57662 XCH AIG
044773,000066: 15,2476 00006 EXTEND
044774,000067: 15,2477 21662 MSU AIG
044775,000068: 15,2500 55676 TS -DELAIG
044776,000069:
044777,000070: 15,2501 30034 CA CDUZ
044778,000071: 15,2502 57663 XCH AMG
044779,000072: 15,2503 00006 EXTEND
044780,000073: 15,2504 21663 MSU AMG
044781,000074: 15,2505 55677 TS -DELAMG
044782,000075:
Page 1032 |
044784,000077: 15,2506 40102 DOBRATE? CS CM/FLAGS # CM/DSTBY=103D BIT2 GYMDIFSW=104D BIT1
044785,000078: 15,2507 76214 MASK THREE
044786,000079: 15,2510 50000 INDEX A
044787,000080: 15,2511 02512 TC +1
044788,000081: 15,2512 02521 TC DOBRATE # OK, GO ON
044789,000082: 15,2513 02532 TC CM/GYMIC # DONT CALC BODYRATE ON FIRST PASS.
044790,000083: 15,2514 12515 NOOP
044791,000084: 15,2515 06000 TC FLUSHJET # TURN OFF ALL JETS
044792,000085:
044793,000086: 15,2516 05301 TC PHASCHNG
044794,000087: 15,2517 00006 OCT 00006 # DEACTIVATE DAP GROUP 6.
044795,000088:
044796,000089: 15,2520 05213 TC TASKOVER
044797,000090:
044798,000091: 15,2521 34712 DOBRATE CA ONE # DO BODYRATE
044799,000092: 15,2522 55720 DOBRATE1 TS JETEM # SKIP BODYRATE.
044800,000093:
044801,000094: 15,2523 34377 CA TEN # KEEP CDU READ GOING.
044802,000095: 15,2524 05140 TC WAITLIST
044803,000096: 15,2525 E6,1661 EBANK= AOG
044804,000097: 15,2525 02454 32066 2CADR READGYMB
044805,000098:
044806,000099: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
044807,000100:
044808,000101: 15,2527 11720 CCS JETEM
044809,000102: 15,2530 02556 TC BODYRATE
044810,000103: 15,2531 05213 TC TASKOVER # SKIP CALC ON INITIAL PASS. (PASSES)
044811,000104:
044812,000105: 15,2532 26102 CM/GYMIC ADS CM/FLAGS # GYMDIFSW: C(A)=1, KNOW BIT IS 0
044813,000106: 15,2533 34714 CAF ZERO
044814,000107: 15,2534 55711 TS JETAG
044815,000108: 15,2535 55706 TS OLDELP
044816,000109: 15,2536 55707 TS OLDELQ
044817,000110: 15,2537 55710 TS OLDELR
044818,000111: 15,2540 55723 TS GAMDOT # NO GYM DIF, PROB NO GAM DIF.
044819,000112: 15,2541 02522 TC DOBRATE1
044820,000113:
Page 1033 |
044822,000115: # COME HERE TO CORRECT FOR OVERFLOW IN ANGULAR CALCULATIONS
044823,000116:
044824,000117: 15,2542 54001 ANGOVCOR TS L # THIS COSTS 2 MCT TO USE.
044825,000118: 15,2543 00002 TC Q # NO OVFL
044826,000119: 15,2544 50000 INDEX A
044827,000120: 15,2545 34673 CAF LIMITS
044828,000121: 15,2546 26001 ADS L
044829,000122: 15,2547 00002 TC Q
044830,000123:
044831,000124: 6000 BLOCK 3
044832,000125:
044833,000126: 6000 COUNT 03/DAPEN
044834,000127:
044835,000128: 6000 30007 FLUSHJET CA 7 # COME HERE TO TURN OFF ALL JETS.
044836,000129: 6001 00006 EXTEND
044837,000130: 6002 01006 WRITE ROLLJETS # ZERO CHANNEL 6
044838,000131: 6003 00006 EXTEND
044839,000132: 6004 01005 WRITE PYJETS # ZERO CHANNEL 5
044840,000133: 6005 00002 TC Q
044841,000134:
044842,000135: 15,2550 BANK 15
044843,000136:
044844,000137: 15,2550 COUNT 15/DAPEN
044845,000138:
044846,000139: 15,2000 SETLOC ETRYDAP
044847,000140: 15,2000 BANK
044848,000141:
044849,000142: 15,2550 40000 RATEAVG COM # SUBROUTINE TO ESTIMATE RATES IN PRESENCE
044850,000143: 15,2551 61720 AD JETEM # OF CONSTANT ACCELERATION.
044851,000144: 15,2552 00006 EXTEND
044852,000145: 15,2553 74675 MP HALF # DELV (EST) = DELV +(DELV-OLDELV)/2
044853,000146: 15,2554 61720 AD JETEM
044854,000147: 15,2555 00002 TC Q
044855,000148:
Page 1034 |
044857,000150: # THESE ARE CALLED FOR THE VARIOUS INITIALIZATIONS NEEDED.
044858,000151:
044859,000152: 20,3550 BANK 20
044860,000153: 20,2000 SETLOC DAPS1
044861,000154: 20,2000 BANK
044862,000155:
044863,000156: 20,3550 COUNT 20/DAPEN
044864,000157:
044865,000158: 20,3550 E6,1661 EBANK= AOG
044866,000159:
044867,000160: 20,3550 34752 CM/DAPON CA EBAOG
044868,000161: 20,3551 54003 TS EBANK
044869,000162:
044870,000163: 20,3552 05447 TC DOWNFLAG # RESET DAPBIT1. T5 RESTART IDENTIFIER.
044871,000164: 20,3553 00132 ADRES DAPBIT1 # BIT 15 FLAG 6 CM FLAGS.
044872,000165: 20,3554 05447 TC DOWNFLAG # RESET DAPBIT2
044873,000166: 20,3555 00133 ADRES DAPBIT2 # BIT 14 FLAG 6
044874,000167: 20,3556 00006 EXTEND
044875,000168: 20,3557 33675 DCA T5IDLER1 # DISABLE RCS CALCULATION
044876,000169: 20,3560 53313 DXCH T5LOC
044877,000170: 20,3561 00006 EXTEND
044878,000171: 20,3562 33675 DCA T5IDLER1 # DISABLE RCS JET CALLS
044879,000172: 20,3563 53311 DXCH T6LOC
044880,000173:
044881,000174: 20,3564 06000 TC FLUSHJET # JETS DEPARTED ON SM. ZERO JET BITS.
044882,000175:
044883,000176: 20,3565 47707 CS 13,14,15
044884,000177: 20,3566 71466 MASK DAPDATR1 # SET CONFIG BITS =0 FOR ENTRY
044885,000178: 20,3567 55466 TS DAPDATR1
044886,000179: 20,3570 03574 TC +4
044887,000180:
044888,000181: 20,3571 34731 NOTYET CA .5SEC
044889,000182: 20,3572 04555 TC BANKCALL
044890,000183: 20,3573 01730 CADR DELAYJOB # (DELAYJOB DOES INHINT)
044891,000184: 20,3574 34700 +4 CA BIT11 # GAMDIFSW = 94D BIT11, INITLY=0
044892,000185: 20,3575 70102 MASK CM/FLAGS # IF ZERO, WAIT UNTIL CM/POSE UPDATE.
044893,000186: 20,3576 00006 EXTEND
044894,000187: 20,3577 13571 BZF NOTYET
044895,000188:
044896,000189: 20,3600 44712 CS ONE # ACTIVATE CM/DAP
044897,000190: 20,3601 55501 TS RCSFLAGS # USE BIT3 TO INITIALIZE NEEDLER ON
044898,000191: # NEXT PASS.
044899,000192: 20,3602 55727 TS P63FLAG # SO WAKEP62 WILL NOT BE INITIATED UNTIL
044900,000193: # HEADSUP IS SET IN P62.
044901,000194: # FLAG TO PREVENT MULTIPLE CALLS TO WAKEP62.
044902,000195:
044903,000196: 20,3603 30007 CA 7
044904,000197: 20,3604 55711 TS JETAG
044905,000198: 20,3605 55713 TS PAXERR1 # KEEP NEEDLES ZERO UNTIL DAP UPDATE
044906,000199: # IN CASE CMDAPMOD IS NOT +1.
Page 1035 |
044908,000201: 20,3606 00004 INHINT
044909,000202: 20,3607 00006 EXTEND
044910,000203: 20,3610 31666 DCA ALFA/180 # DO ATTITUDE HOLD UNTIL KEYBOARD
044911,000204: 20,3611 53604 DXCH ALFACOM # ESTABLISHES HEADSUP.
044912,000205: 20,3612 31664 CA ROLL/180
044913,000206: 20,3613 55717 TS ROLLHOLD # FOR ATTITUDE HOLD IN MODE +1.
044914,000207: 20,3614 00006 EXTEND
044915,000208: 20,3615 74675 MP HALF
044916,000209: 20,3616 55715 TS ROLLC # NOT INTERESTED IN LO WORD.
044917,000210:
044918,000211: 20,3617 40102 CS CM/FLAGS
044919,000212: 20,3620 74677 MASK BIT12 # CMDAPARM =93D BIT12 INITLY=0
044920,000213: 20,3621 26102 ADS CM/FLAGS # SET BIT TO 1.
044921,000214:
044922,000215: 20,3622 40076 CS FLAGWRD2 # SET NODOFLAG TO PREVENT FURTHER
044923,000216: 20,3623 74712 MASK BIT1 # V 37 ENTRIES.
044924,000217: 20,3624 26076 ADS FLAGWRD2
044925,000218:
044926,000219: 20,3625 00003 RELINT
044927,000220:
044928,000221: 20,3626 04574 TC POSTJUMP
044929,000222: 20,3627 54342 CADR P62.1
044930,000223:
Page 1036 |
044932,000225: # INITIALIZE CM/DAP. WAITLIST CALL FOR READGYMB. SET SWITCH CM/DSTBY =1
044933,000226: # SO READACCS WILL ENTER A WTLST CALL FOR SETJTAG .
044934,000227: # CMDAPARM = 0 , SO ONLY BODY RATE AND ATTITUDE CALCULATIONS ARE DONE.
044935,000228: # SET AVEGEXIT TO CONTINUE AT CM/POSE
044936,000229:
044937,000230:
044938,000231: 20,3630 34752 CM/DAPIC CA EBAOG
044939,000232: 20,3631 54003 TS EBANK
044940,000233:
044941,000234: 20,3632 00004 INHINT
044942,000235: 20,3633 41205 CM/DAP2C CS PIPTIME +1
044943,000236: # PRIO OF P62 L PRIO AVG,:PIPTM=PIPTM1
044944,000237: 20,3634 55720 TS JETEM
044945,000238:
044946,000239: 20,3635 34675 CA POS1/2
044947,000240: 20,3636 64675 AD POS1/2
044948,000241: 20,3637 60025 AD TIME1 # OVFL GUARANTEED
044949,000242: 20,3640 27720 ADS JETEM # C(A) = DELTA TIME SINCE PIPUP
044950,000243:
044951,000244: 20,3641 44715 CS FIVE
044952,000245: 20,3642 61720 AD JETEM
044953,000246: 20,3643 10000 CCS A
044954,000247: 20,3644 63673 AD -CDUT+1
044955,000248: 20,3645 13643 TCF -2
044956,000249: 20,3646 13647 NOOP
044957,000250: 20,3647 64712 AD ONE # SEND NO ZERO TO WTLST
044958,000251: 20,3650 55725 TS CM/GYMDT # FOR RESTART
044959,000252: 20,3651 05140 TC WAITLIST
044960,000253: 20,3652 E6,1661 EBANK= AOG
044961,000254: 20,3652 02454 32066 2CADR READGYMB
044962,000255:
044963,000256: 20,3654 43672 CS CM/SWIC1 # GAMDIFSW, GYMDIFSW, CM/DSTBY
044964,000257: 20,3655 70102 MASK CM/FLAGS # DAPARM, .05GSW, LATSW, ENTRYDSP
044965,000258: 20,3656 64377 AD CM/SWIC2 # SET CM/DSTBY, LATSW
044966,000259: # DISABLE ENTRY DISPLAY, SINCE DES. GIMB.
044967,000260: # CALC. (P62.3) GOES TO ENDEXIT.
044968,000261: 20,3657 54102 TS CM/FLAGS
044969,000262:
044970,000263: 20,3660 30007 CA 7
044971,000264: 20,3661 55666 TS BETA/180 # NECESSARY: NO OVFL CORRECTION
044972,000265: 20,3662 34712 CA ONE # INITIALIZE THE TM OF BODY RATES VIA
044973,000266: 20,3663 54305 TS SW/NDX # UPBUFF.
044974,000267:
044975,000268: 20,3664 05261 TC 2PHSCHNG # DOES INHINT/RELINT
044976,000269: 20,3665 40116 OCT 40116 # SAVE TBASE6
044977,000270: 20,3666 05024 OCT 05024
044978,000271: 20,3667 13000 OCT 13000
044979,000272:
044980,000273: 20,3670 04574 TC POSTJUMP
Page 1037 |
044982,000275: 20,3671 54326 CADR P62.2
044983,000276:
044984,000277: 20,3672 16017 CM/SWIC1 OCT 16017
044985,000278: 20,3673 4377 CM/SWIC2 = TEN # 00012 : CM/DSTBY, LATSW
044986,000279: 20,3673 77766 -CDUT+1 OCT 77766
044987,000280: 20,3674 1312 EBANK= T5LOC
044988,000281: 20,3674 03132 12062 T5IDLER1 2CADR T5IDLOC
044989,000282:
Page 1038 |
044991,000284: # THIS SECTION CALCULATES THE ANGULAR BODY RATES EACH .1 SEC. THE ANGULAR RATES ARE THOSE ALONG THE BODY AXES
044992,000285: # XB, YB, ZB, AND ARE NORMALLY DESIGNATED P, Q, R. REQUIREMENT: TEMPORARY ERASE. JETEM, JETEM +1
044993,000286:
044994,000287: # SINCE RESTARTS ZERO THE JET OUTPUT CHANNELS, NO ATTEMPT IS MADE TO RESTART THE ENTRY DAPS. THAT IS,
044995,000288: # THE 0.1 SEC DAPS WILL MISS A CYCLE, AND WILL PICK UP AT THE NEXT 0.1 SEC UPDATE. MOST OF THE TIME THE 2 SEC
044996,000289: # ROLL SYSTEM WILL MISS ONLY 0.1 SEC OF CONTROL. HOWEVER IF THE RESTART OCCURS AFTER THE SECTION TIMETST HAS
044997,000290: # STARTED, THEN THE ROLL SYSTEM WILL MISS ONE CYCLE.
044998,000291: # THIS IS NECESSARY UNDER THE GROUNDRULE THAT NO JET COMMANDS SHALL BE LESS THAN 14 MS.
044999,000292:
045000,000293: 20,3676 E6,1661 EBANK= AOG
045001,000294: 15,2556 BANK 15
045002,000295: 15,2000 SETLOC ETRYDAP
045003,000296: 15,2000 BANK
045004,000297:
045005,000298: 15,2556 COUNT 15/DAPEN
045006,000299:
045007,000300: 15,2556 31663 BODYRATE CA AMG # THESE ARE 2S COMPL NOS, BUT USE ANYWAY.
045008,000301: 15,2557 04767 TC SPCOS
045009,000302: 15,2560 55511 TS COSM
045010,000303:
045011,000304: 15,2561 31661 CA AOG # C(AOG) = AOG/180
045012,000305: 15,2562 04770 TC SPSIN # SINO
045013,000306: 15,2563 55512 TS SINO # SINO = SIN(AOG)
045014,000307:
045015,000308: 15,2564 00006 EXTEND
045016,000309: 15,2565 71511 MP COSM
045017,000310: 15,2566 55514 TS SINOCOSM # SO CM
045018,000311:
045019,000312: 15,2567 31661 CA AOG
045020,000313: 15,2570 04767 TC SPCOS # COSO
045021,000314: 15,2571 55513 TS COSO
045022,000315:
045023,000316: 15,2572 00006 EXTEND
045024,000317: 15,2573 71511 MP COSM
045025,000318: 15,2574 55515 TS COSOCOSM # CO CM
045026,000319:
045027,000320: # PITCHDOT: Q TCDU/180 = IDOT TCDU/180 COSO COSM + MDOT TCDU/180 SINO
045028,000321:
045029,000322: 15,2575 41677 CS -DELAMG
045030,000323: 15,2576 00006 EXTEND
045031,000324: 15,2577 71512 MP SINO
045032,000325: 15,2600 53721 DXCH JETEM # 2 LOCS _
045033,000326: 15,2601 41676 CS -DELAIG
045034,000327: 15,2602 00006 EXTEND
045035,000328: 15,2603 71515 MP COSOCOSM
045036,000329: 15,2604 21721 DAS JETEM
045037,000330: 15,2605 31720 CA JETEM
045038,000331: 15,2606 57707 XCH OLDELQ
045039,000332: 15,2607 02550 TC RATEAVG
045040,000333: 15,2610 55702 TS QREL # PITCHDOT = Q TCDU/180
045041,000334:
Page 1039 |
045043,000336: # YAWDOT: R TCDU/180 = -IDOT TCDU/180 COSM SINO + MDOT TCDU/180 COSO
045044,000337:
045045,000338: 15,2611 41677 CS -DELAMG
045046,000339: 15,2612 00006 EXTEND
045047,000340: 15,2613 71513 MP COSO
045048,000341: 15,2614 53721 DXCH JETEM
045049,000342: 15,2615 31676 CA -DELAIG
045050,000343: 15,2616 00006 EXTEND
045051,000344: 15,2617 71514 MP SINOCOSM
045052,000345: 15,2620 21721 DAS JETEM
045053,000346: 15,2621 31720 CA JETEM
045054,000347: 15,2622 57710 XCH OLDELR
045055,000348: 15,2623 02550 TC RATEAVG
045056,000349: 15,2624 55703 TS RREL # YAWDOT = R TCDU/180
045057,000350:
045058,000351: # ROLLDOT: P TCDU/180 = ODOT TCDU/180 + IDOT TCDU/180 SINM
045059,000352:
045060,000353: 15,2625 31663 CA AMG
045061,000354: 15,2626 04770 TC SPSIN
045062,000355: 15,2627 55510 TS SINM
045063,000356:
045064,000357: 15,2630 00006 EXTEND
045065,000358: 15,2631 71676 MP -DELAIG
045066,000359: 15,2632 55720 TS JETEM
045067,000360: 15,2633 34714 CA ZERO
045068,000361: 15,2634 20001 DDOUBL # ROUND L INTO A
045069,000362: 15,2635 61675 AD -DELAOG
045070,000363: 15,2636 61720 AD JETEM
045071,000364: 15,2637 40000 CS A
045072,000365: 15,2640 55720 TS JETEM
045073,000366: 15,2641 57706 XCH OLDELP
045074,000367: 15,2642 02550 TC RATEAVG
045075,000368: 15,2643 55701 TS PREL # ROLLDOT = P TCDU/180
045076,000369:
045077,000370: # IF GAMDOT < 0.5 DEG/SEC, THEN GAMDOT =0
045078,000371:
045079,000372: 15,2644 11723 CCS GAMDOT
045080,000373: 15,2645 02647 TC +2
045081,000374: 15,2646 02671 TC NOGAMDUT
045082,000375: 15,2647 41664 CS ROLL/180
045083,000376: 15,2650 04770 TC SPSIN
045084,000377: 15,2651 00006 EXTEND
045085,000378: 15,2652 71723 MP GAMDOT
045086,000379: 15,2653 55721 TS JETEM +1 # -SR GAMDOT
045087,000380: 15,2654 00006 EXTEND
045088,000381: 15,2655 71507 MP SALFA # SIN(ALFA)
045089,000382: 15,2656 27701 ADS PREL # PREL TCDU/180=(P-SALF SR GAMDOT)TCDU/180
045090,000383:
045091,000384: 15,2657 31664 CA ROLL/180
045092,000385: 15,2660 04767 TC SPCOS
Page 1040 |
045094,000387: 15,2661 40000 COM
045095,000388: 15,2662 00006 EXTEND
045096,000389: 15,2663 71723 MP GAMDOT
045097,000390: 15,2664 27702 ADS QREL # QREL TCDU/180=(Q-CR GAMDOT) TCDU/180
045098,000391:
045099,000392: 15,2665 41721 CS JETEM +1 # B( ) = -SR GAMDOT
045100,000393: 15,2666 00006 EXTEND
045101,000394: 15,2667 71506 MP CALFA # COS(ALFA)
045102,000395: 15,2670 27703 ADS RREL # RREL TCDU/180=(R+CALF SR GAMDOT)TCDU/180
045103,000396:
045104,000397: 15,2671 34677 NOGAMDUT CA BIT12 # CMDAPARM = 93D BIT 12
045105,000398: 15,2672 70102 MASK CM/FLAGS
045106,000399: 15,2673 00006 EXTEND
045107,000400: 15,2674 15213 STBYDUMP BZF TASKOVER # DAP NOT ARMED.
045108,000401:
045109,000402: 15,2675 34672 CA POSMAX # PICK UP AT ATTRATES IN 10 MS OR SO.
045110,000403: 15,2676 54030 TS TIME5
045111,000404:
045112,000405: 15,2677 00006 EXTEND
045113,000406: 15,2700 32704 DCA ATDOTCAD
045114,000407: 15,2701 53313 DXCH T5LOC
045115,000408: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
045116,000409:
045117,000410: 15,2702 05213 TC TASKOVER
045118,000411:
045119,000412: 15,2703 E6,1661 EBANK= AOG
045120,000413: 15,2703 02705 32066 ATDOTCAD 2CADR ATTRATES
045121,000414:
Page 1041 |
045123,000416: # CALCULATE BODY ATTITUDE RATES AND INTEGRATE TO OBTAIN ATTITUDE ANGLES.
045124,000417:
045125,000418: # CB PHIDOT TCDU/180 = (CA PREL + SA RREL) TCDU/180
045126,000419: # BETADOT TCDU/180 = (-SA PREL + CA RREL) TCDU/180
045127,000420: # ALFADOT TCDU = (QREL + SB PHIDOT) TCDU/180
045128,000421:
045129,000422: 15,2705 22016 ATTRATES LXCH BANKRUPT # CONTINUE HERE VIA T5
045130,000423: 15,2706 00006 EXTEND # TASK MAY BE SKIPPED AT RESTART.
045131,000424: 15,2707 22012 QXCH QRUPT
045132,000425: 15,2710 30021 CA SR
045133,000426: 15,2711 60000 DOUBLE
045134,000427: 15,2712 55623 TS CM/SAVE
045135,000428: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
045136,000429:
045137,000430: 15,2713 31702 CA QREL
045138,000431: 15,2714 61665 AD ALFA/180
045139,000432: 15,2715 02542 TC ANGOVCOR
045140,000433: 15,2716 55665 TS ALFA/180
045141,000434: 15,2717 04767 TC SPCOS
045142,000435: 15,2720 55506 TS CALFA # CALFA
045143,000436: 15,2721 55705 TS PHIDOT
045144,000437:
045145,000438: 15,2722 00006 EXTEND
045146,000439: 15,2723 71701 MP PREL
045147,000440: 15,2724 57705 XCH PHIDOT # CA PREL
045148,000441: 15,2725 00006 EXTEND
045149,000442: 15,2726 71703 MP RREL # CA RREL
045150,000443: 15,2727 55704 TS BETADOT
045151,000444:
045152,000445: 15,2730 31665 CA ALFA/180
045153,000446: 15,2731 04770 TC SPSIN
045154,000447: 15,2732 55507 TS SALFA # SIN(ALFA)
045155,000448:
045156,000449: 15,2733 00006 EXTEND
045157,000450: 15,2734 71703 MP RREL # SA RREL
045158,000451: 15,2735 27705 ADS PHIDOT # CB PHIDOT, SAVED.
045159,000452:
045160,000453: 15,2736 41507 CS SALFA
045161,000454: 15,2737 00006 EXTEND
045162,000455: 15,2740 71701 MP PREL
045163,000456: 15,2741 27704 ADS BETADOT # SAVE BETADOT TCDU/180
045164,000457: 15,2742 27666 ADS BETA/180 # BETA DONE.
045165,000458:
045166,000459: 15,2743 04770 TC SPSIN
045167,000460: 15,2744 00006 EXTEND
045168,000461: 15,2745 71705 MP PHIDOT # NEGLECT CB IN CB PHIDOT
045169,000462: 15,2746 61665 AD ALFA/180
045170,000463: 15,2747 02542 TC ANGOVCOR
045171,000464: 15,2750 55665 TS ALFA/180 # ALFA DONE.
045172,000465:
Page 1042 |
045174,000467: 15,2751 40000 COM
045175,000468: 15,2752 61603 AD ALFACOM
045176,000469: 15,2753 02542 TC ANGOVCOR # JUST IN CASE ...
045177,000470: 15,2754 55477 TS AK1
045178,000471: 15,2755 55572 TS QAXERR # FOR PITCH FDAI AND EDIT.
045179,000472:
045180,000473: 15,2756 31705 CA PHIDOT # PHIDOT TCDU/180, NEGLECTING CB
045181,000474: 15,2757 61664 AD ROLL/180
045182,000475: 15,2760 02542 TC ANGOVCOR
045183,000476: 15,2761 55714 TS ROLLTM # ROLL/180 FOR TM.
045184,000477: 15,2762 55664 TS ROLL/180 # ROLL DONE.
045185,000478:
045186,000479: # START YAW AUTOPILOT HERE . RATE DAMPING WITH ENFORCED COORDINATED ROLL MANEUVER.
045187,000480:
045188,000481: 15,2763 34710 CA BIT3 # .05GSW =102D BIT3 SW=0, LESS .05G
045189,000482: 15,2764 70102 MASK CM/FLAGS # SWITCH =1, GREATER THAN .05 G
045190,000483: 15,2765 00006 EXTEND
045191,000484: 15,2766 13053 BZF EXDAP # IF G LESS THAN .05
045192,000485: 15,2767 44712 CS ONE # IF G GEQ THAN .05
045193,000486: 15,2770 55700 TS CMDAPMOD # SAVE -1 FOR USE IN CM/RCS
045194,000487:
045195,000488: 15,2771 55477 TS AK1 # TO ZERO PITCH AND YAW FDAI NEEDLES
045196,000489: 15,2772 55500 TS AK2 # IN ATM. (MODE =-1)
045197,000490:
045198,000491: 15,2773 31704 CA BETADOT
045199,000492: 15,2774 00006 EXTEND
045200,000493: 15,2775 11506 DV CALFA
045201,000494: 15,2776 03043 TC 2D/SDZ # GO TEST DZ. GET TAG: +0 IF IN DZ
045202,000495: 15,2777 50000 INDEX A # +/- 1 IF NOT
045203,000496: 15,3000 33215 CAF YJETCODE
045204,000497:
045205,000498: 15,3001 55720 TS JETEM
045206,000499:
045207,000500: # START PITCH AUTOPILOT HERE. RATE DAMPING ONLY.
045208,000501:
045209,000502: 15,3002 31702 CA QREL
045210,000503: 15,3003 03043 TC 2D/SDZ
045211,000504: 15,3004 50000 EXDAPIN INDEX A # COME HERE FROM EX ATM DAP
045212,000505: 15,3005 33220 CAF P/RJCODE
045213,000506: 15,3006 27720 ADS JETEM # COMBINE ALL NEW BITS.
045214,000507:
045215,000508: 15,3007 00006 EXTEND # DOES NOT REQUIRE SAVING OLD CODES.
045216,000509: 15,3010 01005 WRITE PYJETS # SET PYCHAN TO DESIRED BIT CONFIG.
045217,000510:
045218,000511: 15,3011 11711 CCS JETAG
045219,000512: 15,3012 03231 TC CM/RCS
045220,000513: 15,3013 03677 TC CM/FDAI
045221,000514: 15,3014 03677 TC CM/FDAI
045222,000515:
Page 1043 |
045224,000517: # DEAD ZONE LOGIC USED BY ENTRY DIGITAL AUTOPILOTS.
045225,000518:
045226,000519: 15,3015 10000 3DDZ CCS A # YAWLIM=1.0-3/180=16384-273=16111
045227,000520: 15,3016 63212 AD YAWLIM
045228,000521: 15,3017 13047 TCF DZCOM
045229,000522: 15,3020 63212 AD YAWLIM
045230,000523: 15,3021 13050 TCF DZNOCOM
045231,000524:
045232,000525: # BIASED DZ FOR EXT ATM DAP.
045233,000526: 15,3022 55624 BIASEDZ TS JETEM2 # SAVE RATE/180. ERROR/180 IS IN L.
045234,000527: 15,3023 10000 CCS A # START ERROR DZ.
045235,000528: 15,3024 43211 CS CM/BIAS # = .6/180
045236,000529: 15,3025 13027 TCF +2
045237,000530: 15,3026 33211 CA CM/BIAS
045238,000531: 15,3027 60001 AD L # BIAS THE ERROR.
045239,000532: 15,3030 22002 LXCH Q # SAVE CALLERS RETURN ADDRESS.
045240,000533: 15,3031 03015 TC 3DDZ # GO GENERATE THE ERROR BIT.
045241,000534: 15,3032 52002 DXCH L # BIT TO L, RESTORE CALLERS Q.
045242,000535: 15,3033 11624 4D/SDZ CCS JETEM2 # CAME HERE IN EXT ATM. C(L) = ERROR BIT
045243,000536: 15,3034 63207 AD 4D/SLIM # IF RATE GEQ 4D/S, SET L=0 AND TAKE
045244,000537: 15,3035 13037 TCF +2 # JET BITS ACCORDING TO SGN OF RATE.
045245,000538: 15,3036 63207 AD 4D/SLIM
045246,000539: 15,3037 54000 TS A
045247,000540: 15,3040 13042 TCF +2 # RATE OK. CONTINUE
045248,000541: 15,3041 22007 ZL # RATE GEQ 4 D/S. OVER RIDE ERROR BIT
045249,000542: 15,3042 57624 XCH JETEM2 # AND CONTINUE TO GET SIGN.
045250,000543:
045251,000544: 15,3043 10000 2D/SDZ CCS A # COME HERE TO TEST IF A WITHIN 2DEG/S DZ
045252,000545: 15,3044 63210 AD YDOTLIM # 1.0 - YDOT DZ ( OR PDOT)
045253,000546: 15,3045 13050 TCF +3
045254,000547: 15,3046 63210 AD YDOTLIM # YDOT DZ = 2 DEG/SEC
045255,000548: 15,3047 40000 DZCOM COM
045256,000549: 15,3050 55721 DZNOCOM TS JETEM +1 # GENERATE TAG, SET C(A)= -+1 OUTSIDE DZ
045257,000550: 15,3051 34714 CA ZERO # SET C(A) = +0 INSIDE
045258,000551: 15,3052 00002 TC Q
045259,000552:
Page 1044 |
045261,000554: # EXTRA ATMOSPHERIC DIGITAL AUTOPILOT
045262,000555:
045263,000556: # 1. IF ABS(CALF) -C(45) POS, USE IF CALFA POS, CMDAPMOD= +0
045264,000557: # BETA: YAW ERROR = SGN(CALF) (BETACOM -BETA) IF CALFA NEG, CMDAPMOD =-0
045265,000558: # RATE = BETADOT IF CMDAPMOD =-0, RATE = RREL
045266,000559: # R-AXIS = CONTROL
045267,000560:
045268,000561: # ROLL: ROLL ERROR = SGN(CALF) (ROLLC - ROLL) IF CMDAPMOD = -0, RATE DAMP ONLY.
045269,000562: # RATE = PREL
045270,000563: # P-AXIS = CONTROL
045271,000564:
045272,000565: # 2. IF C(45) GEQ CALFA GEQ -C(45), USE CMDAPMOD = +1
045273,000566: # BETA: ROLL ERROR = SGN(-SALF) (BETACOM -BETA)
045274,000567: # RATE = BETADOT
045275,000568: # P-AXIS = CONTROL
045276,000569:
045277,000570: # ROLL: YAW ERROR = SGN(SALF) (ROLLC - ROLL) RATE DAMP ONLY.
045278,000571: # RATE = RREL
045279,000572: # R-AXIS = CONTROL
045280,000573:
045281,000574: # 3. FOR ALL CASES, USE
045282,000575: # ALFA: PITCH ERROR = (ALFACOM - ALFA)
045283,000576: # RATE = QREL
045284,000577: # Q-AXIS = CONTROL
045285,000578:
045286,000579:
045287,000580:
045288,000581: 15,3053 55700 EXDAP TS CMDAPMOD # +0 FOR NOW
045289,000582: 15,3054 41666 CS BETA/180
045290,000583: 15,3055 61604 AD BETACOM
045291,000584: 15,3056 55721 TS JETEM +1 # PRESERVE THIS FOR A WHILE.
045292,000585:
045293,000586: 15,3057 11506 CCS CALFA
045294,000587: 15,3060 63213 AD C45LIM # =1.0-COS(45)
045295,000588: 15,3061 13063 TCF +2
045296,000589: 15,3062 63213 AD C45LIM
045297,000590: 15,3063 54000 TS A
045298,000591: 15,3064 13143 TCF EXDAP2 # HERE IF ABS(CALFA) L COS(45)
045299,000592:
045300,000593: 15,3065 11727 CCS P63FLAG
045301,000594: 15,3066 03101 TC EXDAP4
045302,000595: 15,3067 03071 TC +2
045303,000596: 15,3070 03101 TC EXDAP4
045304,000597: 15,3071 05301 TC PHASCHNG # SINGLE PASS THROUGH HERE.
045305,000598: 15,3072 40334 OCT 40334
045306,000599: 15,3073 44712 CS ONE
045307,000600: 15,3074 55727 TS P63FLAG # SET FLAG TO ASSURE SINGLE PASS.
045308,000601: 15,3075 33206 CA NSEC
045309,000602: 15,3076 05140 TC WAITLIST
045310,000603: 15,3077 E6,1661 EBANK= AOG
Page 1045 |
045312,000605: 15,3077 02374 54066 2CADR WAKEP62 # CALL TO TERMINATE P62 IN N SEC.
045313,000606:
045314,000607: # 65 DEG/ 3DEG/SEC = 21 SEC NOMINAL
045315,000608: # TRANSIT TIME FROM ALFA=45 TO ALFA TRIM.
045316,000609:
045317,000610: 15,3101 11711 EXDAP4 CCS JETAG # ROLLJET INTERFACE TEST BETWEEN .1 SEC
045318,000611: 15,3102 13110 TCF EXDAP3 # DAP AND THE 2 SEC CM/RCS DAP
045319,000612: 15,3103 13110 TCF EXDAP3
045320,000613: 15,3104 34714 CA ZERO
045321,000614: 15,3105 00006 EXTEND # TURN OFF ROLL JETS IF ON AND WAIT
045322,000615: 15,3106 01006 WRITE ROLLJETS # UNTIL START OF 2 SEC CM/RCS CYCLE
045323,000616: 15,3107 55711 TS JETAG # RESTORE PROPER VALUE +0
045324,000617:
045325,000618: # ROLL FDAI WILL BE IN ERROR UNTIL NEXT CM/RCS CALL.
045326,000619: 15,3110 11506 EXDAP3 CCS CALFA # HERE IF ABS(CALFA) GEQ COS(45)
045327,000620: 15,3111 31721 CA JETEM +1
045328,000621: 15,3112 13116 TCF EXDAP1
045329,000622: 15,3113 44714 CS ZERO
045330,000623: 15,3114 55700 TS CMDAPMOD # FOR CM/RCS
045331,000624: 15,3115 41721 CS JETEM +1
045332,000625: 15,3116 55573 EXDAP1 TS RAXERR # FOR YAW FDAI
045333,000626: 15,3117 55500 TS AK2 # WANT RAXERR FOR TM.
045334,000627: 15,3120 54001 TS L
045335,000628: 15,3121 11700 CCS CMDAPMOD # COORDINATE BETA CONTROL.
045336,000629: 15,3122 03125 TC +3 # C(CMDAPMOD) CAN BE +1, +0, OR -0.
045337,000630: 15,3123 34712 CA ONE # USE BETADOT TO COORD IN MODE +0
045338,000631: 15,3124 50000 INDEX A # OTHERWISE USE RREL.
045339,000632: 15,3125 31703 CA RREL
045340,000633: 15,3126 03022 TC BIASEDZ # GO TEST DZ. +0 IF IN DZ, +-1 OTHERWISE
045341,000634: # IF GEQ 4D/S, SET ERROR BIT IN L =0)
045342,000635: 15,3127 00006 EXTEND
045343,000636: 15,3130 04001 ROR LCHAN # L HAS BETA BIT
045344,000637: 15,3131 50000 INDEX A
045345,000638: 15,3132 33215 CAF YJETCODE
045346,000639: 15,3133 55720 TS JETEM
045347,000640:
045348,000641: 15,3134 31572 CA QAXERR # ALFA ERROR.
045349,000642: 15,3135 54001 TS L
045350,000643: 15,3136 31702 CA QREL # FOR ALFADOT USE QREL
045351,000644: 15,3137 03022 TC BIASEDZ
045352,000645: 15,3140 00006 EXTEND
045353,000646: 15,3141 04001 ROR LCHAN
045354,000647: 15,3142 13004 TCF EXDAPIN # CONTINUE ON IN DAP
045355,000648:
045356,000649: 15,3143 25700 EXDAP2 INCR CMDAPMOD # SET CMDAPMOD TO +1
045357,000650:
045358,000651: 15,3144 44712 CS ONE # INDICATE CHANGE FROM .1 SEC UPDATE TO
045359,000652: 15,3145 55711 TS JETAG # TO 2 SEC FOR ROLL JETS.( IF CMDAPMOD
045360,000653: # =0 AND JETAG =-1, QUENCHES JETS IF ON)
045361,000654:
Page 1046 |
045363,000656: 15,3146 11727 CCS P63FLAG # IF FLAG WAS +1, SET =0.
045364,000657: 15,3147 55727 TS P63FLAG
045365,000658: 15,3150 13151 NOOP
045366,000659:
045367,000660: 15,3151 11507 CCS SALFA # BETA CONTROL WITH P JETS
045368,000661: 15,3152 41721 CS JETEM +1
045369,000662: 15,3153 13155 TCF +2
045370,000663: 15,3154 31721 CA JETEM +1
045371,000664: 15,3155 55713 TS PAXERR1 # TEMP SAVE. ERROR/180
045372,000665: 15,3156 00006 EXTEND
045373,000666: 15,3157 74675 MP HALF # CM/FDAI EXPECTS ERROR/360.
045374,000667: 15,3160 57713 XCH PAXERR1 # ERROR/360 FOR FDAI, GET ERROR/180.
045375,000668: 15,3161 54001 TS L
045376,000669: 15,3162 11507 CCS SALFA
045377,000670: 15,3163 41704 CS BETADOT # USE BETADOT TO COORD IN MODE +1
045378,000671: 15,3164 03166 TC +2
045379,000672: 15,3165 31704 CA BETADOT
045380,000673: 15,3166 03022 TC BIASEDZ
045381,000674: 15,3167 00006 EXTEND
045382,000675: 15,3170 04001 ROR LCHAN
045383,000676: 15,3171 50000 INDEX A
045384,000677: 15,3172 33220 CAF P/RJCODE # GET ROLL CODE
045385,000678: 15,3173 00006 EXTEND # ROLL CONTROL WITH YAW JETS.
045386,000679: 15,3174 01006 WRITE ROLLJETS # WE,LL SKIP REGULAR ROLL SYST
045387,000680:
045388,000681: 15,3175 31717 CA ROLLHOLD # ROLL/180 AT CM/DAPON TIME.
045389,000682: 15,3176 00006 EXTEND
045390,000683: 15,3177 21664 MSU ROLL/180 # 1,S COMPL, BUT SO WHATS A BIT.?
045391,000684: 15,3200 54001 TS L # FORCE A LIMIT CYCLE IN YAW RATE.
045392,000685: 15,3201 11507 CCS SALFA
045393,000686: 15,3202 30001 CA L # TO REMOVE ITS BIASING EFFECT ON M DOT.
045394,000687: 15,3203 03116 TC EXDAP1
045395,000688: 15,3204 40001 CS L
045396,000689: 15,3205 03116 TC EXDAP1
045397,000690:
045398,000691: 15,3206 04064 NSEC DEC 2100 B-14 # 65 DEG/ 3 DEG/SEC
045399,000692: # IF NSEC IS CHANGED, REMEMBER TO CHANGE 4.33SPOT.
045400,000693: 15,3207 37734 4D/SLIM DEC 16348 B-14 # 1.0 -4/180 D/S = 4/1800 EXP 14
045401,000694: 15,3210 37756 YDOTLIM DEC 16366 B-14 # =1.0 - YDOT DZ= 16384 -18
045402,000695: # YDOT DZ = YDOT TCDU/180 = 2/1800 EXP 14
045403,000696:
045404,000697: 15,3211 00067 CM/BIAS DEC 55 B-14 # =.6/180 B14 = 55
045405,000698: 15,3212 37267 YAWLIM DEC 16055 B-14 # YAWLIM=1.0-3.6/180=16384-329=16055
045406,000699: 15,3213 11277 C45LIM DEC .29289 # =1.0-COS(45)
045407,000700:
045408,000701: # JET CODE TABLES FOLLOW _
045409,000702:
045410,000703: 15,3214 00120 OCTAL 00120 # POS Y
045411,000704: 15,3215 00000 YJETCODE OCTAL 00000 # RCS JET BITS
045412,000705: 15,3216 00240 OCTAL 00240 # NEG Y
Page 1047 |
045414,000707: 15,3217 00005 OCTAL 00005 # POS R JET BITS ALSO POS P JET BITS
045415,000708: 15,3220 00000 P/RJCODE OCTAL 00000
045416,000709: 15,3221 00012 OCTAL 00012 # NEG R ALSO NEG P
045417,000710:
Page 1048 |
045419,000712: # RCS THIS SECTION IS ENTERED EACH 2 SEC BY WAITLIST CALL FOLLOWING A DELAY OF 1.2 SEC AFTER PIPUP.
045420,000713: # THE TASK SETJTAG SETS A FLAG IN JETAG TO SIGNIFY THAT ROLL UPDATE IS DUE. IN ROUGHLY 5 CS BPDYRATE WILL BE
045421,000714: # EXECUTED AND JETAG WILL CAUSE CM/RCS TO ACT ON ROLLC IMMEDIATELY THEREAFTER. THE
045422,000715: # TASK SAVES THE CALL TIME SO THAT CM/RCS CAN DETERMINE HOW MUCH OF THE 2 SEC INTERVAL REMAINS BEFORE THE
045423,000716: # NEXT UPDATE.
045424,000717:
045425,000718: 15,3222 40025 SETJTAG CS TIME1 # SAVE NOMINAL UPDATE TIME FOR SYNCH
045426,000719: 15,3223 55712 TS TUSED
045427,000720: # THE 5 CS APPEARS IN TIMETST.
045428,000721: 15,3224 34712 CA ONE # RATHER THAN INCR, FOR SAFETY
045429,000722: 15,3225 55711 TS JETAG # SET JETAG=1 TO CAUSE CM/RCS TO BE
045430,000723: 15,3226 05301 TC PHASCHNG
045431,000724: 15,3227 00001 OCT 00001
045432,000725:
045433,000726: 15,3230 05213 TC TASKOVER # EXECUTED AFTER NEXT BODYRATE UPDATE
045434,000727:
045435,000728: # PREDICTIVE ROLL SYSTEM ENTRY STEERING PROVIDES ROLL COMMAND IN LOC ROLLC. THE FOLLOWING CALCULATES THE
045436,000729: # TRAJECTORY TO THE ORIGIN IN PHASE PLANE (X,V). PROGRAM ENTERS JET ON AND OFF CALLS INTO WTLST TO PRODUCE
045437,000730: # THE DESIRED TRAJECTORY. ONLY THOSE CALLS WHICH CAN BE EXECUTED WITHIN THE INTERVAL T (2 SEC) ARE ENTERED IN
045438,000731: # WTLST, THE REMAINDER ARE RECONSIDERED AT NEXT UPDATE.
045439,000732:
045440,000733: 15,3231 4674 HALFPR EQUALS NEG1/2 +1
045441,000734:
045442,000735: # CLEAR JETAG BEFORE TIMETST. SET TO +0 TO SHOW
045443,000736: # ROLL DAP CALLED. IN EVENT OF RESTART, BODYRATE
045444,000737: # MAY MISS A CYCLE. CM/RCS WILL MISS A CYCLE ONLY
045445,000738: # IF A RESTART OCCURS AFTER TIMETST COMMENCES.
045446,000739:
045447,000740: 15,3231 44712 CM/RCS CS ONE
045448,000741: 15,3232 55617 TS JNDX # SET NDX FOR POS ROLL, AND CHANGE LATER
045449,000742:
045450,000743: 15,3233 44726 CS 2T/TCDU # ROLLDOT = DELAOG + DELAIG SINM =DELR
045451,000744: 15,3234 00006 EXTEND
045452,000745: 15,3235 71701 MP PREL # DELR/180 = RDOT TCDU/180 = RDOT/1800
045453,000746: 15,3236 60001 AD L # -2 RDOT T/180 IN L
045454,000747: 15,3237 55613 TS -VT/180 # SAVE -2VT/180 HERE
045455,000748:
045456,000749: 15,3240 41664 CS ROLL/180
045457,000750: 15,3241 54021 TS SR # SAVE (-R/180) /2
045458,000751:
045459,000752: 15,3242 40102 CS CM/FLAGS
045460,000753: 15,3243 74707 MASK BIT4 # LATSW = 101D BIT4
045461,000754: 15,3244 00006 EXTEND # ROLL OVER TOP $
045462,000755: 15,3245 13253 BZF GETLCX # NO, TAKE SHORTEST PATH
045463,000756: 15,3246 26102 ADS CM/FLAGS # YES, ENFORCE ROLL OVER TOP.. (BIT =0)
045464,000757: 15,3247 31715 CA ROLLC # (ROLLC/180) /2
045465,000758: 15,3250 60021 AD SR # -(R/180) /2
045466,000759: 15,3251 57614 XCH LCX/360 # DIFFERENT X REQD HERE. DISCONT AT 180.
045467,000760: 15,3252 13313 TCF COMPAT # POSSIBLE OVFL ABOVE.
045468,000761:
Page 1049 |
045470,000763: 15,3253 34675 GETLCX CA POS1/2 # FORM RCOM/360
045471,000764: 15,3254 60000 DOUBLE
045472,000765: 15,3255 61715 AD ROLLC
045473,000766: 15,3256 57614 XCH LCX/360 # IGNORE POSSIBLE OVFL.
045474,000767:
045475,000768: 15,3257 30021 CA SR # FORM -R/360
045476,000769: 15,3260 64673 AD NEG1/2
045477,000770: 15,3261 64673 AD NEG1/2 # IGNORE OVFL
045478,000771: 15,3262 57614 XCH LCX/360 # -R/360
045479,000772: 15,3263 27614 ADS LCX/360 # LCX/360 = RCOM/360 -R/360 RANGE (-1,1)
045480,000773:
045481,000774: # DOES SGN(-VT) (VT/180) (VT/180) (180/(4 A1 TT COSALFA)) + X/360 + SGN(X) / 2 OVFL ?
045482,000775:
045483,000776: 15,3264 11613 CCS -VT/180 # TAKE SHORTEST ANGULAR PATH
045484,000777: 15,3265 64712 AD ONE # (BASED ON SINGLE JET ACCELERATION)
045485,000778: 15,3266 13270 TCF +2
045486,000779: 15,3267 64712 AD ONE
045487,000780: 15,3270 00006 EXTEND
045488,000781: 15,3271 71613 MP -VT/180 # C(-VT/180) = -2 VT/180
045489,000782: 15,3272 00006 EXTEND
045490,000783: 15,3273 73754 MP 1/16A1 # = 180/(16 A1 TT )
045491,000784: 15,3274 00006 EXTEND
045492,000785: 15,3275 11506 DV CALFA
045493,000786: 15,3276 54001 TS L
045494,000787: 15,3277 11614 CCS LCX/360
045495,000788: 15,3300 34675 CAF POS1/2
045496,000789: 15,3301 13303 TCF +2
045497,000790: 15,3302 44675 CS POS1/2
045498,000791: 15,3303 61614 AD LCX/360 # IS LCX/360 LESS THAN 180 DEG $
045499,000792: 15,3304 60001 AD L
045500,000793: 15,3305 54001 TS L
045501,000794: 15,3306 13313 TCF COMPAT # YES, GO ON.
045502,000795: 15,3307 50000 TRTAGXPI INDEX A # NO, SHIFT X BY - SGN(X) 2 PI
045503,000796: 15,3310 44674 CS HALFPR # +A YIELDS -1/2
045504,000797: 15,3311 60000 DOUBLE
045505,000798: 15,3312 27614 ADS LCX/360
045506,000799:
045507,000800: 15,3313 31614 COMPAT CA LCX/360 # CORRECT FOR ASSUMED COORD TURN.
045508,000801: 15,3314 00006 EXTEND
045509,000802: 15,3315 71506 MP CALFA # COS ALFA
045510,000803: 15,3316 55614 TS LCX/360 # SCALED LCX OK HERE.
045511,000804:
045512,000805: 15,3317 11700 CCS CMDAPMOD # FOUR POSSIBILITIES HERE
045513,000806: 15,3320 03675 TC DZCALL1 # EXIT, SETTING JETAG=0.(C(A)=0)
045514,000807: # ALL 3 AXES ALREADY DONE.
045515,000808: 15,3321 03322 TC +1 # G LESS THAN .05. CA POS. CONTINUE
045516,000809: 15,3322 31614 CA LCX/360 # G GEQ .05. CONTINUE IN CM/RCS
045517,000810: 15,3323 55614 TS LCX/360 # CMDAPMOD=-0. DAMPING ONLY. SET LCX=0
045518,000811: 15,3324 55713 TS PAXERR1 # SAVE LCX FOR FDAI AND EDIT.( /360)
045519,000812:
Page 1050 |
045521,000814: 15,3325 31613 CA -VT/180 # GET - 2 VT/180
045522,000815: 15,3326 54021 TS SR
045523,000816: 15,3327 30021 CA SR # GET -VT/180, LEAVE -VT/360 IN SR FOR DZ
045524,000817: 15,3330 55570 TS -VT/180E # DIAGNOSTIC ****
045525,000818: 15,3331 57613 XCH -VT/180 # NOW CONTENTS OF -VT/180 AS LABELED
045526,000819: 15,3332 00006 EXTEND
045527,000820: 15,3333 71613 MP -VT/180 # B(A) = -2VT/180
045528,000821: 15,3334 00006 EXTEND
045529,000822: 15,3335 73754 MP 180/8ATT
045530,000823: 15,3336 55616 TS VSQ/4API
045531,000824:
045532,000825: # IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 - .5 BUFLIM/360 POS ?
045533,000826:
045534,000827: 15,3337 60000 WHICHALF DOUBLE # FOR SECOND BURN, A1
045535,000828: 15,3340 40000 COM
045536,000829: 15,3341 63761 AD BUFLIM # =BUFLIM/(2 360)
045537,000830: 15,3342 54001 TS L
045538,000831: 15,3343 11613 CCS -VT/180
045539,000832: 15,3344 40001 CS L
045540,000833: 15,3345 13347 TCF +2
045541,000834: 15,3346 30001 CA L
045542,000835: 15,3347 61614 AD LCX/360
045543,000836: 15,3350 63761 AD BUFLIM
045544,000837: 15,3351 00006 EXTEND
045545,000838: 15,3352 63367 BZMF REFLECT # POINT (X,V) IN LHP.
045546,000839:
045547,000840: # IS SGN(VT) ( (180/4A1 TT) VT/180 VT/180 - .5 BUFLIM/360 ) -X/360 + .5 BUFLIM/360 NEG ?
045548,000841:
045549,000842: 15,3353 40000 COM
045550,000843: 15,3354 63761 AD BUFLIM
045551,000844: 15,3355 63761 AD BUFLIM
045552,000845: 15,3356 00006 EXTEND
045553,000846: 15,3357 63376 BZMF DZ1 # POINT (X,V) IN RHP.
045554,000847:
045555,000848: # IS POINT WITHIN VELOCITY DZ ?
045556,000849:
045557,000850: 15,3360 43753 CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG ?
045558,000851: 15,3361 61616 AD VSQ/4API
045559,000852: 15,3362 00006 EXTEND
045560,000853: 15,3363 63671 BZMF DZCALL # YES.
045561,000854:
045562,000855: # POINT IS IN BUFFER ZONE. THRUST TO X AXIS.
045563,000856:
045564,000857: 15,3364 41617 CS JNDX
045565,000858: 15,3365 55620 TS JNDX1
045566,000859: 15,3366 03451 TC OVRLINE1
045567,000860:
045568,000861: 15,3367 41613 REFLECT CS -VT/180 # REFLECT LHP INTO RHP REL TO TERM CONTR
045569,000862: 15,3370 55613 TS -VT/180
045570,000863: 15,3371 54021 TS SR # -VT/360 SAVED FOR DZ.
Page 1051 |
045572,000865: 15,3372 41614 CS LCX/360
045573,000866: 15,3373 55614 TS LCX/360
045574,000867: 15,3374 41617 CS JNDX
045575,000868: 15,3375 55617 TS JNDX
045576,000869:
045577,000870: # IS VSQ/4API - (VSQ/4API) MIN NEG $
045578,000871:
045579,000872: 15,3376 43753 DZ1 CS VSQMIN # IS VSQ/4API - (VSQ/4API) MIN NEG $
045580,000873: 15,3377 61616 AD VSQ/4API
045581,000874: 15,3400 00006 EXTEND
045582,000875: 15,3401 63403 BZMF DZ2 # YES, GO TEST FURTHER.
045583,000876: 15,3402 13410 TCF MAXVTEST # NO
045584,000877:
045585,000878: # IS X/360 - XMIN/360 -VT/360 NEG $
045586,000879:
045587,000880: 15,3403 43757 DZ2 CS XMIN/360 # XMIN/360 = 4/360
045588,000881: 15,3404 61614 AD LCX/360
045589,000882: 15,3405 60021 AD SR # C(SR) = -VT/360
045590,000883: 15,3406 00006 EXTEND # IS X/360 - XMIN/360 -VT/360 NEG $
045591,000884: 15,3407 63671 BZMF DZCALL # YES,IN DZ. EXIT SETTING JETAG=0.
045592,000885:
045593,000886: # IS XD/360 - VM/360K - XS/360 POS ?
045594,000887:
045595,000888: 15,3410 41617 MAXVTEST CS JNDX
045596,000889: 15,3411 55620 TS JNDX1 # NOW CAN SET JNDX1 FOR TON2 JETS.
045597,000890: 15,3412 43761 CS XS/360 # XS/360 = (XMIN -YMIN/K) /360
045598,000891: 15,3413 61616 AD VSQ/4API
045599,000892: 15,3414 61614 AD LCX/360
045600,000893: 15,3415 55615 TS XD/360 # XD/360= X/360 +VSQ/4API X INTERCEPT
045601,000894: # BUT C(XD/360) = (XD - XS) /360
045602,000895: 15,3416 63760 AD -VM/360K # X INTERCEPT FOR MAX V (VM)
045603,000896: 15,3417 40000 COM
045604,000897: 15,3420 00006 EXTEND
045605,000898: 15,3421 63427 BZMF MAXVTIM1 # YES, THRUST TO VM
045606,000899: 15,3422 31615 CA XD/360
045607,000900: 15,3423 00006 EXTEND
045608,000901: 15,3424 74675 MP KTRCS
045609,000902: 15,3425 20001 DDOUBL # GO SAVE PREDICTED DRIFTING VELOCITY.
045610,000903:
045611,000904: 15,3426 03432 TC GETON1 # INSURE THAT Q IS POS AS TAG.
045612,000905: 15,3427 00006 MAXVTIM1 EXTEND
045613,000906: 15,3430 22007 ZQ # SET +0 AS TAG
045614,000907: 15,3431 33755 CA VMT/180
045615,000908: 15,3432 55567 GETON1 TS VDT/180 # VDT/180 OR VMT/180.
045616,000909: 15,3433 61613 AD -VT/180
045617,000910: 15,3434 60000 DOUBLE
045618,000911: 15,3435 00006 EXTEND
045619,000912: 15,3436 73754 MP 180/8ATT
045620,000913: 15,3437 55621 TS TON1 # TON1 / 4T
045621,000914:
Page 1052 |
045623,000916: 15,3440 00006 EXTEND
045624,000917: 15,3441 63443 BZMF OVRLINE
045625,000918: 15,3442 03455 TC GETON2 # RESET Q POS IF CAME FROM MAXVTIM1
045626,000919:
045627,000920: 15,3443 10002 OVRLINE CCS Q
045628,000921: 15,3444 13451 TCF OVRLINE1
045629,000922: 15,3445 31620 MAXVTIM2 CA JNDX1 # ABOVE VM, SO THRUST DOWN
045630,000923: 15,3446 55617 TS JNDX
045631,000924: 15,3447 41621 CS TON1
045632,000925: 15,3450 13454 TCF OVRLINE2 +1
045633,000926:
045634,000927: 15,3451 41613 OVRLINE1 CS -VT/180 # DRIFT AT V
045635,000928: 15,3452 55567 TS VDT/180
045636,000929: 15,3453 34714 OVRLINE2 CA ZERO
045637,000930: 15,3454 55621 TS TON1
045638,000931: 15,3455 31567 GETON2 CA VDT/180 # VDT/180, OR VMT/180 OR VT/180
045639,000932: 15,3456 60000 DOUBLE
045640,000933: 15,3457 00006 EXTEND
045641,000934: 15,3460 73754 MP 180/8ATT
045642,000935: 15,3461 60000 DOUBLE # FOR SECOND BURN, A1
045643,000936: 15,3462 55607 TS TON2 # = TON2 / 4T
045644,000937:
045645,000938: 15,3463 40000 COM
045646,000939: 15,3464 00006 EXTEND
045647,000940: 15,3465 63471 BZMF GETOFF
045648,000941: 15,3466 55607 TS TON2
045649,000942: 15,3467 31617 CA JNDX
045650,000943: 15,3470 55620 TS JNDX1
045651,000944:
045652,000945: 15,3471 41607 GETOFF CS TON2 # TON2 / 4T
045653,000946: 15,3472 00006 EXTEND
045654,000947: 15,3473 71567 MP VDT/180 # VDT/180, OR VT/180, OR VMT/180.
045655,000948: 15,3474 55615 TS XD/360 # USE AS TEMP
045656,000949: 15,3475 41567 CS VDT/180
045657,000950: 15,3476 00006 EXTEND
045658,000951: 15,3477 13513 BZF TOFFOVFL # OMIT THE DIVIDE IF DEN = 0.
045659,000952: 15,3500 61613 AD -VT/180
045660,000953: 15,3501 00006 EXTEND
045661,000954: 15,3502 71621 MP TON1 # TON1 /4T
045662,000955: 15,3503 61615 AD XD/360 # TEMP = -VDT/180 / 2 TON2
045663,000956: 15,3504 61614 AD LCX/360
045664,000957: 15,3505 22007 ZL
045665,000958: 15,3506 56001 XCH L # TEST THE DIVIDE
045666,000959: 15,3507 00006 EXTEND
045667,000960: 15,3510 11567 DV VDT/180
045668,000961: 15,3511 00006 EXTEND
045669,000962: 15,3512 13515 BZF GETOFF2 # DIVIDE OK
045670,000963:
045671,000964: 15,3513 34740 TOFFOVFL CA 2JETT # OVFL, USE 2T FOR CONVENIENCE.
045672,000965: 15,3514 13522 TCF TIMSCAL
Page 1053 |
045674,000967: 15,3515 56001 GETOFF2 XCH L # GET NUMERATOR.
045675,000968: 15,3516 00006 EXTEND
045676,000969: 15,3517 11567 DV VDT/180 # C(A) = TOFF / 2T
045677,000970: 15,3520 00006 EXTEND
045678,000971: 15,3521 74740 MP 2JETT
045679,000972: 15,3522 55605 TIMSCAL TS TOFF # IN CS
045680,000973:
045681,000974: 15,3523 33756 CAF 4JETT
045682,000975: 15,3524 00006 EXTEND
045683,000976: 15,3525 71621 MP TON1 # C(TON1) = TON1 / 4T
045684,000977: 15,3526 55621 TS TON1 # IN CS
045685,000978:
045686,000979: 15,3527 33756 CAF 4JETT
045687,000980: 15,3530 00006 EXTEND
045688,000981: 15,3531 71607 MP TON2 # C(TON2) = TON2 / 4T
045689,000982: 15,3532 55607 TS TON2 # IN CS
045690,000983:
045691,000984: 15,3533 34714 CA ZERO # CANNOT REDO AFTER TIMETST. TUSED GONE
045692,000985: 15,3534 55711 TS JETAG # SET +0 TO SHOW ROLL DAP CALLED.
045693,000986:
045694,000987: # CAUSE THE TM OF BODY RATES VIA UPBUFF TO BE
045695,000988: # INITIALIZED. ALSO CAUSE NEEDLES TO BE DONE ON NEXT
045696,000989: # AND ON ALTERNATE PASSES THROUGH CM/DUMPR.
045697,000990:
045698,000991: 15,3535 34712 CA ONE
045699,000992: 15,3536 54305 TS SW/NDX
045700,000993:
Page 1054 |
045702,000995: # TIMETEST SECTION FOR RCS
045703,000996: # ENTER WITH THREE TIME INTERVALS AND THE CORRESPONDING JET CODE INDEXES IN ERASEABLE LOCS TON1, TOFF, TON2, JNDX
045704,000997: # JNDX1. SECTION PROCESSES TIME INTERVALS FOR WTLST CALLS AND ASSURES THAT WTLST CALLS ARE MADE ONLY
045705,000998: # (1) FOR POS INTERVALS GREATER THAN A SPECIFIED MINIMUM ( HERE CHOSEN AS 2 CS) AND
045706,000999: # (2) FOR THE INTERVALS THAT WILL BE EXECUTED WITHIN THE TIME REMAINING IN THE SAMPLE INTERVAL T (2 SEC).
045707,001000: # TIMETST ESTABLISHES 6 LOCS CONTAINING JET CODES AND CORRESPONDING TIME INTERVALS. THUS: TON1, T1BITS,
045708,001001: # TOFF, TBITS, TON2, T2BITS. OF THESE THE FIRST 2 LOCS ARE TEMPORARY, FOR IMMEDIATE ACTION, IN GENERAL.
045709,001002: # SECTION JETCALL BELOW PROCESSES THIS LIST.
045710,001003:
045711,001004: 15,3537 30025 TIMETST CA TIME1 # CORRECT FOR POSSIBLE TIME1 OVFL.
045712,001005: 15,3540 64675 AD POS1/2
045713,001006: 15,3541 64675 AD POS1/2 # OVFL GUARANTEED.
045714,001007: 15,3542 27712 ADS TUSED # B(TUSED) =-TUSED =-OLTIME1
045715,001008:
045716,001009: 15,3543 33752 CA -T-3 # =-T +2 -5 (SEE SETJTAG)
045717,001010: # THE +2 REQUIRED FOR PROPER BRANCH.
045718,001011: 15,3544 27712 ADS TUSED # TUSED = TIME(K)-TIME(K-1)-T+2
045719,001012:
045720,001013: 15,3545 44711 CS TWO # USE 2 SINCE TIME3 UNCERTAIN TO 1
045721,001014: 15,3546 61621 AD TON1
045722,001015: 15,3547 00006 EXTEND
045723,001016: 15,3550 63562 BZMF TIMETST1
045724,001017: 15,3551 51617 INDEX JNDX
045725,001018: 15,3552 33220 CAF P/RJCODE
045726,001019: 15,3553 55622 TS T1BITS
045727,001020:
045728,001021: 15,3554 31621 CA TON1
045729,001022: 15,3555 27712 ADS TUSED
045730,001023: 15,3556 00006 EXTEND
045731,001024: 15,3557 63564 BZMF TOFFTEST
045732,001025: 15,3560 34714 CA ZERO
045733,001026: 15,3561 13615 TCF TIMETST3
045734,001027: 15,3562 44712 TIMETST1 CS ONE
045735,001028: 15,3563 55621 TS TON1
045736,001029: 15,3564 44711 TOFFTEST CS TWO
045737,001030: 15,3565 61605 AD TOFF
045738,001031: 15,3566 00006 EXTEND
045739,001032: 15,3567 63576 BZMF TIMETST2
045740,001033: 15,3570 31605 CA TOFF
045741,001034: 15,3571 27712 ADS TUSED
045742,001035: 15,3572 00006 EXTEND
045743,001036: 15,3573 63600 BZMF TON2TEST
045744,001037: 15,3574 34714 CA ZERO
045745,001038: 15,3575 13617 TCF TIMETST4
045746,001039: 15,3576 44712 TIMETST2 CS ONE
045747,001040: 15,3577 55605 TS TOFF
045748,001041: 15,3600 44711 TON2TEST CS TWO
045749,001042: 15,3601 61607 AD TON2
045750,001043: 15,3602 00006 EXTEND
045751,001044: 15,3603 63620 BZMF TIMETST5
Page 1055 |
045753,001046: 15,3604 51620 INDEX JNDX1
045754,001047: 15,3605 33220 CAF P/RJCODE
045755,001048: 15,3606 55610 TS T2BITS
045756,001049: 15,3607 31607 CA TON2
045757,001050: 15,3610 27712 ADS TUSED
045758,001051: 15,3611 00006 EXTEND
045759,001052: 15,3612 63622 BZMF JETCALL1
045760,001053: 15,3613 34714 CA ZERO
045761,001054: 15,3614 13621 TCF TIMETST5 +1
045762,001055: 15,3615 55621 TIMETST3 TS TON1
045763,001056: 15,3616 44712 CS ONE
045764,001057: 15,3617 55605 TIMETST4 TS TOFF
045765,001058: 15,3620 44712 TIMETST5 CS ONE
045766,001059: 15,3621 55607 TS TON2
045767,001060:
045768,001061: # SECTION JETCALL EXAMINES CONTENTS OF JET TIMES IN LIST, ESTABLISHES WTLST ENTRIES, AND EXECUTES CORRESPONDING
045769,001062: # JET CODES. A POSITIVE NZ NUMBER IN A TIME REGISTER INDICATES THAT A WTLST CALL IS TO BE MADE, AND ITS JET BITS
045770,001063: # EXECUTED. A +0 INDICATES THAT THE TIME INTERVAL DOES NOT APPLY, BUT THE CORRESPONDING JET BITS ARE TO BE
045771,001064: # EXECUTED. A NEG NUMBER INDICATES THAT THE TIME INTERVAL HAS BEEN PROCESSED. IN EVENT OF +0 OR -1, THE
045772,001065: # SUBSEQUENT TIME REGISTER IS EXAMINED FOR POSSIBLE ACTION. THUS JET BITS TO BE EXECUTED MAY COME FROM MORE
045773,001066: # THAN ONE REGISTER.
045774,001067:
045775,001068: 15,3622 34714 JETCALL1 CA ZERO
045776,001069: 15,3623 55611 TS OUTTAG
045777,001070: 15,3624 55612 TS NUJET
045778,001071: 15,3625 55606 TS TBITS
045779,001072: 15,3626 53622 DXCH TON1
045780,001073: 15,3627 10000 CCS A
045781,001074: 15,3630 13645 TCF JETCALL2 # CALL WTLST
045782,001075: 15,3631 23612 JETCALL3 LXCH NUJET # WTLST ENTRIES COME HERE FROM JETCALL
045783,001076: 15,3632 44712 CS ONE
045784,001077: 15,3633 53606 DXCH TOFF
045785,001078: 15,3634 10000 CCS A
045786,001079: 15,3635 13645 TCF JETCALL2 # CALL WTLST
045787,001080: 15,3636 23612 LXCH NUJET
045788,001081: 15,3637 44712 CS ONE
045789,001082: 15,3640 53610 DXCH TON2
045790,001083: 15,3641 10000 CCS A
045791,001084: 15,3642 13645 TCF JETCALL2 # CALL WTLST
045792,001085: 15,3643 23612 LXCH NUJET
045793,001086: 15,3644 03654 TC JETACTN # C(A) = +0
045794,001087: 15,3645 56001 JETCALL2 XCH L # SAVE JET BITS FOR AFTER WTLST CALL
045795,001088: 15,3646 27612 ADS NUJET
045796,001089: 15,3647 56001 XCH L
045797,001090: 15,3650 64712 AD ONE # RESTORE FOR CCS
045798,001091: 15,3651 05140 TC WAITLIST
045799,001092: 15,3652 E6,1661 EBANK= AOG
045800,001093: 15,3652 03662 32066 2CADR JETCALL
045801,001094: 15,3654 31612 JETACTN CA NUJET # COME HERE WHEN DESIRED JET CODE IS KNOWN
Page 1056 |
045803,001096: 15,3655 00006 EXTEND # NO NEED TO SAVE OLD CODES
045804,001097: 15,3656 01006 WRITE ROLLJETS # SET RCHAN TO NEW BIT CONFIG.
045805,001098:
045806,001099: 15,3657 11611 CCS OUTTAG
045807,001100: 15,3660 05213 TC TASKOVER
045808,001101: 15,3661 03711 ROLLDUMP TC CM/FDAIR
045809,001102:
045810,001103: # EDIT DUMP AT ABOVE LOCATION.
045811,001104:
045812,001105: # WAITLIST ENTRIES COME HERE.
045813,001106:
045814,001107: 15,3662 34711 JETCALL CAF BIT2 # CM/DSTBY =103D BIT2
045815,001108: 15,3663 55611 TS OUTTAG # SIGNIFY WTLST ENTRY
045816,001109: 15,3664 70102 MASK CM/FLAGS # IS SYSTEM DISABLED $
045817,001110: 15,3665 00006 EXTEND
045818,001111: 15,3666 13655 BZF JETACTN +1 # YES, QUENCH ROLL JETS,IF ON AND EXIT.
045819,001112: 15,3667 22007 ZL # NO, CONTINUE.
045820,001113: 15,3670 13631 TCF JETCALL3 # C(A) POS, C(L) =+0
045821,001114:
045822,001115: # DEAD ZONE ENTRIES COME HERE.
045823,001116:
045824,001117: 15,3671 34714 DZCALL CA ZERO # COME HERE IF IN DZ, AND CANCELL JETS
045825,001118: 15,3672 00006 EXTEND # INHINT NOT NEEDED HERE.
045826,001119: 15,3673 01006 WRITE ROLLJETS # TURN OFF ALL ROLL JETS.
045827,001120: 15,3674 55567 TS VDT/180 # SET =0 TO SHOW IN DEAD ZONE.
045828,001121: 15,3675 55711 DZCALL1 TS JETAG # COME HERE WITH C(A)=0.
045829,001122: 15,3676 03661 TC ROLLDUMP
045830,001123:
Page 1057 |
045832,001125: # CM ENTRY FDAI DISPLAY
045833,001126:
045834,001127: # CALCULATE BY INTEGRATION THE ROLL ERROR BETWEEN THE 2 SEC CM/RCS UPDATES . DISPLAY ATTITUDE ERRORS AS FOLLOWS:
045835,001128: # ATM DAP: DISPLAY ONLY ROLL ATTITUDE ERROR.
045836,001129: # EXT ATM DAP: PRESENT 3 ATTITUDE ERRORS RELATIVE TO THE APPROPRIATE BODY AXES EACH .1 SEC.
045837,001130: # ROLL ROLLC-ROLL
045838,001131: # PITCH ALFAC-ALFA
045839,001132: # YAW BETAC-BETA
045840,001133:
045841,001134: # DURING ENTRY, THE FDAI NEEDLES HAVE FULL SCALE OF 67.5 DEG IN ROLL AND 16.875 DEG IN PITCH AND YAW.
045842,001135: # THE SUBROUTINE NEEDLER EXPECTS (ANGLE/180) AND SCALES TO 16.875 DEG FULL SCALE.
045843,001136:
045844,001137: 15,3677 11700 CM/FDAI CCS CMDAPMOD # COME HERE EACH 0.1 SEC.
045845,001138: 15,3700 13710 TCF CM/FDAIR -1 # C(A) =0, FOR DUMP.
045846,001139: 15,3701 13703 TCF +2
045847,001140: 15,3702 13703 TCF +1 # (IN ATM, COME HERE TO )
045848,001141: 15,3703 41705 CS PHIDOT # INTEGRATE ROLL ERROR.BETWEEN 2 SEC
045849,001142: 15,3704 00006 EXTEND
045850,001143: 15,3705 71506 MP CALFA # FOR ASSUMED COORDINATION.
045851,001144: 15,3706 00006 EXTEND
045852,001145: 15,3707 74675 MP HALF
045853,001146: 15,3710 27713 ADS PAXERR1 # ROLL ERROR/360. OVFL OK.
045854,001147:
045855,001148: # EDIT DUMP AT ABOVE LOCATION.
045856,001149: 15,3711 34675 CM/FDAIR CA HALF
045857,001150: 15,3712 00006 EXTEND
045858,001151: 15,3713 71713 MP PAXERR1 # FULL SCALE FOR FDAI (ROLL) IS 67.5 D
045859,001152: 15,3714 55476 TS PAXERR # .25 (ROLL ERROR/180) FOR FDAI NEEDLE.
045860,001153:
045861,001154: # PROGRAM TO FILE BODY RATES FOR TM ON ONE PASS AND
045862,001155: # TO UPDATE THE NEEDLE DISPLAY ON THE NEXT.
045863,001156: # SYNCHRONIZATION WITH CM/RCS IS USED SO THAT THE TM
045864,001157: # IS DONE WITH THE ROLL SYSTEM AND NEEDLES START ON
045865,001158: # THE SUBSEQUENT PASS.
045866,001159:
045867,001160:
045868,001161: 15,3715 40305 CM/DUMPR CS SW/NDX # COMBINED ALTERNATION SWITCH AND FILE
045869,001162: 15,3716 54305 TS SW/NDX
045870,001163: 15,3717 00006 EXTEND # INDEX.
045871,001164: 15,3720 63724 BZMF CMTMFILE # FILE STARTS WITH SW/NDX +1 AND GOES TO
045872,001165: # ENDBUF.
045873,001166: # INDEX IS POS FOR NEEDLES
045874,001167:
045875,001168: 15,3721 04633 TC IBNKCALL
045876,001169: 15,3722 42404 CADR NEEDLER
045877,001170:
045878,001171: 15,3723 03742 TC CM/END
045879,001172:
045880,001173: # INDEX IS NEG FOR TM FILE
045881,001174:
Page 1058 |
045883,001176: 15,3724 66214 CMTMFILE AD THREE
045884,001177: 15,3725 00006 EXTEND
045885,001178: 15,3726 63732 BZMF SAVENDX
045886,001179:
045887,001180: 15,3727 30025 CA TIME1 # INITIALIZE THE TM LIST IN UPBUFF.
045888,001181: 15,3730 54304 TS CMTMTIME
045889,001182: 15,3731 44720 CS THIRTEEN # INITIALIZE COUNTER
045890,001183: 15,3732 54305 SAVENDX TS SW/NDX # A NEGATIVE NUMBER.
045891,001184: 15,3733 00006 EXTEND
045892,001185: 15,3734 31702 DCA PREL
045893,001186: 15,3735 50305 INDEX SW/NDX
045894,001187: 15,3736 52324 DXCH ENDBUF -1
045895,001188: 15,3737 31703 CA RREL
045896,001189: 15,3740 50305 INDEX SW/NDX
045897,001190: 15,3741 54325 TS ENDBUF +1
045898,001191:
045899,001192: 15,3742 31623 CM/END CA CM/SAVE
045900,001193: 15,3743 54021 TS SR
045901,001194: # DOES NOT PROTECT TEMK, SQ IN SPSIN/COS
045902,001195:
045903,001196: 15,3744 00006 EXTEND
045904,001197: 15,3745 33751 DCA T5IDLER2
045905,001198: 15,3746 53313 DXCH T5LOC
045906,001199: 15,3747 05222 TC RESUME
045907,001200:
045908,001201: 15,3750 1312 EBANK= T5LOC
045909,001202: 15,3750 03132 12062 T5IDLER2 2CADR T5IDLOC
045910,001203: # DEFINE THE FOLLOWING 17D REGISTERS IN UPBUFF TO BE
045911,001204: # USED TO TELEMETER CM VEHICLE BODY RATE INFORMATION.
045912,001205: # THE INFORMATION IS FILED EACH 0.2 SEC, GIVING 15D
045913,001206: # DATA POINTS EACH 1 SEC. TM LIST IS READ TWICE
045914,001207: # EACH 2 SECONDS.
045915,001208:
045916,001209: # THE SEQUENCE IS: SP TIME INITIAL TIME
045917,001210: # SWITCH ALSO INDEX.
045918,001211: # P ROLL RATE
045919,001212: # Q PITCH RATE
045920,001213: # R YAW RATE
045921,001214: # ETC.
045922,001215:
045923,001216: # CMTMTIME = UPBUFF
045924,001217: # SW/NDX = UPBUFF +1
045925,001218: # ENDBUF = UPBUFF +16D
045926,001219:
045927,001220: # CONSTANTS USED IN THE ROLL CONTROL SYSTEM:
045928,001221: # CONSTANTS ARE THE FOLLOWING: A = 9.1 DEG/SECSQ, VM = 20 DEG/SEC, T = 2 SEC, TCDU = .1 SEC,
045929,001222: # XMIN = 4 DEG, VMIN = 2 DEG/SEC, K = .25, A1 = 4.55 DEG/SECSQ, VI = 1 DEG/SEC, INTERCEPT WITH DZ SIDE
045930,001223: # XBUF = 4DEG
045931,001224:
Page 1059 |
045933,001226: 15,3752 77464 -T-3 DEC -203 B-14 # CS
045934,001227: 15,3753 00012 VSQMIN DEC .61050061 E-3 # VSQ MIN/4 A PI = 4/(4 (9.1) 180)
045935,001228: 15,3754 4726 2T/TCDU = OCT50 # T/TCDU EXP-14 TCDU =.1SEC
045936,001229: 15,3754 23617 180/8ATT DEC .61813187 # 180/(8 (9.1) 4)=(180/ATT) EXP -3
045937,001230: 15,3755 07071 VMT/180 DEC .222222222 # 20 (2) / 180
045938,001231: 15,3756 4740 2JETT = 4SECS # CS 2 (2) 100 INTEGER
045939,001232: 15,3756 01440 4JETT DEC 800 B-14 # CS 4 (2) 100 INTEGER
045940,001233: 15,3757 00266 XMIN/360 DEC 182 B-14 # XMIN/360 = 4/ 360 EXP 14 = 182 INTEGER
045941,001234: 15,3760 70706 -VM/360K DEC -.22222222 # =-20/( 360 (.25))
045942,001235: 15,3761 15,3754 1/16A1 = 180/8ATT
045943,001236: # 1/16A1 = 180/(16 A1 TT)
045944,001237: # =180/(16 4.55 4)
045945,001238: 15,3761 00133 XS/360 DEC 91 B-14 # =(XMIN +VI (T-1/K))/360 = 2/360 EXP 14
045946,001239: 15,3762 15,3761 BUFLIM = XS/360 # 4/(2 360)
045947,001240:
045948,001241: 15,3762 4675 KTRCS = HALF # KT = (.25) 2 = .5
End of include-file CM_ENTRY_DIGITAL_AUTOPILOT.agc. Parent file is MAIN.agc