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