Source Code
![]() |
These source-code files were obtained by digitally photographing
an Artemis 72 program listing from a private collection and then
modifying pre-existing Comanche 55 (Apollo 11) source files to
incorporate changes. Note that the page images
presented online are of reduced quality, and that additional images
may be available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS BY NASA 2021114-011 11:40 FEB. 26, 1971 THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS COLOSSUS 3 THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED IN REPORT R-577. THIS PROGRAM WAS PREPARED UNDER OSR PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT CENTER OF THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF TECHNOLOGY, CAMBRIDGE, MASS. |
043866,000002: # Copyright: Public domain.
043867,000003: # Filename: RCS-CSM_DIGITAL_AUTOPILOT.agc
043868,000004: # Purpose: Part of the source code for Artemis (i.e., Colossus 3),
043869,000005: # build 072. This is for the Command Module's (CM)
043870,000006: # Apollo Guidance Computer (AGC), we believe for
043871,000007: # Apollo 15-17.
043872,000008: # Assembler: yaYUL
043873,000009: # Contact: Sergio Navarro <sergionavarrog@gmail.com>
043874,000010: # Website: www.ibiblio.org/apollo/index.html
043875,000011: # Page scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
043876,000012: # Mod history: 2009-08-27 SN Adapted from corresponding Comanche 055 file.
043877,000013: # 2009-09-04 JL Fixed typos. Fixed page comment.
043878,000014: # 2009-09-10 JL Fixed typos.
043879,000015: # 2010-02-01 JL Fixed build errors.
043880,000016: # 2010-02-20 RSB Un-##'d this header.
043881,000017:
043882,000018: # # Page 1000
043883,000019:
043884,000020: # T5 INTERRUPT PROGRAM FOR THE RCS-CSM AUTOPILOT
043885,000021: # START OF T5 INTERRUPT PROGRAM
043886,000022:
043887,000023: 21,2000 SETLOC DAPS3
043888,000024: 21,2000 BANK
043889,000025:
043890,000026: 21,2123 COUNT* $$/DAPRC
043891,000027: 21,2123 E6,1510 EBANK= KMPAC
043892,000028: 21,2123 22016 REDORCS LXCH BANKRUPT # RESTART OF AUTOPILOT COMES HERE
043893,000029: 21,2124 31464 CA T5PHASE # ON A T5 RUPT.
043894,000030: 21,2125 00006 EXTEND
043895,000031: 21,2126 62130 BZMF +2 # IF T5PHASE +0, -0, OR -, RESET TO -
043896,000032: 21,2127 12132 TCF +3 # IF T5PHASE +, LEAVE IT +. DO A FRESHDAP
043897,000033: 21,2130 44770 CS ONE
043898,000034: 21,2131 55464 TS T5PHASE
043899,000035: 21,2132 00006 EXTEND
043900,000036: 21,2133 32137 DCA RCSLOC
043901,000037: 21,2134 52113 DXCH T5LOC # HOOK UP T5RUPT TO AUTOPILOT
043902,000038: 21,2135 12141 TCF RCSATT +1
043903,000039: 21,2136 E6,1510 EBANK= KMPAC
043904,000040: 21,2136 02140 42066 RCSLOC 2CADR RCSATT
043905,000041:
043906,000042:
043907,000043: 21,2140 22016 RCSATT LXCH BANKRUPT # SAVE BB
043908,000044: 21,2141 00006 +1 EXTEND # SAVE Q
043909,000045: 21,2142 22012 QXCH QRUPT
043910,000046: 21,2143 34752 CAF BIT15 # BIT15 CHAN31 = 0 IF IMU POWER IS ON AND
043911,000047: 21,2144 05654 TC C31BTCHK # S/C CONT SW IS IN CMC (I.E. IF G/C DAP
043912,000048: 21,2145 12170 TCF SETT5 # IS FULLY ENABLED). IF SO8
043913,000049: # GO TO SETT5
043914,000050:
043915,000051: 21,2146 41501 CS RCSFLAGS # IF G/C AUTOPILOT IS NOT FULLY ENABLED,
043916,000052: 21,2147 74753 MASK BIT14
043917,000053: 21,2150 27501 ADS RCSFLAGS # SET NORATE FLAG,
043918,000054: 21,2151 34750 CAF POSMAX
043919,000055: 21,2152 55340 TS HOLDFLAG # SET HOLDFLAG +,
043920,000056: 21,2153 34772 CAF ZERO # ZERO ERRORX, ERRORY, AND ERRORZ,
043921,000057: 21,2154 55567 TS ERRORX
043922,000058: 21,2155 55570 TS ERRORY
043923,000059: 21,2156 55571 TS ERRORZ
043924,000060: 21,2157 34753 CAF BIT14
043925,000061: 21,2160 05654 TC C31BTCHK # AND CHECK FREE FUNCTION (BIT14 CHAN31).
043926,000062: 21,2161 12170 TCF SETT5
043927,000063: 21,2162 55464 TS T5PHASE # IF NOT IN FREE MODE,
043928,000064: 21,2163 37661 CAF OCT37766 # SCHEDULE REINITIALIZATION (FRESHDAP)
043929,000065: 21,2164 54030 TS TIME5 # IN 100 MS VIA T5RUPT
043930,000066:
043931,000067: 21,2165 02642 TCR ZEROJET # ZERO JET CHANNELS IN 14 MS VIA ZEROJET
043932,000068: # # Page 1001
043933,000069: 21,2166 12355 TCF KMATRIX
043934,000070: 21,2167 37770 DELTATT OCT 37770 # 80MS (TIME5)
043935,000071: 21,2170 7663 DELTATT2 = OCT37776 # 20 MS (TIME5)
043936,000072:
043937,000073: # CHECK PHASE OF T5 PROGRAM
043938,000074:
043939,000075: # BECAUSE OF THE LENGTH OF THE T5 PROGRAM, IT HAS BEEN DIVIDED INTO
043940,000076: # THREE PARTS, T5PHASE1, T5PHASE2, AND THE JET SELECTION LOGIC,
043941,000077: # TO ALLOW FOR THE EXECUTION OF OTHER
043942,000078: # INTERRUPTS. T5PHASE IS ALSO USED IN THE INITIALIZATION OF THE AUTOPILOT
043943,000079: # VARIABLES AT TURN ON.
043944,000080: # THE CODING OF T5PHASE IS...
043945,000081:
043946,000082: # + = INITIALIZE T5 RCS-CSM AUTOPILOT
043947,000083: # T5PHASE = +0 = PHASE2 OF THE T5 PROGRAM
043948,000084: # - = RESTART DAP
043949,000085: # -0 = PHASE1 OF THE T5 PROGRAM
043950,000086:
043951,000087: 21,2170 11464 SETT5 CCS T5PHASE
043952,000088: 21,2171 12551 TCF FRESHDAP # TURN ON AUTOPILOT
043953,000089: 21,2172 12674 TCF T5PHASE2 # BRANCH TO PHASE2 OF PROGRAM
043954,000090: 21,2173 12553 TCF REDAP # RESTART AUTOPILOT
043955,000091:
043956,000092: 21,2174 55464 TS T5PHASE # PHASE 1 RESET FOR PHASE 2
043957,000093: 21,2175 30030 CA TIME5
043958,000094: 21,2176 55634 TS T5TIME # USED IN COMPENSATING FOR DELAYS IN T5
043959,000095: 21,2177 37663 CAF DELTATT2 # RESET FOR T5RUPT IN 20MS FOR PHASE2
043960,000096: 21,2200 54030 TS TIME5 # OF PROGRAM
043961,000097:
043962,000098: # # Page 1002
043963,000099:
043964,000100: # IMU STATUS CHECK
043965,000101:
043966,000102: 21,2201 41334 CS IMODES33 # CHECK IMU STATUS
043967,000103: 21,2202 74763 MASK NOIMUDAP # BIT6 = 0 IMU OK
043968,000104: 21,2203 10000 CCS A # BIT6 = 1 NO IMU
043969,000105: 21,2204 12215 TCF RATEFILT
043970,000106: 21,2205 41501 FREECHK CS RCSFLAGS # BIT14 INDICATES THAT RATES HAVE NOT BEEN
043971,000107: 21,2206 74753 MASK BIT14 # INITIALIZED
043972,000108: 21,2207 27501 ADS RCSFLAGS
043973,000109: 21,2210 34753 CAF BIT14 # NO ATTITUDE REFERENCE
043974,000110: 21,2211 55340 TS HOLDFLAG # STOP ANY AUTOMATIC STEERING AND PREPARE
043975,000111: # TO PICK UP CDU ANGLES UPON RESUMPTION OF
043976,000112: # ATTITUDE HOLD
043977,000113: 21,2212 05654 TC C31BTCHK # CHECK FOR FREE MODE
043978,000114: 21,2213 12424 TCF KRESUME1 # IN FREE MODE PROVIDE FREE CONTROL ONLY
043979,000115: 21,2214 12541 TCF REINIT # .....TILT...............................
043980,000116: 21,2215 5001 BITS4,5 = BITS4&5
043981,000117:
043982,000118: 21,2215 31501 RATEFILT CA RCSFLAGS # SEE IF RATEFILTER HAS BEEN INITIALIZED
043983,000119: 21,2216 74753 MASK BIT14
043984,000120: 21,2217 00006 EXTEND # IF SO, PROCEED WITH RATE DERIVATION
043985,000121: 21,2220 12222 BZF +2
043986,000122: 21,2221 12355 TCF KMATRIX # IF NOT, SKIP RATE DERIVATION
043987,000123:
043988,000124: # RATE FILTER TIMING = 7.72 MS
043989,000125:
043990,000126: # RATE FILTER EQUATIONS
043991,000127: # DRHO = DELRHO - (.1)ADOT + (1 - GAIN1)DRHO
043992,000128: # -1
043993,000129: # ADOT = ADOT + GAIN2 DRHO + KMJ DFT
043994,000130: # -1
043995,000131: # _ * _ _
043996,000132: # WHERE DELRHO = AMGB (CDU - CDU )
043997,000133: # -1
043998,000134:
043999,000135: 21,2222 34767 +2 CAF TWO
044000,000136: 21,2223 55506 DRHOLOOP TS SPNDX
044001,000137: 21,2224 60000 DOUBLE
044002,000138: 21,2225 55507 TS DPNDX
044003,000139: 21,2226 51507 INDEX DPNDX
044004,000140: 21,2227 41552 CS DRHO # DRHO SCALED 180 DEGS
044005,000141: 21,2230 00006 EXTEND
044006,000142: 21,2231 51617 INDEX ATTKALMN # PICK UP DESIRED FILTER GAIN
044007,000143: 21,2232 73121 MP GAIN1
044008,000144: 21,2233 51507 INDEX DPNDX
044009,000145: 21,2234 21553 DAS DRHO # (1 -.064) DRHO
044010,000146: 21,2235 00006 EXTEND
044011,000147: 21,2236 51507 INDEX DPNDX
044012,000148: 21,2237 41534 DCS ADOT
044013,000149: # # Page 1003
044014,000150: 21,2240 53511 DXCH KMPAC # -(.1)ADOT
044015,000151: 21,2241 34754 CA QUARTER
044016,000152: 21,2242 02060 TC SMALLMP
044017,000153: 21,2243 53511 DXCH KMPAC
044018,000154: 21,2244 51507 INDEX DPNDX
044019,000155: 21,2245 21553 DAS DRHO
044020,000156: 21,2246 11506 CCS SPNDX
044021,000157: 21,2247 12223 TCF DRHOLOOP
044022,000158:
044023,000159: 21,2250 30032 CA CDUX # MEASURED BODY RATES--
044024,000160: 21,2251 57635 XCH RHO
044025,000161: 21,2252 00006 EXTEND
044026,000162: 21,2253 21635 MSU RHO # _ * _ _
044027,000163: 21,2254 40000 COM # DELRHO = AMGB (CDU - CDU )
044028,000164: # -1
044029,000165: 21,2255 22007 ZL
044030,000166: 21,2256 53516 DXCH DELTEMPX
044031,000167: 21,2257 30033 CA CDUY
044032,000168: 21,2260 57636 XCH RHO1
044033,000169: 21,2261 00006 EXTEND
044034,000170: 21,2262 21636 MSU RHO1
044035,000171: 21,2263 40000 COM
044036,000172: 21,2264 55502 TS T5TEMP # (CDUY - RHO1) SCALED 90 DEGS
044037,000173: 21,2265 00006 EXTEND
044038,000174: 21,2266 71640 MP AMGB1
044039,000175: 21,2267 21516 DAS DELTEMPX # DELTEMPX = (CDUX-RHO) + AMGB1(CDUY-RHO1)
044040,000176: # MUST BE DOUBLE PRECISION OR WILL LOSE
044041,000177: # PULSES
044042,000178: 21,2270 31641 CA AMGB4
044043,000179: 21,2271 00006 EXTEND
044044,000180: 21,2272 71502 MP T5TEMP
044045,000181: 21,2273 53520 DXCH DELTEMPY
044046,000182: 21,2274 31643 CA AMGB7
044047,000183: 21,2275 00006 EXTEND
044048,000184: 21,2276 71502 MP T5TEMP
044049,000185: 21,2277 53522 DXCH DELTEMPZ
044050,000186: 21,2300 30034 CA CDUZ
044051,000187: 21,2301 57637 XCH RHO2
044052,000188: 21,2302 00006 EXTEND
044053,000189: 21,2303 21637 MSU RHO2
044054,000190: 21,2304 40000 COM
044055,000191: 21,2305 55502 TS T5TEMP # (CDUZ - RHO2) SCALED 90 DEGS
044056,000192: 21,2306 00006 EXTEND
044057,000193: 21,2307 71642 MP AMGB5
044058,000194: 21,2310 21520 DAS DELTEMPY # DELTEMPY = AMGB4(CDUY-RHO1)
044059,000195: # + AMGB5(CDUZ-RHO2)
044060,000196: 21,2311 31644 CA AMGB8
044061,000197: 21,2312 00006 EXTEND
044062,000198: 21,2313 71502 MP T5TEMP
044063,000199: 21,2314 21522 DAS DELTEMPZ # DELTEMPZ = AMBG7(CDUY-RHO1)
044064,000200: # # Page 1004
044065,000201: # + AMGB8(CDUZ-RHO2)
044066,000202: 21,2315 34767 CAF TWO
044067,000203: 21,2316 55506 ADOTLOOP TS SPNDX
044068,000204: 21,2317 60000 DOUBLE
044069,000205: 21,2320 55507 TS DPNDX
044070,000206: 21,2321 00006 EXTEND
044071,000207: 21,2322 51507 INDEX DPNDX
044072,000208: 21,2323 31516 DCA DELTEMPX
044073,000209: 21,2324 51507 INDEX DPNDX
044074,000210: 21,2325 21553 DAS DRHO
044075,000211: 21,2326 00006 EXTEND
044076,000212: 21,2327 51507 INDEX DPNDX
044077,000213: 21,2330 31516 DCA DELTEMPX
044078,000214: 21,2331 51507 INDEX DPNDX
044079,000215: 21,2332 21542 DAS MERRORX
044080,000216: 21,2333 51507 INDEX DPNDX
044081,000217: 21,2334 31552 CA DRHO
044082,000218: 21,2335 60000 DOUBLE # N.B.
044083,000219: 21,2336 60000 DOUBLE # N.B.
044084,000220: 21,2337 00006 EXTEND
044085,000221: 21,2340 51617 INDEX ATTKALMN # PICK UP DESIRED FILTER GAINS
044086,000222: 21,2341 73137 MP GAIN2
044087,000223: 21,2342 51507 INDEX DPNDX # ADOT + (.16)(.1)DRHO
044088,000224: 21,2343 21534 DAS ADOT # -1
044089,000225: 21,2344 51506 INDEX SPNDX # S/C TORQUE TO INERTIA RATIO
044090,000226: 21,2345 31620 CA KMJ # SCALED (450)(1600)/(57.3)(16384)=1/1.3
044091,000227: 21,2346 00006 EXTEND
044092,000228: 21,2347 51506 INDEX SPNDX
044093,000229: 21,2350 71547 MP DFT
044094,000230: 21,2351 51507 INDEX DPNDX
044095,000231: 21,2352 21534 DAS ADOT # KMJ(DFT)
044096,000232: 21,2353 11506 CCS SPNDX
044097,000233: 21,2354 12316 TCF ADOTLOOP # END CALCULATION OF VEHICLE RATES
044098,000234: 21,2355 31560 KMATRIX CA ATTSEC
044099,000235: 21,2356 74777 MASK LOW4
044100,000236: 21,2357 10000 CCS A
044101,000237: 21,2360 12366 TCF TENTHSEK
044102,000238: 21,2361 37656 CAF PRIO34 # CALL FOR 1 SEC UPDATE OF TRANSFORMATION
044103,000239: 21,2362 05121 TC NOVAC # MATRIX FROM GIMBAL AXES TO BODY AXES
044104,000240: 21,2363 E6,1510 EBANK= KMPAC
044105,000241: 21,2363 03560 44066 2CADR AMBGUPDT
044106,000242:
044107,000243: 21,2365 34322 CAF NINE
044108,000244:
044109,000245: 21,2366 55560 TENTHSEK TS ATTSEC
044110,000246:
044111,000247: # # Page 1005
044112,000248: # WHEN AUTOMATIC MANEUVERS ARE BEING PERFORMED, THE FOLLOWING ANGLE ADDITION MUST BE MADE TO PROVIDE A SMOOTH
044113,000249: # SEQUENCE OF ANGULAR COMMANDS TO THE AUTOPILOT--
044114,000250:
044115,000251: # CDUXD = CDUXD + DELCDUX (DOUBLE PRECISION)
044116,000252: # CDUYD = CDUYD + DELCDUY (DOUBLE PRECISION)
044117,000253: # CDUZD = CDUZD + DELCDUZ (DOUBLE PRECISION)
044118,000254:
044119,000255: # THE STEERING PROGRAMS-
044120,000256: # 1) ATTITUDE MANEUVER ROUTINE
044121,000257: # 2) LEM TRACKING
044122,000258:
044123,000259: # SHOULD GENERATE THE DESIRED ANGLES (CDUXD, CDUYD, CDUZD) AS WELL AS THE INCREMENTAL ANGLES (DELCDUX, DELCDUY,
044124,000260: # DELCDUZ) SO THAT THE GIMBAL ANGLE COMMANDS CAN BE INTERPOLATED BETWEEN UPDATES.
044125,000261:
044126,000262: # HOLDFLAG CODING-
044127,000263:
044128,000264: # + = GRAB PRESENT CDU ANGLES AND STORE IN THETADX, THETADY, THETADZ
044129,000265: # AND PERFORM ATTITUDE HOLD ABOUT THESE ANGLES
044130,000266: # ALSO IGNORE AUTOMATIC STEERING
044131,000267: # SET = + BY
044132,000268: # 1) INITIALIZATION PHASE OF AUTOPILOT
044133,000269: # 2) OCCURANCE OF RHC COMMANDS
044134,000270: # 3) FREE MODE
044135,000271: # 4) SWITCH OVER TO ATTITUDE HOLD FROM AUTO
044136,000272: # WHILE DOING AUTOMATIC STEERING (IN THIS CASE
044137,000273: # HOLDFLAG IS NOT ACTUALLY SET TO +, BUT THE LOGIC
044138,000274: # FUNCTIONS AS IF IT WERE.)
044139,000275: # 5) S/C CONTROL SWITCH IN SCS
044140,000276: # 6) IMU POWER OFF
044141,000277: # +0 = IN ATTITUDE HOLD ABOUT A PREVIOUSLY ESTABLISHED REFERENCE
044142,000278: # - = PERFORMING AUTOMATIC MANEUVER
044143,000279: # -0 = NOT USED AT PRESENT
044144,000280:
044145,000281: # NOTE THAT THIS FLAG MUST BE SET = - BY THE STEERING PROGRAM IF IT IS TO COMMAND THE AUTOPILOT.
044146,000282: # SINCE ASTRONAUT ACTION MAY CHANGE THE HOLDFLAG SETTING, IT SHOULD BE MONITORED BY THE STEERING PROGRAM TO
044147,000283: # DETERMINE IF THE AUTOMATIC SEQUENCE HAS BEEN INTERRUPTED AND IF SO, TAKE THE APPROPRIATE ACTION.
044148,000284:
044149,000285:
044150,000286: 21,2367 41340 CS HOLDFLAG
044151,000287: 21,2370 00006 EXTEND
044152,000288: 21,2371 62416 BZMF DACNDLS # IF HOLDFLAG +0,-0,+, BYPASS AUTOMATIC
044153,000289: # COMMANDS
044154,000290: 21,2372 34767 DCDUINCR CAF TWO
044155,000291: 21,2373 55506 DELOOP TS SPNDX
044156,000292: 21,2374 60000 DOUBLE
044157,000293: 21,2375 55507 TS DPNDX
044158,000294: 21,2376 00006 EXTEND
044159,000295: 21,2377 50000 INDEX A
044160,000296: 21,2400 31647 DCA CDUXD
044161,000297: # # Page 1006
044162,000298: 21,2401 53511 DXCH KMPAC
044163,000299: 21,2402 00006 EXTEND
044164,000300: 21,2403 51507 INDEX DPNDX
044165,000301: 21,2404 31576 DCA DELCDUX
044166,000302: 21,2405 02072 TC DPADD
044167,000303: 21,2406 00006 EXTEND
044168,000304: 21,2407 31511 DCA KMPAC
044169,000305: 21,2410 51506 INDEX SPNDX
044170,000306: 21,2411 55572 TS THETADX
044171,000307: 21,2412 51507 INDEX DPNDX
044172,000308: 21,2413 53647 DXCH CDUXD
044173,000309: 21,2414 11506 CCS SPNDX
044174,000310: 21,2415 12373 TCF DELOOP
044175,000311:
044176,000312: # # Page 1007
044177,000313:
044178,000314: # RCS-CSM AUTOPILOT ATTITUDE ERROR DISPLAY
044179,000315:
044180,000316: # THREE TYPES OF ATTITUDE ERRORS MAY BE DISPLAYED ON THE FDAI-
044181,000317:
044182,000318: # MODE 1) AUTOPILOT FOLLOWING ERRORS SELECTED BY V61E
044183,000319: # GENERATED INTERNALLY BY THE AUTOPILOT
044184,000320:
044185,000321: # MODE 2) TOTAL ATTITUDE ERRORS SELECTED BY V62E
044186,000322: # WITH RESPECT TO THE CONTENTS OF N22
044187,000323:
044188,000324: # MODE 3) TOTAL ASTRONAUT ATTITUDE ERRORS SELECTED BY V63E
044189,000325: # WITH RESPECT TO THE CONTENTS OF N17
044190,000326:
044191,000327: # MODE 1 IS PROVIDED AS A MONITOR OF THE RCS DAP AND ITS ABILITY TO TRACK AUTOMATIC STEERING COMMANDS. IN THIS
044192,000328: # MODE THE ATTITUDE ERRORS WILL BE ZEROED WHEN THE CMC MODE SWITCH IS IN FREE.
044193,000329:
044194,000330: # MODE 2 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
044195,000331: # IN N22. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
044196,000332: # AS A FLY-TO INDICATOR.
044197,000333:
044198,000334: # MODE 3 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
044199,000335: # IN N17. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
044200,000336: # AS A FLY-TO INDICATOR.
044201,000337:
044202,000338: # V60 IS PROVIDED TO LOAD N17 WITH A SNAPSHOT OF THE CURRENT CDU ANGLES, THUS SYNCHRONIZING THE MODE 3 DISPLAY
044203,000339: # WITH THE CURRENT S/C ATTITUDE. THIS VERB MAY BE USED AT ANY TIME.
044204,000340:
044205,000341: # THESE DISPLAYS WILL BE AVAILABLE IN ANY MODE (AUTO, HOLD, FREE, G+N, OR SCS) ONCE THE RCS DAP HAS BEEN
044206,000342: # INITIATED VIA V46E. MODE 1, HOWEVER, WILL BE MEANINGFUL ONLY IN G+N AUTO OR HOLD. THE CREW MAY PRESET (VIA
044207,000343: # V25N17) AN ATTITUDE REFERENCE (DESIRED GIMBAL ANGLES) INTO N17 AT ANY TIME.
044208,000344:
044209,000345: 21,2416 41501 DACNDLS CS RCSFLAGS # ALTERNATE BETWEEN FDAIDSP1 AND FDAIDSP2
044210,000346: 21,2417 74765 MASK BIT4
044211,000347: 21,2420 00006 EXTEND
044212,000348: 21,2421 13202 BZF FDAIDSP2
044213,000349:
044214,000350: 21,2422 27501 FDAIDSP1 ADS RCSFLAGS
044215,000351: 21,2423 02425 TC NEEDLER
044216,000352: 21,2424 15323 KRESUME1 TCF RESUME # END PHASE 1
044217,000353:
044218,000354: # # Page 1008
044219,000355:
044220,000356: # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
044221,000357:
044222,000358: # PROGRAM DESCRIPTION: D. KEENE 5/24/67
044223,000359:
044224,000360: # THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
044225,000361: # IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
044226,000362: # OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
044227,000363: # THE DACS.
044228,000364:
044229,000365:
044230,000366: # CALLING SEQUENCE:
044231,000367:
044232,000368: # DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
044233,000369: # TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
044234,000370:
044235,000371: # CS RCSFLAGS # IN EBANK6
044236,000372: # MASK BIT3
044237,000373: # ADS RCSFLAGS
044238,000374:
044239,000375: # THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANFERRED TO THE FOLLOWING LOCATIONS IN EBANK6:
044240,000376:
044241,000377: # AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT
044242,000378: # AK1 SCALED 180 DEGREES TO CHANGE
044243,000379: # AK2 SCALED 180 DEGREES
044244,000380:
044245,000381: # FULL SCALED DEFLECTION CORRESPONDS TO 16 7/8 DEGREES OF ATTITUDE ERROR
044246,000382: # (= 384 BITS IN IMU ERROR COUNTER)
044247,000383:
044248,000384: # A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
044249,000385:
044250,000386: # INHINT
044251,000387: # TC IBNKCALL # NOTE: EBANK SHOULD BE SET TO E6
044252,000388: # CADR NEEDLER
044253,000389: # RELINT
044254,000390:
044255,000391: # THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PRORAM ARE
044256,000392: # REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
044257,000393: # NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
044258,000394:
044259,000395: # ERASABLE USED:
044260,000396: # AK CDUXCMD
044261,000397: # AK1 CDUYCMD
044262,000398: # AK2 CDUZCMD
044263,000399: # EDRIVEX A,L,Q
044264,000400: # EDRIVEY T5TEMP
044265,000401: # EDRIVEZ SPNDX
044266,000402:
044267,000403: # SWITCHES: RCSFLAGS BITS 3,2
044268,000404:
044269,000405: # I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY)
044270,000406: # # Page 1009
044271,000407: # CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE)
044272,000408: # CHAN14 BIT 13,14,15 (DAC ACTIVITY)
044273,000409:
044274,000410: # SIGN CONVENTION: AK = THETAC - THETA
044275,000411: # WHERE THETAC = COMMAND ANGLE
044276,000412: # THETA = PRESENT ANGLE
044277,000413:
044278,000414: 21,2425 34765 NEEDLER CAF BIT4 # CHECK FOR COARSE ALIGN ENABLE
044279,000415: 21,2426 00006 EXTEND # IF IN COARSE ALIGN DO NOT USE IMU
044280,000416: 21,2427 02012 RAND CHAN12 # ERROR COUNTERS. DONT USE NEEDLES
044281,000417: 21,2430 00006 EXTEND
044282,000418: 21,2431 12436 BZF NEEDLER1
044283,000419: 21,2432 41501 RCSINT CS RCSFLAGS # SET BIT3 FOR INITIALIZATION PASS
044284,000420: 21,2433 74766 MASK BIT3
044285,000421: 21,2434 27501 ADS RCSFLAGS
044286,000422: 21,2435 00002 TC Q
044287,000423:
044288,000424: 21,2436 31501 NEEDLER1 CA RCSFLAGS
044289,000425: 21,2437 76211 MASK SIX
044290,000426: 21,2440 00006 EXTEND
044291,000427: 21,2441 12476 BZF NEEDLES3
044292,000428: 21,2442 74766 MASK BIT3
044293,000429: 21,2443 00006 EXTEND
044294,000430: 21,2444 12467 BZF NEEDLER2 # BIT3 = 0, BIT2 = 1
044295,000431:
044296,000432: 21,2445 44763 CS BIT6 # FIRST PASS BIT3 = 1
044297,000433: 21,2446 00006 EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS
044298,000434: 21,2447 03012 WAND CHAN12 # MUST WAIT AT LEAST 60 MS BEFORE
044299,000435: 21,2450 44772 NEEDLE11 CS ZERO # ENABLING COUNTERS.
044300,000436: 21,2451 55476 TS AK # ZERO THE INPUTS ON FIRST PASS
044301,000437: 21,2452 55477 TS AK1
044302,000438: 21,2453 55500 TS AK2
044303,000439: 21,2454 55503 TS EDRIVEX # ZERO THE DISPLAY REGISTERS
044304,000440: 21,2455 55504 TS EDRIVEY
044305,000441: 21,2456 55505 TS EDRIVEZ
044306,000442: 21,2457 54050 TS CDUXCMD # ZERO THE OUT COUNTERS
044307,000443: 21,2460 54051 TS CDUYCMD
044308,000444: 21,2461 54052 TS CDUZCMD
044309,000445: 21,2462 46211 CS SIX # RESET RCSFLAGS FOR PASS2
044310,000446: 21,2463 71501 MASK RCSFLAGS
044311,000447: 21,2464 64767 AD BIT2
044312,000448: 21,2465 55501 TS RCSFLAGS
044313,000449: 21,2466 00002 TC Q # END PASS1
044314,000450:
044315,000451: 21,2467 34763 NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS
044316,000452: 21,2470 00006 EXTEND
044317,000453: 21,2471 05012 WOR CHAN12
044318,000454: 21,2472 46211 CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE
044319,000455: # # Page 1010
044320,000456: 21,2473 71501 MASK RCSFLAGS # ERRORS WAIT AT LEAST 4 MS FOR
044321,000457: 21,2474 55501 TS RCSFLAGS # RELAY CLOSURE
044322,000458: 21,2475 00002 TC Q
044323,000459:
044324,000460:
044325,000461: 21,2476 34763 NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER
044326,000462: 21,2477 00006 EXTEND # IS ENABLED
044327,000463: 21,2500 02012 RAND CHAN12
044328,000464: 21,2501 00006 EXTEND # IF NOT RECYCLE NEEDLES
044329,000465: 21,2502 12432 BZF RCSINT
044330,000466: 21,2503 34767 NEEDLES CAF TWO
044331,000467: 21,2504 55506 DACLOOP TS SPNDX
044332,000468: 21,2505 44754 CS QUARTER
044333,000469: 21,2506 00006 EXTEND
044334,000470: 21,2507 51506 INDEX SPNDX
044335,000471: 21,2510 71476 MP AK
044336,000472: 21,2511 54001 TS L
044337,000473: 21,2512 10000 CCS A
044338,000474: 21,2513 32547 CA DACLIMIT
044339,000475: 21,2514 12516 TCF +2
044340,000476: 21,2515 42547 CS DACLIMIT
044341,000477: 21,2516 60001 AD L
044342,000478: 21,2517 55502 TS T5TEMP # OVFLO CHK
044343,000479: 21,2520 12524 TCF OVSPOT
044344,000480: 21,2521 50000 INDEX A # ON OVERFLOW LIMIT OUTPUT TO +-384
044345,000481: 21,2522 32547 CAF DACLIMIT
044346,000482: 21,2523 54001 TS L
044347,000483: 21,2524 51506 OVSPOT INDEX SPNDX
044348,000484: 21,2525 41503 CS EDRIVEX # CURRENT VALUE OF DAC
044349,000485: 21,2526 60001 AD L
044350,000486: 21,2527 51506 INDEX SPNDX
044351,000487: 21,2530 26050 ADS CDUXCMD
044352,000488: 21,2531 51506 INDEX SPNDX
044353,000489: 21,2532 23503 LXCH EDRIVEX
044354,000490: 21,2533 11506 CCS SPNDX
044355,000491: 21,2534 12504 TCF DACLOOP
044356,000492: 21,2535 37673 CAF 13,14,15
044357,000493: 21,2536 00006 EXTEND
044358,000494: 21,2537 05014 DRIVEDAC WOR CHAN14 # SET DAC ACTIVITY BITS
044359,000495: 21,2540 00002 TC Q
044360,000496:
044361,000497: 21,2541 32545 REINIT CAF DELAY200 # ........TILT LOGIC
044362,000498: 21,2542 54030 TS TIME5 # REINITIALIZE DAP IN 200MS
044363,000499: 21,2543 55464 TS T5PHASE
044364,000500: 21,2544 15323 TCF RESUME
044365,000501: 21,2545 37754 DELAY200 DEC 16364 B-14 # 200MS
044366,000502:
044367,000503:
044368,000504: 21,2546 77177 DEC -384 B-14
044369,000505: 21,2547 37200 DACLIMIT DEC 16000 B-14
044370,000506: # # Page 1011
044371,000507: 21,2550 00600 DEC 384 B-14
044372,000508:
044373,000509: # # Page 1012
044374,000510:
044375,000511: # INITIALIZATION PROGRAM FOR RCS-CSM AUTOPILOT
044376,000512:
044377,000513: # THE FOLLOWING QUANTITIES WILL BE ZEROED AND SHOULD APPEAR IN CONSECUTIVE LOCATIONS IN MEMORY AFTER WBODY
044378,000514:
044379,000515: # WBODY (+1) DFT TAU2
044380,000516: # WBODY1 (+1) DFT1 BIAS
044381,000517: # WBODY2 (+1) DFT2 BIAS1
044382,000518: # ADOT (+1) DRHO (+1) BIAS2
044383,000519: # ADOT1 (+1) DRHO1 (+1) ERRORX
044384,000520: # ADOT2 (+1) DRHO2 (+1) ERRORY
044385,000521: # MERRORX (+1) ATTSEC ERRORZ
044386,000522: # MERRORY (+1) TAU
044387,000523: # MERRORZ (+1) TAU1
044388,000524:
044389,000525: 21,2551 34770 FRESHDAP CAF ONE # RESET HOLDFLAG TO STOP AUTOMATIC
044390,000526: 21,2552 55340 TS HOLDFLAG # STEERING AND PREPARE TO PICK UP AN
044391,000527: # ATTITUDE HOLD REFERENCE
044392,000528:
044393,000529: 21,2553 04714 REDAP TC IBNKCALL # DECODE DAPDATR1, DAPDATR2 FOR DEADBANDS
044394,000530: 21,2554 40463 CADR S41.2 # RATES, QUADFAILS, QUAD MANAGEMENT
044395,000531:
044396,000532: 21,2555 04714 TC IBNKCALL # DECODE IXX, IAVG, AND CONVERT
044397,000533: 21,2556 40614 CADR S40.14 # TO AUTOPILOT GAINS
044398,000534:
044399,000535: 21,2557 32633 CAF NO.T5VAR # NO. LOCATIONS TO BE ZEROED MINUS 2
044400,000536: # NO.T5VAR MUST BE ODD *************
044401,000537: 21,2560 10000 ZEROT5 CCS A
044402,000538: 21,2561 55506 TS SPNDX
044403,000539: 21,2562 34772 CAF ZERO
044404,000540: 21,2563 54001 TS L
044405,000541: 21,2564 51506 INDEX SPNDX
044406,000542: 21,2565 53527 DXCH WBODY +1
044407,000543: 21,2566 11506 CCS SPNDX
044408,000544: 21,2567 12560 TCF ZEROT5
044409,000545: 21,2570 55525 TS WBODY # ZERO LAST (FIRST) ONE
044410,000546:
044411,000547: 21,2571 02642 TC ZEROJET
044412,000548: 21,2572 44772 CS ZERO
044413,000549: 21,2573 55633 TS CHANTEMP # INITIALIZE MINIMUM IMPULSE CONTROL
044414,000550:
044415,000551: 21,2574 55632 TS CH31TEMP # INITIALIZE RHC POSITION MEMORY FOR
044416,000552: # MANUAL RATE MODES
044417,000553:
044418,000554: 21,2575 32634 CAF =.24
044419,000555: 21,2576 55654 TS SLOPE # INITIALIZE SWITCHING LOGIC SLOPE
044420,000556:
044421,000557: 21,2577 34766 CAF FOUR
044422,000558: 21,2600 55634 TS T5TIME # PHASE 0 RESETS FOR PHASE 2 INTERRUPT IN
044423,000559: # 60 MS. PHASE 2 RESETS FOR PHASE 1 RUPT
044424,000560: # IN (80MS - T5TIME(40MS)). THEREFORE
044425,000561: # PHASE 1 (RATEFILTER) BEGINS CYCLING 100
044426,000562: # MS FROM NOW AND EVERY 100MS THEREAFTER
044427,000563: # # Page 1013
044428,000564: 21,2601 34775 CAF ELEVEN
044429,000565: 21,2602 55617 TS ATTKALMN # RESET TO PICK UP KALMAN FILTER TAINS
044430,000566: # TO INITIALIZE THE S/C ANGULAR RATES
044431,000567: 21,2603 30032 CA CDUX
044432,000568: 21,2604 55635 TS RHO
044433,000569: 21,2605 30033 CA CDUY
044434,000570: 21,2606 55636 TS RHO1
044435,000571: 21,2607 30034 CA CDUZ
044436,000572: 21,2610 55637 TS RHO2
044437,000573: 21,2611 34772 CAF ZERO # RESET AUTOPILOT TO BEGIN EXECUTING
044438,000574: 21,2612 55464 TS T5PHASE # PHASE2 OF PROGRAM
044439,000575:
044440,000576: 21,2613 41334 CS IMODES33 # CHECK IMU STATUS
044441,000577: 21,2614 74763 MASK NOIMUDAP # IF BIT6 =0 IMU IN FINE ALIGN
044442,000578: 21,2615 10000 CCS A # IF BIT6 = 1 IMU NOT READY
044443,000579: 21,2616 12622 TCF IMUAOK
044444,000580: 21,2617 55617 TS ATTKALMN # CANNOT USE IMU
044445,000581: 21,2620 32635 CAF RCSINITB # PROVIDE FREE CONTROL ONLY
044446,000582: 21,2621 12627 TCF RCSSWIT # DONT START UP RATE FILTER
044447,000583: # SIGNAL NO RATE FILTER
044448,000584:
044449,000585: 21,2622 37656 IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION
044450,000586: 21,2623 05121 TC NOVAC # BYPASS IF IMU NOT IN FINE ALIGN
044451,000587: 21,2624 E6,1510 EBANK= KMPAC
044452,000588: 21,2624 03560 44066 2CADR AMBGUPDT
044453,000589:
044454,000590: 21,2626 34766 CAF RCSINIT # CLEAR BIT14 -ASSUME WE HAVE A GOOD IMU
044455,000591: 21,2627 55501 RCSSWIT TS RCSFLAGS # CLEAR BIT1 -INITIALIZE T6 PROGRAM
044456,000592: # SET BIT3 -INITIALIZE NEEDLES
044457,000593: # CLEAR BIT4 -RESET FOR FDAIDSP1
044458,000594: 21,2630 32636 CAF T5WAIT60 # NEXT T5RUPT 60 MS FROM NOW TO ALLOW IMU
044459,000595: # ERROR COUNTER TO ZERO.
044460,000596: # (MINIMUM DELAY = 15 MS)
044461,000597: 21,2631 54030 TS TIME5 # SINCE ATTKALMN IS +11, PROGRAM WILL THEN
044462,000598: 21,2632 05323 TC RESUME # PICK UP THE KALMAN FILTER GAINS. RATE
044463,000599: # FILTER WILL BEGIN OPERATING 200MS FROM
044464,000600: # NOW
044465,000601:
044466,000602: # CONSTANTS USED IN INITIALIZATION PROGRAM
044467,000603:
044468,000604:
044469,000605: 21,2633 00043 NO.T5VAR DEC 35 B-14 # NO. OF LOCATIONS TO BE ZEROED
044470,000606: # MINUS 2...MUST BE ODD
044471,000607:
044472,000608: # FOR AN EVEN NUMBER OF VARIABLES TO BE ZEROED....
044473,000609: # * SET NO.T5VAR EQUAL TO NUMBER OF VARIABLES MINUS 1
044474,000610: # * DO DXCH WBODY INSTEAD OF WBODY + 1
044475,000611: # * DELETE TS WBODY
044476,000612:
044477,000613: 21,2634 07534 =.24 DEC .24 # = SLOPE OF 0.6/SEC
044478,000614: 21,2635 4766 RCSINIT = BIT3
044479,000615: 21,2635 20004 RCSINITB OCT 20004
044480,000616:
044481,000617: # # Page 1014
044482,000618:
044483,000619: 21,2636 37772 T5WAIT60 DEC 16378 B-14 # = 6 CS
044484,000620: 21,2637 E6,1510 EBANK= KMPAC
044485,000621: 21,2637 03606 36066 T6ADDR 2CADR T6START
044486,000622:
044487,000623:
044488,000624: 21,2641 62524 -75DEGS DEC -.41666 # -75 DEGS IN REVS * 2
044489,000625: 21,2642 34775 ZEROJET CAF ELEVEN # ZERO BLAST2, BLAST1, BLAST, YWORD2,
044490,000626: 21,2643 55506 +1 TS SPNDX # YWORD1,PWORD2,PWORD1,RWORD2,
044491,000627: 21,2644 34772 CAF ZERO # AND RWORD1.
044492,000628: 21,2645 51506 INDEX SPNDX
044493,000629: 21,2646 55450 TS RWORD1
044494,000630: 21,2647 11506 CCS SPNDX
044495,000631: 21,2650 12643 TCF ZEROJET +1
044496,000632:
044497,000633: 21,2651 34766 CAF FOUR
044498,000634: 21,2652 55461 TS BLAST1 +1
044499,000635: 21,2653 34775 CAF ELEVEN
044500,000636: 21,2654 55463 TS BLAST2 +1
044501,000637:
044502,000638: 21,2655 44770 CS BIT1
044503,000639: 21,2656 71501 MASK RCSFLAGS
044504,000640: 21,2657 55501 TS RCSFLAGS # RESET BIT1 OF RCSFLAGS TO 0
044505,000641:
044506,000642: 21,2660 00006 EXTEND
044507,000643: 21,2661 32640 DCA T6ADDR
044508,000644: 21,2662 52111 DXCH T6LOC
044509,000645: 21,2663 33075 CAF =+14MS # ENABLE T6RUPT TO SHUT OFF JETS IN 14 MS.
044510,000646: 21,2664 54031 TS TIME6
044511,000647: 21,2665 00006 EXTEND
044512,000648: 21,2666 22070 QXCH RUPTREG1
044513,000649: 21,2667 04542 TC C13STALL
044514,000650: 21,2670 34752 CAF BIT15
044515,000651: 21,2671 00006 EXTEND
044516,000652: 21,2672 05013 WOR CHAN13
044517,000653:
044518,000654: 21,2673 00070 TC RUPTREG1
044519,000655:
044520,000656: 21,2674 11617 T5PHASE2 CCS ATTKALMN # IF (+) INITIALIZE RATE ESTIMATE
044521,000657: 21,2675 13170 TCF KALUPDT
044522,000658:
044523,000659:
044524,000660: 21,2676 12700 TCF +2 # ONLY IF ATTKALMN POSITIVE
044525,000661: 21,2677 12700 TCF +1
044526,000662: 21,2700 37663 CA DELTATT2 # RESET FOR PHASE3 IN 20 MS
044527,000663: 21,2701 56030 XCH TIME5 # (JET SELECTION LOGIC )
044528,000664: 21,2702 27634 ADS T5TIME # TO COMPENSATE FOR DELAYS IN T5RUPT
044529,000665:
044530,000666:
044531,000667: 21,2703 10034 CCS CDUZ
044532,000668: # # Page 1015
044533,000669: 21,2704 12710 TCF GIMBY # +(
044534,000670: 21,2705 12717 TCF OKGIMB # +0
044535,000671: 21,2706 12710 TCF GIMBY # -N
044536,000672: 21,2707 12717 TCF OKGIMB # -0
044537,000673: 21,2710 62641 GIMBY AD -75DEGS
044538,000674: 21,2711 00006 EXTEND
044539,000675: 21,2712 62717 BZMF OKGIMB
044540,000676:
044541,000677: 21,2713 05547 TC UPFLAG # ATTITUDE HOLD WHEN MIDDLE GIMBAL ANGLE
044542,000678: 21,2714 00020 ADRES STIKFLAG # GREATER THAN 75 DEGREES
044543,000679: 21,2715 34772 CAF ZERO
044544,000680: 21,2716 55340 TS HOLDFLAG
044545,000681:
044546,000682: 21,2717 31501 OKGIMB CA RCSFLAGS # IF A HIGH RATE AUTO MANEUVER IS IN
044547,000683: 21,2720 74752 MASK BIT15 # PROGRESS (BIT 15 OF RCSFLAGS SET), SET
044548,000684: 21,2721 00006 EXTEND # ATTKALMN TO -1
044549,000685: 21,2722 12724 BZF NOHIAUTO # OTHERWISE SET ATTKALMN TO 0.
044550,000686: 21,2723 44770 CS ONE
044551,000687: 21,2724 55617 NOHIAUTO TS ATTKALMN
044552,000688:
044553,000689: # # Page 1016
044554,000690:
044555,000691: # MANUAL ROTATION COMMANDS
044556,000692:
044557,000693: 21,2725 43057 CS OCT01760 # RESET FORCED FIRING BITS (BITS 10 TO 5
044558,000694: 21,2726 71501 MASK RCSFLAGS # OF RCSFLAGS) TO ZERO
044559,000695: 21,2727 55501 TS RCSFLAGS
044560,000696:
044561,000697: 21,2730 00006 EXTEND
044562,000698: 21,2731 00031 READ CHAN31
044563,000699: 21,2732 54001 TS L
044564,000700: 21,2733 31632 CA CH31TEMP
044565,000701: 21,2734 00006 EXTEND
044566,000702: 21,2735 06001 RXOR LCHAN
044567,000703: 21,2736 73063 MASK MANROT # = OCT00077
044568,000704: 21,2737 00006 EXTEND
044569,000705: 21,2740 62753 BZMF NOCHANGE
044570,000706:
044571,000707: 21,2741 22000 LXCH A
044572,000708: 21,2742 55632 TS CH31TEMP # SAVE CONTENTS OF CHANNEL 31 IN CH31TEMP
044573,000709:
044574,000710: 21,2743 30001 CA L
044575,000711: 21,2744 00006 EXTEND
044576,000712: 21,2745 74764 MP BIT5 # PUT BITS 6-1 OF A IN BITS 10-5 OF L
044577,000713: 21,2746 30001 CA L
044578,000714: 21,2747 27501 ADS RCSFLAGS # SET FORCED FIRING BITS FOR AXES WITH
044579,000715: # WITH CHANGES IN COMMAND. BITS 10,9 FOR
044580,000716: # ROLL, BITS 8,7 FOR YAW, BITS 6,5 FOR
044581,000717: # PITCH
044582,000718:
044583,000719: 21,2750 41501 CS RCSFLAGS # SET RATE DAMPING FLAGS (BITS 13,12,AND
044584,000720: 21,2751 73064 MASK OCT16000 # 11 OF RCSFLAGS)
044585,000721: 21,2752 27501 ADS RCSFLAGS
044586,000722:
044587,000723: 21,2753 41632 NOCHANGE CS CH31TEMP
044588,000724: 21,2754 73063 MASK MANROT
044589,000725: 21,2755 00006 EXTEND
044590,000726: 21,2756 63272 BZMF AHFNOROT # IF NO MANUAL COMMANDS, GO TO AHFNOROT
044591,000727:
044592,000728: 21,2757 55340 TS HOLDFLAG # SET HOLDFLAG +
044593,000729:
044594,000730: 21,2760 03152 TC STICKCHK # WHEN THE RHC IS OUT OF DETENT, PMANNDX,
044595,000731: # YMANNDX, AND RMANNDX ARE ALL SET, BY
044596,000732: # MEANS OF STICKCHK, TO 0, 1, OR 2 FOR NO,
044597,000733: # +, OR - ROTATION RESPECTIVELY AS
044598,000734: # COMMANDED BY THE RHC.
044599,000735:
044600,000736: # HOWEVER, IT IS WELL TO NOTE THAT AFTER
044601,000737: # THE RHC IS RETURNED TO DETENT, THE
044602,000738: # PROGRAM BRANCHES TO AHFNOROT AND AVOIDS
044603,000739: # STICKCHK SO PMANNDX, YMANNDX, AND
044604,000740: # RMANNDX ARE NOT RESET TO ZERO BUT RATHER
044605,000741: # LEFT SET TO THEIR LAST OUT OF DETENT
044606,000742: # # Page 1017
044607,000743: # VALUES.
044608,000744:
044609,000745: 21,2761 40075 CS FLAGWRD1 # SET STIKFLAG TO INFORM STEERING
044610,000746: 21,2762 74753 MASK STIKBIT # PROGRAMS (P20) THAT ASTRONAUT HAS
044611,000747: 21,2763 26075 ADS FLAGWRD1 # ASSUMED ROTATIONAL CONTROL OF SPACECRAFT
044612,000748:
044613,000749: 21,2764 34753 CAF BIT14
044614,000750: 21,2765 05654 TC C31BTCHK
044615,000751: 21,2766 13076 TCF FREEFUNC
044616,000752: 21,2767 31501 CA RCSFLAGS # EXAMINE RCSFLAGS TO SEE IF RATE FILTER
044617,000753: 21,2770 74753 MASK BIT14 # HAS BEEN INITIALIZED
044618,000754: 21,2771 10000 CCS A # IF SO, PROCEED WITH MANUAL RATE COMMANDS
044619,000755: 21,2772 12541 TCF REINIT # .....TILT, RECYCLE TO INITIALIZE FILTER
044620,000756:
044621,000757: 21,2773 44773 CS FIVE # IF MANUAL MANEUVER IS AT HIGH RATE, SET
044622,000758: 21,2774 60774 AD RATEINDX # ATTKALMN TO -1.
044623,000759: 21,2775 00006 EXTEND # OTHERWISE, LEAVE ATTKALMN ALONE.
044624,000760: 21,2776 63001 BZMF +3
044625,000761: 21,2777 44770 CS ONE
044626,000762: 21,3000 55617 TS ATTKALMN
044627,000763:
044628,000764:
044629,000765: 21,3001 34767 CAF TWO # AUTO-HOLD MANUAL ROTATION
044630,000766: 21,3002 55506 SETWBODY TS SPNDX
044631,000767: 21,3003 60000 DOUBLE
044632,000768: 21,3004 55507 TS DPNDX
044633,000769: 21,3005 51506 INDEX SPNDX # RMANNDX = 0 NO ROTATION
044634,000770: 21,3006 31656 CA RMANNDX # = 1 + ROTATION
044635,000771: 21,3007 00006 EXTEND # = 2 - ROTATION
044636,000772: 21,3010 13032 BZF NORATE # IF NO ROTATION COMMAND ON THIS AXIS,
044637,000773: # GO TO NORATE.
044638,000774:
044639,000775: 21,3011 60774 AD RATEINDX # RATEINDX = 0 0.05 DEG/SEC
044640,000776: 21,3012 54002 TS Q # = 2 0.2 DEG/SEC
044641,000777: 21,3013 50002 INDEX Q # = 4 0.5 DEG/SEC
044642,000778: 21,3014 33064 CA MANTABLE -1 # = 6 2.0 DEG/SEC
044643,000779: 21,3015 00006 EXTEND
044644,000780: 21,3016 74760 MP BIT9 # MULTIPLY MANTABLE BY 2 TO THE -6
044645,000781: 21,3017 51507 INDEX DPNDX # TO GET COMMANDED RATE.
044646,000782: 21,3020 53526 DXCH WBODY # SET WBODY TO COMMANDED RATE.
044647,000783:
044648,000784: 21,3021 31501 CA RCSFLAGS
044649,000785: 21,3022 73064 MASK OCT16000 # IS RATE DAMPING COMPLETED (BITS 13,12 AND
044650,000786: 21,3023 00006 EXTEND # 11 OF RCSFLAGS ALL ZERO.) IF SO, GO TO
044651,000787: 21,3024 13042 BZF MERUPDAT # MERUPDAT TO UPDATE CUMULATIVE ATTITUDE
044652,000788: # ERROR.
044653,000789:
044654,000790: 21,3025 34772 ZEROER CA ZERO # ZEROER ZEROS MERRORS
044655,000791: 21,3026 22007 ZL
044656,000792: 21,3027 51507 INDEX DPNDX
044657,000793: # # Page 1018
044658,000794: 21,3030 53542 DXCH MERRORX
044659,000795: 21,3031 13050 TCF SPNDXCHK
044660,000796:
044661,000797: 21,3032 22007 NORATE ZL
044662,000798: 21,3033 51507 INDEX DPNDX
044663,000799: 21,3034 53526 DXCH WBODY # ZERO WBODY FOR THIS AXIS
044664,000800: 21,3035 31501 CA RCSFLAGS
044665,000801: 21,3036 73064 MASK OCT16000
044666,000802: 21,3037 00006 EXTEND # IS RATE DAMPING COMPLETED
044667,000803: 21,3040 13050 BZF SPNDXCHK # YES, KEEP CURRENT MERRORX GO TO SPNDXCHK
044668,000804: 21,3041 13025 TCF ZEROER # NO, GO TO ZEROER
044669,000805:
044670,000806: 21,3042 50002 MERUPDAT INDEX Q # MERRORX=MERRORX+MEASURED CHANGE IN ANGLE
044671,000807: 21,3043 43064 CS MANTABLE -1 # -COMMANDED CHANGE IN ANGLE
044672,000808: 21,3044 00006 EXTEND # THE ADDITION OF MEASURED CHANGE IN ANGLE
044673,000809: 21,3045 74762 MP BIT7 # HAS ALREADY BEEN DONE IN THE RATE FILTER
044674,000810: 21,3046 51507 INDEX DPNDX # COMMANDED CHANGE IN ANGLE = WBODY TIMES
044675,000811: 21,3047 21542 DAS MERRORX # .1SEC = MANTABLE ENTRY TIMES 2 TO THE -8
044676,000812:
044677,000813: 21,3050 51507 SPNDXCHK INDEX DPNDX
044678,000814: 21,3051 31541 CA MERRORX
044679,000815: 21,3052 51506 INDEX SPNDX
044680,000816: 21,3053 55567 TS ERRORX # ERRORX = HIGH ORDER WORD OF MERRORX
044681,000817: 21,3054 11506 CCS SPNDX
044682,000818: 21,3055 13002 TCF SETWBODY
044683,000819: 21,3056 13452 TCF JETS
044684,000820:
044685,000821:
044686,000822: 21,3057 01760 OCT01760 OCT 01760 # FORCED FIRING BITS MASK
044687,000823:
044688,000824: 21,3060 01400 OCT01400 OCT 01400 # ROLL FORCED FIRING MASK ORDER OF
044689,000825: 21,3061 00060 OCT00060 OCT 00060 # PITCH FORCED FIRING MASK DEFINITION
044690,000826: 21,3062 00300 OCT00300 OCT 00300 # YAW FORCED FIRING MASK MUST BE
044691,000827: # PRESERVED
044692,000828: # FOR INDEXING
044693,000829: 21,3063 00077 MANROT OCT 77
044694,000830: 21,3064 16000 OCT16000 OCT 16000 # RATE DAMPING FLAGS MASK
044695,000831: 21,3065 00165 MANTABLE DEC .0071111
044696,000832: 21,3066 77612 DEC -.0071111
044697,000833: 21,3067 00722 DEC .028444
044698,000834: 21,3070 77055 DEC -0.028444
044699,000835: 21,3071 02215 DEC .071111
044700,000836: 21,3072 75562 DEC -.071111
044701,000837: 21,3073 11064 DEC .284444
044702,000838: 21,3074 66713 DEC -.284444
044703,000839: 21,3075 00027 =+14MS DEC 23 B-14
044704,000840: 21,3076 31501 FREEFUNC CA RCSFLAGS
044705,000841: 21,3077 00006 EXTEND
044706,000842: 21,3100 74756 MP BIT11 # SHIFT RIGHT 4 BITS
044707,000843: 21,3101 55502 TS T5TEMP
044708,000844: # # Page 1019
044709,000845: 21,3102 41632 CS CH31TEMP
044710,000846: 21,3103 71502 MASK T5TEMP # A= COMPLEMENT OF NEW CH 31 COMMANDS
044711,000847: 21,3104 13320 TCF RHCMINP
044712,000848: 21,3105 34772 T6PROGM CAF ZERO # FOR MANUAL ROTATIONS
044713,000849: 21,3106 55567 TS ERRORX
044714,000850: 21,3107 55570 TS ERRORY
044715,000851: 21,3110 55571 TS ERRORZ
044716,000852: 21,3111 13763 TCF T6PROG
044717,000853:
044718,000854: # # Page 1020
044719,000855:
044720,000856: 21,3112 00000 FREETAU DEC 0 B-14
044721,000857: 21,3113 00740 DEC 480 B-14
044722,000858: 21,3114 77037 DEC -480 B-14
044723,000859: 21,3115 00000 DEC 0 B-14
044724,000860:
044725,000861:
044726,000862: 21,3116 06604 DEC .2112 # FILTER GAIN FOR TRANSLATION, LEM ON
044727,000863: 21,3117 32703 DEC .8400 # FILTER GAIN FOR TRANSLATION 2(ZETA)WN DT
044728,000864: 21,3120 06604 DEC .2112 # FILTER GAIN FOR 2 DEGREE/SEC MANEUVERS
044729,000865: 21,3121 02031 GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION
044730,000866: 21,3122 12132 DEC .3180 # OF ATTITUDE RATES
044731,000867: 21,3123 13030 DEC .3452
044732,000868: 21,3124 14047 DEC .3774
044733,000869: 21,3125 15241 DEC .4161
044734,000870: 21,3126 16650 DEC .4634
044735,000871: 21,3127 20555 DEC .5223
044736,000872: 21,3130 23065 DEC .5970
044737,000873: 21,3131 26137 DEC .6933
044738,000874: 21,3132 32053 DEC .8151
044739,000875: 21,3133 35712 DEC .9342
044740,000876:
044741,000877: 21,3134 00435 DEC .0174 # FILTER GAIN FOR TRANSLATION, LEM ON
044742,000878: 21,3135 13412 DEC .3600 # FILTER GAIN FOR TRANSLATION (WN)(WN)DT
044743,000879: 21,3136 00435 DEC .0174 # FILTER GAIN FOR 2 DEGREE/SEC MANEUVERS
044744,000880: 21,3137 00032 GAIN2 DEC .0016 # SCALED 10
044745,000881: 21,3140 01350 DEC .0454
044746,000882: 21,3141 01575 DEC .0545
044747,000883: 21,3142 02103 DEC .0666
044748,000884: 21,3143 02523 DEC .0832
044749,000885: 21,3144 03327 DEC .1069
044750,000886: 21,3145 04432 DEC .1422
044751,000887: 21,3146 06264 DEC .1985
044752,000888: 21,3147 11351 DEC .2955
044753,000889: 21,3150 17324 DEC .4817
044754,000890: 21,3151 33622 DEC .8683
044755,000891: 21,3152 55502 STICKCHK TS T5TEMP
044756,000892: 21,3153 76214 MASK THREE # INDECES FOR MANUAL ROTATION
044757,000893: 21,3154 55657 TS PMANNDX
044758,000894: 21,3155 31502 CA T5TEMP
044759,000895: 21,3156 00006 EXTEND # MAN RATE 0 0 RATE (DP)
044760,000896: 21,3157 74754 MP QUARTER # +1 +RATE (DP)
044761,000897: 21,3160 55502 TS T5TEMP # +2 -RATE (DP)
044762,000898: 21,3161 76214 MASK THREE # (+3) 0 RATE (DP)
044763,000899: 21,3162 55660 TS YMANNDX
044764,000900: 21,3163 31502 CA T5TEMP
044765,000901: 21,3164 00006 EXTEND
044766,000902: 21,3165 74754 MP QUARTER
044767,000903: 21,3166 55656 TS RMANNDX
044768,000904: 21,3167 00002 TC Q
044769,000905: # # Page 1021
044770,000906:
044771,000907: 21,3170 55617 KALUPDT TS ATTKALMN # INITIALIZATION OF ATTITUDE RATES USING
044772,000908: # KALMAN FILTER TAKES 1.1 SEC
044773,000909:
044774,000910: 21,3171 32167 CA DELTATT # =1SEC - 80MS
044775,000911: 21,3172 61634 AD T5TIME # + DELAYS
044776,000912: 21,3173 54030 TS TIME5
044777,000913: 21,3174 13177 TCF +3
044778,000914: 21,3175 37663 CAF DELTATT2 # SAFETY PLAY TO ASSURE
044779,000915: 21,3176 54030 TS TIME5 # A T5RUPT
044780,000916:
044781,000917:
044782,000918: 21,3177 44772 KRESUME2 CS ZERO # RESET FOR PHASE1
044783,000919: 21,3200 55464 TS T5PHASE # RESUME INTERRUPTED PROGRAM
044784,000920: 21,3201 15323 TCF RESUME
044785,000921:
044786,000922:
044787,000923: 21,3202 44765 FDAIDSP2 CS BIT4 # RESET FOR FDAIDSP1
044788,000924: 21,3203 71501 MASK RCSFLAGS
044789,000925: 21,3204 55501 TS RCSFLAGS
044790,000926:
044791,000927: 21,3205 40074 CS FLAGWRD0 # ON - DISPLAY ONE OF THE TOTAL ATTITUDE
044792,000928: 21,3206 74760 MASK NEEDLBIT # ERRORS
044793,000929: 21,3207 00006 EXTEND
044794,000930: 21,3210 13217 BZF FDAITOTL
044795,000931: 21,3211 00006 EXTEND
044796,000932: 21,3212 41570 DCS ERRORX # OFF - DISPLAY AUTOPILOT FOLLOWING ERROR
044797,000933: 21,3213 53477 DXCH AK
044798,000934: 21,3214 41571 CS ERRORZ
044799,000935: 21,3215 55500 TS AK2
044800,000936: 21,3216 15323 TCF RESUME # END PHASE 1
044801,000937:
044802,000938:
044803,000939: 21,3217 30105 FDAITOTL CA FLAGWRD9
044804,000940: 21,3220 74763 MASK N2217BIT
044805,000941: 21,3221 00006 EXTEND
044806,000942: 21,3222 13265 BZF WRTN17 # IS N22ORN17 (BIT6 OF FLAGWRD9) = 0
044807,000943: # IF SO, GO TO WRTN17
044808,000944: 21,3223 00006 WRTN22 EXTEND # OTHERWISE, CONTINUE ON TO WRTN22 AND
044809,000945: 21,3224 31311 DCA CTHETA # GET SET TO COMPUTE TOTAL ATTITUDE
044810,000946: 21,3225 53514 DXCH WTEMP # ERROR WRT N22 BY PICKING UP THE THREE
044811,000947: 21,3226 31307 CA CPHI # COMPONENTS OF N22
044812,000948:
044813,000949: 21,3227 00006 GETAKS EXTEND # COMPUTE TOTAL ATTITUDE ERROR FOR
044814,000950: 21,3230 20032 MSU CDUX # DISPLAY ON FDAI ERROR NEEDLES
044815,000951: 21,3231 55476 TS AK
044816,000952: 21,3232 31513 CA WTEMP
044817,000953: 21,3233 00006 EXTEND
044818,000954: 21,3234 20033 MSU CDUY
044819,000955: 21,3235 55502 TS T5TEMP
044820,000956: 21,3236 00006 EXTEND
044821,000957: # # Page 1022
044822,000958: 21,3237 71640 MP AMGB1
044823,000959: 21,3240 27476 ADS AK
044824,000960: 21,3241 31502 CA T5TEMP
044825,000961: 21,3242 00006 EXTEND
044826,000962: 21,3243 71641 MP AMGB4
044827,000963: 21,3244 55477 TS AK1
044828,000964: 21,3245 31502 CA T5TEMP
044829,000965: 21,3246 00006 EXTEND
044830,000966: 21,3247 71643 MP AMGB7
044831,000967: 21,3250 55500 TS AK2
044832,000968: 21,3251 31514 CA WTEMP +1
044833,000969: 21,3252 00006 EXTEND
044834,000970: 21,3253 20034 MSU CDUZ
044835,000971: 21,3254 55502 TS T5TEMP
044836,000972: 21,3255 00006 EXTEND
044837,000973: 21,3256 71642 MP AMGB5
044838,000974: 21,3257 27477 ADS AK1
044839,000975: 21,3260 31502 CA T5TEMP
044840,000976: 21,3261 00006 EXTEND
044841,000977: 21,3262 71644 MP AMGB8
044842,000978: 21,3263 27500 ADS AK2
044843,000979: 21,3264 15323 TCF RESUME # END PHASE1 OF RCS DAP
044844,000980:
044845,000981: 21,3265 00006 WRTN17 EXTEND # GET SET TO COMPUTE TOTAL ASTRONAUT
044846,000982: 21,3266 31015 DCA CPHIX +1 # ATTITUDE ERROR WRT N17 BY PICKING UP
044847,000983: 21,3267 53514 DXCH WTEMP # THE THREE COMPONENTS OF N17
044848,000984: 21,3270 31013 CA CPHIX
044849,000985: 21,3271 13227 TCF GETAKS
044850,000986:
044851,000987: # # Page 1023 (empty page)
End of include-file RCS-CSM_DIGITAL_AUTOPILOT.agc. Parent file is MAIN.agc