Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
006639,000002: ## Copyright: Public domain.
006640,000003: ## Filename: RADAR_LEAD-IN_ROUTINES.agc
006641,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
006642,000005: ## It is part of an early development version of the software
006643,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
006644,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
006645,000008: ## upon which Don Eyles's offline development program Shepatin
006646,000009: ## was based; the listing herein transcribed was actually for
006647,000010: ## the equivalent revision 0 of Shepatin.
006648,000011: ## This file is intended to be a faithful transcription, except
006649,000012: ## that the code format has been changed to conform to the
006650,000013: ## requirements of the yaYUL assembler rather than the
006651,000014: ## original YUL assembler.
006652,000015: ## Reference: pp. 155-184
006653,000016: ## Assembler: yaYUL
006654,000017: ## Contact: Ron Burkey <info@sandroid.org>.
006655,000018: ## Website: www.ibiblio.org/apollo/index.html
006656,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
006657,000020: ## 2017-05-31 RSB Transcribed.
006658,000021: ## 2017-06-21 RSB Fixed some comments using
006659,000022: ## octopus/ProoferComments.
006660,000023:
Page 155 |
006662,000025: 4312 BLOCK 02
006663,000026: 4312 E3,1464 EBANK= RRRET
006664,000027:
006665,000028: # THE FOLLOWING SUBROUTINE RETURNS TO CALLER + 2 IF THE ABSOLUTE VALUE OF C(A) IS GREATER THAN THE
006666,000029: # NEGATIVE OF THE NUMBER AT CALLER +1. OTHERWISE IT RETURNS TO CALLER +3. MAY BE CALLED IN RUPT OR UNDER EXEC.
006667,000030:
006668,000031: 4312 00006 MAGSUB EXTEND
006669,000032: 4313 64315 BZMF +2
006670,000033: 4314 14316 TCF +2
006671,000034: 4315 40000 COM
006672,000035:
006673,000036: 4316 50002 INDEX Q
006674,000037: 4317 60000 AD 0
006675,000038: 4320 00006 EXTEND
006676,000039: 4321 67010 BZMF Q+2 # ABS(A) LEQ CONSTANT
006677,000040: 4322 17006 TCF Q+1 # ABS(A) G CONSTANT
006678,000041:
Page 156 |
006680,000043: # THE FOLLOWING SUBROUTINE CHECKS RR GIMBAL ANGLES TO SEE IF THEY ARE IN THE LIMITS OF THE CURRENT MODE.
006681,000044: # CALLING SEQUENCE IS AS FOLLOWS:
006682,000045:
006683,000046: # TC RRLIMCHK (WITH INTERRUPT INHIBITED).
006684,000047: # ADRES T,S (IN UNSWITCHED E OR CURRENT EBANK).
006685,000048:
006686,000049: # RETURN IS TO CALLER +2 IF NOT IN LIMITS AND TO CALLER +3 IF SO.
006687,000050:
006688,000051: 4323 50002 RRLIMCHK INDEX Q # READ GIMBAL ANGLES INTO ITEMP STORAGE.
006689,000052: 4324 30000 CAF 0
006690,000053: 4325 24002 INCR Q
006691,000054: 4326 00006 EXTEND
006692,000055: 4327 50000 INDEX A
006693,000056: 4330 30001 DCA 0
006694,000057: 4331 52062 DXCH ITEMP1
006695,000058: 4332 22002 LXCH Q # L(CALLER +2) TO L.
006696,000059:
006697,000060: 4333 37742 CAF BIT12 # SEE WHICH MODE RR IS IN.
006698,000061: 4334 70413 MASK RADMODES
006699,000062: 4335 10000 CCS A
006700,000063: 4336 14351 TCF MODE2CHK
006701,000064:
006702,000065: 4337 30061 CA ITEMP1 # MODE 1 IS DEFINED AS
006703,000066: 4340 04312 TC MAGSUB # 1. ABS(T) L 55 DEGS.
006704,000067: 4341 66161 DEC -.30555 # 2. ABS(S + 5.5 DEGS) L 64.5 DEGS
006705,000068: 4342 00001 TC L # (SHAFT LIMITS AT +59, -70 DEGS)
006706,000069:
006707,000070: 4343 34363 CAF 5.5DEGS
006708,000071: 4344 60062 AD ITEMP2 # S
006709,000072: 4345 04312 TC MAGSUB
006710,000073: 4346 64420 DEC -.35833 # 64.5 DEGS
006711,000074: 4347 00001 TC L
006712,000075: 4350 04361 TC RRLIMOK # IN LIMITS.
006713,000076:
006714,000077: 4351 34365 MODE2CHK CAF 82DEGS # MODE 2 IS DEFINED AS
006715,000078: 4352 60062 AD ITEMP2 # 1. ABS(T) G 125 DEGS.
006716,000079: 4353 04312 TC MAGSUB # 2. ABS(S + 82 DEGS) L 57 DEGS
006717,000080: 4354 65673 DEC -.31667 # (SHAFT LIMITS AT -25, -139 DEGS)
006718,000081: 4355 00001 TC L
006719,000082:
006720,000083: 4356 30061 CA ITEMP1
006721,000084: 4357 04312 TC MAGSUB
006722,000085: 4360 51615 DEC -.69444 # 125 DEGS
006723,000086:
006724,000087: 4361 50001 RRLIMOK INDEX L
006725,000088: 4362 00001 TC L # ( = TC 1)
006726,000089:
006727,000090: 4363 00765 5.5DEGS DEC .03056
006728,000091: 4364 00707 5DEGS DEC .02777 # SCALED IN HALF-REVOLUTIONS.
006729,000092: 4365 16450 82DEGS DEC .45556
006730,000093:
Page 157 |
006732,000095: # THE FOLLOWING ROUTINE UPDATES THE TRACKER FAIL LAMP ON THE DSKY. IF EITHER:
006733,000096:
006734,000097: # 1. N SAMPLES OF RR DATA COULD NOT BE OBTAINED FROM 2N TRIES
006735,000098: # 2. N SAMPLES OF LR DATA COULD NOT BE TAKEN IN 2N TRIES WITH EITHER THE ALT OR VEL INFORMATION.
006736,000099: # 3. RR CDU FAILED WITH RR IN AUTO MODE AND RR CDU NOT BEING ZEROED.
006737,000100:
006738,000101: 4366 37755 SETTRKF CAF BIT1 # NO ACTION IF DURING LAMP TEST.
006739,000102: 4367 70366 MASK IMODES33
006740,000103:
006741,000104: 4370 10000 CCS A
006742,000105: 4371 00002 TC Q
006743,000106:
006744,000107: 4372 34422 CAF 13,7,2 # SEE IF CDU FAILED.
006745,000108: 4373 70413 MASK RADMODES
006746,000109: 4374 00006 EXTEND
006747,000110: 4375 14405 BZF TRKFLON # CONDITION 3 ABOVE.
006748,000111:
006749,000112: 4376 40413 CS RADMODES # SEE IF LR FAILED.
006750,000113: 4377 74423 MASK 8,5
006751,000114: 4400 00006 EXTEND
006752,000115: 4401 14405 BZF TRKFLON # CONDITION 2 ABOVE.
006753,000116:
006754,000117: 4402 37752 CAF BIT4 # SEE IF RR DATA FAILED.
006755,000118: 4403 70413 MASK RADMODES
006756,000119: 4404 10000 CCS A
006757,000120: 4405 37746 TRKFLON CAF BIT8
006758,000121: 4406 60326 AD DSPTAB +11D # HALF ADD DESIRED AND PRESENT STATES.
006759,000122: 4407 77746 MASK BIT8
006760,000123: 4410 00006 EXTEND
006761,000124: 4411 17011 BZF TCQ # NO CHANGE.
006762,000125:
006763,000126: 4412 54001 TS L # INVERT BIT 8 AND SET BIT 15.
006764,000127:
006765,000128: 4413 30326 CA DSPTAB +11D # CANT USE LXCH DSPTAB +11D (RESTART PROB)
006766,000129: 4414 00006 EXTEND
006767,000130: 4415 06001 RXOR L
006768,000131: 4416 77735 MASK POSMAX
006769,000132: 4417 67737 AD BIT15
006770,000133: 4420 54326 TS DSPTAB +11D
006771,000134: 4421 00002 TC Q
006772,000135:
006773,000136: 4422 10102 13,7,2 OCT 10102
006774,000137: 4423 00220 8,5 OCT 00220
006775,000138:
006776,000139: 4424 ENDRMODF EQUALS
006777,000140:
Page 158 |
006779,000142: # TURNON SEQUENCE TO ZERO THE CDUS AND DETERMINE THE RR MODE.
006780,000143:
006781,000144: 10,2000 BANK 10
006782,000145:
006783,000146: 10,2000 02013 RRTURNON TC RRZEROSB
006784,000147: 10,2001 05717 TC FIXDELAY # WAIT 1 SEC BEFORE REMOVING TURN ON FLAG
006785,000148: 10,2002 00144 DEC 100 B-14 # SO A MONITOR REPOSITION WONT ALARM.
006786,000149: 10,2003 47755 CS BIT1
006787,000150: 10,2004 70413 MASK RADMODES
006788,000151: 10,2005 54413 TS RADMODES
006789,000152: 10,2006 40074 CS STATE # SEE IF SOMEONE IS WAITING TO USE THE RR.
006790,000153: 10,2007 77747 MASK RRUSEFLG
006791,000154: 10,2010 10000 CCS A
006792,000155: 10,2011 15745 TCF TASKOVER
006793,000156:
006794,000157: 10,2012 13241 TCF ENDRADAR # CHECK RR CDU FAIL BEFORE EXIT.
006795,000158:
Page 159 |
006797,000160: # CLOSED SUBROUTINE TO ZERO THE RR CDUS.
006798,000161:
006799,000162: 10,2013 00006 RRZEROSB EXTEND
006800,000163: 10,2014 23464 QXCH RRRET
006801,000164: 10,2015 37755 CAF BIT1 # BIT 13 OF RADMODES MUST BE SET BEFORE
006802,000165: 10,2016 00006 EXTEND # COMING HERE.
006803,000166: 10,2017 05012 WOR 12
006804,000167: 10,2020 05717 TC FIXDELAY
006805,000168: 10,2021 00002 DEC 2 B-14
006806,000169:
006807,000170: 10,2022 37761 CAF ZERO
006808,000171: 10,2023 54035 TS OPTY
006809,000172: 10,2024 54036 TS OPTX
006810,000173: 10,2025 47755 CS ONE # REMOVE ZEROING BIT.
006811,000174: 10,2026 00006 EXTEND
006812,000175: 10,2027 03012 WAND 12
006813,000176: 10,2030 05717 TC FIXDELAY
006814,000177: 10,2031 00620 DEC 400 B-14
006815,000178:
006816,000179: 10,2032 47741 CS BIT13 # REMOVE ZEROING IN PROCESS BIT.
006817,000180: 10,2033 70413 MASK RADMODES
006818,000181: 10,2034 54413 TS RADMODES
006819,000182:
006820,000183: 10,2035 30035 CA OPTY
006821,000184: 10,2036 04312 TC MAGSUB
006822,000185: 10,2037 57777 DEC -.5
006823,000186: 10,2040 12043 TCF +3 # IF MODE 2.
006824,000187:
006825,000188: 10,2041 37761 CAF ZERO
006826,000189: 10,2042 12044 TCF +2
006827,000190: 10,2043 37742 CAF BIT12
006828,000191: 10,2044 56413 XCH RADMODES
006829,000192: 10,2045 75520 MASK -BIT12
006830,000193: 10,2046 26413 ADS RADMODES
006831,000194:
006832,000195: 10,2047 04366 TC SETTRKF # TRACKER LAMP MIGHT GO ON NOW.
006833,000196:
006834,000197: 10,2050 01464 TC RRRET # DONE.
006835,000198:
006836,000199: 10,2051 5520 -BIT12 EQUALS -1/8 # IN SPROOT
006837,000200:
Page 160 |
006839,000202: # SEQUENCE OF TASKS TO DRIVE THE RR TO A SAFE POSITION.
006840,000203:
006841,000204: 10,2051 02106 DORREPOS TC SETRRECR # SET UP RR CDU ERROR COUNTERS.
006842,000205:
006843,000206: 10,2052 37755 CAF BIT1 # DO AN ALARM UNLESS RR JUST TURNED ON.
006844,000207: 10,2053 70413 MASK RADMODES
006845,000208: 10,2054 10000 CCS A
006846,000209: 10,2055 12060 TCF +3
006847,000210:
006848,000211: 10,2056 04744 TC ALARM
006849,000212: 10,2057 00501 OCT 501
006850,000213: 10,2060 05717 TC FIXDELAY
006851,000214: 10,2061 00002 DEC 2 B-14
006852,000215:
006853,000216: 10,2062 37742 CAF BIT12 # MANEUVER TRUNNION ANGLE TO NOMINAL POS.
006854,000217: 10,2063 70413 MASK RADMODES
006855,000218: 10,2064 10000 CCS A
006856,000219: 10,2065 37737 CAF BIT15 # 0 FOR MODE 1 AND 180 FOR MODE 2.
006857,000220: 10,2066 02150 TC RRTONLY
006858,000221:
006859,000222: 10,2067 37742 CAF BIT12 # NOW PUT SHAFT IN RIGHT POSITION.
006860,000223: 10,2070 70413 MASK RADMODES
006861,000224: 10,2071 10000 CCS A
006862,000225: 10,2072 47740 CS HALF # -90 FOR MODE 2.
006863,000226: 10,2073 02153 TC RRSONLY
006864,000227:
006865,000228: 10,2074 47743 REPOSRPT CS BIT11 # RETURNS HERE FROM RR1AXIS IF REMODE
006866,000229: # REQUESTED DURING REPOSITION.
006867,000230: 10,2075 70413 MASK RADMODES # REMOVE REPOSITION BIT.
006868,000231: 10,2076 54413 TS RADMODES
006869,000232: 10,2077 77744 MASK BIT10 # SEE IF SOMEONE IS WAITING TO DESIGNATE.
006870,000233: 10,2100 10000 CCS A
006871,000234: 10,2101 12422 TCF BEGDES
006872,000235: 10,2102 47754 CS BIT2 # IF NO FURTHER ANTENNA CONTROL REQUIRED,
006873,000236: 10,2103 00006 EXTEND # REMOVE ERROR COUNTER ENABLE.
006874,000237: 10,2104 03012 WAND 12
006875,000238: 10,2105 15745 TCF TASKOVER
006876,000239:
006877,000240: 10,2106 37754 SETRRECR CAF BIT2 # SET UP RR ERROR COUNTERS.
006878,000241: 10,2107 00006 EXTEND
006879,000242: 10,2110 05012 WOR 12
006880,000243:
006881,000244: 10,2111 37761 CAF ZERO
006882,000245: 10,2112 54361 TS LASTYCMD
006883,000246: 10,2113 54362 TS LASTXCMD
006884,000247: 10,2114 00002 TC Q
006885,000248:
Page 161 |
006887,000250: # GENERAL REMODING SUBROUTINE. DRIVES TRUNION TO 0 (180), THEN DRIVES SHAFT TO -45, AND FINALLY DRIVES
006888,000251: # TRUNNION TO -130 (-50) BEFORE INITIATING 2-AXIS CONTROL. ALL RE-MODING IS DONE WITH SINGLE AXIS ROTATIONS (SEE
006889,000252: # RR1AXIS).
006890,000253:
006891,000254: 10,2115 37742 REMODE CAF BIT12 # DRIVE TRUNNION TO 0 (180).
006892,000255: 10,2116 70413 MASK RADMODES # (ERROR COUNTER ALREADY ENABLED)
006893,000256: 10,2117 10000 CCS A
006894,000257: 10,2120 37737 CAF BIT15
006895,000258:
006896,000259: 10,2121 02150 TC RRTONLY
006897,000260:
006898,000261: 10,2122 32137 CAF -45DEGSR
006899,000262: 10,2123 02153 TC RRSONLY
006900,000263:
006901,000264: 10,2124 40413 CS RADMODES
006902,000265: 10,2125 77742 MASK BIT12
006903,000266: 10,2126 10000 CCS A
006904,000267: 10,2127 32141 CAF -80DEGSR # GO TO T = -130 (-50).
006905,000268: 10,2130 62140 AD -50DEGSR
006906,000269: 10,2131 02150 TC RRTONLY
006907,000270:
006908,000271: 10,2132 02142 TC RMODINV
006909,000272:
006910,000273: 10,2133 47740 CS BIT14 # END OF REMODE.
006911,000274: 10,2134 70413 MASK RADMODES
006912,000275: 10,2135 54413 TS RADMODES
006913,000276:
006914,000277: 10,2136 02431 TC STDESIG # BEGIN 2-AXIS CONTROL.
006915,000278:
006916,000279: 10,2137 70000 -45DEGSR OCT 70000
006917,000280: 10,2140 67070 -50DEGSR DEC -.27778
006918,000281: 10,2141 61615 -80DEGSR DEC -.44444
006919,000282:
006920,000283: 10,2142 22413 RMODINV LXCH RADMODES # INVERT THE MODE STATUS.
006921,000284: 10,2143 37742 CAF BIT12
006922,000285: 10,2144 00006 EXTEND
006923,000286: 10,2145 06001 RXOR L
006924,000287: 10,2146 54413 TS RADMODES
006925,000288: 10,2147 00002 TC Q
006926,000289:
Page 162 |
006928,000291: # SUBROUTINES FOR DOING SINGLE AXIS RR MANEUVERS FOR REMODE AND REPOSITION. DRIVES TO WITHIN 1 DEGREE.
006929,000292:
006930,000293: 10,2150 55465 RRTONLY TS RDES # DESIRED TRUNION ANGLE.
006931,000294: 10,2151 37761 CAF ZERO
006932,000295: 10,2152 12155 TCF RR1AXIS
006933,000296:
006934,000297: 10,2153 55465 RRSONLY TS RDES # SHAFT COMMANDS ARE UNRESOLVED SINCE THIS
006935,000298: 10,2154 37755 CAF ONE # ROUTINE ENTERED ONLY WHEN T = 0 OR 180.
006936,000299:
006937,000300: 10,2155 55466 RR1AXIS TS RRINDEX
006938,000301: 10,2156 00006 EXTEND
006939,000302: 10,2157 23464 QXCH RRRET
006940,000303: 10,2160 12163 TCF RR1AX2
006941,000304:
006942,000305: 10,2161 05717 NXTRR1AX TC FIXDELAY
006943,000306: 10,2162 00062 DEC 50 B-14 # 2 SAMPLES PER SECOND.
006944,000307:
006945,000308: 10,2163 40413 RR1AX2 CS RADMODES # IF SOMEONE REQUESTES AS DESIGNATE WHICH
006946,000309: 10,2164 75663 MASK PRIO22 # REQUIRES A REMODE AND A REPOSITION IS IN
006947,000310: 10,2165 00006 EXTEND # PROGRESS, INTERRUPT IT AND START THE
006948,000311: 10,2166 12074 BZF REPOSRPT # REMODE IMMEDIATELY.
006949,000312:
006950,000313: 10,2167 31465 CA RDES
006951,000314: 10,2170 00006 EXTEND
006952,000315: 10,2171 51466 INDEX RRINDEX
006953,000316: 10,2172 20035 MSU OPTY
006954,000317: 10,2173 54002 TS Q # SAVE ERROR SIGNAL.
006955,000318: 10,2174 00006 EXTEND
006956,000319: 10,2175 72212 MP RRSPGAIN # TRIES TO NULL .7 OF ERROR OVER NEXT .5
006957,000320: 10,2176 54001 TS L
006958,000321: 10,2177 30002 CA Q # SEE IF WITHIN 1 DEGREE.
006959,000322: 10,2200 04312 TC MAGSUB
006960,000323: 10,2201 77644 DEC -.00555 # SCALED IN HALF-REVS.
006961,000324:
006962,000325: 10,2202 12204 TCF +2 # NO.
006963,000326: 10,2203 01464 TC RRRET # RETURN TO CALLER.
006964,000327:
006965,000328: 10,2204 11466 CCS RRINDEX # COMMAND FOR OTHER AXIS IS ZERO.
006966,000329:
006967,000330: 10,2205 12207 TCF +2 # SETTING A TO 0.
006968,000331: 10,2206 56001 XCH L
006969,000332: 10,2207 52424 DXCH TANG
006970,000333:
006971,000334: 10,2210 02213 TC RROUT
006972,000335:
006973,000336: 10,2211 12161 TCF NXTRR1AX # COME BACK IN .5 SECONDS.
006974,000337:
006975,000338: 10,2212 22715 RRSPGAIN DEC .59062 # NULL .7 ERROR IN .5 SEC.
006976,000339:
Page 163 |
006978,000341: # THE FOLLOWING ROUTINE RECEIVES RR GYRO COMMANDS IN TANG,+1 IN ERROR COUNTER SCALING. RROUT LIMITS THEM
006979,000342: # AND GENERATES COMMANDS TO THE CDU TO ADJUST THE ERROR COUNTERS TO THE DESIRED VALUES. RUPT MUST BE INHIBITED.
006980,000343:
006981,000344: 10,2213 22002 RROUT LXCH Q # SAVE RETURN.
006982,000345: 10,2214 37755 CAF ONE # LOOP TWICE.
006983,000346: 10,2215 54062 RROUT2 TS ITEMP2
006984,000347: 10,2216 50000 INDEX A
006985,000348: 10,2217 30423 CA TANG
006986,000349: 10,2220 54061 TS ITEMP1 # SAVE SIGN OF COMMAND FOR LIMITING.
006987,000350:
006988,000351: 10,2221 04312 TC MAGSUB # SEE IF WITHIN LMITS.
006989,000352: 10,2222 77177 -RRLIMIT DEC -384 B-14
006990,000353: 10,2223 12241 TCF RROUTLIM # LIMIT COMMAND TO MAG OF 384.
006991,000354:
006992,000355: 10,2224 30061 SETRRCTR CA ITEMP1 # COUNT OUT DIFFERENCE BETWEEN DESIRED
006993,000356: 10,2225 50062 INDEX ITEMP2 # STATE AND PRESENT STATE AS RECORDED IN
006994,000357: 10,2226 56361 XCH LASTYCMD # LASTYCMD AND LASTXCMD
006995,000358: 10,2227 40000 COM
006996,000359: 10,2230 60061 AD ITEMP1
006997,000360:
006998,000361: 10,2231 50062 INDEX ITEMP2
006999,000362: 10,2232 54053 TS OPTYCMD
007000,000363:
007001,000364: 10,2233 10062 CCS ITEMP2 # PROCESS BOTH INPUTS.
007002,000365: 10,2234 12215 TCF RROUT2
007003,000366:
007004,000367: 10,2235 35652 CAF PRIO6 # ENABLE COUNTERS.
007005,000368: 10,2236 00006 EXTEND
007006,000369: 10,2237 05014 WOR 14
007007,000370:
007008,000371: 10,2240 00001 TC L # RETURN.
007009,000372:
007010,000373: 10,2241 10061 RROUTLIM CCS ITEMP1 # LIMIT COMMAND TO ABS VAL OF 384.
007011,000374: 10,2242 42222 CS -RRLIMIT
007012,000375: 10,2243 12245 TCF +2
007013,000376: 10,2244 32222 CA -RRLIMIT
007014,000377: 10,2245 54061 TS ITEMP1
007015,000378: 10,2246 12225 TCF SETRRCTR +1
007016,000379:
Page 164 |
007018,000381: # ROUTINE TO ZERO THE RR CDUS AND DETERMINE THE ANTENNA MODE.
007019,000382:
007020,000383: 10,2247 00004 RRZERO INHINT
007021,000384: 10,2250 47747 CS RRUSEFLG # SET FLAG TO SHOW SOMEONE USING THE RR.
007022,000385: 10,2251 70074 MASK STATE
007023,000386: 10,2252 67747 AD RRUSEFLG
007024,000387: 10,2253 54074 TS STATE
007025,000388:
007026,000389: 10,2254 37755 CAF BIT1 # SEE IF RR COMING UP. IF SO, TURNON
007027,000390: 10,2255 70413 MASK RADMODES # PROGRAM WILL DO THE WORK.
007028,000391: 10,2256 10000 CCS A
007029,000392: 10,2257 12302 TCF ROADBACK
007030,000393:
007031,000394: 10,2260 37743 CAF BIT11 # SEE IF MONITOR REPOSITION IN PROGRESS.
007032,000395: 10,2261 70413 MASK RADMODES # IF SO, DONT RE-ZERO CDUS.
007033,000396: 10,2262 10000 CCS A
007034,000397: 10,2263 13223 TCF RADNOOP # (IMMEDIATE TASK TO RGOODEND).
007035,000398:
007036,000399: 10,2264 47741 CS BIT13 # SET FLAG TO SHOW ZEROING IN PROGRESS.
007037,000400: 10,2265 70413 MASK RADMODES
007038,000401: 10,2266 67741 AD BIT13
007039,000402: 10,2267 54413 TS RADMODES
007040,000403:
007041,000404: 10,2270 37755 CAF ONE
007042,000405: 10,2271 05701 TC WAITLIST
007043,000406:
007044,000407: 10,2272 E3,1464 EBANK= RRRET
007045,000408: 10,2272 02304 20003 2CADR RRZ2
007046,000409:
007047,000410: 10,2274 40413 CS RADMODES # SEE IF IN AUTO MODE.
007048,000411: 10,2275 77754 MASK BIT2
007049,000412: 10,2276 10000 CCS A
007050,000413: 10,2277 12302 TCF ROADBACK
007051,000414: 10,2300 04744 TC ALARM # AUTO DISCRETE NOT PRESENT - TRYING
007052,000415: 10,2301 00510 OCT 510
007053,000416: 10,2302 00003 ROADBACK RELINT
007054,000417: 10,2303 15237 TCF SWRETURN
007055,000418:
007056,000419: 10,2304 02013 RRZ2 TC RRZEROSB # COMMON TO TURNON AND RRZERO.
007057,000420: 10,2305 13241 TCF ENDRADAR
007058,000421:
007059,000422: 10,2306 7747 RRUSEFLG EQUALS BIT7
007060,000423: 10,2306 7751 LOKONFLG EQUALS BIT5
007061,000424:
Page 165 |
007063,000426: # STABLE-MEMBER RR DESIGNATE ROUTINE. DESIGNATE TO A SM LOS VECTOR (HALF-UNIT) IN RRTARGET. REMODES IF
007064,000427: # REQUIRED. RETURNS TO CALLER IF MANEUVER REQUIRED FOR DES AND SKIPS IF IT CAN BE DONE IN PRESENT VEH ATTITUDE.
007065,000428:
007066,000429: 10,2306 43020 RRDESSM STQ CLEAR
007067,000430: 10,2307 00427 DESRET
007068,000431: 10,2310 00271 RRNBSW
007069,000432: 10,2311 66234 RTB SSP # READ CDUS FOR SMNB.
007070,000433: 10,2312 33540 READCDUS
007071,000434: 10,2313 00051 S1
007072,000435: 10,2314 00024 20D
007073,000436: 10,2315 24025 STOVL 20D
007074,000437: 10,2316 00416 RRTARGET
007075,000438: 10,2317 34041 STCALL 32D
007076,000439: 10,2320 32576 SMNB
007077,000440:
007078,000441: 10,2321 77624 CALL # GET RR GIMBAL ANGLES IN PRESENT AND
007079,000442: 10,2322 33422 RRANGLES # ALTERNATE MODE.
007080,000443: 10,2323 77776 EXIT
007081,000444:
007082,000445: 10,2324 00004 INHINT
007083,000446: 10,2325 04323 TC RRLIMCHK
007084,000447: 10,2326 00423 ADRES MODEA # CONFIGURATION FOR CURRENT MODE.
007085,000448: 10,2327 12351 TCF TRYSWS
007086,000449:
007087,000450: 10,2330 24427 OKDESSM INCR DESRET # INCREMENT SAYS NO VEHICLE MANEUVER REQ.
007088,000451:
Page 166 |
007090,000453: # AT THIS POINT WE ARE READY TO BEGIN DESIGNATION. THE TARGET IS STORED AS A HALF-UNIT VECTOR IN RRTARGET
007091,000454: # WITH RRNBSW SET IF IT IS REFERRED TO NAV BASE AXES. LOKONSW IS SET IF LOCKON IS DESIRED. BIT14 OF RADMODES IS
007092,000455: # SET IF A REMODE IS REQUIRED. AT THIS TIME, THE ANTENNA MAY BE IN A MONITOR REPOSITION OPERATION. IN THIS
007093,000456: # CASE, IF A REMODE IS REQUIRED IT MAY HAVE ALREADY BEGUN BUT IT ANY CASE THE REPOSITION WILL BE INTERRUPTED.
007094,000457: # OTHERWISE, THE REPOSITION WILL BE COMPLETED BEFORE 2-AXIS DESIGNATION BEGINS.
007095,000458:
007096,000459: 10,2331 32350 STARTDES CAF MAXTRIES # ALLOW 30 SECS.
007097,000460: 10,2332 54430 TS DESCOUNT
007098,000461:
007099,000462: 10,2333 37744 CAF BIT10 # SHOW DESIGNATE REQUIRED.
007100,000463: 10,2334 26413 ADS RADMODES
007101,000464: 10,2335 77743 MASK BIT11 # SEE IF REPOSITION IN PROGRESS.
007102,000465: 10,2336 10000 CCS A
007103,000466: 10,2337 12345 TCF DESRETRN # ECTR ALREADY SET UP.
007104,000467:
007105,000468: 10,2340 02106 TC SETRRECR # SET UP ERROR COUNTERS.
007106,000469:
007107,000470: 10,2341 37754 CAF TWO
007108,000471: 10,2342 05701 TC WAITLIST
007109,000472: 10,2343 E3,1464 EBANK= RRRET
007110,000473: 10,2343 02422 20003 2CADR BEGDES
007111,000474:
007112,000475: 10,2345 00003 DESRETRN RELINT # RETURN VIA DESRET
007113,000476: 10,2346 30427 +1 CA DESRET
007114,000477: 10,2347 15246 TCF BANKJUMP
007115,000478:
007116,000479: 10,2350 00074 MAXTRIES DEC 60 B-14
007117,000480:
Page 167 |
007119,000482: # SEE IF RRDESSM CAN BE ACCOMPLISHED AFTER A REMODE.
007120,000483:
007121,000484: 10,2351 02142 TRYSWS TC RMODINV # (NOTE RUPT INHIBIT)
007122,000485: 10,2352 04323 TC RRLIMCHK # TRY DIFFERENT MODE.
007123,000486: 10,2353 00425 ADRES MODEB
007124,000487: 10,2354 12361 TCF NODESSM # VEHICLE MANEUVER REQUIRED.
007125,000488:
007126,000489: 10,2355 02142 TC RMODINV # RESET BIT12
007127,000490: 10,2356 37740 CAF BIT14 # SET FLAG FOR REMODE.
007128,000491: 10,2357 26413 ADS RADMODES
007129,000492:
007130,000493: 10,2360 12330 TCF OKDESSM
007131,000494:
007132,000495: 10,2361 02142 NODESSM TC RMODINV # RE-INVERT MODE AND RETURN WITHOUT IN-
007133,000496: 10,2362 12345 TCF DESRETRN # CREMENTING DESRET
007134,000497:
Page 168 |
007136,000499: # DESIGNATE TO SPECIFIC RR GIMBAL ANGLES (INDEPENDENT OF VEHICLE MOTION). ENTER WITH DESIRED ANGLES IN
007137,000500: # TANG AND TANG +1.
007138,000501:
007139,000502: 10,2363 77420 RRDESNB STQ EXIT # ENTER IN INTERP. - EXIT IN BASIC.
007140,000503: 10,2364 00427 DESRET
007141,000504:
007142,000505: 10,2365 00004 INHINT # SEE IF CURRENT MODE OK.
007143,000506: 10,2366 04323 TC RRLIMCHK
007144,000507: 10,2367 00423 ADRES TANG
007145,000508: 10,2370 12402 TCF TRYSWN # SEE IF IN OTHER MODE.
007146,000509:
007147,000510: 10,2371 00003 OKDESNB RELINT
007148,000511: 10,2372 06103 TC INTPRET
007149,000512:
007150,000513: 10,2373 77624 CALL # GET LOS IN NB COORDS.
007151,000514: 10,2374 33475 RRNB
007152,000515: 10,2375 00416 STORE RRTARGET
007153,000516:
007154,000517: 10,2376 77414 SET EXIT
007155,000518: 10,2377 00071 RRNBSW
007156,000519:
007157,000520: 10,2400 00004 INHINT
007158,000521: 10,2401 12331 TCF STARTDES
007159,000522:
007160,000523: 10,2402 02142 TRYSWN TC RMODINV # SEE IF OTHER MODE WILL DO.
007161,000524: 10,2403 04323 TC RRLIMCHK
007162,000525:
007163,000526: 10,2404 00423 ADRES TANG
007164,000527: 10,2405 12412 TCF NODESNB # NOT POSSIBLE.
007165,000528:
007166,000529: 10,2406 02142 TC RMODINV
007167,000530: 10,2407 37740 CAF BIT14 # CALL FOR REMODE.
007168,000531: 10,2410 26413 ADS RADMODES
007169,000532: 10,2411 12371 TCF OKDESNB
007170,000533:
007171,000534: 10,2412 37755 NODESNB CAF BIT1 # CALL FOR ERROR RETURN.
007172,000535: 10,2413 05701 TC WAITLIST
007173,000536: 10,2414 E3,1464 EBANK= RRRET
007174,000537: 10,2414 03255 20003 2CADR RDBADEND
007175,000538:
007176,000539: 10,2416 02142 TC RMODINV
007177,000540: 10,2417 04744 TC ALARM # BAD GIMBAL ANGLE INPUTS.
007178,000541: 10,2420 00502 OCT 502
007179,000542: 10,2421 12346 TCF DESRETRN +1 # ALARM DID A RELINT.
007180,000543:
Page 169 |
007182,000545: # WAITLIST TASKS TO RUN RR DESIGNATION.
007183,000546:
007184,000547: 10,2422 37740 BEGDES CAF BIT14 # ENTER HERE FROM STARTDES OR REPOSRPT.
007185,000548: 10,2423 70413 MASK RADMODES # SEE IF REMODE REQUIRED.
007186,000549: 10,2424 10000 CCS A
007187,000550: 10,2425 12115 TCF REMODE
007188,000551: 10,2426 12431 TCF STDESIG
007189,000552:
007190,000553: 10,2427 05717 DESLOOP TC FIXDELAY # 2 SAMPLES PER SECOND.
007191,000554: 10,2430 00062 DEC 50 B-14
007192,000555:
007193,000556: 10,2431 37743 STDESIG CAF BIT11 # ENTRY FROM BEGDES AND REMODE.
007194,000557: 10,2432 70413 MASK RADMODES # SEE IF GIMBAL LIMIT MONITOR HAS FOUND US
007195,000558: 10,2433 10000 CCS A # OUT OF BOUNDS. IF SO, THIS BIT SHOWS A
007196,000559: 10,2434 12454 TCF BADDES # REPOSITION TO BE IN PROGRESS.
007197,000560:
007198,000561: 10,2435 10413 CCS RADMODES # SEE IF CONTINUOUS DESIGNATE WANTED.
007199,000562: 10,2436 12441 TCF +3 # IF SO, DONT CHECK BIT 10 TO SEE IF IN
007200,000563: 10,2437 12441 TCF +2 # LIMITS BUT GO RIGHT TO FINDVAC ENTRY.
007201,000564: 10,2440 12461 TCF MOREDES +1
007202,000565:
007203,000566: 10,2441 40413 CS RADMODES # IF NON-CONTINUOUS, SEE IF END OF
007204,000567: 10,2442 77744 MASK BIT10 # PROBLEM (DATA GOOD IF LOCK-ON WANTED OR
007205,000568: 10,2443 10000 CCS A # WITHIN LIMITS IF NOT). IF SO, EXIT AFTER
007206,000569: 10,2444 13241 TCF ENDRADAR # CHECKING RR CDU FAIL.
007207,000570:
007208,000571: 10,2445 10430 CCS DESCOUNT # SEE IF TIME LIMIT HAS EXPIRED.
007209,000572: 10,2446 12460 TCF MOREDES
007210,000573:
007211,000574: 10,2447 04744 TC ALARM # OUT OF TIME.
007212,000575: 10,2450 00503 OCT 503
007213,000576:
007214,000577: 10,2451 42466 CS B14+B2 # IF OUT OF TIME, REMOVE ECR ENABLE + TRKR
007215,000578: 10,2452 00006 EXTEND
007216,000579: 10,2453 03012 WAND 12
007217,000580: 10,2454 47744 BADDES CS BIT10 # REMOVE DESIGNATE FLAG.
007218,000581: 10,2455 70413 MASK RADMODES
007219,000582: 10,2456 54413 TS RADMODES
007220,000583: 10,2457 13255 TCF RDBADEND
007221,000584:
007222,000585: 10,2460 54430 MOREDES TS DESCOUNT
007223,000586: 10,2461 35666 CAF PRIO26 # UPDATE GYRO TORQUE COMMANDS.
007224,000587: 10,2462 05534 TC FINDVAC
007225,000588: 10,2463 E3,1464 EBANK= RRRET
007226,000589: 10,2463 02467 20003 2CADR DODES
007227,000590:
007228,000591: 10,2465 12427 TCF DESLOOP
007229,000592:
007230,000593: 10,2466 20002 B14+B2 OCT 20002
007231,000594:
Page 170 |
007233,000596: # CALCULATE GYRO TORQUE COMMANDS.
007234,000597:
007235,000598: 10,2467 00006 DODES EXTEND
007236,000599: 10,2470 30036 DCA OPTY
007237,000600: 10,2471 52424 DXCH TANG
007238,000601:
007239,000602: 10,2472 06103 TC INTPRET
007240,000603:
007241,000604: 10,2473 77775 VLOAD # MOVE TARGET VECTOR TO 32D.
007242,000605: 10,2474 00416 RRTARGET
007243,000606: 10,2475 00041 STORE 32D
007244,000607:
007245,000608: 10,2476 47014 BON RTB # DO STABLE-MEMBER TO NAVBASE TRANSFORMA-
007246,000609: 10,2477 00311 RRNBSW # TION IF TARGET IN SM COORDS. OTHERWISE,
007247,000610:
007248,000611: 10,2500 20507 DONBRD # IN NB COORDS ALREADY.
007249,000612: 10,2501 33540 READCDUS
007250,000613:
007251,000614: 10,2502 77731 SSP
007252,000615: 10,2503 00051 S1
007253,000616: 10,2504 00024 20D # LOC OF ICDUS.
007254,000617: 10,2505 34025 STCALL 20D
007255,000618: 10,2506 32576 SMNB
007256,000619:
Page 171 |
007258,000621: 10,2507 67201 DONBRD SETPD SLOAD # DO NAVBASE TO RADAR DISH TRANSFORMATION.
007259,000622: 10,2510 00001 0
007260,000623: 10,2511 00425 TANG +1
007261,000624: 10,2512 41434 RTB PUSH # SHAFT COMMAND = V(32D).(COS(S), 0,
007262,000625: 10,2513 33524 CDULOGIC # (-SIN(S)).
007263,000626: 10,2514 65356 SIN PDDL # SIN(S) TO 0 AND COS(S) TO 2.
007264,000627: 10,2515 41546 COS PUSH
007265,000628: 10,2516 65205 DMP PDDL
007266,000629: 10,2517 00041 32D
007267,000630: 10,2520 00045 36D
007268,000631: 10,2521 44205 DMP BDSU
007269,000632: 10,2522 00001 0
007270,000633: 10,2523 77626 STADR
007271,000634: 10,2524 77352 STORE TANG +1 # SHAFT COMMAND
007272,000635:
007273,000636: 10,2525 47135 SLOAD RTB
007274,000637: 10,2526 00424 TANG
007275,000638: 10,2527 33524 CDULOGIC
007276,000639: 10,2530 71406 PUSH COS # COS(T) TO 4.
007277,000640:
007278,000641: 10,2531 73525 PDDL SIN
007279,000642: 10,2532 41206 PUSH DMP # SIN(T) TO 6.
007280,000643: 10,2533 00003 2
007281,000644: 10,2534 65352 SL1 PDDL # DEFINE VECTOR U = (SIN(T)SIN(S))
007282,000645: 10,2535 00005 4 # ( COS(T) )
007283,000646: 10,2536 41325 PDDL DMP # (SIN(T)COS(S))
007284,000647: 10,2537 00007 6
007285,000648: 10,2540 00001 0
007286,000649: 10,2541 55552 SL1 VDEF
007287,000650: 10,2542 77441 DOT EXIT # DOT U WITH LOS TO GET TRUNNION COMMAND.
007288,000651: 10,2543 00041 32D
007289,000652:
Page 172 |
007291,000654: # AT THIS POINT WE HAVE A ROTATION VECTOR IN DISH AXES LYING IN THE TS PLANE. CONVERT THIS TO A
007292,000655: # COMMANDED RATE AND ENABLE THE TRACKER IF WE ARE WITHIN 1 DEGREE OF THE TARGET.
007293,000656:
007294,000657: 10,2544 40144 CS MPAC # DOT WAS NEGATIVE OF DESIRED ANGLE.
007295,000658: 10,2545 54423 TS TANG
007296,000659:
007297,000660: 10,2546 40413 CS RADMODES # A RELAY IN THE RR REVERSES POLARITY OF
007298,000661: 10,2547 77742 MASK BIT12 # THE SHAFT COMMANDS IN MODE 2 SO THAT A
007299,000662: 10,2550 10000 CCS A # POSITIVE TORQUE APPLIED TO THE SHAFT
007300,000663: 10,2551 12554 TCF +3 # GYRO CAUSES A POSITIVE CHANGE IN THE
007301,000664:
007302,000665: 10,2552 40424 CS TANG +1 # SHAFT ANGLE. COMPENSATE FOR THIS SWITCH
007303,000666: 10,2553 54424 TS TANG +1 # BY CHANGING THE POLARITY OF OUR COMMAND.
007304,000667:
007305,000668: 10,2554 37761 CAF ZERO
007306,000669: 10,2555 54145 TS MPAC +1
007307,000670: 10,2556 37755 CAF ONE
007308,000671:
007309,000672: 10,2557 54144 RRSCALUP TS MPAC
007310,000673: 10,2560 50000 INDEX A
007311,000674: 10,2561 30423 CA TANG # TRUNNION COMPONENT OF ROTATION.
007312,000675: 10,2562 00006 EXTEND
007313,000676: 10,2563 72635 MP RDESGAIN # SCALING ON INPUT ANGLE WAS 4 RADIANS.
007314,000677: 10,2564 50144 INDEX MPAC
007315,000678: 10,2565 56423 XCH TANG # MAKE EACH COMPONENT LESS THAN .7 DEGREES
007316,000679:
007317,000680: 10,2566 04312 TC MAGSUB # BEFORE SENDING TRACK ENABLE.
007318,000681: 10,2567 77715 DEC -.00305
007319,000682: 10,2570 24145 INCR MPAC +1 # IF OUT OF BOUNDS.
007320,000683:
007321,000684: 10,2571 10144 CCS MPAC
007322,000685: 10,2572 12557 TCF RRSCALUP
007323,000686:
Page 173 |
007325,000688: # SEE IF TRACKER SHOULD BE ENABLED OR DISABLED.
007326,000689:
007327,000690: 10,2573 00004 INHINT
007328,000691:
007329,000692: 10,2574 10413 CCS RADMODES # IF CONTINUOUS DESIGNATE WANTED, PUT OUT
007330,000693: 10,2575 12600 TCF +3 # COMMANDS WITHOUT CHECKING MAGNITUDE OF
007331,000694: 10,2576 12600 TCF +2 # ERROR SIGNALS.
007332,000695: 10,2577 12625 TCF TRKOFF
007333,000696:
007334,000697: 10,2600 10145 CCS MPAC +1 # SEE IF BOTH AXES WERE WITHIN .7 DEGS.
007335,000698: 10,2601 12625 TCF TRKOFF
007336,000699:
007337,000700: 10,2602 40074 CS STATE # IF WITHIN LIMITS AND NO LOCK-ON WANTED,
007338,000701: 10,2603 77751 MASK LOKONFLG # PROBLEM IS FINISHED.
007339,000702: 10,2604 10000 CCS A
007340,000703: 10,2605 12616 TCF RRDESDUN
007341,000704:
007342,000705: 10,2606 37740 CAF BIT14 # ENABLE THE TRACKER.
007343,000706: 10,2607 00006 EXTEND
007344,000707: 10,2610 05012 WOR 12
007345,000708:
007346,000709: 10,2611 37752 CAF BIT4 # SEE IF DATA GOOD RECEIVED YET.
007347,000710: 10,2612 00006 EXTEND
007348,000711: 10,2613 02033 RAND 33
007349,000712: 10,2614 10000 CCS A
007350,000713: 10,2615 12630 TCF DORROUT
007351,000714:
007352,000715: 10,2616 47744 RRDESDUN CS BIT10 # WHEN PROBLEM DONE, REMOVE BIT 10 SO NEXT
007353,000716: 10,2617 70413 MASK RADMODES # WAITLIST TASK WE WILL GO TO RGOODEND.
007354,000717: 10,2620 54413 TS RADMODES
007355,000718:
007356,000719: 10,2621 47754 CS BIT2
007357,000720:
007358,000721: 10,2622 00006 EXTEND
007359,000722: 10,2623 03012 WAND 12
007360,000723: 10,2624 15605 TCF ENDOFJOB # WITH ECTR DISABLED.
007361,000724:
007362,000725: 10,2625 47740 TRKOFF CS BIT14
007363,000726: 10,2626 00006 EXTEND
007364,000727: 10,2627 03012 WAND 12
007365,000728:
007366,000729: 10,2630 40413 DORROUT CS RADMODES # PUT OUT COMMAND UNLESS MONITOR
007367,000730: 10,2631 77743 MASK BIT11 # REPOSITION HAS TAKEN OVER.
007368,000731: 10,2632 10000 CCS A
007369,000732: 10,2633 02213 TC RROUT
007370,000733:
007371,000734: 10,2634 15605 TCF ENDOFJOB
007372,000735:
007373,000736: 10,2635 21122 RDESGAIN DEC .53624 # TRIES TO NULL .5 ERROR IN .5 SEC.
007374,000737:
Page 174 |
007376,000739: # RADAR READ INITIALIZATION
007377,000740:
007378,000741: # RADAR DATA ARE READ BY A BANKCALL FOR THE APPROPRIATE LEAD-IN BELOW.
007379,000742:
007380,000743: 10,2636 02652 LRALT TC INITREAD -1 # ONE SAMPLE PER READING.
007381,000744: 10,2637 00017 ALLREAD OCT 17
007382,000745:
007383,000746: 10,2640 02653 LRVELZ TC INITREAD
007384,000747: 10,2641 00016 OCT 16
007385,000748:
007386,000749: 10,2642 02653 LRVELY TC INITREAD
007387,000750: 10,2643 00015 OCT 15
007388,000751:
007389,000752: 10,2644 02653 LRVELX TC INITREAD
007390,000753: 10,2645 00014 OCT 14
007391,000754:
007392,000755: 10,2646 02652 RRRDOT TC INITREAD -1
007393,000756: 10,2647 00012 OCT 12
007394,000757:
007395,000758: 10,2650 02652 RRRANGE TC INITREAD -1
007396,000759: 10,2651 00011 OCT 11
007397,000760:
Page 175 |
007399,000762: 10,2652 37755 -1 CAF ONE # ENTRY TO TAKE ONLY 1 SAMPLE.
007400,000763: 10,2653 00004 INITREAD INHINT
007401,000764:
007402,000765: 10,2654 54421 TS TIMEHOLD # GET DT OF MIDPOINT OF NOMINAL SAMPLING
007403,000766: 10,2655 00006 EXTEND # INTERVAL (ASSUMES NO BAD SAMPLES WILL BE
007404,000767: 10,2656 77753 MP BIT3 # ENCOUNTERED).
007405,000768: 10,2657 52422 DXCH TIMEHOLD
007406,000769:
007407,000770: 10,2660 10000 CCS A
007408,000771: 10,2661 54425 TS NSAMP
007409,000772: 10,2662 67755 AD ONE
007410,000773: # INSERT FOLLOWING INSTRUCTION TO GET 2N TRIES FOR N SAMPLES.
007411,000774: # DOUBLE
007412,000775: 10,2663 54414 TS SAMPLIM
007413,000776:
007414,000777: 10,2664 32706 CAF DGBITS # READ CURRENT VALUE OF DATA GOOD BITS.
007415,000778: 10,2665 00006 EXTEND
007416,000779: 10,2666 02033 RAND 33
007417,000780: 10,2667 54427 TS OLDATAGD
007418,000781:
007419,000782: 10,2670 42637 CS ALLREAD
007420,000783: 10,2671 00006 EXTEND
007421,000784: 10,2672 03013 WAND 13 # REMOVE ALL RADAR BITS
007422,000785:
007423,000786: 10,2673 50002 INDEX Q
007424,000787: 10,2674 30000 CAF 0
007425,000788: 10,2675 00006 EXTEND
007426,000789: 10,2676 05013 WOR 13 # SET NEW RADAR BITS
007427,000790:
007428,000791: 10,2677 00006 EXTEND
007429,000792: 10,2700 30025 DCA TIME2
007430,000793: 10,2701 20422 DAS TIMEHOLD # TIME OF NOMINAL MIDPOINT.
007431,000794:
007432,000795: 10,2702 37761 CAF ZERO
007433,000796: 10,2703 54001 TS L
007434,000797: 10,2704 52416 DXCH SAMPLSUM
007435,000798: 10,2705 12302 TCF ROADBACK
007436,000799:
007437,000800: 10,2706 00230 DGBITS OCT 230
007438,000801:
Page 176 |
007440,000803: # RADAR RUPT READER
007441,000804:
007442,000805: # THIS ROUTINE STARTS FROM A RADARUPT. IT READS THE DATA $ LOTS MORE.
007443,000806:
007444,000807: 10,2707 54016 RADAREAD TS BANKRUPT
007445,000808: 10,2710 00006 EXTEND
007446,000809: 10,2711 22012 QXCH QRUPT
007447,000810:
007448,000811: 10,2712 00006 ANGLREAD EXTEND
007449,000812: 10,2713 30036 DCA OPTY
007450,000813: 10,2714 52420 DXCH OPTYHOLD # SAVE RAW CDU ANGLES
007451,000814:
007452,000815: 10,2715 10414 TRYCOUNT CCS SAMPLIM
007453,000816: 10,2716 12730 TCF PLENTY
007454,000817: 10,2717 12723 TCF NOMORE
007455,000818: 10,2720 04744 TC ALARM
007456,000819: 10,2721 00520 OCT 520
007457,000820: 10,2722 05751 TC RESUME
007458,000821:
007459,000822: 10,2723 04744 NOMORE TC ALARM
007460,000823: 10,2724 00521 OCT 521
007461,000824: 10,2725 47755 BADRAD CS ONE
007462,000825: 10,2726 54414 TS SAMPLIM
007463,000826: 10,2727 03253 TC RDBADEND -2
007464,000827:
007465,000828: 10,2730 54414 PLENTY TS SAMPLIM
007466,000829:
007467,000830: 10,2731 37753 CAF BIT3
007468,000831: 10,2732 00006 EXTEND
007469,000832: 10,2733 02013 RAND 13 # TO FIND OUT WHICH RADAR
007470,000833: 10,2734 00006 EXTEND
007471,000834: 10,2735 13014 BZF RENDRAD
007472,000835:
007473,000836: 10,2736 30413 LRPOSCHK CA RADMODES # SEE IF LR IN DESIRED POSITION.
007474,000837: 10,2737 00006 EXTEND
007475,000838: 10,2740 06033 RXOR 33
007476,000839: 10,2741 77750 MASK BIT6
007477,000840:
007478,000841: 10,2742 00006 EXTEND
007479,000842: 10,2743 12747 BZF VELCHK
007480,000843:
007481,000844: 10,2744 04744 TC ALARM
007482,000845: 10,2745 00522 OCT 522
007483,000846: 10,2746 02725 TC BADRAD
007484,000847:
007485,000848: 10,2747 36301 VELCHK CAF BIN3 # = 00003 OCT
007486,000849: 10,2750 00006 EXTEND
007487,000850: 10,2751 06013 RXOR 13
007488,000851: 10,2752 76301 MASK BIN3
007489,000852: 10,2753 00006 EXTEND
007490,000853:
007491,000854: 10,2754 13010 BZF LRHEIGHT # TAKE A LR RANGE READING
007492,000855:
Page 177 |
007494,000857: 10,2755 37735 CAF POSMAX
007495,000858: 10,2756 70046 MASK RNRAD
007496,000859: 10,2757 63156 AD LVELBIAS
007497,000860: 10,2760 54001 TS L
007498,000861: 10,2761 30046 CAE RNRAD
007499,000862: 10,2762 60000 DOUBLE
007500,000863: 10,2763 77755 MASK BIT1
007501,000864: 10,2764 52064 DXCH ITEMP3
007502,000865:
007503,000866: 10,2765 37746 CAF BIT8 # DATA GOOD ISNT CHECKED UNTIL AFTER READ-
007504,000867: 10,2766 03126 TC DGCHECK # ING DATA SO SOME RADAR TESTS WILL WORK
007505,000868: # INDEPENDENT OF DATA GOOD.
007506,000869:
007507,000870: 10,2767 10425 CCS NSAMP
007508,000871: 10,2770 03000 TC NOEND
007509,000872: 10,2771 47755 GOODRAD CS ONE
007510,000873: 10,2772 54414 TS SAMPLIM
007511,000874: 10,2773 40061 CS ITEMP1 # WHEN ENOUGH GOOD DATA HAS BEEN GATHERED,
007512,000875: 10,2774 70413 MASK RADMODES # RESET DATA FAIL FLAGS FOR SETTRKF.
007513,000876: 10,2775 54413 TS RADMODES
007514,000877: 10,2776 04366 TC SETTRKF # LAMP MIGHT GO OFF IF DATA JUST GOOD.
007515,000878: 10,2777 03246 TC RGOODEND -2
007516,000879:
007517,000880: 10,3000 54425 NOEND TS NSAMP
007518,000881: 10,3001 10414 RESAMPLE CCS SAMPLIM # SEE IF ANY MORE TRIES SHOULD BE MADE.
007519,000882: 10,3002 13004 TCF +2
007520,000883: 10,3003 13145 TCF DATAFAIL # N SAMPLES NOT AVAILABLE.
007521,000884: 10,3004 37752 CAF BIT4 # RESET ACTIVITY BIT.
007522,000885: 10,3005 00006 EXTEND
007523,000886: 10,3006 05013 WOR 13 # RESET ACTIVITY BIT
007524,000887: 10,3007 05751 TC RESUME
007525,000888:
007526,000889:
007527,000890: 10,3010 37751 LRHEIGHT CAF BIT5
007528,000891: 10,3011 54061 TS ITEMP1 # (POSITION OF DATA GOOD BIT IN CHAN 33)
007529,000892:
007530,000893: 10,3012 37745 CAF BIT9
007531,000894: 10,3013 03036 TC SCALECHK -1
007532,000895:
007533,000896: 10,3014 37743 RENDRAD CAF BIT11 # MAKE SURE ANTENNA HAS NOT GONE OUT OF
007534,000897: 10,3015 70413 MASK RADMODES # LIMITS.
007535,000898: 10,3016 10000 CCS A
007536,000899: 10,3017 12725 TCF BADRAD
007537,000900:
007538,000901: 10,3020 40413 CS RADMODES # BE SURE RR CDU HASNT FAILED.
007539,000902: 10,3021 77747 MASK BIT7
007540,000903: 10,3022 10000 CCS A
007541,000904: 10,3023 12725 TCF BADRAD
007542,000905:
Page 178 |
007544,000907: 10,3024 37752 CAF BIT4 # SEE IF DATA HAS BEEN GOOD.
007545,000908: 10,3025 54061 TS ITEMP1 # (POSITION OF DATA GOOD BIT IN CHAN 33)
007546,000909:
007547,000910: 10,3026 37755 CAF BIT1 # SEE IF RR RDOT.
007548,000911: 10,3027 00006 EXTEND
007549,000912: 10,3030 02013 RAND 13
007550,000913: 10,3031 54002 TS Q # FOR LATER TESTING.
007551,000914: 10,3032 10000 CCS A
007552,000915: 10,3033 13035 TCF +2
007553,000916: 10,3034 13047 TCF RADIN # NO SCALE CHECK FOR RR RDOT.
007554,000917: 10,3035 37753 CAF BIT3
007555,000918: 10,3036 54001 TS L
007556,000919:
007557,000920: 10,3037 00006 SCALECHK EXTEND
007558,000921:
007559,000922: 10,3040 02033 RAND 33 # SCALE STATUS NOW
007560,000923: 10,3041 56001 XCH L
007561,000924: 10,3042 70413 MASK RADMODES # SCALE STATUS BEFORE
007562,000925: 10,3043 00006 EXTEND
007563,000926: 10,3044 06001 RXOR 01 # SEE IF THEY DIFFER
007564,000927: 10,3045 10000 CCS A
007565,000928: 10,3046 03066 TC SCALCHNG # THEY DIFFER
007566,000929:
007567,000930: 10,3047 37735 RADIN CAF POSMAX
007568,000931: 10,3050 70046 MASK RNRAD
007569,000932: 10,3051 54064 TS ITEMP4
007570,000933:
007571,000934: 10,3052 30046 CAE RNRAD
007572,000935: 10,3053 60000 DOUBLE
007573,000936: 10,3054 77755 MASK BIT1
007574,000937: 10,3055 54063 TS ITEMP3
007575,000938:
007576,000939: 10,3056 10002 CCS Q # SEE IF RR RDOT.
007577,000940: 10,3057 13100 TCF SCALADJ # NO, BUT SCALE CHANGING MAY BE NEEDED.
007578,000941:
007579,000942: 10,3060 00006 EXTEND # IF RR RANGE RATE, THROW OUT BIAS.
007580,000943: 10,3061 43160 DCS RDOTBIAS
007581,000944: 10,3062 20064 DASAMPL DAS ITEMP3
007582,000945:
007583,000946: 10,3063 30061 DGCHECK2 CA ITEMP1 # SEE THAT DATA HAS BEEN GOOD BEFORE AND
007584,000947: 10,3064 03127 TC DGCHECK +1 # AFTER TAKING SAMPLE.
007585,000948: 10,3065 02771 TC GOODRAD
007586,000949:
007587,000950: 10,3066 22413 SCALCHNG LXCH RADMODES
007588,000951: 10,3067 67755 AD BIT1
007589,000952: 10,3070 00006 EXTEND
007590,000953: 10,3071 06001 RXOR 01
007591,000954: 10,3072 54413 TS RADMODES
007592,000955: 10,3073 32706 CAF DGBITS # UPDATE LAST VALUE OF DATA GOOD BITS.
007593,000956: 10,3074 00006 EXTEND
007594,000957: 10,3075 02033 RAND 33
007595,000958: 10,3076 54427 TS OLDATAGD
Page 179 |
007597,000960: 10,3077 12725 TCF BADRAD
007598,000961:
Page 180 |
007600,000963: # THE FOLLOWING ROUTINE INCORPORATES RR RANGE AND LR ALT SCALE INFORMATION AND LEAVES DATA AT LO SCALE.
007601,000964:
007602,000965: 10,3100 10001 SCALADJ CCS L # L HAS SCALE INBIT FOR THIS RADAR.
007603,000966: 10,3101 13103 TCF +2 # ON HIGH SCALE.
007604,000967: 10,3102 13063 TCF DGCHECK2
007605,000968:
007606,000969: 10,3103 52064 DXCH ITEMP3
007607,000970: 10,3104 20001 DDOUBL
007608,000971: 10,3105 20001 DDOUBL
007609,000972: 10,3106 20001 DDOUBL
007610,000973: 10,3107 52064 DXCH ITEMP3
007611,000974:
007612,000975: 10,3110 37753 CAF BIT3 # SEE IF LR OR RR.
007613,000976: 10,3111 00006 EXTEND
007614,000977: 10,3112 02013 RAND 13
007615,000978: 10,3113 00006 EXTEND # IF RR, NO MORE ACTION REQUIRED.
007616,000979: 10,3114 13063 BZF DGCHECK2
007617,000980:
007618,000981: 10,3115 33155 CAF LRRATIO # IF LR, CONVERT TO LO SCALING.
007619,000982: 10,3116 00006 EXTEND
007620,000983: 10,3117 70064 MP ITEMP4
007621,000984: 10,3120 54064 TS ITEMP4
007622,000985: 10,3121 37761 CAF ZERO # (SO SUBSEQUENT DAS WILL BE OK)
007623,000986: 10,3122 56063 XCH ITEMP3
007624,000987: 10,3123 00006 EXTEND
007625,000988: 10,3124 73155 MP LRRATIO
007626,000989:
007627,000990: 10,3125 13062 TCF DASAMPL
007628,000991:
Page 181 |
007630,000993: 10,3126 54061 DGCHECK TS ITEMP1 # UPDATE DATA GOOD BIT IN OLDATAGD AND
007631,000994: 10,3127 00006 EXTEND # MAKE SURE IT WAS ON BEFORE AND AFTER THE
007632,000995: 10,3130 02033 RAND 33 # SAMPLE WAS TAKEN BEFORE RETURNING. IF
007633,000996: 10,3131 54001 TS L # NOT, GOES TO RESAMPLE TO TRY AGAIN. IF
007634,000997: 10,3132 40061 CS ITEMP1 # MAX NUMBER OF TRIES HAS BEEN REACHED,
007635,000998: 10,3133 70427 MASK OLDATAGD # THE BIT CORRESPONDING TO THE DATA GOOD
007636,000999: 10,3134 60001 AD L # WHICH FAILED TO APPEAR IS IN ITEMP1 AND
007637,001000: 10,3135 56427 XCH OLDATAGD # CAN BE USED TO SET RADMODES WHICH VIA
007638,001001:
007639,001002: 10,3136 70061 MASK ITEMP1 # SETTRKF SETS THE TRACKER FAIL LAMP.
007640,001003: 10,3137 60001 AD L
007641,001004: 10,3140 10000 CCS A # SHOULD BOTH BE ZERO.
007642,001005: 10,3141 03001 TC RESAMPLE
007643,001006: 10,3142 52064 DXCH ITEMP3 # IF DATA GOOD BEFORE AND AFTER, ADD TO
007644,001007: 10,3143 20416 DAS SAMPLSUM # ACCUMULATION.
007645,001008: 10,3144 00002 TC Q
007646,001009:
007647,001010: 10,3145 40061 DATAFAIL CS ITEMP1 # IN THE ABOVE CASE, SET RADMODES BIT
007648,001011: 10,3146 70413 MASK RADMODES # SHOWING SOME RADAR DATA FAILED.
007649,001012: 10,3147 60061 AD ITEMP1
007650,001013: 10,3150 54413 TS RADMODES
007651,001014:
007652,001015: 10,3151 52064 DXCH ITEMP3 # IF WE HAVE BEEN UNABLE TO GATHER N
007653,001016: 10,3152 52416 DXCH SAMPLSUM # SAMPLES, USE LAST ONE ONLY.
007654,001017:
007655,001018: 10,3153 04366 TC SETTRKF
007656,001019:
007657,001020: 10,3154 12723 TCF NOMORE
007658,001021:
007659,001022: 10,3155 23773 LRRATIO DEC 4.9977 B-3
007660,001023: 10,3156 47777 LVELBIAS DEC -12288 B-14 # LANDING RADAR BIAS FOR 153.6 KC.
007661,001024: 10,3157 00001 01150 RDOTBIAS 2DEC 17000 B-28 # BIAS COUNT FOR RR RANGE RATE
007662,001025:
Page 182 |
007664,001027: # THIS ROUTINE CHANGES THE LR POSITION, AND CHECKS THAT IT GOT THERE.
007665,001028:
007666,001029: 10,3161 00004 LRPOS2 INHINT
007667,001030:
007668,001031: 10,3162 47750 CS BIT6 # DESIRED LR POSITION IS NOW 2.
007669,001032: 10,3163 70413 MASK RADMODES
007670,001033: 10,3164 67750 AD BIT6
007671,001034: 10,3165 54413 TS RADMODES
007672,001035:
007673,001036: 10,3166 37747 CAF BIT7
007674,001037: 10,3167 00006 EXTEND
007675,001038: 10,3170 02033 RAND 33 # SEE IF ALREADY THERE.
007676,001039: 10,3171 00006 EXTEND
007677,001040: 10,3172 13223 BZF RADNOOP
007678,001041:
007679,001042: 10,3173 37741 CAF BIT13
007680,001043: 10,3174 00006 EXTEND
007681,001044: 10,3175 05012 WOR 12 # COMMAND TO POSITION 2
007682,001045:
007683,001046: 10,3176 33240 CAF 6SECS # START SCANNING FOR INBIT AFTER 7 SECS.
007684,001047: 10,3177 05701 TC WAITLIST
007685,001048: 10,3200 E3,1464 EBANK= RRRET
007686,001049: 10,3200 03236 20003 2CADR LRPOSCAN
007687,001050:
007688,001051: 10,3202 02302 TC ROADBACK
007689,001052:
007690,001053: 10,3203 54414 LRPOSNXT TS SAMPLIM
007691,001054: 10,3204 05717 TC FIXDELAY # SCAN ONCE PER SECOND 15 TIMES MAX AFTER
007692,001055: 10,3205 00144 DEC 100 B-14 # INITIAL DELAY OF 7 SECONDS.
007693,001056:
007694,001057: 10,3206 37747 CAF BIT7
007695,001058: 10,3207 00006 EXTEND
007696,001059: 10,3210 02033 RAND 33
007697,001060: 10,3211 00006 EXTEND
007698,001061: 10,3212 13230 BZF LASTLRDT # IF THERE, WAIT FINAL SECOND FOR BOUNCE.
007699,001062:
007700,001063: 10,3213 10414 CCS SAMPLIM # SEE IF MAX TIME UP.
007701,001064: 10,3214 13203 TCF LRPOSNXT
007702,001065:
007703,001066: 10,3215 47741 CS BIT13 # IF TIME UP, DISABLE COMMAND AND ALARM.
007704,001067: 10,3216 00006 EXTEND
007705,001068: 10,3217 03012 WAND 12
007706,001069:
007707,001070: 10,3220 04744 TC ALARM # LR ANTENNA DIDNT MAKE IT.
007708,001071: 10,3221 00523 OCT 523
007709,001072: 10,3222 13255 TCF RDBADEND
007710,001073:
007711,001074: 10,3223 37755 RADNOOP CAF ONE # NO FURTHER ACTION REQUESTED.
007712,001075: 10,3224 05701 TC WAITLIST
007713,001076: 10,3225 E3,1464 EBANK= RRRET
Page 183 |
007715,001078: 10,3225 03250 20003 2CADR RGOODEND
007716,001079:
007717,001080: 10,3227 02302 TC ROADBACK
007718,001081:
007719,001082: 10,3230 05717 LASTLRDT TC FIXDELAY # WAIT ONE SECOND AFTER RECEIPT OF INBIT
007720,001083: 10,3231 00144 DEC 100 B-14 # TO WAIT FOR ANTENNA BOUNCE TO DIE OUT.
007721,001084:
007722,001085: 10,3232 47741 CS BIT13 # REMOVE COMMAND
007723,001086: 10,3233 00006 EXTEND
007724,001087: 10,3234 03012 WAND 12
007725,001088: 10,3235 13250 TCF RGOODEND
007726,001089:
007727,001090: 10,3236 37751 LRPOSCAN CAF BIT5 # SET UP FOR 15 SAMPLES.
007728,001091: 10,3237 13203 TCF LRPOSNXT
007729,001092:
007730,001093: 10,3240 01130 6SECS DEC 600 B-14
007731,001094:
Page 184 |
007733,001096: # SEQUENCES TO TERMINATE RR OPERATIONS.
007734,001097:
007735,001098: 10,3241 37747 ENDRADAR CAF BIT7 # PROLOG TO CHECK RR CDU FAIL BEFORE END.
007736,001099: 10,3242 70413 MASK RADMODES
007737,001100: 10,3243 10000 CCS A
007738,001101: 10,3244 13250 TCF RGOODEND
007739,001102: 10,3245 13255 TCF RDBADEND
007740,001103: 10,3246 47761 -2 CS ZERO # RGOODEND WHEN NOT UNDER WAITLIST CONTROL
007741,001104: 10,3247 55076 TS RUPTAGN
007742,001105:
007743,001106: 10,3250 37754 RGOODEND CAF TWO
007744,001107: 10,3251 05243 TC POSTJUMP
007745,001108: 10,3252 26731 CADR GOODEND
007746,001109:
007747,001110: 10,3253 47761 -2 CS ZERO # RDBADEND WHEN NOT UNDER WAITLIST.
007748,001111: 10,3254 55076 TS RUPTAGN
007749,001112: 10,3255 37754 RDBADEND CAF TWO
007750,001113: 10,3256 05243 TC POSTJUMP
007751,001114: 10,3257 26726 CADR BADEND
007752,001115:
007753,001116: 10,3260 6301 BIN3 EQUALS THREE
007754,001117:
007755,001118:
End of include-file RADAR_LEAD-IN_ROUTINES.agc. Parent file is MAIN.agc