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