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