Source Code
043027,000001: # Copyright: Public domain.
043028,000002: # Filename: RCS-CSM_DIGITAL_AUTOPILOT.agc
043029,000003: # Purpose: Part of the source code for Colossus, build 249.
043030,000004: # It is part of the source code for the Command Module's (CM)
043031,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9.
043032,000006: # Assembler: yaYUL
043033,000007: # Reference: Starts on p. 977 of 1701.pdf.
043034,000008: # Contact: Ron Burkey <info@sandroid.org>.
043035,000009: # Website: www.ibiblio.org/apollo.
043036,000010: # Mod history: 08/25/04 RSB. Began transcribing.
043037,000011:
043038,000012: # The contents of the "Colossus249" files, in general, are transcribed
043039,000013: # from a scanned document obtained from MIT's website,
043040,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this
043041,000015: # document read, in part:
043042,000016:
043043,000017: # Assemble revision 249 of AGC program Colossus by NASA
043044,000018: # 2021111-041. October 28, 1968.
043045,000019:
043046,000020: # This AGC program shall also be referred to as
043047,000021: # Colossus 1A
043048,000022:
043049,000023: # Prepared by
043050,000024: # Massachussets Institute of Technology
043051,000025: # 75 Cambridge Parkway
043052,000026: # Cambridge, Massachusetts
043053,000027: # under NASA contract NAS 9-4065.
043054,000028:
043055,000029: # Refer directly to the online document mentioned above for further information.
043056,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org.
043057,000031:
043058,000032: # In some cases, where the source code for Luminary 131 overlaps that of
043059,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131
043060,000034: # source file, and then is proofed to incorporate any changes.
043061,000035:
043062,000036: # Page 977
043063,000037: # T5 INTERRUPT PROGRAM FOR THE RCS-CSM AUTOPILOT
043064,000038:
043065,000039: # START OF T5 INTERRUPT PROGRAM
043066,000040:
043067,000041: 20,3565 BANK 20
043068,000042: 21,2000 SETLOC DAPS3
043069,000043: 21,2000 BANK
043070,000044:
043071,000045: 21,2071 COUNT 21/DAPRC
043072,000046:
043073,000047: 21,2071 E6,1510 EBANK= KMPAC
043074,000048: 21,2071 22016 REDORCS LXCH BANKRUPT # RESTART OF AUTOPILOT COMES HERE
043075,000049: 21,2072 31465 CA T5PHASE # ON A T5 RUPT
043076,000050: 21,2073 00006 EXTEND
043077,000051: 21,2074 62076 BZMF +2 # IF T5PHASE +0, -0, OR -, RESET TO -
043078,000052: 21,2075 12100 TCF +3 # IF T5PHASE +, LEAVE IT +. DO A FRESHDAP
043079,000053: 21,2076 44712 CS ONE
043080,000054: 21,2077 55465 TS T5PHASE
043081,000055: 21,2100 00006 EXTEND
043082,000056: 21,2101 32105 DCA RCSLOC
043083,000057: 21,2102 53313 DXCH T5LOC # HOOK UP T5RUPT TO AUTOPILOT
043084,000058: 21,2103 12107 TCF RCSATT +1
043085,000059: 21,2104 E6,1510 EBANK= KMPAC
043086,000060: 21,2104 02106 42066 RCSLOC 2CADR RCSATT
043087,000061:
043088,000062: 21,2106 22016 RCSATT LXCH BANKRUPT # SAVE BB
043089,000063: 21,2107 00006 EXTEND # SAVE Q
043090,000064: 21,2110 22012 QXCH QRUPT
043091,000065: 21,2111 34674 CAF BIT15 # BIT15 CHAN31 = 0 IF IMU POWER IS ON AND
043092,000066: 21,2112 00006 EXTEND # S/C CONT SW IS IN CMC (I.E., IF G/C AUTO
043093,000067: 21,2113 02031 RAND CHAN31 # PILOT IS FULLY ENABLED)
043094,000068: 21,2114 00006 EXTEND
043095,000069: 21,2115 12144 BZF SETT5 # IF G/C AUTOPILOT IS FULLY ENABLED,
043096,000070: # GO TO SETT5
043097,000071:
043098,000072: 21,2116 41501 CS RCSFLAGS # IF G/C AUTOPILOT IS NOT FULLY ENABLE,
043099,000073: 21,2117 74675 MASK BIT14
043100,000074: 21,2120 27501 ADS RCSFLAGS # SET NORATE FLAG,
043101,000075: 21,2121 34672 CAF POSMAX
043102,000076: 21,2122 55332 TS HOLDFLAG # SET HOLDFLAG +,
043103,000077: 21,2123 34714 CAF ZERO # ZERO ERRORX, ERRORY, AND ERRORZ,
043104,000078: 21,2124 55567 TS ERRORX
043105,000079: 21,2125 55570 TS ERRORY
043106,000080: 21,2126 55571 TS ERRORZ
043107,000081: 21,2127 34675 CAF BIT14
043108,000082: 21,2130 00006 EXTEND
043109,000083: 21,2131 02031 RAND CHAN31 # AND CHECK FREE FUNCTION (BIT14 CHAN31).
043110,000084: 21,2132 00006 EXTEND
043111,000085: # Page 978
043112,000086: 21,2133 12144 BZF SETT5 # IF IN FREE MODE, GO TO SETT5.
043113,000087:
043114,000088: 21,2134 55465 TS T5PHASE # IF NOT IN FREE MODE,
043115,000089: 21,2135 37676 CAF OCT37766 # SCHEDULE REINITIALIZATION (FRESHDAP)
043116,000090: 21,2136 54030 TS TIME5 # IN 100 MS VIA T5RUPT
043117,000091:
043118,000092: 21,2137 02616 TCR ZEROJET # ZERO JET CHANNELS IN 14 MS VIA ZEROJET
043119,000093:
043120,000094: 21,2140 12334 TCF KMATRIX
043121,000095: 21,2141 37770 DELTATT OCT 37770 # 80MS (TIME5)
043122,000096: 21,2142 37776 DELTATT2 OCT 37776 # 20MS (TIME5)
043123,000097: 21,2143 37634 ONESEK DEC 16284 B-14 # 1 SEC(TIME5)
043124,000098: 21,2144 CHAN5 EQUALS 5
043125,000099: 21,2144 CHAN6 EQUALS 6
043126,000100: 21,2144 7671 PRIO34A = PRIO34
043127,000101:
043128,000102: # CHECK PHASE OF T5 PROGRAM
043129,000103:
043130,000104: # BECAUSE OF THE LENGTH OF THE T5 PROGRAM,IT HAS BEEN DIVIDED INTO
043131,000105: # THREE PARTS, T5PHASE1, T5PHASE2, AND THE JET SELECTION LOGIC,
043132,000106: # TO ALLOW FOR THE EXECUTION OF OTHER
043133,000107: # INTERRUPTS. T5PHASE IS ALSO USED IN THE INITIALIZATION OF THE AUTOPILOT
043134,000108: # VARIABLES AT TURN ON.
043135,000109:
043136,000110: # THE CODING OF T5PHASE IS...
043137,000111:
043138,000112: # + = INITIALIZE T5 RCS-CSM AUTOPILOT
043139,000113: # T5PHASE = +0 = PHASE2 OF THE T5 PROGRAM
043140,000114: # - = RESTART DAP
043141,000115: # -0 = PHASE1 OF THE T5 PROGRAM
043142,000116:
043143,000117: 21,2144 11465 SETT5 CCS T5PHASE
043144,000118: 21,2145 12530 TCF FRESHDAP # TURN ON AUTOPILOT
043145,000119: 21,2146 12645 TCF T5PHASE2 # BRANCH TO PHASE2 OF PROGRAM
043146,000120: 21,2147 12532 TCF REDAP # RESTART AUTOPILOT
043147,000121: 21,2150 55465 TS T5PHASE # PHASE 1 RESET FOR PHASE 2
043148,000122: 21,2151 30030 CA TIME5
043149,000123: 21,2152 55634 TS T5TIME # USED IN COMPENSATING FOR DELAYS IN T5
043150,000124: 21,2153 32142 CAF DELTATT2 # RESET FOR T5RUPT IN 20MS FOR PHASE2
043151,000125: 21,2154 54030 TS TIME5 # OF PROGRAM
043152,000126:
043153,000127: # Page 979
043154,000128: # IMU STATUS CHECK
043155,000129:
043156,000130: 21,2155 41321 CS IMODES33 # CHECK IMU STATUS
043157,000131: 21,2156 74705 MASK BIT6 # BIT6 = 0 IMU OK
043158,000132: 21,2157 10000 CCS A # BIT6 = 1 NO IMU
043159,000133: 21,2160 12174 TCF RATEFILT
043160,000134: 21,2161 41501 FREECHK CS RCSFLAGS # BIT14 INDICATES THAT RATES HAVE NOT BEEN
043161,000135: 21,2162 74675 MASK BIT14 # INITIALIZED
043162,000136: 21,2163 27501 ADS RCSFLAGS
043163,000137: 21,2164 34675 CAF BIT14 # NO ATTITUDE REFERENCE
043164,000138: 21,2165 55332 TS HOLDFLAG # STOP ANY AUTOMATIC STEERING AND PREPARE
043165,000139: # TO PICK UP CDU ANGLES UPON RESUMPTION OF
043166,000140: # ATTITUDE HOLD
043167,000141: 21,2166 00006 EXTEND
043168,000142: 21,2167 02031 RAND CHAN31 # CHECK FOR FREE MODE
043169,000143: 21,2170 00006 EXTEND
043170,000144: 21,2171 12403 BZF KRESUME1 # IN FREE MODE PROVIDE FREE CONTROL ONLY
043171,000145: 21,2172 12520 TCF REINIT # .....TILT...............................
043172,000146: 21,2173 00030 BITS4,5 OCT 30
043173,000147: 21,2174 31501 RATEFILT CA RCSFLAGS # SEE IF RATEFILTER HAS BEEN INITIALIZED
043174,000148: 21,2175 74675 MASK BIT14
043175,000149: 21,2176 00006 EXTEND # IF SO, PROCEED WITH RATE DERIVATION
043176,000150: 21,2177 12201 BZF +2
043177,000151: 21,2200 12334 TCF KMATRIX # IF NOT, SKIP RATE DERIVATION
043178,000152:
043179,000153: # RATE FILTER TIMING = 7.72 MS
043180,000154:
043181,000155: # RATE FILTER EQUATIONS
043182,000156:
043183,000157:
043184,000158: # DRHO = DELRHO - (.1)ADOT + (1 = GAIN1)DRHO
043185,000159: # -1
043186,000160:
043187,000161: # ADOT = ADOT + GAIN2 DRHO + KMJ DFT
043188,000162: # -1
043189,000163: # _ * _ _
043190,000164: # WHERE DELRHO = AMGB (CDU - CDU )
043191,000165: # -1
043192,000166:
043193,000167: 21,2201 34711 CAF TWO
043194,000168: 21,2202 55506 DRHOLOOP TS SPNDX
043195,000169: 21,2203 60000 DOUBLE
043196,000170: 21,2204 55507 TS DPNDX
043197,000171: 21,2205 51507 INDEX DPNDX
043198,000172: 21,2206 41552 CS DRHO # DRHO SCALED 180 DEGS
043199,000173: 21,2207 00006 EXTEND
043200,000174: 21,2210 51617 INDEX ATTKALMN # PICK UP DESIRED FILTER GAIN
043201,000175: 21,2211 73063 MP GAIN1
043202,000176: 21,2212 51507 INDEX DPNDX
043203,000177: 21,2213 21553 DAS DRHO # (1 -.064) DRHO
043204,000178: 21,2214 00006 EXTEND
043205,000179: # Page 980
043206,000180: 21,2215 51507 INDEX DPNDX
043207,000181: 21,2216 41534 DCS ADOT
043208,000182: 21,2217 53511 DXCH KMPAC # -(.1)ADOT
043209,000183: 21,2220 34676 CA QUARTER
043210,000184: 21,2221 02026 TC SMALLMP
043211,000185: 21,2222 53511 DXCH KMPAC
043212,000186: 21,2223 51507 INDEX DPNDX
043213,000187: 21,2224 21553 DAS DRHO
043214,000188: 21,2225 11506 CCS SPNDX
043215,000189: 21,2226 12202 TCF DRHOLOOP
043216,000190:
043217,000191: 21,2227 30032 CA CDUX # MEASURED BODY RATES--
043218,000192: 21,2230 57635 XCH RHO
043219,000193: 21,2231 00006 EXTEND
043220,000194: 21,2232 21635 MSU RHO # _ * _ _
043221,000195: 21,2233 40000 COM # DELRHO = AMGB (CDU - CDU )
043222,000196: # -1
043223,000197: 21,2234 22007 ZL
043224,000198: 21,2235 53516 DXCH DELTEMPX
043225,000199: 21,2236 30033 CA CDUY
043226,000200: 21,2237 57636 XCH RHO1
043227,000201: 21,2240 00006 EXTEND
043228,000202: 21,2241 21636 MSU RHO1
043229,000203: 21,2242 40000 COM
043230,000204: 21,2243 55502 TS T5TEMP # (CDUY - RHO1) SCALED 90 DEGS
043231,000205: 21,2244 00006 EXTEND
043232,000206: 21,2245 71640 MP AMGB1
043233,000207: 21,2246 21516 DAS DELTEMPX # DELTEMPX = (CDUX-RHO) + AMGB1(CDUY-RHO1)
043234,000208: # MUST BE DOUBLE PRECISION OR WILL LOSE
043235,000209: # PULSES
043236,000210: 21,2247 31641 CA AMGB4
043237,000211: 21,2250 00006 EXTEND
043238,000212: 21,2251 71502 MP T5TEMP
043239,000213: 21,2252 53520 DXCH DELTEMPY
043240,000214: 21,2253 31643 CA AMGB7
043241,000215: 21,2254 00006 EXTEND
043242,000216: 21,2255 71502 MP T5TEMP
043243,000217: 21,2256 53522 DXCH DELTEMPZ
043244,000218: 21,2257 30034 CA CDUZ
043245,000219: 21,2260 57637 XCH RHO2
043246,000220: 21,2261 00006 EXTEND
043247,000221: 21,2262 21637 MSU RHO2
043248,000222: 21,2263 40000 COM
043249,000223: 21,2264 55502 TS T5TEMP # (CDUZ - RHO2) SCALED 90 DEGS
043250,000224: 21,2265 00006 EXTEND
043251,000225: 21,2266 71642 MP AMGB5
043252,000226: 21,2267 21520 DAS DELTEMPY # DELTEMPY = AMGB4(CDUY-RHO1)
043253,000227: # + AMGB5(CDUZ-RHO2)
043254,000228: 21,2270 31644 CA AMGB8
043255,000229: 21,2271 00006 EXTEND
043256,000230:
043257,000231: # Page 981
043258,000232: 21,2272 71502 MP T5TEMP
043259,000233: 21,2273 21522 DAS DELTEMPZ # DELTEMPZ = AMBG7(CDUY-RHO1)
043260,000234: # + AMGB8(CDUZ-RHO2)
043261,000235: 21,2274 34711 CAF TWO
043262,000236: 21,2275 55506 ADOTLOOP TS SPNDX
043263,000237: 21,2276 60000 DOUBLE
043264,000238: 21,2277 55507 TS DPNDX
043265,000239: 21,2300 00006 EXTEND
043266,000240: 21,2301 51507 INDEX DPNDX
043267,000241: 21,2302 31516 DCA DELTEMPX
043268,000242: 21,2303 51507 INDEX DPNDX
043269,000243: 21,2304 21553 DAS DRHO
043270,000244: 21,2305 00006 EXTEND
043271,000245: 21,2306 51507 INDEX DPNDX
043272,000246: 21,2307 31516 DCA DELTEMPX
043273,000247: 21,2310 51507 INDEX DPNDX
043274,000248: 21,2311 21542 DAS MERRORX
043275,000249: 21,2312 51507 INDEX DPNDX
043276,000250: 21,2313 31552 CA DRHO
043277,000251: 21,2314 60000 DOUBLE # N.B.
043278,000252: 21,2315 60000 DOUBLE # N.B.
043279,000253: 21,2316 00006 EXTEND
043280,000254: 21,2317 51617 INDEX ATTKALMN # PICK UP DESIRED FILTER GAINS
043281,000255: 21,2320 73101 MP GAIN2
043282,000256: 21,2321 51507 INDEX DPNDX # ADOT + (.16)(.1)DRHO
043283,000257: 21,2322 21534 DAS ADOT # -1
043284,000258: 21,2323 51506 INDEX SPNDX # S/C TORQUE TO INERTIA RATIO
043285,000259: 21,2324 31620 CA KMJ # SCALED (450)(1600)/(57.3)(16384)=1/1.3
043286,000260: 21,2325 00006 EXTEND
043287,000261: 21,2326 51506 INDEX SPNDX
043288,000262: 21,2327 71547 MP DFT
043289,000263: 21,2330 51507 INDEX DPNDX
043290,000264: 21,2331 21534 DAS ADOT # KMJ(DFT)
043291,000265: 21,2332 11506 CCS SPNDX
043292,000266: 21,2333 12275 TCF ADOTLOOP # END CALCULATION OF VEHICLE RATES
043293,000267: 21,2334 31560 KMATRIX CA ATTSEC
043294,000268: 21,2335 74721 MASK LOW4
043295,000269: 21,2336 10000 CCS A
043296,000270: 21,2337 12345 TCF TENTHSEK
043297,000271: 21,2340 37671 CAF PRIO34 # CALL FOR 1 SEC UPDATE OF TRANSFORMATION
043298,000272: 21,2341 05027 TC NOVAC # MATRIX FROM GIMBAL AXES TO BODY AXES
043299,000273: 21,2342 E6,1510 EBANK= KMPAC
043300,000274: 21,2342 03444 44066 2CADR AMBGUPDT
043301,000275:
043302,000276: 21,2344 34334 CAF NINE
043303,000277:
043304,000278: 21,2345 55560 TENTHSEK TS ATTSEC
043305,000279:
043306,000280: # Page 982
043307,000281: # WHEN AUTOMATIC MANEUVERS ARE BEING PERFORMED, THE FOLLOWING ANGLE ADDITION MUST BE MADE TO PROVIDE A SMOOTH
043308,000282: # SEQUENCE OF ANGULAR COMMANDS TO THE AUTOPILOT--
043309,000283:
043310,000284: # CDUXD = CDUXD + DELCDUX (DOUBLE PRECISION)
043311,000285: # CDUYD = CDUYD + DELCDUY (DOUBLE PRECISION)
043312,000286: # CDUZD = CDUZD + DELCDUZ (DOUBLE PRECISION)
043313,000287:
043314,000288: # THE STEERING PROGRAMS:
043315,000289: # 1) ATTITUDE MANEUVER ROUTINE
043316,000290: # 2) LEM TRACKING
043317,000291:
043318,000292: # SHOULD GENERATE THE DESIRED ANGLES (CDUXD, CDUYD, CDUZD) AS WELL AS THE INCREMENTAL ANGLES (DELCDUX, DELCDUY,
043319,000293: # DELCDUZ) SO THAT THE GIMBAL ANGLE COMMANDS CAN BE INTERPOLATED BETWEEN UPDATES.
043320,000294:
043321,000295: # HOLDFLAG CODING:
043322,000296:
043323,000297: # + = GRAB PRESENT CDU ANGLES AND STORE IN THETADX, THETADY, THETADZ
043324,000298: # AND PERFORM ATTITUDE HOLD ABOUT THESE ANGLES
043325,000299: # ALSO IGNORE AUTOMATIC STEERING
043326,000300: # SET = + BY
043327,000301: # 1) INITIALIZATION PHASE OF AUTOPILOT
043328,000302: # 2) OCCURANCE OF RHC COMMANDS
043329,000303: # 3) FREE MODE
043330,000304: # 4) SWITCH OVER TO ATTITUDE HOLD FROM AUTO
043331,000305: # WHILE DOING AUTOMATIC STEERING (IN THIS CASE
043332,000306: # HOLDFLAG IS NOT ACTUALLY SET TO +, BUT THE LOGIC
043333,000307: # FUNCTIONS AS IF IT WERE.)
043334,000308: # 5) S/C CONTROL SWITCH IS SCS
043335,000309: # 6) IMU POWER OFF
043336,000310:
043337,000311: # +0 = IN ATTITUDE HOLD ABOUT A PREVIOUSLY ESTABLISHED REFERENCE
043338,000312: #
043339,000313: # - = PERFORMING AUTOMATIC MANEUVER
043340,000314:
043341,000315: # -0 = NOT USED AT PRESENT
043342,000316:
043343,000317: # NOTE THAT THIS FLAG MUST BE SET = - BY THE STEERING PROGRAM IF IT IS TO COMMAND THE AUTOPILOT.
043344,000318: # DETERMINE IF THE AUTOMATIC SEQUENCE HAS BEEN INTERRUPTED AND IF SO, TAKE THE APPROPRIATE ACTION.
043345,000319:
043346,000320: 21,2346 41332 CS HOLDFLAG
043347,000321: 21,2347 00006 EXTEND
043348,000322: 21,2350 62375 BZMF DACNDLS # IF HOLDFLAG +0,-0,+, BYPASS AUTOMATIC
043349,000323: # COMMANDS.
043350,000324: 21,2351 34711 DCDUINCR CAF TWO
043351,000325: 21,2352 55506 DELOOP TS SPNDX
043352,000326: 21,2353 60000 DOUBLE
043353,000327: 21,2354 55507 TS DPNDX
043354,000328: 21,2355 00006 EXTEND
043355,000329: 21,2356 50000 INDEX A
043356,000330: 21,2357 31647 DCA CDUXD
043357,000331: # Page 983
043358,000332: 21,2360 53511 DXCH KMPAC
043359,000333: 21,2361 00006 EXTEND
043360,000334: 21,2362 51507 INDEX DPNDX
043361,000335: 21,2363 31576 DCA DELCDUX
043362,000336: 21,2364 02040 TC DPADD
043363,000337: 21,2365 00006 EXTEND
043364,000338: 21,2366 31511 DCA KMPAC
043365,000339: 21,2367 51506 INDEX SPNDX
043366,000340: 21,2370 55572 TS THETADX
043367,000341: 21,2371 51507 INDEX DPNDX
043368,000342: 21,2372 53647 DXCH CDUXD
043369,000343: 21,2373 11506 CCS SPNDX
043370,000344: 21,2374 12352 TCF DELOOP
043371,000345:
043372,000346: # Page 984
043373,000347: # RCS-CSM AUTOPILOT ATTITUDE ERROR DISPLAY
043374,000348:
043375,000349: # THREE TYPES OF ATTITUDE ERRORS MAY BE DISPLAYED ON THE FDAI:
043376,000350:
043377,000351: # MODE 1) AUTOPILOT FOLLOWING ERRORS SELECTED BY V61E
043378,000352: # GENERATED INTERNALLY BY THE AUTOPILOT
043379,000353:
043380,000354: # MODE 2) TOTAL ATTITUDE ERRORS SELECTED BY V62E
043381,000355: # WITH RESPECT TO THE CONTENTS OF N22
043382,000356:
043383,000357: # MODE 3) TOTAL ASTRONAUT ATTITUDE ERRORS SELECTED BY V63E
043384,000358: # WITH RESPECT TO THE CONTENTS OF N17
043385,000359:
043386,000360: # MODE 1 IS PROVIDED AS A MONITOR OF THE RCS DAP AND ITS ABILITY TO TRACK AUTOMATIC STEERING COMMANDS. IN THIS
043387,000361: # MODE THE ATTITUDE ERRORS WILL BE ZEROED WHEN THE CMC MODE SWITCH IS IN FREE.
043388,000362:
043389,000363: # MODE 2 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
043390,000364: # IN N22. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
043391,000365: # AS A FLY-TO INDICATOR.
043392,000366:
043393,000367: # MODE 3 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
043394,000368: # IN N17. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
043395,000369: # AS A FLY-TO INDICATOR.
043396,000370:
043397,000371: # V60 IS PROVIDED TO LOAD N17 WITH A SNAPSHOT OF THE CURRENT CDU ANGLES, THUS SYNCHRONIZING THE MODE 3 DISPLAY
043398,000372: # WITH THE CURRENT S/C ATTITUDE. THIS VERB MAY BE USED AT ANY TIME.
043399,000373:
043400,000374: # THESE DISPLAYS WILL BE AVAILABLE IN ANY MODE (AUTO, HOLD, FREE, G+N, OR SCS) ONCE THE RCS DAP HAS BEEN
043401,000375: # INITIATED VIA V46E. MODE 1, HOWEVER, WILL BE MEANINGFUL ONLY IN G+N AUTO OR HOLD. THE CREW MAY PRESET (VIA
043402,000376: # V25N17) AN ATTITUDE REFERENCE (DESIRED GIMBAL ANGLES) INTO N17 AT ANY TIME.
043403,000377:
043404,000378: 21,2375 41501 DACNDLS CS RCSFLAGS # ALTERNATE BETWEEN FDAIDSP1 AND FDAIDSP2
043405,000379: 21,2376 74707 MASK BIT4
043406,000380: 21,2377 00006 EXTEND
043407,000381: 21,2400 13144 BZF FDAIDSP2
043408,000382:
043409,000383: 21,2401 27501 FDAIDSP1 ADS RCSFLAGS
043410,000384: 21,2402 02404 TC NEEDLER
043411,000385: 21,2403 15222 KRESUME1 TCF RESUME # END PHASE 1
043412,000386:
043413,000387: # Page 986
043414,000388: # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
043415,000389:
043416,000390: # PROGRAM DESCRIPTION: D. KEENE 5/24/67
043417,000391:
043418,000392: # THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
043419,000393: # IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
043420,000394: # OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
043421,000395: # THE DACS.
043422,000396:
043423,000397: # CALLING SEQUENCE:
043424,000398:
043425,000399: # DURING THE INITIALIZATION SECTIONOF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
043426,000400: # TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
043427,000401:
043428,000402: # CS RCSFLAGS # IN EBANK6
043429,000403: # MASK BIT3
043430,000404: # ADS RCSFLAGS
043431,000405:
043432,000406: # THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANFERRED TO THE FOLLOWING LOCATIONS IN EBANK6:
043433,000407:
043434,000408: # AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT
043435,000409: # AK1 SCALED 180 DEGREES TO CHANGE
043436,000410: # AK2 SCALED 180 DEGREES
043437,000411:
043438,000412: # FULL SCALED DEFLECTION CORRESPONDS TO 16 7/8 DEGREES OF ATTITUDE ERROR
043439,000413: # (= 384 BITS IN IMU ERROR COUNTER)
043440,000414:
043441,000415: # A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
043442,000416:
043443,000417: # INHINT
043444,000418: # TC IBNKCALL # NOTE: EBANK SHOULD BE SET TO E6
043445,000419: # CADR NEEDLER
043446,000420: # RELINT
043447,000421:
043448,000422: # THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PRORAM ARE
043449,000423: # REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
043450,000424: # NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
043451,000425:
043452,000426: # ERASABLE USED:
043453,000427: # AK CDUXCMD
043454,000428: # AK1 CDUYCMD
043455,000429: # AK2 CDUZCMD
043456,000430: # EDRIVEX A,L,Q
043457,000431: # EDRIVEY T5TEMP
043458,000432: # EDRIVEZ SPNDX
043459,000433:
043460,000434: # SWITCHES; RCSFLAGS BITS 3,2
043461,000435:
043462,000436: # I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY)
043463,000437: # Page 986
043464,000438: # CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE)
043465,000439: # CHAN14 BIT 13,14,15 (DAC ACTIVITY)
043466,000440:
043467,000441: # SIGN CONVENTION: AK = THETAC - THETA
043468,000442: # WHERE THETAC = COMMAND ANGLE
043469,000443: # THETA = PRESENT ANGLE
043470,000444:
043471,000445: 21,2404 34707 NEEDLER CAF BIT4 # CHECK FOR COARSE ALIGN ENABLE
043472,000446: 21,2405 00006 EXTEND # IF IN COARSE ALIGN DO NOT USE IMU
043473,000447: 21,2406 02012 RAND CHAN12 # ERROR COUNTERS. DON'T USE NEEDLES
043474,000448: 21,2407 00006 EXTEND
043475,000449: 21,2410 12415 BZF NEEDLER1
043476,000450: 21,2411 41501 CS RCSFLAGS # SET BIT3 FOR INITIALIZATION PASS
043477,000451: 21,2412 74710 MASK BIT3
043478,000452: 21,2413 27501 ADS RCSFLAGS
043479,000453: 21,2414 00002 TC Q
043480,000454:
043481,000455: 21,2415 31501 NEEDLER1 CA RCSFLAGS
043482,000456: 21,2416 76211 MASK SIX
043483,000457: 21,2417 00006 EXTEND
043484,000458: 21,2420 12455 BZF NEEDLES3
043485,000459: 21,2421 74710 MASK BIT3
043486,000460: 21,2422 00006 EXTEND
043487,000461: 21,2423 12446 BZF NEEDLER2 # BIT3 = 0, BIT2 = 1
043488,000462:
043489,000463: 21,2424 44705 CS BIT6 # FIRST PASS BIT3 = 1
043490,000464: 21,2425 00006 EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS
043491,000465: 21,2426 03012 WAND CHAN12 # MUST WAIT AT LEAST 50 MS. BEFORE
043492,000466: 21,2427 44714 NEEDLE11 CS ZERO # ENABLING COUNTERS.
043493,000467: 21,2430 55476 TS AK # ZERO THE INPUTS ON FIRST PASS
043494,000468: 21,2431 55477 TS AK1
043495,000469: 21,2432 55500 TS AK2
043496,000470: 21,2433 55503 TS EDRIVEX # ZERO THE DISPLAY REGISTERS
043497,000471: 21,2434 55504 TS EDRIVEY
043498,000472: 21,2435 55505 TS EDRIVEZ
043499,000473: 21,2436 54050 TS CDUXCMD # ZERO THE OUT COUNTERS
043500,000474: 21,2437 54051 TS CDUYCMD
043501,000475: 21,2440 54052 TS CDUZCMD
043502,000476: 21,2441 46211 CS SIX # RESET RCSFLAGS FOR PASS2
043503,000477: 21,2442 71501 MASK RCSFLAGS
043504,000478: 21,2443 64711 AD BIT2
043505,000479: 21,2444 55501 TS RCSFLAGS
043506,000480: 21,2445 00002 TC Q # END PASS1
043507,000481:
043508,000482: 21,2446 34705 NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS
043509,000483: 21,2447 00006 EXTEND
043510,000484: 21,2450 05012 WOR CHAN12
043511,000485: 21,2451 46211 CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE
043512,000486: # Page 987
043513,000487: 21,2452 71501 MASK RCSFLAGS # ERRORS WAIT AT LEAST 4 MS FOR
043514,000488: 21,2453 55501 TS RCSFLAGS # RELAY CLOSURE
043515,000489: 21,2454 00002 TC Q
043516,000490: 21,2455 34705 NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER
043517,000491: 21,2456 00006 EXTEND # IS ENABLED
043518,000492: 21,2457 02012 RAND CHAN12
043519,000493: 21,2460 00006 EXTEND # IF NOT RECYCLE NEEDLES
043520,000494: 21,2461 12411 BZF NEEDLER +5
043521,000495:
043522,000496: 21,2462 34711 NEEDLES CAF TWO
043523,000497: 21,2463 55506 DACLOOP TS SPNDX
043524,000498: 21,2464 44676 CS QUARTER
043525,000499: 21,2465 00006 EXTEND
043526,000500: 21,2466 51506 INDEX SPNDX
043527,000501: 21,2467 71476 MP AK
043528,000502: 21,2470 54001 TS L
043529,000503: 21,2471 10000 CCS A
043530,000504: 21,2472 32526 CA DACLIMIT
043531,000505: 21,2473 12475 TCF +2
043532,000506: 21,2474 42526 CS DACLIMIT
043533,000507: 21,2475 60001 AD L
043534,000508: 21,2476 55502 TS T5TEMP # OVFLO CHK
043535,000509: 21,2477 12503 TCF +4
043536,000510: 21,2500 50000 INDEX A # ON OVERFLOW LIMIT OUTPUT TO +-384
043537,000511: 21,2501 32526 CAF DACLIMIT
043538,000512: 21,2502 54001 TS L
043539,000513: 21,2503 51506 INDEX SPNDX
043540,000514: 21,2504 41503 CS EDRIVEX # CURRENT VALUE OF DAC
043541,000515: 21,2505 60001 AD L
043542,000516: 21,2506 51506 INDEX SPNDX
043543,000517: 21,2507 26050 ADS CDUXCMD
043544,000518: 21,2510 51506 INDEX SPNDX
043545,000519: 21,2511 23503 LXCH EDRIVEX
043546,000520: 21,2512 11506 CCS SPNDX
043547,000521: 21,2513 12463 TCF DACLOOP
043548,000522: 21,2514 37707 CAF 13,14,15
043549,000523: 21,2515 00006 EXTEND
043550,000524: 21,2516 05014 WOR CHAN14 # SET DAC ACTIVITY BITS
043551,000525: 21,2517 00002 TC Q
043552,000526:
043553,000527: 21,2520 32524 REINIT CAF DELAY200 # ........TILT LOGIC
043554,000528: 21,2521 54030 TS TIME5 # REINITIALIZE DAP IN 200MS
043555,000529: 21,2522 55465 TS T5PHASE
043556,000530: 21,2523 15222 TCF RESUME
043557,000531: 21,2524 37754 DELAY200 DEC 16364 B-14 # 200MS
043558,000532: 21,2525 77177 DEC -384 B-14
043559,000533:
043560,000534: # Page 988
043561,000535: 21,2526 37200 DACLIMIT DEC 16000 B-14
043562,000536: 21,2527 00600 DEC 384 B-14
043563,000537:
043564,000538: # Page 989
043565,000539: # INITIALIZATION PROGRAM FOR RCS-CSM AUTOPILOT
043566,000540:
043567,000541: # THE FOLLOWING QUANTITIES WILL BE ZEROED AND SHOULD APPEAR IN CONSECUTIVE LOCATIONS IN MEMORY AFTER WBODY
043568,000542:
043569,000543: # WBODY (+1) DFT TAU2
043570,000544: # WBODY1 (+1) DFT1 BIAS
043571,000545: # WBODY2 (+1) DFT2 BIAS1
043572,000546: # ADOT (+1) DRHO (+1) BIAS2
043573,000547: # ADOT1 (+1) DRHO1 (+1) ERRORX
043574,000548: # ADOT2 (+1) DRHO2 (+1) ERRORY
043575,000549: # MERRORX (+1) ATTSEC ERRORZ
043576,000550: # MERRORY (+1) TAU
043577,000551: # MERRORZ (+1) TAU1
043578,000552:
043579,000553: 21,2530 34712 FRESHDAP CAF ONE # RESET HOLDFLAG TO STOP AUTOMATIC
043580,000554: 21,2531 55332 TS HOLDFLAG # STEERING AND PREPARE TO PICK UP AN
043581,000555: # ATTITUDE HOLD REFERENCE
043582,000556:
043583,000557: 21,2532 04633 REDAP TC IBNKCALL # DECODE DAPDATR1, DAPDATR2 FOR DEADBANDS
043584,000558: 21,2533 40146 CADR S41.2 # RATES, QUADFAILS, QUAD MANAGEMENT
043585,000559:
043586,000560: 21,2534 04633 TC IBNKCALL # DECODE IXX, IAVG, AND CONVERT
043587,000561: 21,2535 40277 CADR S40.14 # TO AUTOPILOT GAINS
043588,000562:
043589,000563: 21,2536 32607 CAF NO.T5VAR # NO. LOCATIONS TO BE ZEROED MINUS ONE
043590,000564: 21,2537 55506 ZEROT5 TS SPNDX # ZERO ALL NECESSARY ERASABLE REGISTERS
043591,000565: 21,2540 34714 CAF ZERO
043592,000566: 21,2541 51506 INDEX SPNDX
043593,000567: 21,2542 55525 TS WBODY
043594,000568: 21,2543 11506 CCS SPNDX
043595,000569: 21,2544 12537 TCF ZEROT5
043596,000570: 21,2545 02616 TCR ZEROJET
043597,000571:
043598,000572: 21,2546 44714 CS ZERO
043599,000573: 21,2547 55633 TS CHANTEMP # INITIALIZE MINIMUM IMPULSE CONTROL
043600,000574:
043601,000575: 21,2550 55632 TS CH31TEMP # INITIALIZE RHC POSITION MEMORY FOR
043602,000576: # MANUAL RATE MODES
043603,000577:
043604,000578: 21,2551 32610 CAF =.24
043605,000579: 21,2552 55654 TS SLOPE # INITIALIZE SWITCHING LOGIC SLOPE
043606,000580:
043607,000581: 21,2553 34710 CAF FOUR
043608,000582: 21,2554 55634 TS T5TIME # PHASE 0 RESETS FOR PHASE 2 INTERRUPT IN
043609,000583: # 60 MS. PHASE 2 RESETS FOR PHASE 1 RUPT
043610,000584: # IN (80MS - T5TIME(40MS)). THEREFORE
043611,000585: # PHASE 1 (RATEFILTER) BEGINS CYCLING 100
043612,000586: # MS FROM NOW AND EVERY 100MS THEREAFTER.
043613,000587:
043614,000588: 21,2555 34717 CAF ELEVEN
043615,000589: 21,2556 55617 TS ATTKALMN # RESET TO PICK UP KALMAN FILTER TAINS
043616,000590: # TO INITIALIZE THE S/C ANGULAR RATES
043617,000591: # Page 990
043618,000592: 21,2557 30032 CA CDUX
043619,000593: 21,2560 55635 TS RHO
043620,000594: 21,2561 30033 CA CDUY
043621,000595: 21,2562 55636 TS RHO1
043622,000596: 21,2563 30034 CA CDUZ
043623,000597: 21,2564 55637 TS RHO2
043624,000598: 21,2565 34714 CAF ZERO # RESET AUTOPILOT TO BEGIN EXECUTING
043625,000599: 21,2566 55465 TS T5PHASE # PHASE2 OF PROGRAM
043626,000600:
043627,000601: 21,2567 41321 CS IMODES33 # CHECK IMU STATUS
043628,000602: 21,2570 74705 MASK BIT6 # IF BIT6 = 0 IMU IN FINE ALIGN
043629,000603: 21,2571 10000 CCS A # IF BIT6 = 1 IMU NOT READY
043630,000604: 21,2572 12576 TCF IMUAOK
043631,000605: 21,2573 55617 TS ATTKALMN # CANNOT USE IMU
043632,000606: 21,2574 32612 CAF RCSINITB # PROVIDE FREE CONTROL ONLY
043633,000607: 21,2575 12603 TCF RCSSWIT # DON'T START UP RATE FILTER
043634,000608: # SIGNAL NO RATE FILTER
043635,000609:
043636,000610: 21,2576 37671 IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION
043637,000611: 21,2577 05027 TC NOVAC # BYPASS IF IMU NOT IN FINE ALIGN
043638,000612: 21,2600 E6,1510 EBANK= KMPAC
043639,000613: 21,2600 03444 44066 2CADR AMBGUPDT
043640,000614:
043641,000615: 21,2602 32611 CAF RCSINIT # CLEAR BIT14 --ASSUME WE HAVE A GOOD IMU
043642,000616: 21,2603 55501 RCSSWIT TS RCSFLAGS # CLEAR BIT1 --INITIALIZE T6 PROGRAM
043643,000617: # SET BIT3 --INITIALIZE NEEDLES
043644,000618: # CLEAR BIT4 --RESET FOR FDAIDSP1
043645,000619: 21,2604 32613 CAF T5WAIT60 # NEXT T5RUPT 60 MS FROM NOW TO ALLOW IMU
043646,000620: # ERROR COUNTER TO ZERO.
043647,000621: # (MINIMUM DELAY = 15 MS)
043648,000622: 21,2605 54030 TS TIME5 # SINCE ATTKALMN IS +11, PROGRAM WILL THEN
043649,000623: 21,2606 05222 TC RESUME # PICK UP THE KALMAN FILTER GAINS. RATE
043650,000624: # FILTER WILL BEGIN OPERATING ZOOMS FROM
043651,000625: # NOW
043652,000626:
043653,000627: # CONSTANTS USED IN INITIALIZATION PROGRAM
043654,000628:
043655,000629: 21,2607 00044 NO.T5VAR DEC 36 B-14
043656,000630: 21,2610 07534 =.24 DEC .24 # = SLOPE OF 0.6/SEC
043657,000631: 21,2611 00004 RCSINIT OCT 00004
043658,000632: 21,2612 20004 RCSINITB OCT 20004
043659,000633: 21,2613 37772 T5WAIT60 DEC 16378 B-14 # = 6 CS
043660,000634: 21,2614 E6,1510 EBANK= KMPAC
043661,000635: 21,2614 03644 36066 T6ADDR 2CADR T6START
043662,000636:
043663,000637: 21,2616 34717 ZEROJET CAF ELEVEN # ZERO BLAST2, BLAST1, BLAST, YWORD2,
043664,000638: 21,2617 55506 TS SPNDX # YWORD1, PWORD2, PWORD1, RWORD2,
043665,000639: 21,2620 34714 CAF ZERO # AND RWORD1
043666,000640:
043667,000641: # Page 991
043668,000642: 21,2621 51506 INDEX SPNDX
043669,000643: 21,2622 55451 TS RWORD1
043670,000644: 21,2623 11506 CCS SPNDX
043671,000645: 21,2624 12617 TCF ZEROJET +1
043672,000646:
043673,000647: 21,2625 34710 CAF FOUR
043674,000648: 21,2626 55462 TS BLAST1 +1
043675,000649: 21,2627 34717 CAF ELEVEN
043676,000650: 21,2630 55464 TS BLAST2 +1
043677,000651:
043678,000652: 21,2631 44712 CS BIT1
043679,000653: 21,2632 71501 MASK RCSFLAGS
043680,000654: 21,2633 55501 TS RCSFLAGS # RESET BIT1 OF RCSFLAGS TO 0
043681,000655:
043682,000656: 21,2634 00006 EXTEND
043683,000657: 21,2635 32615 DCA T6ADDR
043684,000658: 21,2636 53311 DXCH T6LOC
043685,000659: 21,2637 33034 CAF =+14MS # ENABLE T6RUPT TO SHUT OFF JETS IN 14 MS.
043686,000660: 21,2640 54031 TS TIME6
043687,000661: 21,2641 34674 CAF BIT15
043688,000662: 21,2642 00006 EXTEND
043689,000663: 21,2643 05013 WOR CHAN13
043690,000664:
043691,000665: 21,2644 00002 TC Q
043692,000666:
043693,000667: 21,2645 11617 T5PHASE2 CCS ATTKALMN # IF (+) INITIALIZE RATE ESTIMATE
043694,000668: 21,2646 13132 TCF KALUPDT
043695,000669: 21,2647 12651 TCF +2 # ONLY IF ATTKALMN POSITIVE
043696,000670: 21,2650 12651 TCF +1
043697,000671: 21,2651 32142 CA DELTATT2 # RESET FOR PHASE3 IN 20 MS
043698,000672: 21,2652 56030 XCH TIME5 # (JET SELECTION LOGIC)
043699,000673: 21,2653 27634 ADS T5TIME # TO COMPENSATE FOR DELAYS IN T5RUPT
043700,000674: 21,2654 31501 CA RCSFLAGS # IF A HIGH RATE AUTO MANEUVER IS IN
043701,000675: 21,2655 74674 MASK BIT15 # PROGRESS (BIT 15 OF RCSFLAGS SET), SET
043702,000676: 21,2656 00006 EXTEND # ATTKALMN TO -1
043703,000677: 21,2657 12661 BZF NOHIAUTO # OTHERWISE SET ATTKALMN TO 0.
043704,000678: 21,2660 44712 CS ONE
043705,000679: 21,2661 55617 NOHIAUTO TS ATTKALMN
043706,000680:
043707,000681: # Page 992
043708,000682: # MANUAL ROTATION COMMANDS
043709,000683:
043710,000684: 21,2662 43016 CS OCT01760 # RESET FORCED FIRING BITS (BITS 10 TO 5
043711,000685: 21,2663 71501 MASK RCSFLAGS # OF RCSFLAGS) TO ZERO
043712,000686: 21,2664 55501 TS RCSFLAGS
043713,000687:
043714,000688: 21,2665 00006 EXTEND
043715,000689: 21,2666 00031 READ CHAN31
043716,000690: 21,2667 54001 TS L
043717,000691: 21,2670 31632 CA CH31TEMP
043718,000692: 21,2671 00006 EXTEND
043719,000693: 21,2672 06001 RXOR LCHAN
043720,000694: 21,2673 73022 MASK MANROT # = OCT00077
043721,000695: 21,2674 00006 EXTEND
043722,000696: 21,2675 62710 BZMF NOCHANGE
043723,000697:
043724,000698: 21,2676 22000 LXCH A
043725,000699: 21,2677 55632 TS CH31TEMP # SAVE CONTENTS OF CHANNEL 31 IN CH31TEMP
043726,000700:
043727,000701: 21,2700 30001 CA L
043728,000702: 21,2701 00006 EXTEND
043729,000703: 21,2702 74706 MP BIT5 # PUT BITS 6-1 OF A IN BITS 10-5 OF L
043730,000704: 21,2703 30001 CA L
043731,000705: 21,2704 27501 ADS RCSFLAGS # SET FORCED FIRING BITS FOR AXES WITH
043732,000706: # CHANGES IN COMMAND. BITS 10,9 FOR
043733,000707: # ROLL, BITS 8,7 FOR YAW, BITS 6,5 FOR
043734,000708: # PITCH
043735,000709:
043736,000710: 21,2705 41501 CS RCSFLAGS # SET RATE DAMPING FLAGS (BITS 13,12, AND
043737,000711: 21,2706 73023 MASK OCT16000 # 11 OF RCSFLAGS)
043738,000712: 21,2707 27501 ADS RCSFLAGS
043739,000713:
043740,000714: 21,2710 41632 NOCHANGE CS CH31TEMP
043741,000715: 21,2711 73022 MASK MANROT
043742,000716: 21,2712 00006 EXTEND
043743,000717: 21,2713 63234 BZMF AHFNOROT # IF NO MANUAL COMMANDS, GO TO AHFNOROT
043744,000718:
043745,000719: 21,2714 55332 TS HOLDFLAG # SET HOLDFLAG +
043746,000720:
043747,000721: 21,2715 03114 TC STICKCHK # WHEN THE RHC IS OUT OF DETENT, PMANNDX,
043748,000722: # YMANNDX, AND RMANNDX ARE ALL SET, BY
043749,000723: # MEANS OF STICKCHK, TO 0, 1, OR 2 FOR NO,
043750,000724: # +, OR - ROTATION RESPECTIVELY AS
043751,000725: # COMMANDED BY THE RHC.
043752,000726:
043753,000727: # HOWEVER, IT IS WELL TO NOTE THAT AFTER
043754,000728: # THE RHC IS RETURNED TO DETENT, THE
043755,000729: # PROGRAM BRANCHES TO AHFNOROT AND AVOIDS
043756,000730: # STICKCHK SO PMANNDX, YMANNDX, AND
043757,000731: # RMANNDX ARE NOT RESET TO ZERO BUT RATHER
043758,000732: # LEFT SET TO THEIR LAST OUT OF DETENT
043759,000733: # Page 993
043760,000734: # VALUES.
043761,000735:
043762,000736: 21,2716 40075 CS FLAGWRD1 # SET STIKFLAG TO INFORM STEERING
043763,000737: 21,2717 74675 MASK BIT14 # PROGRAMS (P20) THAT ASTRONAUT HAS
043764,000738: 21,2720 26075 ADS FLAGWRD1 # ASSUMED ROTATIONAL CONTROL OF SPACECRAFT
043765,000739:
043766,000740: 21,2721 34675 CAF BIT14
043767,000741: 21,2722 00006 EXTEND
043768,000742: 21,2723 02031 RAND CHAN31
043769,000743: 21,2724 00006 EXTEND
043770,000744: 21,2725 63035 BZMF FREEFUNC
043771,000745:
043772,000746: 21,2726 31501 CA RCSFLAGS # EXAMINE RCSFLAGS TO SEE IF RATE FILTER
043773,000747: 21,2727 74675 MASK BIT14 # HAS BEEN INITIALIZED
043774,000748: 21,2730 10000 CCS A # IF SO, PROCEED WITH MANUAL RATE COMMANDS
043775,000749: 21,2731 12520 TCF REINIT # .....TILT, RECYCLE TO INITIALIZE FILTER
043776,000750:
043777,000751: 21,2732 44715 CS FIVE # IF MANUAL MANEUVER IS AT HIGH RTE, SET
043778,000752: 21,2733 61130 AD RATEINDX # ATTKALMN TO -1.
043779,000753: 21,2734 00006 EXTEND # OTHERWISE, LEAVE ATTKALMN ALONE.
043780,000754: 21,2735 62740 BZMF +3
043781,000755: 21,2736 44712 CS ONE
043782,000756: 21,2737 55617 TS ATTKALMN
043783,000757: 21,2740 34711 CAF TWO # AUTO-HOLD MANUAL ROTATION
043784,000758: 21,2741 55506 SETWBODY TS SPNDX
043785,000759: 21,2742 60000 DOUBLE
043786,000760: 21,2743 55507 TS DPNDX
043787,000761: 21,2744 51506 INDEX SPNDX # RMANNDX = 0 NO ROTATION
043788,000762: 21,2745 31656 CA RMANNDX # = 1 + ROTATION
043789,000763: 21,2746 00006 EXTEND # = 2 - ROTATION
043790,000764: 21,2747 12771 BZF NORATE # IF NO ROTATION COMMAND ON THIS AXIS,
043791,000765: # GO TO NORATE.
043792,000766:
043793,000767: 21,2750 61130 AD RATEINDX # RATEINDX = 0 0.05 DEG/SEC
043794,000768: 21,2751 54002 TS Q # = 2 0.2 DEG/SEC
043795,000769: 21,2752 50002 INDEX Q # = 4 0.5 DEG/SEC
043796,000770: 21,2753 33023 CA MANTABLE -1 # = 6 4.0 DEG/SEC
043797,000771: 21,2754 00006 EXTEND
043798,000772: 21,2755 74702 MP BIT9 # MULTIPLY MANTABLE BY 2 TO THE -6
043799,000773: 21,2756 51507 INDEX DPNDX # TO GET COMMANDED RATE.
043800,000774: 21,2757 53526 DXCH WBODY # SET WBODY TO COMMANDED RATE.
043801,000775:
043802,000776: 21,2760 31501 CA RCSFLAGS
043803,000777: 21,2761 73023 MASK OCT16000 # IS RATE DAMPING COMPLETED (BITS 13,12 AND
043804,000778: 21,2762 00006 EXTEND # 11 OF RCSFLAGS ALL ZERO.) IF SO, GO TO
043805,000779: 21,2763 13001 BZF MERUPDAT # MERUPDAT TO UPDATE CUMULATIVE ATTITUDE
043806,000780: # ERROR.
043807,000781:
043808,000782: # Page 994
043809,000783: 21,2764 34714 ZEROER CA ZERO # ZEROER ZEROS MERRORS
043810,000784: 21,2765 22007 ZL
043811,000785: 21,2766 51507 INDEX DPNDX
043812,000786: 21,2767 53542 DXCH MERRORX
043813,000787: 21,2770 13007 TCF SPNDXCHK
043814,000788:
043815,000789: 21,2771 22007 NORATE ZL
043816,000790: 21,2772 51507 INDEX DPNDX
043817,000791: 21,2773 53526 DXCH WBODY # ZERO WBODY FOR THIS AXIS
043818,000792: 21,2774 31501 CA RCSFLAGS
043819,000793: 21,2775 73023 MASK OCT16000
043820,000794: 21,2776 00006 EXTEND # IS RATE DAMPING COMPLETED
043821,000795: 21,2777 13007 BZF SPNDXCHK # YES, KEEP CURRENT MERRORX GO TO SPNDXCHK
043822,000796: 21,3000 12764 TCF ZEROER # NO, GO TO ZEROER
043823,000797:
043824,000798: 21,3001 50002 MERUPDAT INDEX Q # MERRORX=MERRORX+MEASURED CHANGE IN ANGLE
043825,000799: 21,3002 43023 CS MANTABLE -1 # -COMMANDED CHANGE IN ANGLE
043826,000800: 21,3003 00006 EXTEND # THE ADDITION OF MEASURED CHANGE IN ANGLE
043827,000801: 21,3004 74704 MP BIT7 # HAS ALREADY BEEN DONE IN THE RATE FILTER
043828,000802: 21,3005 51507 INDEX DPNDX # COMMANDED CHANGE IN ANGLE = WBODY TIMES
043829,000803: 21,3006 21542 DAS MERRORX # .1SEC = MANTABLE ENTRY TIMES 2 TO THE -8
043830,000804:
043831,000805: 21,3007 51507 SPNDXCHK INDEX DPNDX
043832,000806: 21,3010 31541 CA MERRORX
043833,000807: 21,3011 51506 INDEX SPNDX
043834,000808: 21,3012 55567 TS ERRORX # ERRORX = HIGH ORDER WORD OF MERRORX
043835,000809: 21,3013 11506 CCS SPNDX
043836,000810: 21,3014 12741 TCF SETWBODY
043837,000811: 21,3015 13425 TCF JETS
043838,000812: 21,3016 01760 OCT01760 OCT 01760 # FORCED FIRING BITS MASK
043839,000813:
043840,000814: 21,3017 01400 OCT01400 OCT 01400 # ROLL FORCED FIRING MASK ORDER OF
043841,000815: 21,3020 00060 OCT00060 OCT 00060 # PITCH FORCED FIRING MASK DEFINITION
043842,000816: 21,3021 00300 OCT00300 OCT 00300 # YAW FORCED FIRING MASK MUST BE
043843,000817: # PRESERVED
043844,000818: # FOR INDEXING
043845,000819: 21,3022 00077 MANROT OCT 77
043846,000820: 21,3023 16000 OCT16000 OCT 16000 # RATE DAMPING FLAGS MASK
043847,000821: 21,3024 00165 MANTABLE DEC .0071111
043848,000822: 21,3025 77612 DEC -.0071111
043849,000823: 21,3026 00722 DEC .028444
043850,000824: 21,3027 77055 DEC -0.028444
043851,000825: 21,3030 02215 DEC .071111
043852,000826: 21,3031 75562 DEC -.071111
043853,000827: 21,3032 22151 DEC .568889
043854,000828: 21,3033 55626 DEC -.568889
043855,000829: 21,3034 00027 =+14MS DEC 23 B-14
043856,000830:
043857,000831: 21,3035 51656 FREEFUNC INDEX RMANNDX # ACCELERATION
043858,000832: # Page 995
043859,000833: 21,3036 33047 CA FREETAU # COMMANDS
043860,000834: 21,3037 55561 TS TAU
043861,000835: 21,3040 51657 INDEX PMANNDX
043862,000836: 21,3041 33047 CA FREETAU # FREETAU 0 SEC
043863,000837: 21,3042 55562 TS TAU1 # +1 +0.10 SEC
043864,000838: 21,3043 51660 INDEX YMANNDX # +2 -0.10 SEC
043865,000839: 21,3044 33047 CA FREETAU # (+3) 0 SEC
043866,000840: 21,3045 55563 TS TAU2
043867,000841: 21,3046 13053 TCF T6PROGM
043868,000842:
043869,000843: 21,3047 00000 FREETAU DEC 0 B-14
043870,000844: 21,3050 00740 DEC 480 B-14
043871,000845: 21,3051 77037 DEC -480 B-14
043872,000846: 21,3052 00000 DEC 0 B-14
043873,000847:
043874,000848: 21,3053 34714 T6PROGM CAF ZERO # FOR MANUAL ROTATIONS
043875,000849: 21,3054 55567 TS ERRORX
043876,000850: 21,3055 55570 TS ERRORY
043877,000851: 21,3056 55571 TS ERRORZ
043878,000852: 21,3057 13743 TCF T6PROG
043879,000853:
043880,000854: # Page 996
043881,000855: 21,3060 06604 DEC .2112 # FILTER GAIN FOR TRANSLATION, LEM ON
043882,000856: 21,3061 32703 DEC .8400 # FILTER GAIN FOR TRANSLATION 2(ZETA)WN DT
043883,000857: 21,3062 06604 DEC .2112 # FILTER GAIN FOR 4 DEGREE/SEC MANEUVERS
043884,000858: 21,3063 02031 GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION
043885,000859: 21,3064 12132 DEC .3180 # OF ATTITUDE RATES
043886,000860: 21,3065 13030 DEC .3452
043887,000861: 21,3066 14047 DEC .3774
043888,000862: 21,3067 15241 DEC .4161
043889,000863: 21,3070 16650 DEC .4634
043890,000864: 21,3071 20555 DEC .5223
043891,000865: 21,3072 23065 DEC .5970
043892,000866: 21,3073 26137 DEC .6933
043893,000867: 21,3074 32053 DEC .8151
043894,000868: 21,3075 35712 DEC .9342
043895,000869:
043896,000870: 21,3076 00435 DEC .0174 # FILTER GAIN FOR TRANSLATION, LEM ON
043897,000871: 21,3077 13412 DEC .3600 # FILTER GAIN FOR TRANSLATION (WN)(WN)DT
043898,000872: 21,3100 00435 DEC .0174 # FILTER GAIN FOR 4 DEGREE/SEC MANEUVERS
043899,000873: 21,3101 00032 GAIN2 DEC .0016 # SCALED 10
043900,000874: 21,3102 01350 DEC .0454
043901,000875: 21,3103 01575 DEC .0545
043902,000876: 21,3104 02103 DEC .0666
043903,000877: 21,3105 02523 DEC .0832
043904,000878: 21,3106 03327 DEC .1069
043905,000879: 21,3107 04432 DEC .1422
043906,000880: 21,3110 06264 DEC .1985
043907,000881: 21,3111 11351 DEC .2955
043908,000882: 21,3112 17324 DEC .4817
043909,000883: 21,3113 33622 DEC .8683
043910,000884:
043911,000885: 21,3114 55502 STICKCHK TS T5TEMP
043912,000886: 21,3115 76214 MASK THREE # INDICES FOR MANUAL ROTATION
043913,000887: 21,3116 55657 TS PMANNDX
043914,000888: 21,3117 31502 CA T5TEMP
043915,000889: 21,3120 00006 EXTEND # MAN RATE 0 0 RATE (DP)
043916,000890: 21,3121 74676 MP QUARTER # +1 + RATE (DP)
043917,000891: 21,3122 55502 TS T5TEMP # +2 - RATE (DP)
043918,000892: 21,3123 76214 MASK THREE # (+3) 0 RATE (DP)
043919,000893: 21,3124 55660 TS YMANNDX
043920,000894: 21,3125 31502 CA T5TEMP
043921,000895: 21,3126 00006 EXTEND
043922,000896: 21,3127 74676 MP QUARTER
043923,000897: 21,3130 55656 TS RMANNDX
043924,000898: 21,3131 00002 TC Q
043925,000899: 21,3132 55617 KALUPDT TS ATTKALMN # INITIALIZATION OF ATTITUDE RATES USING
043926,000900: # KALMAN FILTER TAKES 1.1 SEC
043927,000901:
043928,000902: 21,3133 32141 CA DELTATT # =1SEC - 80MS
043929,000903: 21,3134 61634 AD T5TIME # + DELAYS
043930,000904: # Page 997
043931,000905: 21,3135 54030 TS TIME5
043932,000906: 21,3136 13141 TCF +3
043933,000907: 21,3137 32142 CAF DELTATT2 # SAFETY PLAY TO ASSURE
043934,000908: 21,3140 54030 TS TIME5 # A T5RUPT
043935,000909: 21,3141 44714 KRESUME2 CS ZERO # RESET FOR PHASE1
043936,000910: 21,3142 55465 TS T5PHASE # RESUME INTERRUPTED PROGRAM
043937,000911: 21,3143 15222 TCF RESUME
043938,000912: 21,3144 44707 FDAIDSP2 CS BIT4 # RESET FOR FDAIDSP1
043939,000913: 21,3145 71501 MASK RCSFLAGS
043940,000914: 21,3146 55501 TS RCSFLAGS
043941,000915:
043942,000916: 21,3147 40074 CS FLAGWRD0 # ON - DISPLAY ONE OF THE TOTAL ATTITUDE
043943,000917: 21,3150 74702 MASK BIT9 # ERRORS
043944,000918: 21,3151 00006 EXTEND
043945,000919: 21,3152 13161 BZF FDAITOTL
043946,000920: 21,3153 00006 EXTEND
043947,000921: 21,3154 41570 DCS ERRORX # OFF - DISPLAY AUTOPILOT FOLLOWING ERROR
043948,000922: 21,3155 53477 DXCH AK
043949,000923: 21,3156 41571 CS ERRORZ
043950,000924: 21,3157 55500 TS AK2
043951,000925: 21,3160 15222 TCF RESUME # END PHASE 1
043952,000926: 21,3161 30105 FDAITOTL CA FLAGWRD9
043953,000927: 21,3162 74705 MASK BIT6
043954,000928: 21,3163 00006 EXTEND
043955,000929: 21,3164 13227 BZF WRTN17 # IS N22ORN17 (BIT6 OF FLAGWRD9) = 0
043956,000930: # IF SO, GO TO WRTN7
043957,000931: 21,3165 00006 WRTN22 EXTEND # OTHERWISE, CONTINUE ON TO WRTN22 AND
043958,000932: 21,3166 31157 DCA CTHETA # GET SET TO COMPUTE TOTAL ATTITUDE
043959,000933: 21,3167 53514 DXCH WTEMP # ERROR WRT N22 BY PICKING UP THE THREE
043960,000934: 21,3170 31155 CA CPHI # COMPONENTS OF N22
043961,000935:
043962,000936: 21,3171 00006 GETAKS EXTEND # COMPUTE TOTAL ATTITUDE ERROR FOR
043963,000937: 21,3172 20032 MSU CDUX # DISPLAY ON FDAI ERROR NEEDLES
043964,000938: 21,3173 55476 TS AK
043965,000939: 21,3174 31513 CA WTEMP
043966,000940: 21,3175 00006 EXTEND
043967,000941: 21,3176 20033 MSU CDUY
043968,000942: 21,3177 55502 TS T5TEMP
043969,000943: 21,3200 00006 EXTEND
043970,000944: 21,3201 71640 MP AMGB1
043971,000945: 21,3202 27476 ADS AK
043972,000946: 21,3203 31502 CA T5TEMP
043973,000947: 21,3204 00006 EXTEND
043974,000948: 21,3205 71641 MP AMGB4
043975,000949: # Page 998
043976,000950: 21,3206 55477 TS AK1
043977,000951: 21,3207 31502 CA T5TEMP
043978,000952: 21,3210 00006 EXTEND
043979,000953: 21,3211 71643 MP AMGB7
043980,000954: 21,3212 55500 TS AK2
043981,000955: 21,3213 31514 CA WTEMP +1
043982,000956: 21,3214 00006 EXTEND
043983,000957: 21,3215 20034 MSU CDUZ
043984,000958: 21,3216 55502 TS T5TEMP
043985,000959: 21,3217 00006 EXTEND
043986,000960: 21,3220 71642 MP AMGB5
043987,000961: 21,3221 27477 ADS AK1
043988,000962: 21,3222 31502 CA T5TEMP
043989,000963: 21,3223 00006 EXTEND
043990,000964: 21,3224 71644 MP AMGB8
043991,000965: 21,3225 27500 ADS AK2
043992,000966: 21,3226 15222 TCF RESUME # END PHASE1 OF RCS DAP
043993,000967:
043994,000968: 21,3227 00006 WRTN17 EXTEND # GET SET TO COMPUTE TOTAL ASTRONAUT
043995,000969: 21,3230 31335 DCA CPHIX +1 # ATTITUDE ERROR WRT N17 BY PICKING UP
043996,000970: 21,3231 53514 DXCH WTEMP # THE THREE COMPONENTS OF N17
043997,000971: 21,3232 31333 CA CPHIX
043998,000972: 21,3233 13171 TCF GETAKS
043999,000973:
044000,000974: # Page 999
044001,000975: # ... is blank. Yay! --- RSB 2004
044002,000976:
End of include-file RCS-CSM_DIGITAL_AUTOPILOT.agc. Parent file is MAIN.agc