Source Code
![]() |
These source-code files were obtained by digitally photographing the
Colossus 237 program listing from the private collection of original
AGC developer Fred Martin, and then modifying pre-existing Colossus 249
(Apollo 9) source files to incorporate changes. Note that the page images
presented online are of reduced quality, and that additional images
are 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 237 OF AGC PROGRAM COLOSSUS BY NASA 2021111-031 1:17 AUG. 24, 1968 |
042053,000002: # Copyright: Public domain.
042054,000003: # Filename: RCS-CSM_DIGITAL_AUTOPILOT.agc
042055,000004: # Purpose: Part of the source code for Colossus build 237.
042056,000005: # This is for the Command Module's (CM) Apollo Guidance
042057,000006: # Computer (AGC), we believe for Apollo 8.
042058,000007: # Assembler: yaYUL
042059,000008: # Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
042060,000009: # Website: www.ibiblio.org/apollo/index.html
042061,000010: # Page scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
042062,000011: # Mod history: 2011-03-17 JL Adapted from corresponding Colossus 249 file.
042063,000012:
042064,000013: # # Page 970
042065,000014: # T5 INTERRUPT PROGRAM FOR THE RCS-CSM AUTOPILOT
042066,000015: # START OF T5 INTERRUPT PROGRAM
042067,000016:
042068,000017: 20,3550 BANK 20
042069,000018: 21,2000 SETLOC DAPS3
042070,000019: 21,2000 BANK
042071,000020:
042072,000021: 21,2071 COUNT 21/DAPRC
042073,000022:
042074,000023: 21,2071 E6,1510 EBANK= KMPAC
042075,000024: 21,2071 22016 REDORCS LXCH BANKRUPT # RESTART OF AUTOPILOT COMES HERE
042076,000025: 21,2072 31465 CA T5PHASE # ON A T5 RUPT.
042077,000026: 21,2073 00006 EXTEND
042078,000027: 21,2074 62076 BZMF +2 # IF T5PHASE +0, -0, OR -, RESET TO -
042079,000028: 21,2075 12100 TCF +3 # IF T5PHASE +, LEAVE IT +. DO A FRESHDAP
042080,000029: 21,2076 44712 CS ONE
042081,000030: 21,2077 55465 TS T5PHASE
042082,000031: 21,2100 00006 EXTEND
042083,000032: 21,2101 32105 DCA RCSLOC
042084,000033: 21,2102 53313 DXCH T5LOC # HOOK UP T5RUPT TO AUTOPILOT
042085,000034: 21,2103 12107 TCF RCSATT +1
042086,000035: 21,2104 E6,1510 EBANK= KMPAC
042087,000036: 21,2104 02106 42066 RCSLOC 2CADR RCSATT
042088,000037:
042089,000038:
042090,000039: 21,2106 22016 RCSATT LXCH BANKRUPT # SAVE BB
042091,000040: 21,2107 00006 EXTEND # SAVE Q
042092,000041: 21,2110 22012 QXCH QRUPT
042093,000042: 21,2111 34674 CAF BIT15 # BIT15 CHAN31 = 0 IF IMU POWER IS ON AND
042094,000043: 21,2112 00006 EXTEND # S/C CONT SW IS IN CMC (I.E. IF G/C AUTO
042095,000044: 21,2113 02031 RAND CHAN31 # PILOT IS FULLY ENABLED)
042096,000045: 21,2114 00006 EXTEND
042097,000046: 21,2115 12144 BZF SETT5 # IF G/C AUTOPILOT IS FULLY ENABLED,
042098,000047: # GO TO SETT5
042099,000048:
042100,000049: 21,2116 41501 CS RCSFLAGS # IF G/C AUTOPILOT IS NOT FULLY ENABLED,
042101,000050: 21,2117 74675 MASK BIT14
042102,000051: 21,2120 27501 ADS RCSFLAGS # SET NORATE FLAG,
042103,000052: 21,2121 34672 CAF POSMAX
042104,000053: 21,2122 55332 TS HOLDFLAG # SET HOLDFLAG +,
042105,000054: 21,2123 34714 CAF ZERO # ZERO ERRORX, ERRORY, AND ERRORZ,
042106,000055: 21,2124 55567 TS ERRORX
042107,000056: 21,2125 55570 TS ERRORY
042108,000057: 21,2126 55571 TS ERRORZ
042109,000058: 21,2127 34675 CAF BIT14
042110,000059: 21,2130 00006 EXTEND
042111,000060: 21,2131 02031 RAND CHAN31 # AND CHECK FREE FUNCTION (BIT14 CHAN31).
042112,000061: 21,2132 00006 EXTEND
042113,000062: # # Page 971
042114,000063: 21,2133 12144 BZF SETT5 # IF IN FREE MODE, GO TO SETT5.
042115,000064:
042116,000065: 21,2134 55465 TS T5PHASE # IF NOT IN FREE MODE,
042117,000066: 21,2135 37676 CAF OCT37766 # SCHEDULE REINITIALIZATION (FRESHDAP)
042118,000067: 21,2136 54030 TS TIME5 # IN 100 MS VIA T5RUPT
042119,000068:
042120,000069: 21,2137 02616 TCR ZEROJET # ZERO JET CHANNELS IN 14 MS VIA ZEROJET
042121,000070:
042122,000071: 21,2140 12334 TCF KMATRIX
042123,000072: 21,2141 37770 DELTATT OCT 37770 # 80MS (TIME5)
042124,000073: 21,2142 37776 DELTATT2 OCT 37776 # 20MS (TIME5)
042125,000074: 21,2143 37634 ONESEK DEC 16284 B-14 # 1 SEC(TIME5)
042126,000075: 21,2144 CHAN5 EQUALS 5
042127,000076: 21,2144 CHAN6 EQUALS 6
042128,000077: 21,2144 7671 PRIO34A = PRIO34
042129,000078:
042130,000079: # CHECK PHASE OF T5 PROGRAM
042131,000080:
042132,000081: # BECAUSE OF THE LENGTH OF THE T5 PROGRAM, IT HAS BEEN DIVIDED INTO
042133,000082: # THREE PARTS, T5PHASE1, T5PHASE2, AND THE JET SELECTION LOGIC,
042134,000083: # TO ALLOW FOR THE EXECUTION OF OTHER
042135,000084: # INTERRUPTS. T5PHASE IS ALSO USED IN THE INITIALIZATION OF THE AUTOPILOT
042136,000085: # VARIABLES AT TURN ON.
042137,000086: # THE CODING OF T5PHASE IS...
042138,000087:
042139,000088: # + = INITIALIZE T5 RCS-CSM AUTOPILOT
042140,000089: # T5PHASE = +0 = PHASE2 OF THE T5 PROGRAM
042141,000090: # - = RESTART DAP
042142,000091: # -0 = PHASE1 OF THE T5 PROGRAM
042143,000092:
042144,000093: 21,2144 11465 SETT5 CCS T5PHASE
042145,000094: 21,2145 12530 TCF FRESHDAP # TURN ON AUTOPILOT
042146,000095: 21,2146 12645 TCF T5PHASE2 # BRANCH TO PHASE2 OF PROGRAM
042147,000096: 21,2147 12532 TCF REDAP # RESTART AUTOPILOT
042148,000097:
042149,000098:
042150,000099: 21,2150 55465 TS T5PHASE # PHASE 1 RESET FOR PHASE 2
042151,000100: 21,2151 30030 CA TIME5
042152,000101: 21,2152 55634 TS T5TIME # USED IN COMPENSATING FOR DELAYS IN T5
042153,000102: 21,2153 32142 CAF DELTATT2 # RESET FOR T5RUPT IN 20MS FOR PHASE2
042154,000103: 21,2154 54030 TS TIME5 # OF PROGRAM
042155,000104:
042156,000105: # # Page 972
042157,000106: # IMU STATUS CHECK
042158,000107:
042159,000108: 21,2155 41321 CS IMODES33 # CHECK IMU STATUS
042160,000109: 21,2156 74705 MASK BIT6 # BIT6 = 0 IMU OK
042161,000110: 21,2157 10000 CCS A # BIT6 = 1 NO IMU
042162,000111: 21,2160 12174 TCF RATEFILT
042163,000112: 21,2161 41501 FREECHK CS RCSFLAGS # BIT14 INDICATES THAT RATES HAVE NOT BEEN
042164,000113: 21,2162 74675 MASK BIT14 # INITIALIZED
042165,000114: 21,2163 27501 ADS RCSFLAGS
042166,000115: 21,2164 34675 CAF BIT14 # NO ATTITUDE REFERENCE
042167,000116: 21,2165 55332 TS HOLDFLAG # STOP ANY AUTOMATIC STEERING AND PREPARE
042168,000117: # TO PICK UP CDU ANGLES UPON RESUMPTION OF
042169,000118: # ATTITUDE HOLD
042170,000119: 21,2166 00006 EXTEND
042171,000120: 21,2167 02031 RAND CHAN31 # CHECK FOR FREE MODE
042172,000121: 21,2170 00006 EXTEND
042173,000122: 21,2171 12403 BZF KRESUME1 # IN FREE MODE PROVIDE FREE CONTROL ONLY
042174,000123: 21,2172 12520 TCF REINIT # .....TILT...............................
042175,000124: 21,2173 00030 BITS4,5 OCT 30
042176,000125:
042177,000126:
042178,000127: 21,2174 31501 RATEFILT CA RCSFLAGS # SEE IF RATEFILTER HAS BEEN INITIALIZED
042179,000128: 21,2175 74675 MASK BIT14
042180,000129: 21,2176 00006 EXTEND # IF SO, PROCEED WITH RATE DERIVATION
042181,000130: 21,2177 12201 BZF +2
042182,000131: 21,2200 12334 TCF KMATRIX # IF NOT, SKIP RATE DERIVATION
042183,000132:
042184,000133: # RATE FILTER TIMING = 7.72MS
042185,000134:
042186,000135: # RATE FILTER EQUATIONS
042187,000136: # DRHO = DELRHO - (.1)ADOT + (1 - GAIN1)DRHO
042188,000137: # -1
042189,000138: # ADOT = ADOT + GAIN2 DRHO + KMJ DFT
042190,000139: # -1
042191,000140: # - * - -
042192,000141: # WHERE DELRHO = AMGB (CDU - CDU )
042193,000142: # -1
042194,000143:
042195,000144: 21,2201 34711 CAF TWO
042196,000145: 21,2202 55506 DRHOLOOP TS SPNDX
042197,000146: 21,2203 60000 DOUBLE
042198,000147: 21,2204 55507 TS DPNDX
042199,000148: 21,2205 51507 INDEX DPNDX
042200,000149: 21,2206 41552 CS DRHO # DRHO SCALED 180 DEGS
042201,000150: 21,2207 00006 EXTEND
042202,000151: 21,2210 51617 INDEX ATTKALMN # PICK UP DESIRED FILTER GAIN
042203,000152: 21,2211 73063 MP GAIN1
042204,000153: 21,2212 51507 INDEX DPNDX
042205,000154: 21,2213 21553 DAS DRHO # (1 -.064)DRHO
042206,000155: 21,2214 00006 EXTEND
042207,000156: # # Page 973
042208,000157: 21,2215 51507 INDEX DPNDX
042209,000158: 21,2216 41534 DCS ADOT
042210,000159: 21,2217 53511 DXCH KMPAC # -(.1)ADOT
042211,000160: 21,2220 34676 CA QUARTER
042212,000161: 21,2221 02026 TC SMALLMP
042213,000162: 21,2222 53511 DXCH KMPAC
042214,000163: 21,2223 51507 INDEX DPNDX
042215,000164: 21,2224 21553 DAS DRHO
042216,000165: 21,2225 11506 CCS SPNDX
042217,000166: 21,2226 12202 TCF DRHOLOOP
042218,000167:
042219,000168: 21,2227 30032 CA CDUX # MEASURED BODY RATES--
042220,000169: 21,2230 57635 XCH RHO
042221,000170: 21,2231 00006 EXTEND
042222,000171: 21,2232 21635 MSU RHO # - * - -
042223,000172: 21,2233 40000 COM # DELRHO = AMGB (CDU - CDU )
042224,000173: # -1
042225,000174: 21,2234 22007 ZL
042226,000175: 21,2235 53516 DXCH DELTEMPX
042227,000176: 21,2236 30033 CA CDUY
042228,000177: 21,2237 57636 XCH RHO1
042229,000178: 21,2240 00006 EXTEND
042230,000179: 21,2241 21636 MSU RHO1
042231,000180: 21,2242 40000 COM
042232,000181: 21,2243 55502 TS T5TEMP # (CDUY - RHO1) SCALED 90 DEGS
042233,000182: 21,2244 00006 EXTEND
042234,000183: 21,2245 71640 MP AMGB1
042235,000184: 21,2246 21516 DAS DELTEMPX # DELTEMPX = (CDUX-RHO) + AMGB1(CDUY-RHO1)
042236,000185: # MUST BE DOUBLE PRECISION OR WILL LOSE
042237,000186: # PULSES
042238,000187: 21,2247 31641 CA AMGB4
042239,000188: 21,2250 00006 EXTEND
042240,000189: 21,2251 71502 MP T5TEMP
042241,000190: 21,2252 53520 DXCH DELTEMPY
042242,000191: 21,2253 31643 CA AMGB7
042243,000192: 21,2254 00006 EXTEND
042244,000193: 21,2255 71502 MP T5TEMP
042245,000194: 21,2256 53522 DXCH DELTEMPZ
042246,000195: 21,2257 30034 CA CDUZ
042247,000196: 21,2260 57637 XCH RHO2
042248,000197: 21,2261 00006 EXTEND
042249,000198: 21,2262 21637 MSU RHO2
042250,000199: 21,2263 40000 COM
042251,000200: 21,2264 55502 TS T5TEMP # (CDUZ - RHO2) SCALED 90 DEGS
042252,000201: 21,2265 00006 EXTEND
042253,000202: 21,2266 71642 MP AMGB5
042254,000203: 21,2267 21520 DAS DELTEMPY # DELTEMPY =AMGB4(CDUY-RHO1)
042255,000204: # + AMGB5(CDUZ-RHO2)
042256,000205: 21,2270 31644 CA AMGB8
042257,000206: 21,2271 00006 EXTEND
042258,000207: # # Page 974
042259,000208: 21,2272 71502 MP T5TEMP
042260,000209: 21,2273 21522 DAS DELTEMPZ # DELTEMPZ =AMBG7(CDUY-RHO1)
042261,000210: # + AMGB8(CDUZ-RHO2)
042262,000211: 21,2274 34711 CAF TWO
042263,000212: 21,2275 55506 ADOTLOOP TS SPNDX
042264,000213: 21,2276 60000 DOUBLE
042265,000214: 21,2277 55507 TS DPNDX
042266,000215: 21,2300 00006 EXTEND
042267,000216: 21,2301 51507 INDEX DPNDX
042268,000217: 21,2302 31516 DCA DELTEMPX
042269,000218: 21,2303 51507 INDEX DPNDX
042270,000219: 21,2304 21553 DAS DRHO
042271,000220: 21,2305 00006 EXTEND
042272,000221: 21,2306 51507 INDEX DPNDX
042273,000222: 21,2307 31516 DCA DELTEMPX
042274,000223: 21,2310 51507 INDEX DPNDX
042275,000224: 21,2311 21542 DAS MERRORX
042276,000225: 21,2312 51507 INDEX DPNDX
042277,000226: 21,2313 31552 CA DRHO
042278,000227: 21,2314 60000 DOUBLE # N.B.
042279,000228: 21,2315 60000 DOUBLE # N.B.
042280,000229: 21,2316 00006 EXTEND
042281,000230: 21,2317 51617 INDEX ATTKALMN # PICK UP DESIRED FILTER GAINS
042282,000231: 21,2320 73101 MP GAIN2
042283,000232: 21,2321 51507 INDEX DPNDX # ADOT + (.16)(.1)DRHO
042284,000233: 21,2322 21534 DAS ADOT # -1
042285,000234: 21,2323 51506 INDEX SPNDX # S/C TORQUE TO INERTIA RATIO
042286,000235: 21,2324 31620 CA KMJ # SCALED (450)(1600)/(57.3)(16384)=1/1.3
042287,000236: 21,2325 00006 EXTEND
042288,000237: 21,2326 51506 INDEX SPNDX
042289,000238: 21,2327 71547 MP DFT
042290,000239: 21,2330 51507 INDEX DPNDX
042291,000240: 21,2331 21534 DAS ADOT # KMJ(DFT)
042292,000241: 21,2332 11506 CCS SPNDX
042293,000242: 21,2333 12275 TCF ADOTLOOP # END CALCULATION OF VEHICLE RATES
042294,000243: 21,2334 31560 KMATRIX CA ATTSEC
042295,000244: 21,2335 74721 MASK LOW4
042296,000245: 21,2336 10000 CCS A
042297,000246: 21,2337 12345 TCF TENTHSEK
042298,000247: 21,2340 37671 CAF PRIO34 # CALL FOR 1 SEC UPDATE OF TRANSFORMATION
042299,000248: 21,2341 05027 TC NOVAC # MATRIX FROM GIMBAL AXES TO BODY AXES
042300,000249: 21,2342 E6,1510 EBANK= KMPAC
042301,000250: 21,2342 03444 44066 2CADR AMBGUPDT
042302,000251: 21,2344 34334 CAF NINE
042303,000252:
042304,000253: 21,2345 55560 TENTHSEK TS ATTSEC
042305,000254:
042306,000255: # # Page 975
042307,000256: # WHEN AUTOMATIC MANEUVERS ARE BEING PERFORMED, THE FOLLOWING ANGLE ADDITION MUST BE MADE TO PROVIDE A SMOOTH
042308,000257: # SEQUENCE OF ANGULAR COMMANDS TO THE AUTOPILOT--
042309,000258:
042310,000259: # CDUXD = CDUXD + DELCDUX (DOUBLE PRECISION)
042311,000260: # CDUYD = CDUYD + DELCDUY (DOUBLE PRECISION)
042312,000261: # CDUZD = CDUZD + DELCDUZ (DOUBLE PRECISION)
042313,000262:
042314,000263: # THE STEERING PROGRAMS-
042315,000264: # 1) ATTITUDE MANEUVER ROUTINE
042316,000265: # 2) LEM TRACKING
042317,000266:
042318,000267: # SHOULD GENERATE THE DESIRED ANGLES (CDUXD, CDUYD, CDUZD) AS WELL AS THE INCREMENTAL ANGLES (DELCDUX, DELCDUY,
042319,000268: # DELCDUZ) SO THAT THE GIMBAL ANGLE COMMANDS CAN BE INTERPOLATED BETWEEN UPDATES.
042320,000269:
042321,000270: # HOLDFLAG CODING-
042322,000271:
042323,000272: # + = GRAB PRESENT CDU ANGLES AND STORE IN THETADX, THETADY, THETADZ
042324,000273: # AND PERFORM ATTITUDE HOLD ABOUT THESE ANGLES
042325,000274: # ALSO IGNORE AUTOMATIC STEERING
042326,000275: # SET = + BY
042327,000276: # 1) INITIALIZATION PHASE OF AUTOPILOT
042328,000277: # 2) OCCURANCE OF RHC COMMANDS
042329,000278: # 3) FREE MODE
042330,000279: # 4) SWITCH OVER TO ATTITUDE HOLD FROM AUTO
042331,000280: # WHILE DOING AUTOMATIC STEERING (IN THIS CASE
042332,000281: # HOLDFLAG IS NOT ACTUALLY SET TO +, BUT THE LOGIC
042333,000282: # FUNCTIONS AS IF IT WERE.)
042334,000283: # 5) S/C CONTROL SWITCH IN SCS
042335,000284: # 6) IMU POWER OFF
042336,000285: # +0 = IN ATTITUDE HOLD ABOUT A PREVIOUSLY ESTABLISHED REFERENCE
042337,000286: # - = PERFORMING AUTOMATIC MANEUVER
042338,000287: # -0 = NOT USED AT PRESENT
042339,000288:
042340,000289:
042341,000290: # NOTE THAT THIS FLAG MUST BE SET = - BY THE STEERING PROGRAM IF IT IS TO COMMAND THE AUTOPILOT.
042342,000291: # SINCE ASTRONAUT ACTION MAY CHANGE THE HOLDFLAG SETTING, IT SHOULD BE MONITORED BY THE STEERING PROGRAM TO
042343,000292: # DETERMINE IF THE AUTOMATIC SEQUENCE HAS BEEN INTERRUPTED AND IF SO, TAKE APPROPRIATE ACTION.
042344,000293:
042345,000294:
042346,000295: 21,2346 41332 CS HOLDFLAG
042347,000296: 21,2347 00006 EXTEND
042348,000297: 21,2350 62375 BZMF DACNDLS # IF HOLDFLAG +0,-0,+, BYPASS AUTOMATIC
042349,000298: # COMMANDS
042350,000299: 21,2351 34711 DCDUINCR CAF TWO
042351,000300: 21,2352 55506 DELOOP TS SPNDX
042352,000301: 21,2353 60000 DOUBLE
042353,000302: 21,2354 55507 TS DPNDX
042354,000303: 21,2355 00006 EXTEND
042355,000304: 21,2356 50000 INDEX A
042356,000305: 21,2357 31647 DCA CDUXD
042357,000306: # # Page 976
042358,000307: 21,2360 53511 DXCH KMPAC
042359,000308: 21,2361 00006 EXTEND
042360,000309: 21,2362 51507 INDEX DPNDX
042361,000310: 21,2363 31576 DCA DELCDUX
042362,000311: 21,2364 02040 TC DPADD
042363,000312: 21,2365 00006 EXTEND
042364,000313: 21,2366 31511 DCA KMPAC
042365,000314: 21,2367 51506 INDEX SPNDX
042366,000315: 21,2370 55572 TS THETADX
042367,000316: 21,2371 51507 INDEX DPNDX
042368,000317: 21,2372 53647 DXCH CDUXD
042369,000318: 21,2373 11506 CCS SPNDX
042370,000319: 21,2374 12352 TCF DELOOP
042371,000320:
042372,000321: # # Page 977
042373,000322: # RCS-CSM AUTOPILOT ATTITUDE ERROR DISPLAY
042374,000323:
042375,000324: # THREE TYPES OF ATTITUDE ERRORS MAY BE DISPLAYED ON THE FDAI-
042376,000325:
042377,000326: # MODE 1) AUTOPILOT FOLLOWING ERRORS SELECTED BY V61E
042378,000327: # GENERATED INTERNALLY BY THE AUTOPILOT
042379,000328:
042380,000329: # MODE 2) TOTAL ATTITUDE ERRORS SELECTED BY V62E
042381,000330: # WITH RESPECT TO THE CONTENTS OF N22
042382,000331:
042383,000332: # MODE 3) TOTAL ASTRONAUT ATTITUDE ERRORS SELECTED BY V63E
042384,000333: # WITH RESPECT TO THE CONTENTS OF N17
042385,000334:
042386,000335: # MODE 1 IS PROVIDED AS A MONITOR OF THE RCS DAP AND ITS ABILITY TO TRACK AUTOMATIC STEERING COMMANDS. IN THIS
042387,000336: # MODE THE ATTITUDE ERRORS WILL BE ZEROED WHEN THE CMC MODE SWITCH IS IN FREE
042388,000337:
042389,000338: # MODE 2 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
042390,000339: # IN N22. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
042391,000340: # AS A FLY-TO INDICATOR.
042392,000341:
042393,000342: # MODE 3 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
042394,000343: # IN N17. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
042395,000344: # AS A FLY-TO INDICATOR.
042396,000345:
042397,000346: # V60 IS PROVIDED TO LOAD N17 WITH A SNAPSHOT OF THE CURRENT CDU ANGLES, THUS SYNCHRONIZING THE MODE 3 DISPLAY
042398,000347: # WITH THE CURRENT S/C ATTITUDE. THIS VERB MAY BE USED AT ANY TIME.
042399,000348:
042400,000349: # THESE DISPLAYS WILL BE AVAILIABLE IN ANY MODE (AUTO, HOLD, FREE, G+N, OR SCS) ONCE THE RCS DAP HAS BEEN
042401,000350: # INITIATED VIA V46E. MODE 1, HOWEVER, WILL BE MEANINGFUL ONLY IN G+N AUTO OR HOLD. THE CREW MAY PRESET (VIA
042402,000351: # V25N17) AN ATTITUDE REFERENCE (DESIRED GIMBAL ANGLES) INTO N17 AT ANY TIME.
042403,000352:
042404,000353:
042405,000354: 21,2375 41501 DACNDLS CS RCSFLAGS # ALTERNATE BETWEEN FDAIDSP1 AND FDAIDSP2
042406,000355: 21,2376 74707 MASK BIT4
042407,000356: 21,2377 00006 EXTEND
042408,000357: 21,2400 13144 BZF FDAIDSP2
042409,000358:
042410,000359: 21,2401 27501 FDAIDSP1 ADS RCSFLAGS
042411,000360: 21,2402 02404 TC NEEDLER
042412,000361: 21,2403 15222 KRESUME1 TCF RESUME # END PHASE 1
042413,000362:
042414,000363: # # Page 978
042415,000364: # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
042416,000365:
042417,000366: # PROGRAM DESCRIPTION: D. KEENE 5/24/67
042418,000367:
042419,000368: # THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
042420,000369: # IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
042421,000370: # OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
042422,000371: # THE DACS.
042423,000372:
042424,000373:
042425,000374: # CALLING SEQUENCE:
042426,000375:
042427,000376: # DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
042428,000377: # TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
042429,000378:
042430,000379: # CS RCSFLAGS IN EBANK6
042431,000380: # MASK BIT3
042432,000381: # ADS RCSFLAGS
042433,000382:
042434,000383: # THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANFERRED TO THE FOLLOWING LOCATIONS IN EBANK6:
042435,000384:
042436,000385: # AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT
042437,000386: # AK1 SCALED 180 DEGREES TO CHANGE
042438,000387: # AK2 SCALED 180 DEGREES
042439,000388:
042440,000389: # FULL SCALED DEFLECTION CORRESPONDS TO 16 7/8 DEGREES OF ATTITUDE ERROR
042441,000390: # (= 384 BITS IN IMU ERROR COUNTER)
042442,000391:
042443,000392: # A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
042444,000393:
042445,000394: # INHINT
042446,000395: # TC IBNKCALL NOTE: EBANK SHOULD BE SET TO E6
042447,000396: # CADR NEEDLER
042448,000397: # RELINT
042449,000398:
042450,000399: # THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PRORAM ARE
042451,000400: # REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
042452,000401: # NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
042453,000402:
042454,000403: # ERASABLE USED:
042455,000404: # AK CDUXCMD
042456,000405: # AK1 CDUYCMD
042457,000406: # AK2 CDUZCMD
042458,000407: # EDRIVEX A,L,Q
042459,000408: # EDRIVEY T5TEMP
042460,000409: # EDRIVEZ SPNDX
042461,000410:
042462,000411: # SWITCHES: RCSFLAGS BITS 3,2
042463,000412:
042464,000413: # I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY)
042465,000414: # # Page 979
042466,000415: # CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE)
042467,000416: # CHAN14 BIT 13,14,15 (DAC ACTIVITY)
042468,000417:
042469,000418:
042470,000419: # SIGN CONVENTION< AK = THETAC - THETA
042471,000420: # WHERE THETAC = COMMAND ANGLE
042472,000421: # THETA = PRESENT ANGLE
042473,000422:
042474,000423:
042475,000424: 21,2404 34707 NEEDLER CAF BIT4 # CHECK FOR COARSE ALIGN ENABLE
042476,000425: 21,2405 00006 EXTEND # IF IN COARSE ALIGN DO NOT USE IMU
042477,000426: 21,2406 02012 RAND CHAN12 # ERROR COUNTERS. DONT USE NEEDLES
042478,000427: 21,2407 00006 EXTEND
042479,000428: 21,2410 12415 BZF NEEDLER1
042480,000429: 21,2411 41501 CS RCSFLAGS # SET BIT3 FOR INITIALIZATION PASS
042481,000430: 21,2412 74710 MASK BIT3
042482,000431: 21,2413 27501 ADS RCSFLAGS
042483,000432: 21,2414 00002 TC Q
042484,000433:
042485,000434: 21,2415 31501 NEEDLER1 CA RCSFLAGS
042486,000435: 21,2416 76211 MASK SIX
042487,000436: 21,2417 00006 EXTEND
042488,000437: 21,2420 12455 BZF NEEDLES3
042489,000438: 21,2421 74710 MASK BIT3
042490,000439: 21,2422 00006 EXTEND
042491,000440: 21,2423 12446 BZF NEEDLER2 # BIT3 = 0, BIT2 = 1
042492,000441:
042493,000442: 21,2424 44705 CS BIT6 # FIRST PASS BIT3 = 1
042494,000443: 21,2425 00006 EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS
042495,000444: 21,2426 03012 WAND CHAN12 # MUST WAIT AT LEAST 60 MS BEFORE
042496,000445: 21,2427 44714 NEEDLE11 CS ZERO # ENABLING COUNTERS.
042497,000446: 21,2430 55476 TS AK # ZERO THE INPUTS ON FIRST PASS
042498,000447: 21,2431 55477 TS AK1
042499,000448: 21,2432 55500 TS AK2
042500,000449: 21,2433 55503 TS EDRIVEX # ZERO THE DISPLAY REGISTERS
042501,000450: 21,2434 55504 TS EDRIVEY
042502,000451: 21,2435 55505 TS EDRIVEZ
042503,000452: 21,2436 54050 TS CDUXCMD # ZERO THE OUT COUNTERS
042504,000453: 21,2437 54051 TS CDUYCMD
042505,000454: 21,2440 54052 TS CDUZCMD
042506,000455: 21,2441 46211 CS SIX # RESET RCSFLAGS FOR PASS2
042507,000456: 21,2442 71501 MASK RCSFLAGS
042508,000457: 21,2443 64711 AD BIT2
042509,000458: 21,2444 55501 TS RCSFLAGS
042510,000459: 21,2445 00002 TC Q # END PASS1
042511,000460:
042512,000461: 21,2446 34705 NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS
042513,000462: 21,2447 00006 EXTEND
042514,000463: 21,2450 05012 WOR CHAN12
042515,000464: 21,2451 46211 CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE
042516,000465: # # Page 980
042517,000466: 21,2452 71501 MASK RCSFLAGS # ERRORS WAIT ATLEAST 4 MS FOR
042518,000467: 21,2453 55501 TS RCSFLAGS # RELAY CLOSURE
042519,000468: 21,2454 00002 TC Q
042520,000469:
042521,000470:
042522,000471: 21,2455 34705 NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER
042523,000472: 21,2456 00006 EXTEND # IS ENABLED
042524,000473: 21,2457 02012 RAND CHAN12
042525,000474: 21,2460 00006 EXTEND # IF NOT RECYCLE NEEDLES
042526,000475: 21,2461 12411 BZF NEEDLER +5
042527,000476:
042528,000477: 21,2462 34711 NEEDLES CAF TWO
042529,000478: 21,2463 55506 DACLOOP TS SPNDX
042530,000479: 21,2464 44676 CS QUARTER
042531,000480: 21,2465 00006 EXTEND
042532,000481: 21,2466 51506 INDEX SPNDX
042533,000482: 21,2467 71476 MP AK
042534,000483: 21,2470 54001 TS L
042535,000484: 21,2471 10000 CCS A
042536,000485: 21,2472 32526 CA DACLIMIT
042537,000486: 21,2473 12475 TCF +2
042538,000487: 21,2474 42526 CS DACLIMIT
042539,000488: 21,2475 60001 AD L
042540,000489: 21,2476 55502 TS T5TEMP # OVFLO CHK
042541,000490: 21,2477 12503 TCF +4
042542,000491: 21,2500 50000 INDEX A # ON OVERFLOW LIMIT OUTPUT TO +-384
042543,000492: 21,2501 32526 CAF DACLIMIT
042544,000493: 21,2502 54001 TS L
042545,000494: 21,2503 51506 INDEX SPNDX
042546,000495: 21,2504 41503 CS EDRIVEX # CURRENT VALUE OF DAC
042547,000496: 21,2505 60001 AD L
042548,000497: 21,2506 51506 INDEX SPNDX
042549,000498: 21,2507 26050 ADS CDUXCMD
042550,000499: 21,2510 51506 INDEX SPNDX
042551,000500: 21,2511 23503 LXCH EDRIVEX
042552,000501: 21,2512 11506 CCS SPNDX
042553,000502: 21,2513 12463 TCF DACLOOP
042554,000503: 21,2514 37707 CAF 13,14,15
042555,000504: 21,2515 00006 EXTEND
042556,000505: 21,2516 05014 WOR CHAN14 # SET DAC ACTIVITY BITS
042557,000506: 21,2517 00002 TC Q
042558,000507:
042559,000508: 21,2520 32524 REINIT CAF DELAY200 # ........TILT LOGIC
042560,000509: 21,2521 54030 TS TIME5 # REINITIALIZE DAP IN 200MS
042561,000510: 21,2522 55465 TS T5PHASE
042562,000511: 21,2523 15222 TCF RESUME
042563,000512: 21,2524 37754 DELAY200 DEC 16364 B-14 # 200MS
042564,000513:
042565,000514:
042566,000515: 21,2525 77177 DEC -384 B-14
042567,000516:
042568,000517: # # Page 981
042569,000518: 21,2526 37200 DACLIMIT DEC 16000 B-14
042570,000519: 21,2527 00600 DEC 384 B-14
042571,000520:
042572,000521: # # Page 982
042573,000522: # INITIALIZATION PROGRAM FOR RCS-CSM AUTOPILOT
042574,000523:
042575,000524: # THE FOLLOWING QUANTITIES WILL BE ZEROED AND SHOULD APPEAR IN CONSECUTIVE LOCATIONS IN MEMORY AFTER WBODY
042576,000525:
042577,000526: # WBODY (+1) DFT TAU2
042578,000527: # WBODY1 (+1) DFT1 BIAS
042579,000528: # WBODY2 (+1) DFT2 BIAS1
042580,000529: # ADOT (+1) DRHO (+1) BIAS2
042581,000530: # ADOT1 (+1) DRHO1 (+1) ERRORX
042582,000531: # ADOT2 (+1) DRHO2 (+1) ERRORY
042583,000532: # MERRORX (+1) ATTSEC ERRORZ
042584,000533: # MERRORY (+1) TAU
042585,000534: # MERRORZ (+1) TAU1
042586,000535: 21,2530 34712 FRESHDAP CAF ONE # RESET HOLDFLAG TO STOP AUTOMATIC
042587,000536: 21,2531 55332 TS HOLDFLAG # STEERING AND PREPARE TO PICK UP AN
042588,000537: # ATTITUDE HOLD REFERENCE
042589,000538:
042590,000539: 21,2532 04633 REDAP TC IBNKCALL # DECODE DAPDATR1, DAPDATR2 FOR DEADBANDS
042591,000540: 21,2533 40145 CADR S41.2 # RATES, QUADFAILS, QUAD MANAGEMENT
042592,000541:
042593,000542: 21,2534 04633 TC IBNKCALL # DECODE IXX, IAVG, AND CONVERT
042594,000543: 21,2535 40276 CADR S40.14 # TO AUTOPILOT GAINS
042595,000544:
042596,000545: 21,2536 32607 CAF NO.T5VAR # NO. LOCATIONS TO BE ZEROED MINUS ONE
042597,000546: 21,2537 55506 ZEROT5 TS SPNDX # ZERO ALL NECESSARY ERASABLE REGISTERS
042598,000547: 21,2540 34714 CAF ZERO
042599,000548: 21,2541 51506 INDEX SPNDX
042600,000549: 21,2542 55525 TS WBODY
042601,000550: 21,2543 11506 CCS SPNDX
042602,000551: 21,2544 12537 TCF ZEROT5
042603,000552: 21,2545 02616 TCR ZEROJET
042604,000553:
042605,000554: 21,2546 44714 CS ZERO
042606,000555: 21,2547 55633 TS CHANTEMP # INITIALIZE MINIMUM IMPULSE CONTROL
042607,000556:
042608,000557: 21,2550 55632 TS CH31TEMP # INITIALIZE RHC POSITION MEMORY FOR
042609,000558: # MANUAL RATE MODES
042610,000559: 21,2551 32610 CAF =.24
042611,000560: 21,2552 55654 TS SLOPE # INITIALIZE SWITCHING LOGIC SLOPE
042612,000561:
042613,000562: 21,2553 34710 CAF FOUR
042614,000563: 21,2554 55634 TS T5TIME # PHASE 0 RESETS FOR PHASE 2 INTERRUPT IN
042615,000564: # 60 MS. PHASE 2 RESETS FOR PHASE 1 RUPT
042616,000565: # IN (80MS - T5TIME(40MS)). THEREFORE
042617,000566: # PHASE 1 (RATEFILTER) BEGINS CYCLING 100
042618,000567: # MS FROM NOW AND EVERY 100MS THEREAFTER
042619,000568:
042620,000569: 21,2555 34717 CAF ELEVEN
042621,000570: 21,2556 55617 TS ATTKALMN # RESET TO PICK UP KALMAN FILTER TAINS
042622,000571: # TO INITIALIZE THE S/C ANGULAR RATES
042623,000572: # # Page 983
042624,000573: 21,2557 30032 CA CDUX
042625,000574: 21,2560 55635 TS RHO
042626,000575: 21,2561 30033 CA CDUY
042627,000576: 21,2562 55636 TS RHO1
042628,000577: 21,2563 30034 CA CDUZ
042629,000578: 21,2564 55637 TS RHO2
042630,000579: 21,2565 34714 CAF ZERO # RESET AUTOPILOT TO BEGIN EXECUTING
042631,000580: 21,2566 55465 TS T5PHASE # PHASE2 OF PROGRAM
042632,000581:
042633,000582: 21,2567 41321 CS IMODES33 # CHECK IMU STATUS
042634,000583: 21,2570 74705 MASK BIT6 # IF BIT6 = 0 IMU IN FINE ALIGN
042635,000584: 21,2571 10000 CCS A # IF BIT6 = 1 IMU NOT READY
042636,000585: 21,2572 12576 TCF IMUAOK
042637,000586: 21,2573 55617 TS ATTKALMN # CANNOT USE IMU
042638,000587: 21,2574 32612 CAF RCSINITB # PROVIDE FREE CONTROL ONLY
042639,000588: 21,2575 12603 TCF RCSSWIT # DONT START UP RATE FILTER
042640,000589: # SIGNAL NO RATE FILTER
042641,000590:
042642,000591: 21,2576 37671 IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION
042643,000592: 21,2577 05027 TC NOVAC # BYPASS IF IMU NOT IN FINE ALIGN
042644,000593: 21,2600 E6,1510 EBANK= KMPAC
042645,000594: 21,2600 03444 44066 2CADR AMBGUPDT
042646,000595: 21,2602 32611 CAF RCSINIT # CLEAR BIT14 -ASSUME WE HAVE A GOOD IMU
042647,000596: 21,2603 55501 RCSSWIT TS RCSFLAGS # CLEAR BIT1 -INITIALIZE T6 PROGRAM
042648,000597: # SET BIT3 -INITIALIZE NEEDLES
042649,000598: # CLEAR BIT4 -RESET FOR FDAIDSP1
042650,000599: 21,2604 32613 CAF T5WAIT60 # NEXT T5RUPT 60 MS FROM NOW TO ALLOW IMU
042651,000600: # ERROR COUNTER TO ZERO.
042652,000601: # (MINIMUM DELAY = 15 MS)
042653,000602: 21,2605 54030 TS TIME5 # SINCE ATTKALMN IS +11, PROGRAM WILL THEN
042654,000603: 21,2606 05222 TC RESUME # PICK UP THE KALMAN FILTER GAINS. RATE
042655,000604: # FILTER WILL BEGIN OPERATING ZOOMS FROM
042656,000605: # NOW
042657,000606:
042658,000607: # CONSTANTS USED IN INITIALIZATION PROGRAM
042659,000608:
042660,000609: 21,2607 00044 NO.T5VAR DEC 36 B-14
042661,000610: 21,2610 07534 =.24 DEC .24 # = SLOPE OF 0.6/SEC
042662,000611: 21,2611 00004 RCSINIT OCT 00004
042663,000612: 21,2612 20004 RCSINITB OCT 20004
042664,000613: 21,2613 37772 T5WAIT60 DEC 16378 B-14 # = 6 CS
042665,000614: 21,2614 E6,1510 EBANK= KMPAC
042666,000615: 21,2614 03646 36066 T6ADDR 2CADR T6START
042667,000616:
042668,000617:
042669,000618: 21,2616 34717 ZEROJET CAF ELEVEN # ZERO BLAST2, BLAST1, BLAST, YWORD2,
042670,000619: 21,2617 55506 TS SPNDX # YWORD1, PWORD2, PWORD1, RWORD2,
042671,000620: 21,2620 34714 CAF ZERO # AND RWORD1.
042672,000621: # # Page 984
042673,000622: 21,2621 51506 INDEX SPNDX
042674,000623: 21,2622 55451 TS RWORD1
042675,000624: 21,2623 11506 CCS SPNDX
042676,000625: 21,2624 12617 TCF ZEROJET +1
042677,000626:
042678,000627: 21,2625 34710 CAF FOUR
042679,000628: 21,2626 55462 TS BLAST1 +1
042680,000629: 21,2627 34717 CAF ELEVEN
042681,000630: 21,2630 55464 TS BLAST2 +1
042682,000631:
042683,000632: 21,2631 44712 CS BIT1
042684,000633: 21,2632 71501 MASK RCSFLAGS
042685,000634: 21,2633 55501 TS RCSFLAGS # RESET BIT1 OF RCSFLAGS TO 0
042686,000635:
042687,000636: 21,2634 00006 EXTEND
042688,000637: 21,2635 32615 DCA T6ADDR
042689,000638: 21,2636 53311 DXCH T6LOC
042690,000639: 21,2637 33034 CAF =+14MS # ENABLE T6RUPT TO SHUT OFF JETS IN 14 MS.
042691,000640: 21,2640 54031 TS TIME6
042692,000641: 21,2641 34674 CAF BIT15
042693,000642: 21,2642 00006 EXTEND
042694,000643: 21,2643 05013 WOR CHAN13
042695,000644:
042696,000645: 21,2644 00002 TC Q
042697,000646:
042698,000647: 21,2645 11617 T5PHASE2 CCS ATTKALMN # IF (+) INITIALIZE RATE ESTIMATE
042699,000648: 21,2646 13132 TCF KALUPDT
042700,000649:
042701,000650:
042702,000651: 21,2647 12651 TCF +2 # ONLY IF ATTKALMN POSITIVE
042703,000652: 21,2650 12651 TCF +1
042704,000653: 21,2651 32142 CA DELTATT2 # RESET FOR PHASE3 IN 20 MS
042705,000654: 21,2652 56030 XCH TIME5 # (JET SELECTION LOGIC )
042706,000655: 21,2653 27634 ADS T5TIME # TO COMPENSATE FOR DELAYS IN T5RUPT
042707,000656:
042708,000657:
042709,000658: 21,2654 31501 CA RCSFLAGS # IF A HIGH RATE AUTO MANEUVER IS IN
042710,000659: 21,2655 74674 MASK BIT15 # PROGRESS (BIT 15 OF RCSFLAGS SET), SET
042711,000660: 21,2656 00006 EXTEND # ATTKALMN TO -1
042712,000661: 21,2657 12661 BZF NOHIAUTO # OTHERWISE SET ATTKALMN TO 0.
042713,000662: 21,2660 44712 CS ONE
042714,000663: 21,2661 55617 NOHIAUTO TS ATTKALMN
042715,000664:
042716,000665: # # Page 985
042717,000666: # MANUAL ROTATION COMMANDS
042718,000667: 21,2662 43016 CS OCT01760 # RESET FORCED FIRING BITS (BITS 10 TO 5
042719,000668: 21,2663 71501 MASK RCSFLAGS # OF RCSFLAGS) TO ZERO
042720,000669: 21,2664 55501 TS RCSFLAGS
042721,000670:
042722,000671: 21,2665 00006 EXTEND
042723,000672: 21,2666 00031 READ CHAN31
042724,000673: 21,2667 54001 TS L
042725,000674: 21,2670 31632 CA CH31TEMP
042726,000675: 21,2671 00006 EXTEND
042727,000676: 21,2672 06001 RXOR LCHAN
042728,000677: 21,2673 73022 MASK MANROT # = OCT00077
042729,000678: 21,2674 00006 EXTEND
042730,000679: 21,2675 62710 BZMF NOCHANGE
042731,000680:
042732,000681: 21,2676 22000 LXCH A
042733,000682: 21,2677 55632 TS CH31TEMP # SAVE CONTENTS OF CHANNEL 31 IN CH31TEMP
042734,000683:
042735,000684: 21,2700 30001 CA L
042736,000685: 21,2701 00006 EXTEND
042737,000686: 21,2702 74706 MP BIT5 # PUT BITS 6-1 OF A IN BITS 10-5 OF L
042738,000687: 21,2703 30001 CA L
042739,000688: 21,2704 27501 ADS RCSFLAGS # SET FORCED FIRING BITS FOR AXES WITH
042740,000689: # WITH CHANGES IN COMMAND. BITS 10,9 FOR
042741,000690: # ROLL, BITS 8,7 FOR YAW, BITS 6,5 FOR
042742,000691: # PITCH
042743,000692:
042744,000693: 21,2705 41501 CS RCSFLAGS # SET RATE DAMPING FLAGS (BITS 13,12,AND
042745,000694: 21,2706 73023 MASK OCT16000 # 11 OF RCSFLAGS)
042746,000695: 21,2707 27501 ADS RCSFLAGS
042747,000696:
042748,000697: 21,2710 41632 NOCHANGE CS CH31TEMP
042749,000698: 21,2711 73022 MASK MANROT
042750,000699: 21,2712 00006 EXTEND
042751,000700: 21,2713 63234 BZMF AHFNOROT # IF NO MANUAL COMMANDS, GO TO AHFNOROT
042752,000701:
042753,000702: 21,2714 55332 TS HOLDFLAG # SET HOLDFLAG +
042754,000703:
042755,000704: 21,2715 03114 TC STICKCHK # WHEN THE RHC IS OUT OF DETENT, PMANNDX,
042756,000705: # YMANNDX, AND RMANNDX ARE ALL SET, BY
042757,000706: # MEANS OF STICKCHK, TO 0, 1, OR 2 FOR NO,
042758,000707: # +, OR - ROTATION RESPECTIVELY AS
042759,000708: # COMMANDED BY THE RHC.
042760,000709:
042761,000710: # HOWEVER, IT IS WELL TO NOTE THAT AFTER
042762,000711: # THE RHC IS RETURNED TO DETENT, THE
042763,000712: # PROGRAM BRANCHES TO AHFNOROT AND AVOIDS
042764,000713: # STICKCHK SO PMANNDX, YMANNDX, AND
042765,000714: # RMANNDX ARE NOT RESET TO ZERO BUT RATHER
042766,000715: # LEFT SET TO THEIR LAST OUT OF DETENT
042767,000716: # # Page 986
042768,000717: # VALUES.
042769,000718:
042770,000719: 21,2716 40075 CS FLAGWRD1 # SET STIKFLAG TO INFORM STEERING
042771,000720: 21,2717 74675 MASK BIT14 # PROGRAMS (P20) THAT ASTRONAUT HAS
042772,000721: 21,2720 26075 ADS FLAGWRD1 # ASSUMED ROTATIONAL CONTROL OF SPACECRAFT
042773,000722:
042774,000723: 21,2721 34675 CAF BIT14
042775,000724: 21,2722 00006 EXTEND
042776,000725: 21,2723 02031 RAND CHAN31
042777,000726: 21,2724 00006 EXTEND
042778,000727: 21,2725 63035 BZMF FREEFUNC
042779,000728:
042780,000729: 21,2726 31501 CA RCSFLAGS # EXAMINE RCSFLAGS TO SEE IF RATE FILTER
042781,000730: 21,2727 74675 MASK BIT14 # HAS BEEN INITIALIZED
042782,000731: 21,2730 10000 CCS A # IF SO, PROCEED WITH MANUAL RATE COMMANDS
042783,000732: 21,2731 12520 TCF REINIT # .....TILT, RECYCLE TO INITIALIZE FILTER
042784,000733:
042785,000734: 21,2732 44715 CS FIVE # IF MANUAL MANEUVER IS AT HIGH RTE, SET
042786,000735: 21,2733 61130 AD RATEINDX # ATTKALMN TO -1.
042787,000736: 21,2734 00006 EXTEND # OTHERWISE, LEAVE ATTKALMN ALONE.
042788,000737: 21,2735 62740 BZMF +3
042789,000738: 21,2736 44712 CS ONE
042790,000739: 21,2737 55617 TS ATTKALMN
042791,000740:
042792,000741:
042793,000742: 21,2740 34711 CAF TWO # AUTO-HOLD MANUAL ROTATION
042794,000743: 21,2741 55506 SETWBODY TS SPNDX
042795,000744: 21,2742 60000 DOUBLE
042796,000745: 21,2743 55507 TS DPNDX
042797,000746: 21,2744 51506 INDEX SPNDX # RMANNDX = 0 NO ROTATION
042798,000747: 21,2745 31656 CA RMANNDX # = 1 + ROTATION
042799,000748: 21,2746 00006 EXTEND # = 2 - ROTATION
042800,000749: 21,2747 12771 BZF NORATE # IF NO ROTATION COMMAND ON THIS AXIS,
042801,000750: # GO TO NORATE.
042802,000751:
042803,000752: 21,2750 61130 AD RATEINDX # RATEINDX = 0 0.05 DEG/SEC
042804,000753: 21,2751 54002 TS Q # = 2 0.2 DEG/SEC
042805,000754: 21,2752 50002 INDEX Q # = 4 0.5 DEG/SEC
042806,000755: 21,2753 33023 CA MANTABLE -1 # = 6 4.0 DEG/SEC
042807,000756: 21,2754 00006 EXTEND
042808,000757: 21,2755 74702 MP BIT9 # MULTIPLY MANTABLE BY 2 TO THE -6
042809,000758: 21,2756 51507 INDEX DPNDX # TO GET COMMANDED RATE.
042810,000759: 21,2757 53526 DXCH WBODY # SET WBODY TO COMMANDED RATE.
042811,000760:
042812,000761: 21,2760 31501 CA RCSFLAGS
042813,000762: 21,2761 73023 MASK OCT16000 # IS RATE DAMPING COMPLETED (BITS 13,12AND
042814,000763: 21,2762 00006 EXTEND # 11 OF RCSFLAGS ALL ZERO.) IF SO, GO TO
042815,000764: 21,2763 13001 BZF MERUPDAT # MERUPDAT TO UPDATE CUMULATIVE ATTITUDE
042816,000765: # ERROR.
042817,000766:
042818,000767: # # Page 987
042819,000768: 21,2764 34714 ZEROER CA ZERO # ZEROER ZEROS MERRORS
042820,000769: 21,2765 22007 ZL
042821,000770: 21,2766 51507 INDEX DPNDX
042822,000771: 21,2767 53542 DXCH MERRORX
042823,000772: 21,2770 13007 TCF SPNDXCHK
042824,000773:
042825,000774: 21,2771 22007 NORATE ZL
042826,000775: 21,2772 51507 INDEX DPNDX
042827,000776: 21,2773 53526 DXCH WBODY # ZERO WBODY FOR THIS AXIS
042828,000777: 21,2774 31501 CA RCSFLAGS
042829,000778: 21,2775 73023 MASK OCT16000
042830,000779: 21,2776 00006 EXTEND # IS RATE DAMPING COMPLETED
042831,000780: 21,2777 13007 BZF SPNDXCHK # YES, KEEP CURRENT MERRORX GO TO SPNDXCHK
042832,000781: 21,3000 12764 TCF ZEROER # NO,GO TO ZEROER
042833,000782:
042834,000783: 21,3001 50002 MERUPDAT INDEX Q # MERRORX=MERRORX+MEASURED CHANGE IN ANGLE
042835,000784: 21,3002 43023 CS MANTABLE -1 # -COMMANDED CHANGE IN ANGLE
042836,000785: 21,3003 00006 EXTEND # THE ADDITION OF MEASURED CHANGE IN ANGLE
042837,000786: 21,3004 74704 MP BIT7 # HAS ALREADY BEEN DONE IN THE RATE FILTER
042838,000787: 21,3005 51507 INDEX DPNDX # COMMANDED CHANGE IN ANGLE = WBODY TIMES
042839,000788: 21,3006 21542 DAS MERRORX # .1SEC = MANTABLE ENTRY TIMES 2 TO THE -8
042840,000789:
042841,000790: 21,3007 51507 SPNDXCHK INDEX DPNDX
042842,000791: 21,3010 31541 CA MERRORX
042843,000792: 21,3011 51506 INDEX SPNDX
042844,000793: 21,3012 55567 TS ERRORX # ERRORX = HIGH ORDER WORD OF MERRORX
042845,000794: 21,3013 11506 CCS SPNDX
042846,000795: 21,3014 12741 TCF SETWBODY
042847,000796: 21,3015 13425 TCF JETS
042848,000797:
042849,000798:
042850,000799: 21,3016 01760 OCT01760 OCT 01760 # FORCED FIRING BITS MASK
042851,000800:
042852,000801: 21,3017 01400 OCT01400 OCT 01400 # ROLL FORCED FIRING MASK ORDER OF
042853,000802: 21,3020 00060 OCT00060 OCT 00060 # PITCH FORCED FIRING MASK DEFINITION
042854,000803: 21,3021 00300 OCT00300 OCT 00300 # YAW FORCED FIRING MASK MUST BE
042855,000804: # PRESERVED
042856,000805: # FOR INDEXING
042857,000806: 21,3022 00077 MANROT OCT 77
042858,000807: 21,3023 16000 OCT16000 OCT 16000 # RATE DAMPING FLAGS MASK
042859,000808: 21,3024 00165 MANTABLE DEC .0071111
042860,000809: 21,3025 77612 DEC -.0071111
042861,000810: 21,3026 00722 DEC .028444
042862,000811: 21,3027 77055 DEC -.028444
042863,000812: 21,3030 02215 DEC .071111
042864,000813: 21,3031 75562 DEC -.071111
042865,000814: 21,3032 22151 DEC .568889
042866,000815: 21,3033 55626 DEC -.568889
042867,000816: 21,3034 00027 =+14MS DEC 23 B-14
042868,000817: 21,3035 51656 FREEFUNC INDEX RMANNDX # ACCELERATION
042869,000818: # # Page 988
042870,000819: 21,3036 33047 CA FREETAU # COMMANDS
042871,000820: 21,3037 55561 TS TAU
042872,000821: 21,3040 51657 INDEX PMANNDX
042873,000822: 21,3041 33047 CA FREETAU # FREETAU 0 SEC
042874,000823: 21,3042 55562 TS TAU1 # +1 +0.10 SEC
042875,000824: 21,3043 51660 INDEX YMANNDX # +2 -0.10 SEC
042876,000825: 21,3044 33047 CA FREETAU # (+3) 0 SEC
042877,000826: 21,3045 55563 TS TAU2
042878,000827: 21,3046 13053 TCF T6PROGM
042879,000828:
042880,000829: 21,3047 00000 FREETAU DEC 0 B-14
042881,000830: 21,3050 00740 DEC 480 B-14
042882,000831: 21,3051 77037 DEC -480 B-14
042883,000832: 21,3052 00000 DEC 0 B-14
042884,000833:
042885,000834: 21,3053 34714 T6PROGM CAF ZERO # FOR MANUAL ROTATIONS
042886,000835: 21,3054 55567 TS ERRORX
042887,000836: 21,3055 55570 TS ERRORY
042888,000837: 21,3056 55571 TS ERRORZ
042889,000838: 21,3057 13743 TCF T6PROG
042890,000839:
042891,000840: # # Page 989
042892,000841: 21,3060 06604 DEC .2112 # FILTER GAIN FOR TRANSLATION, LEM ON
042893,000842: 21,3061 32703 DEC .8400 # FILTER GAIN FOR TRANSLATION 2(ZETA)WN DT
042894,000843: 21,3062 06604 DEC .2112 # FILTER GAIN FOR 4 DEGREE/SEC MANEUVERS
042895,000844: 21,3063 02031 GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION
042896,000845: 21,3064 12132 DEC .3180 # OF ATTITUDE RATES
042897,000846: 21,3065 13030 DEC .3452
042898,000847: 21,3066 14047 DEC .3774
042899,000848: 21,3067 15241 DEC .4161
042900,000849: 21,3070 16650 DEC .4634
042901,000850: 21,3071 20555 DEC .5223
042902,000851: 21,3072 23065 DEC .5970
042903,000852: 21,3073 26137 DEC .6933
042904,000853: 21,3074 32053 DEC .8151
042905,000854: 21,3075 35712 DEC .9342
042906,000855:
042907,000856: 21,3076 00435 DEC .0174 # FILTER GAIN FOR TRANSLATION, LEM ON
042908,000857: 21,3077 13412 DEC .3600 # FILTER GAIN FOR TRANSLATION (WN)(WN)DT
042909,000858: 21,3100 00435 DEC .0174 # FILTER GAIN FOR 4 DEGREE/SEC MANEUVERS
042910,000859: 21,3101 00032 GAIN2 DEC .0016 # SCALED 10
042911,000860: 21,3102 01350 DEC .0454
042912,000861: 21,3103 01575 DEC .0545
042913,000862: 21,3104 02103 DEC .0666
042914,000863: 21,3105 02523 DEC .0832
042915,000864: 21,3106 03327 DEC .1069
042916,000865: 21,3107 04432 DEC .1422
042917,000866: 21,3110 06264 DEC .1985
042918,000867: 21,3111 11351 DEC .2955
042919,000868: 21,3112 17324 DEC .4817
042920,000869: 21,3113 33622 DEC .8683
042921,000870: 21,3114 55502 STICKCHK TS T5TEMP
042922,000871: 21,3115 76214 MASK THREE # INDECES FOR MANUAL ROTATION
042923,000872: 21,3116 55657 TS PMANNDX
042924,000873: 21,3117 31502 CA T5TEMP
042925,000874: 21,3120 00006 EXTEND # MAN RATE 0 0 RATE (DP)
042926,000875: 21,3121 74676 MP QUARTER # +1 +RATE (DP)
042927,000876: 21,3122 55502 TS T5TEMP # +2 -RATE (DP)
042928,000877: 21,3123 76214 MASK THREE # (+3) 0 RATE (DP)
042929,000878: 21,3124 55660 TS YMANNDX
042930,000879: 21,3125 31502 CA T5TEMP
042931,000880: 21,3126 00006 EXTEND
042932,000881: 21,3127 74676 MP QUARTER
042933,000882: 21,3130 55656 TS RMANNDX
042934,000883: 21,3131 00002 TC Q
042935,000884:
042936,000885:
042937,000886: 21,3132 55617 KALUPDT TS ATTKALMN # INITIALIZATION OF ATTITUDE RATES USING
042938,000887: # KALMAN FILTER TAKES 1.1 SEC
042939,000888:
042940,000889: 21,3133 32141 CA DELTATT # =1SEC - 80MS
042941,000890: 21,3134 61634 AD T5TIME # + DELAYS
042942,000891: # # Page 990
042943,000892: 21,3135 54030 TS TIME5
042944,000893: 21,3136 13141 TCF +3
042945,000894: 21,3137 32142 CAF DELTATT2 # SAFETY PLAY TO ASSURE
042946,000895: 21,3140 54030 TS TIME5 # A T5RUPT
042947,000896:
042948,000897:
042949,000898: 21,3141 44714 KRESUME2 CS ZERO # RESET FOR PHASE1
042950,000899: 21,3142 55465 TS T5PHASE # RESUME INTERRUPTED PROGRAM
042951,000900: 21,3143 15222 TCF RESUME
042952,000901:
042953,000902:
042954,000903: 21,3144 44707 FDAIDSP2 CS BIT4 # RESET FOR FDAIDSP1
042955,000904: 21,3145 71501 MASK RCSFLAGS
042956,000905: 21,3146 55501 TS RCSFLAGS
042957,000906:
042958,000907: 21,3147 40074 CS FLAGWRD0 # ON - DISPLAY ONE OF THE TOTAL ATTITUDE
042959,000908: 21,3150 74702 MASK BIT9 # ERRORS
042960,000909: 21,3151 00006 EXTEND
042961,000910: 21,3152 13161 BZF FDAITOTL
042962,000911: 21,3153 00006 EXTEND
042963,000912: 21,3154 41570 DCS ERRORX # OFF -DISPLAY AUTOPILOT FOLLOWING ERROR
042964,000913: 21,3155 53477 DXCH AK
042965,000914: 21,3156 41571 CS ERRORZ
042966,000915: 21,3157 55500 TS AK2
042967,000916: 21,3160 15222 TCF RESUME # END PHASE 1
042968,000917:
042969,000918:
042970,000919: 21,3161 30105 FDAITOTL CA FLAGWRD9
042971,000920: 21,3162 74705 MASK BIT6
042972,000921: 21,3163 00006 EXTEND
042973,000922: 21,3164 13227 BZF WRTN17 # IS N22ORN17 (BIT6 OF FLAGWRD9) = 0
042974,000923: # IF SO, GO TO WRTN17
042975,000924: 21,3165 00006 WRTN22 EXTEND # OTHERWISE, CONTINUE ON TO WRTN22 AND
042976,000925: 21,3166 31157 DCA CTHETA # GET SET TO COMPUTE TOTAL ATTITUDE
042977,000926: 21,3167 53514 DXCH WTEMP # ERROR WRT N22 BY PICKING UP THE THREE
042978,000927: 21,3170 31155 CA CPHI # COMPONENTS OF N22
042979,000928:
042980,000929: 21,3171 00006 GETAKS EXTEND # COMPUTE TOTAL ATTITUDE ERROR FOR
042981,000930: 21,3172 20032 MSU CDUX # DISPLAY ON FDAI ERROR NEEDLES
042982,000931: 21,3173 55476 TS AK
042983,000932: 21,3174 31513 CA WTEMP
042984,000933: 21,3175 00006 EXTEND
042985,000934: 21,3176 20033 MSU CDUY
042986,000935: 21,3177 55502 TS T5TEMP
042987,000936: 21,3200 00006 EXTEND
042988,000937: 21,3201 71640 MP AMGB1
042989,000938: 21,3202 27476 ADS AK
042990,000939: 21,3203 31502 CA T5TEMP
042991,000940: 21,3204 00006 EXTEND
042992,000941: 21,3205 71641 MP AMGB4
042993,000942: # # Page 991
042994,000943: 21,3206 55477 TS AK1
042995,000944: 21,3207 31502 CA T5TEMP
042996,000945: 21,3210 00006 EXTEND
042997,000946: 21,3211 71643 MP AMGB7
042998,000947: 21,3212 55500 TS AK2
042999,000948: 21,3213 31514 CA WTEMP +1
043000,000949: 21,3214 00006 EXTEND
043001,000950: 21,3215 20034 MSU CDUZ
043002,000951: 21,3216 55502 TS T5TEMP
043003,000952: 21,3217 00006 EXTEND
043004,000953: 21,3220 71642 MP AMGB5
043005,000954: 21,3221 27477 ADS AK1
043006,000955: 21,3222 31502 CA T5TEMP
043007,000956: 21,3223 00006 EXTEND
043008,000957: 21,3224 71644 MP AMGB8
043009,000958: 21,3225 27500 ADS AK2
043010,000959: 21,3226 15222 TCF RESUME # END PHASE1 OF RCS DAP
043011,000960:
043012,000961: 21,3227 00006 WRTN17 EXTEND # GET SET TO COMPUTE TOTAL ASTRONAUT
043013,000962: 21,3230 31335 DCA CPHIX +1 # ATTITUDE ERROR WRT N17 BY PICKING UP
043014,000963: 21,3231 53514 DXCH WTEMP # THE THREE COMPONENTS OF N17
043015,000964: 21,3232 31333 CA CPHIX
043016,000965: 21,3233 13171 TCF GETAKS
043017,000966:
043018,000967: # # Page 992
End of include-file RCS-CSM_DIGITAL_AUTOPILOT.agc. Parent file is MAIN.agc