Source Code
|
These source-code files are part of a reconstructed copy of Luminary 178, the
final release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer
(AGC) software.
The reconstruction began with source code of Zerlina 56, Luminary 210, and Luminary 131, previously transcribed from digitized copies of those programs. The code was created by combining the three, using Zerlina 56 as a base, since it was based off of Luminary 183. The differences between the three were carefully merged using the Luminary memos as a guide, with all changes made after Luminary 178 being backed out. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 178 listing would be different. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
039286,000002: ## Copyright: Public domain.
039287,000003: ## Filename: FINDCDUW_-_GUIDAP_INTERFACE.agc
039288,000004: ## Purpose: A section of Luminary revision 178.
039289,000005: ## It is part of the reconstructed source code for the final
039290,000006: ## release of the flight software for the Lunar Module's
039291,000007: ## (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
039292,000008: ## code has been recreated from copies of Zerlina 56, Luminary
039293,000009: ## 210, and Luminary 131, as well as many Luminary memos.
039294,000010: ## It has been adapted such that the resulting bugger words
039295,000011: ## exactly match those specified for Luminary 178 in NASA
039296,000012: ## drawing 2021152N, which gives relatively high confidence
039297,000013: ## that the reconstruction is correct.
039298,000014: ## Reference: pp. 899-917
039299,000015: ## Assembler: yaYUL
039300,000016: ## Contact: Ron Burkey <info@sandroid.org>.
039301,000017: ## Website: www.ibiblio.org/apollo/index.html
039302,000018: ## Mod history: 2019-08-14 MAS Created from Zerlina 56.
039303,000019:
|
Page 899 |
039305,000021: # PROGRAM NAME: FINDCDUW
039306,000022:
039307,000023: # MOD NUMBER: 1 68 07 15
039308,000024:
039309,000025: # MOD AUTHOR: KLUMPP
039310,000026:
039311,000027: # OBJECTS OF MOD: 1. TO SUPPLY COMMANDED GIMBAL ANGLES FOR NOUN 22.
039312,000028: # 2. TO MAINTAIN CORRECT AND CURRENT THRUST
039313,000029: # DIRECTION DATA IN ALL MODES. THIS IS DONE BY
039314,000030: # FETCHING FOR THE THRUST DIRECTION FILTER THE
039315,000031: # CDUD'S IN PNGCS-AUTO, THE CDU'S IN ALL OTHER
039316,000032: # MODES.
039317,000033: # 3. TO SUBSTITUTE A STOPRATE FOR THE NORMAL
039318,000034: # AUTOPILOT COMMANDS WHENEVER
039319,000035: # 1) NOT IN PNGCS-AUTO, OR
039320,000036: # 2) ENGINE IS OFF.
039321,000037:
039322,000038: # FUNCTIONAL DESCRIPTION:
039323,000039:
039324,000040: # FINDCDUW PROVIDES THE INTERFACES BETWEEN THE VARIOUS POWERED FLITE GUIDANCE PROGRAMS
039325,000041: # AND THE DIGITAL AUTOPILOT. THE INPUTS TO FINDCDUW ARE THE THRUST COMMAND VECTOR
039326,000042: # AND THE WINDOW COMMAND VECTOR, AND THE OUTPUTS ARE THE GIMBAL ANGLE
039327,000043: # INCREMENTS, THE COMMANDED ATTITUDE ANGLE RATES, AND THE COMMANDED
039328,000044: # ATTITUDE LAG ANGLES (WHICH ACCOUNT FOR THE ANGLES BY WHICH THE BODY WILL
039329,000045: # LAG BEHIND A RAMP COMMAND IN ATTITUDE ANGLE DUE TO THE FINITE ANGULAR
039330,000046: # ACCELERATIONS AVAILABLE).
039331,000047:
039332,000048: # FINDCDUW ALINES THE ESTIMATED THRUST VECTOR FROM THE THRUST DIRECTION
039333,000049: # FILTER WITH THE THRUST COMMAND VECTOR, AND, WHEN XOVINHIB SET,
039334,000050: # ALINES THE +Z HALF OF THE LM ZX PLANE WITH THE WINDOW COMMAND VECTOR.
039335,000051:
|
Page 900 |
039337,000053: # SPECIFICATIONS:
039338,000054:
039339,000055: # INITIALIZATION: A SINGLE INTERPRETIVE CALL TO INITCDUW IS REQUIRED
039340,000056: # BEFORE EACH GUIDED MANEUVER USING FINDCDUW.
039341,000057:
039342,000058: # CALL: INTERPRETIVE CALL TO FINDCDUW WITH THE THRUST COMMAND
039343,000059: # VECTOR IN MPAC. INTERPRETIVE CALL TO FINDCDUW -2 WITH
039344,000060: # THE THRUST COMMAND VECTOR IN UNFC/2 AND NOT IN MPAC.
039345,000061:
039346,000062: # RETURNS: NORMAL INTERPRETIVE IN ALL CASES
039347,000063:
039348,000064: # 1. NORMALLY ALL AUTOPILOT CMDS ARE ISSUED.
039349,000065:
039350,000066: # 2. IF NOT PNGCS AUTO, DO STOPRATE AND RETURN
039351,000067: # WITHOUT ISSUING AUTOPILOT CMDS.
039352,000068:
039353,000069: # 3. IF ENGINE OFF, DO STOPRATE AND RETURN WITHOUT
039354,000070: # ISSUING AUTOPILOT CMDS.
039355,000071:
039356,000072: # ALARMS: 00401 IF INPUTS DETERMINE AN ATTITUDE IN GIMBAL LOCK.
039357,000073: # FINDCDUW DRIVES CDUXD AND CDUYD TO THE RQD VALUES,
039358,000074: # BUT DRIVES CDUZD ONLY TO THE GIMBAL LOCK CONE.
039359,000075: # 00402 IF UNFC/2 OR UNWC/2 PRODUCE OVERFLOW WHEN
039360,000076: # UNITIZED USING NORMUNIT. FINDCDUW ISSUES
039361,000077: # STOPRATE AS ONLY INPUT TO AUTOPILOT.
039362,000078:
039363,000079: # INPUTS: UNFC/2 THRUST COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039364,000080: # UNWC/2 WINDOW COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039365,000081: # OGABIAS POSSIBLE BIAS FOR OUTER GIMBAL ANGLE (ZEROED IN INITCDUW), UNITS OF PI.
039366,000082: # XOVINHIB FLAG DENOTING X AXIS OVERRIDE INHIBITED.
039367,000083: # CSMDOCKD FLAG DENOTING CSM DOCKED.
039368,000084: # STEERSW FLAG DENOTING INSUFF THRUST FOR THRUST DIR FLTR.
039369,000085:
039370,000086: # OUTPUTS: DELCDUX,Y,Z
039371,000087: # OMEGAPD,+1,+2
039372,000088: # DELPEROR,+1,+2
039373,000089: # CPHI,+1,+2 FOR NOUN22
039374,000090:
039375,000091: # DEBRIS: FINDCDUW DESTROYS SINCDUX,Y,Z AND COSCDUX,Y,Z BY
039376,000092: # WRITING INTO THESE LOCATIONS THE SINES AND COSINES
039377,000093: # OF THE CDUD'S IN PNGCS-AUTO, OF THE CDU'S OTHERWISE.
039378,000094:
|
Page 901 |
039380,000096: # INITIALIZATION FOR FINDCDUW
039381,000097:
039382,000098: 30,3062 BANK 30
039383,000099: 30,2000 SETLOC FCDUW
039384,000100: 30,2000 BANK
039385,000101:
039386,000102: 30,3062 E6,1645 EBANK= ECDUW
039387,000103:
039388,000104: 30,3062 COUNT* $$/FCDUW
039389,000105:
039390,000106: 30,3062 77331 INITCDUW SSP VLOAD
039391,000107: 30,3063 03300 OGABIAS
039392,000108: 30,3064 00000 0
039393,000109: 30,3065 06466 UNITX
039394,000110: 30,3066 03267 STORE UNFV/2
039395,000111: 30,3067 03261 STORE UNWC/2
039396,000112: 30,3070 77616 RVQ
039397,000113:
039398,000114: # FINDCDUW PRELIMINARIES
039399,000115:
039400,000116: 30,3071 77775 VLOAD # FINDCDUW -2: ENTRY WHEN UNFC/2 PRE-STORD
039401,000117: 30,3072 03253 UNFC/2 # INPUT VECTORS NEED NOT BE SEMI-UNIT
039402,000118: 30,3073 40200 FINDCDUW BOV SETPD # FINDCDUW: ENTRY WHEN UNFC/2 IN MPAC
039403,000119: 30,3074 61073 FINDCDUW # INTERPRETER NOW INITIALIZED
039404,000120: 30,3075 00023 22 # LOCS 0 THRU 21 FOR DIRECTION COSINE MAT
039405,000121: 30,3076 77420 STQ EXIT
039406,000122: 30,3077 03246 QCDUWUSR # SAVE RETURN ADDRESS
039407,000123:
039408,000124: # MORE HAUSKEEPING
039409,000125:
039410,000126: 30,3100 33743 CA ECDUWL
039411,000127: 30,3101 56003 XCH EBANK # SET EBANK
039412,000128: 30,3102 55645 TS ECDUWUSR # SAVE USER'S EBANK
039413,000129:
039414,000130: 30,3103 30111 CA DAPBOOLS
039415,000131: 30,3104 74737 MASK CSMDOCKD # CSMDOCKD MUST NOT BE BIT15
039416,000132: 30,3105 10000 CCS A
039417,000133: 30,3106 34753 CA ONE # INDEX IF CSM DOCKED
039418,000134: 30,3107 55647 TS NDXCDUW
039419,000135:
039420,000136: 30,3110 34743 CA XOVINHIB # XOVINHIB MUST NOT BE BIT15
039421,000137: 30,3111 55651 TS FLPAUTNO # SET TO POS-NON-ZERO FLAG PNGCS AUTO NOT
039422,000138:
039423,000139: 30,3112 70111 MASK DAPBOOLS
039424,000140: 30,3113 55650 TS FLAGOODW # FLAGOODW = ANY PNZ NUMBER IF XOV INHIBTD
039425,000141:
|
Page 902 |
039427,000143: # FETCH BASIC DATA
039428,000144:
039429,000145: 30,3114 00004 INHINT # RELINT AT PAUTNO (TC INTPRET)
039430,000146:
039431,000147: 30,3115 30032 CA CDUX # FETCH CDUX,CDUY,CDUZ IN ALL CASES, BUT
039432,000148: 30,3116 54771 TS CDUSPOTX # REPLACE BELOW IF PNGCS AUTO
039433,000149: 30,3117 30033 CA CDUY
039434,000150: 30,3120 54765 TS CDUSPOTY
039435,000151: 30,3121 30034 CA CDUZ
039436,000152: 30,3122 54767 TS CDUSPOTZ
039437,000153:
039438,000154: 30,3123 34742 CA BIT10 # PNGCS CONTROL BIT
039439,000155: 30,3124 00006 EXTEND
039440,000156: 30,3125 02030 RAND CHAN30
039441,000157: 30,3126 10000 CCS A
039442,000158: 30,3127 13144 TCF PAUTNO # NOT PNGCS (BITS INVERTED)
039443,000159:
039444,000160: 30,3130 34736 CA BIT14 # AUTO MODE BIT
039445,000161: 30,3131 00006 EXTEND
039446,000162: 30,3132 02031 RAND CHAN31
039447,000163: 30,3133 10000 CCS A
039448,000164: 30,3134 13144 TCF PAUTNO # NOT AUTO (BITS INVERTED)
039449,000165:
039450,000166: 30,3135 55651 TS FLPAUTNO # RESET FLAG PNGCS AUTO NOT
039451,000167:
039452,000168: 30,3136 31634 CA CDUXD # PNGCS AUTO: FETCH CDUXD,CDUYD,CDUZD
039453,000169: 30,3137 54771 TS CDUSPOTX
039454,000170: 30,3140 31635 CA CDUYD
039455,000171: 30,3141 54765 TS CDUSPOTY
039456,000172: 30,3142 31636 CA CDUZD
039457,000173: 30,3143 54767 TS CDUSPOTZ
039458,000174:
|
Page 903 |
039460,000176: # FETCH INPUTS
039461,000177:
039462,000178: 30,3144 06042 PAUTNO TC INTPRET # ENTERING THRUST CMD STILL IN MPAC
039463,000179: 30,3145 77634 RTB
039464,000180: 30,3146 21727 NORMUNIT
039465,000181: 30,3147 24001 STOVL UNX/2 # SEMI-UNIT THRUST CMD AS INITIAL UNX/2
039466,000182: 30,3150 03261 UNWC/2
039467,000183: 30,3151 47034 RTB RTB
039468,000184: 30,3152 21727 NORMUNIT
039469,000185: 30,3153 47572 QUICTRIG # ALWAYS RQD TO OBTAIN TRIGS OF CDUD'S
039470,000186: 30,3154 24015 STOVL UNZ/2 # SEMI-UNIT WINDOW CMD AS INITIAL UNZ/2
039471,000187: 30,3155 00325 DELV
039472,000188: 30,3156 53404 BOVB UNIT
039473,000189: 30,3157 61732 NOATTCNT # AT LEAST ONE ENTERING CMD VCT ZERO
039474,000190: 30,3160 45000 BOV CALL
039475,000191: 30,3161 61175 AFTRFLTR # IF UNIT DELV OVERFLOWS, SKIP FILTER
039476,000192: 30,3162 47646 *SMNB* # YIELDS UNIT(DELV) IN VEH COORDS FOR FLTR
039477,000193:
039478,000194: # THRUST DIRECTION FILTER
039479,000195:
039480,000196: 30,3163 77776 EXIT
039481,000197:
039482,000198: 30,3164 31670 CA UNFVY/2 # FOR RESTARTS, UNFV/2 ALWAYS INTACT, MPAC
039483,000199: 30,3165 22157 LXCH MPAC +3 # RENEWED AFTER RETURN FROM CALLER,
039484,000200: 30,3166 03465 TC FLTRSUB # TWO FILTER UPDATES MAY BE DONE.
039485,000201: 30,3167 55670 TS UNFVY/2 # UNFV/2 NEED NOT BE EXACTLY SEMI-UNIT.
039486,000202:
039487,000203: 30,3170 31672 CA UNFVZ/2
039488,000204: 30,3171 22161 LXCH MPAC +5
039489,000205: 30,3172 03465 TC FLTRSUB
039490,000206: 30,3173 55672 TS UNFVZ/2
039491,000207:
039492,000208: 30,3174 06042 TC INTPRET # COMPLETES FILTER
039493,000209:
|
Page 904 |
039495,000211: # FIND A SUITABLE WINDOW POINTING VECTOR
039496,000212:
039497,000213: 30,3175 46135 AFTRFLTR SLOAD BHIZ # IF XOV NOT INHIBITED, GO FETCH ZNB
039498,000214: 30,3176 03251 FLAGOODW
039499,000215: 30,3177 61203 FETCHZNB
039500,000216: 30,3200 45175 VLOAD CALL
039501,000217: 30,3201 00015 UNZ/2
039502,000218: 30,3202 61505 UNWCTEST
039503,000219:
039504,000220: 30,3203 77775 FETCHZNB VLOAD
039505,000221: 30,3204 02162 ZNBPIP
039506,000222: 30,3205 34015 STCALL UNZ/2
039507,000223: 30,3206 61505 UNWCTEST
039508,000224:
039509,000225: 30,3207 57575 VLOAD VCOMP # Z AND -X CAN'T BOTH PARALLEL UNFC/2
039510,000226: 30,3210 02146 XNBPIP
039511,000227: 30,3211 00015 STORE UNZ/2
039512,000228:
039513,000229: # COMPUTE THE REQUIRED DIRECTION COSINE MATRIX
039514,000230:
039515,000231: 30,3212 47375 DCMCL VLOAD VXV
039516,000232: 30,3213 00015 UNZ/2
039517,000233: 30,3214 00001 UNX/2
039518,000234: 30,3215 41456 UNIT PUSH # UNY/2 FIRST ITERATION
039519,000235: 30,3216 76435 VXV VSL1
039520,000236: 30,3217 00001 UNX/2
039521,000237: 30,3220 00015 STORE UNZ/2 # -UNZ/2 FIRST ITERATION
039522,000238: 30,3221 63361 VXSC PDVL # EXCHANGE -UNFVZ/2 UNZ/2 FOR UNY/2
039523,000239: 30,3222 03273 UNFVZ/2 # MUST BE SMALL
039524,000240: 30,3223 51361 VXSC BVSU # YIELDS -UNFVY/2 UNY/2-UNFVZ/2 UNZ/2
039525,000241: 30,3224 03271 UNFVY/2 # MUST BE SMALL
039526,000242: 30,3225 53372 VSL1 VAD
039527,000243: 30,3226 00001 UNX/2
039528,000244: 30,3227 77656 UNIT # TOTALLY ELIMINATES THRUST POINTING ERROR
039529,000245: 30,3230 00001 STORE UNX/2 # UNX/2
039530,000246: 30,3231 76435 VXV VSL1
039531,000247: 30,3232 00015 UNZ/2 # -UNZ/2 WAS STORED HERE REMEMBER
039532,000248: 30,3233 00007 STORE UNY/2 # UNY/2
039533,000249: 30,3234 47276 VCOMP VXV
039534,000250: 30,3235 00001 UNX/2
039535,000251: 30,3236 77772 VSL1
039536,000252: 30,3237 00015 STORE UNZ/2 # UNZ/2
039537,000253:
|
Page 905 |
039539,000255: # COMPUTE THE REQUIRED GIMBAL ANGLES
039540,000256:
039541,000257: 30,3240 77624 CALL
039542,000258: 30,3241 61515 NB2CDUSP # YIELDS THE RQD GIMBAL ANGLES, 2'S, PI
039543,000259: 30,3242 77776 EXIT
039544,000260:
039545,000261: # BIAS OUTER GIMBAL ANGLE
039546,000262:
039547,000263: 30,3243 31677 CA OGABIAS
039548,000264: 30,3244 26154 ADS MPAC
039549,000265:
039550,000266: # LIMIT THE MIDDLE GIMBAL ANGLE & COMPUTE THE UNLIMITED GIMBAL ANGLE CHGS
039551,000267:
039552,000268: 30,3245 30156 CA MPAC +2 # LIMIT THE MGA
039553,000269: 30,3246 54001 TS L # CAN'T LXCH: NEED UNLIMITED MGA FOR ALARM
039554,000270: 30,3247 33755 CA CDUZDLIM
039555,000271: 30,3250 03711 TC LIMITSUB # YIELDS LIMITED MGA. 1 BIT ERROR POSSIBLE
039556,000272: 30,3251 56156 XCH MPAC +2 # BECAUSE USING 2'S COMP. WHO CARES?
039557,000273: 30,3252 00006 EXTEND
039558,000274: 30,3253 20156 MSU MPAC +2 # THIS BETTER YIELD ZERO
039559,000275: 30,3254 00006 EXTEND
039560,000276: 30,3255 13257 BZF +2
039561,000277: 30,3256 13740 TCF ALARMMGA
039562,000278:
039563,000279: 30,3257 00004 MGARET INHINT # RELINT AT TC INTPRET AFTER TCQCDUW
039564,000280:
039565,000281: 30,3260 22007 ZL
039566,000282: 30,3261 34752 CA TWO
039567,000283: 30,3262 54142 DELGMBLP TS TEM2
039568,000284:
039569,000285: 30,3263 30001 CA L # TO PREVENT FALSE STARTS ABOUT X, ZERO
039570,000286: 30,3264 00006 EXTEND # FLAGOODW IF DELGMBZ OR Y TOO BIG.
039571,000287: 30,3265 70000 SQUARE
039572,000288: 30,3266 64350 AD HI5 # WITHIN 1 BIT OF -(45 DEG SQUARED)
039573,000289: 30,3267 00006 EXTEND
039574,000290: 30,3270 63273 BZMF +3
039575,000291: 30,3271 34755 CA ZERO
039576,000292: 30,3272 55650 TS FLAGOODW
039577,000293:
039578,000294: 30,3273 50142 INDEX TEM2
039579,000295: 30,3274 30154 CA MPAC
039580,000296: 30,3275 50142 INDEX TEM2
039581,000297: 30,3276 54321 TS CPHI # OUTPUTS TO NOUN22
039582,000298: 30,3277 00006 EXTEND
039583,000299: 30,3300 50142 INDEX TEM2
039584,000300: 30,3301 21634 MSU CDUXD # NO MATTER THAT THESE SLIGHTLY DIFFERENT
039585,000301: 30,3302 40000 COM # FROM WHEN WE INITIALLY FETCHED THEM
039586,000302: 30,3303 50142 INDEX TEM2
039587,000303: 30,3304 55674 TS -DELGMB # -UNLIMITED GIMBAL ANGLE CHGS, 1'S, PI
039588,000304: 30,3305 54001 TS L # FOR PRECEDING TEST ON NEXT LOOP PASS
|
Page 906 |
039590,000306: 30,3306 10142 CCS TEM2
039591,000307: 30,3307 13262 TCF DELGMBLP
039592,000308:
|
Page 907 |
039594,000310: # BRANCHES TO NOATTCNT
039595,000311:
039596,000312: 30,3310 11651 CCS FLPAUTNO
039597,000313: 30,3311 13734 TCF NOATTCNT +2 # NOT PNGCS AUTO
039598,000314:
039599,000315: 30,3312 30101 CA FLAGWRD5
039600,000316: 30,3313 74745 MASK ENGONBIT
039601,000317: 30,3314 00006 EXTEND
039602,000318: 30,3315 13734 BZF NOATTCNT +2 # ENGINE NOT ON
039603,000319:
|
Page 908 |
039605,000321: # LIMIT THE ATTITUDE ANGLE CHANGES
039606,000322:
039607,000323: # THIS SECTION LIMITS THE ATTITUDE ANGLE CHANGES ABOUT A SET OF ORTHOGONAL VEHICLE AXES X,YPRIME,ZPRIME.
039608,000324: # THESE AXES COINCIDE WITH THE COMMANDED VEHICLE AXES IF AND ONLY IF CDUXD IS ZERO. THE PRIME SYSTEM IS
039609,000325: # THE COMMANDED VEHICLE SYSTEM ROTATED ABOUT THE X AXIS TO BRING THE Z AXIS INTO ALINEMENT WITH THE MIDDLE GIMBAL
039610,000326: # AXIS. ATTITUDE ANGLE CHANGES IN THE PRIME SYSTEM ARE RELATED TO SMALL GIMBAL ANGLE CHANGES BY:
039611,000327:
039612,000328: # * -DELATTX * * 1 SIN(CDUZD) 0 * * -DELGMBX *
039613,000329: # * * * * * *
039614,000330: # * -DELATTYPRIME * = * 0 COS(CDUZD) 0 * * -DELGMBY *
039615,000331: # * * * * * *
039616,000332: # * -DELATTZPRIME * * 0 0 1 * * -DELGMBZ *
039617,000333:
039618,000334: 30,3316 23676 LXCH -DELGMB +2 # SAME AS -DELATTZPRIME UNLIMITED
039619,000335: 30,3317 51647 INDEX NDXCDUW
039620,000336: 30,3320 33751 CA DAZMAX
039621,000337: 30,3321 03711 TC LIMITSUB
039622,000338: 30,3322 55676 TS -DELGMB +2 # -DELGMBZ
039623,000339:
039624,000340: 30,3323 31675 CA -DELGMB +1
039625,000341: 30,3324 00006 EXTEND
039626,000342: 30,3325 70745 MP COSCDUZ # YIELDS -DELATTYPRIME/2 UNLIMITED
039627,000343: 30,3326 54001 TS L
039628,000344: 30,3327 51647 INDEX NDXCDUW
039629,000345: 30,3330 33753 CA DAY/2MAX
039630,000346: 30,3331 03711 TC LIMITSUB
039631,000347: 30,3332 00006 EXTEND
039632,000348: 30,3333 10745 DV COSCDUZ
039633,000349: 30,3334 57675 XCH -DELGMB +1 # -DELGMBY, FETCHING UNLIMITED VALUE
039634,000350:
039635,000351: 30,3335 00006 EXTEND
039636,000352: 30,3336 70737 MP SINCDUZ
039637,000353: 30,3337 20001 DDOUBL
039638,000354: 30,3340 40000 COM
039639,000355: 30,3341 00006 EXTEND # YIELDS +DELATTX UNLIMITD, MAG < 180 DEG,
039640,000356: 30,3342 21674 MSU -DELGMB # BASED ON UNLIMITED DELGMBY.
039641,000357: 30,3343 54001 TS L # ONE BIT ERROR IF OPERANDS IN MSU
039642,000358: 30,3344 51647 INDEX NDXCDUW # OF MIXED SIGNS. WHO CARES?
039643,000359: 30,3345 33751 CA DAXMAX
039644,000360: 30,3346 03711 TC LIMITSUB
039645,000361: 30,3347 55674 TS -DELGMB # SAVE LIMITED +DELATTX
039646,000362: 30,3350 11650 CCS FLAGOODW
039647,000363: 30,3351 41674 CS -DELGMB # FETCH IT BACK CHGING SIGN IF WINDOW GOOD
039648,000364: 30,3352 55674 TS -DELGMB # OTHERWISE USE ZERO FOR -DELATTX
039649,000365: 30,3353 41675 CS -DELGMB +1
039650,000366: 30,3354 00006 EXTEND
039651,000367: 30,3355 70737 MP SINCDUZ
039652,000368: 30,3356 20001 DDOUBL # YIELDS -CNTRIB TO -DELATTX FROM -DELGMBY
039653,000369: 30,3357 27674 ADS -DELGMB # -DELGMBX. NO OVERFLOW SINCE LIMITED TO
039654,000370: # 20DEG(1+SIN(70DEG)/COS(70DEG)) < 180DEG
039655,000371:
|
Page 909 |
039657,000373: # COMPUTE COMMANDED ATTITUDE RATES
039658,000374:
039659,000375: # * OMEGAPD * * -2 -4 SINCDUZ +0 * * -DELGMBX *
039660,000376: # * * * * * *
039661,000377: # * OMEGAQD * = * +0 -8 COSCDUZ COSCDUX -4 SINCDUX * * -DELGMBY *
039662,000378: # * * * * * *
039663,000379: # * OMEGARD * * +0 +8 COSCDUZ SINCDUX -4 COSCDUX * * -DELGMBZ *
039664,000380:
039665,000381: # ATTITUDE ANGLE RATES IN UNITS OF PI/4 RAD/SEC = K TRIG FCNS IN UNITS OF 2 X GIMBAL ANGLE RATES IN UNITS OF
039666,000382: # PI/2 RAD/SEC. THE CONSTANTS ARE BASED ON DELGMB BEING THE GIMBAL ANGLE CHANGES IN UNITS OF PI RADIANS,
039667,000383: # AND 2 SECONDS BEING THE COMPUTATION PERIOD (THE PERIOD BETWEEN SUCCESSIVE PASSES THRU FINDCDUW).
039668,000384:
039669,000385: 30,3360 41674 CS -DELGMB
039670,000386: 30,3361 55642 TS OMEGAPD
039671,000387: 30,3362 41675 CS -DELGMB +1
039672,000388: 30,3363 00006 EXTEND
039673,000389: 30,3364 70737 MP SINCDUZ
039674,000390: 30,3365 20001 DDOUBL
039675,000391: 30,3366 27642 ADS OMEGAPD
039676,000392: 30,3367 27642 ADS OMEGAPD
039677,000393:
039678,000394: 30,3370 41675 CS -DELGMB +1
039679,000395: 30,3371 00006 EXTEND
039680,000396: 30,3372 70747 MP COSCDUX
039681,000397: 30,3373 20001 DDOUBL
039682,000398: 30,3374 00006 EXTEND
039683,000399: 30,3375 70745 MP COSCDUZ
039684,000400: 30,3376 55643 TS OMEGAQD
039685,000401: 30,3377 41676 CS -DELGMB +2
039686,000402: 30,3400 00006 EXTEND
039687,000403: 30,3401 70741 MP SINCDUX
039688,000404: 30,3402 27643 ADS OMEGAQD
039689,000405: 30,3403 27643 ADS OMEGAQD
039690,000406: 30,3404 27643 ADS OMEGAQD
039691,000407:
039692,000408: 30,3405 31675 CA -DELGMB +1
039693,000409: 30,3406 00006 EXTEND
039694,000410: 30,3407 70741 MP SINCDUX
039695,000411: 30,3410 20001 DDOUBL
039696,000412: 30,3411 00006 EXTEND
039697,000413: 30,3412 70745 MP COSCDUZ
039698,000414: 30,3413 55644 TS OMEGARD
039699,000415: 30,3414 41676 CS -DELGMB +2
039700,000416: 30,3415 00006 EXTEND
039701,000417: 30,3416 70747 MP COSCDUX
039702,000418: 30,3417 27644 ADS OMEGARD
039703,000419: 30,3420 27644 ADS OMEGARD
039704,000420: 30,3421 27644 ADS OMEGARD
039705,000421:
|
Page 910 |
039707,000423: # FINAL TRANSFER
039708,000424:
039709,000425: 30,3422 34752 CA TWO
039710,000426: 30,3423 54142 CDUWXFR TS TEM2
039711,000427: 30,3424 50142 INDEX TEM2
039712,000428: 30,3425 31674 CA -DELGMB
039713,000429: 30,3426 00006 EXTEND
039714,000430: 30,3427 73756 MP DT/DELT # RATIO OF DAP INTERVAL TO CDUW INTERVAL
039715,000431: 30,3430 03725 TC ONESTO2S
039716,000432: 30,3431 50142 INDEX TEM2
039717,000433: 30,3432 55637 TS DELCDUX # ANGLE INTERFACE
039718,000434:
039719,000435: 30,3433 50142 INDEX TEM2
039720,000436: 30,3434 11642 CCS OMEGAPD
039721,000437: 30,3435 64753 AD ONE
039722,000438: 30,3436 13440 TCF +2
039723,000439: 30,3437 64753 AD ONE
039724,000440: 30,3440 00006 EXTEND # WE NOW HAVE ABS(OMEGAPD,QD,RD)
039725,000441: 30,3441 50142 INDEX TEM2
039726,000442: 30,3442 71642 MP OMEGAPD
039727,000443: 30,3443 00006 EXTEND
039728,000444: 30,3444 74741 MP BIT11 # 1/16
039729,000445: 30,3445 00006 EXTEND
039730,000446: 30,3446 50142 INDEX TEM2 # 2
039731,000447: 30,3447 11530 DV 1JACC # UNITS PI/4 RAD/SEC
039732,000448: 30,3450 54001 TS L
039733,000449: 30,3451 33753 CA DELERLIM
039734,000450: 30,3452 03711 TC LIMITSUB
039735,000451: 30,3453 50142 INDEX TEM2
039736,000452: 30,3454 55274 TS DELPEROR # LAG ANGLE = OMEGA ABS(OMEGA)/2 ACCEL
039737,000453: 30,3455 10142 CCS TEM2
039738,000454: 30,3456 13423 TCF CDUWXFR
039739,000455:
039740,000456: # HAUSKEEPING AND RETURN
039741,000457:
039742,000458: 30,3457 31645 TCQCDUW CA ECDUWUSR
039743,000459: 30,3460 54003 TS EBANK # RETURN USER'S EBANK
039744,000460:
039745,000461: 30,3461 06042 TC INTPRET
039746,000462: 30,3462 52001 SETPD GOTO
039747,000463: 30,3463 00001 0
039748,000464: 30,3464 03246 QCDUWUSR # NORMAL AND ABNORMAL RETURN TO USER
039749,000465:
|
Page 911 |
039751,000467: # THRUST VECTOR FILTER SUBROUTINE
039752,000468:
039753,000469: 30,3465 00006 FLTRSUB EXTEND
039754,000470: 30,3466 22142 QXCH TEM2
039755,000471: 30,3467 54143 TS TEM3 # SAVE ORIGINAL OFFSET
039756,000472: 30,3470 40000 COM # ONE MCT, NO WDS, CAN BE SAVED IF NEG OF
039757,000473: 30,3471 60001 AD L # ORIG OFFSET ARRIVES IN A, BUT IT'S
039758,000474: 30,3472 00006 EXTEND # NOT WORTH THE INCREASED OBSCURITY.
039759,000475: 30,3473 51647 INDEX NDXCDUW
039760,000476: 30,3474 73744 MP GAINFLTR
039761,000477: 30,3475 54001 TS L # INCR TO OFFSET, UNLIMITED
039762,000478: 30,3476 33746 CA DUNFVLIM # SAME LIMIT FOR Y AND Z
039763,000479: 30,3477 03711 TC LIMITSUB # YIELDS INCR TO OFFSET, LIMITED
039764,000480: 30,3500 60143 AD TEM3 # ORIGINAL OFFSET
039765,000481: 30,3501 54001 TS L # TOTAL OFFSET, UNLIMITED
039766,000482: 30,3502 33747 CA UNFVLIM # SAME LIMIT FOR Y AND Z
039767,000483: 30,3503 03711 TC LIMITSUB # YIELDS TOTAL OFFSET, LIMITED
039768,000484: 30,3504 00142 TC TEM2
039769,000485:
039770,000486: # SUBR TO TEST THE ANGLE BETWEEN THE PROPOSED WINDOW AND THRUST CMD VCTS
039771,000487:
039772,000488: 30,3505 63441 UNWCTEST DOT DSQ
039773,000489: 30,3506 00001 UNX/2
039774,000490: 30,3507 50025 DSU BMN
039775,000491: 30,3510 21751 DOTSWFMX
039776,000492: 30,3511 61212 DCMCL
039777,000493: 30,3512 43531 SSP RVQ # RVQ FOR ALT CHOICE IF DOT MAGN TOO LARGE
039778,000494: 30,3513 03251 FLAGOODW # ZEROING WINDOW GOOD FLAG
039779,000495: 30,3514 00000 0
039780,000496:
|
Page 912 |
039782,000498: # NB2CDUSP RETURNS THE 2'S COMPLEMENT, PI, SP CDU ANGLES X,Y,Z IN MPAC,+1,+2 GIVEN THE MATRIX WHOSE ROW VECTORS
039783,000499: # ARE THE SEMI-UNIT NAV BASE VECTORS X,Y,Z EXPRESSED IN STABLE MEMBER COORDINATES, LOCATED AT 0 IN THE PUSH LIST.
039784,000500:
039785,000501: # NB2CDUSP USES ARCTRGSP WHICH HAS A MAXIMUM ERROR OF +-4 BITS.
039786,000502:
039787,000503: 30,3515 63545 NB2CDUSP DLOAD DSQ
039788,000504: 30,3516 00003 2
039789,000505: 30,3517 51021 BDSU BPL
039790,000506: 30,3520 06460 DP1/4TH
039791,000507: 30,3521 61524 +3
039792,000508: 30,3522 77745 DLOAD
039793,000509: 30,3523 06470 ZEROVECS # IN CASE SIN WAS SLIGHTLY > 1/2
039794,000510: 30,3524 77566 SQRT EXIT # YIELDS COS(CDUZ) IN UNITS OF 2
039795,000511:
039796,000512: 30,3525 00006 EXTEND
039797,000513: 30,3526 30155 DCA MPAC
039798,000514: 30,3527 20001 DDOUBL
039799,000515: 30,3530 54145 TS TEM5
039800,000516: 30,3531 13534 TCF +3
039801,000517: 30,3532 34733 CA POSMAX # OVERFLOW. FETCH POSMAX, MPAC ALWAYS POS
039802,000518: 30,3533 54145 TS TEM5 # COS(CDUZ) IN TEM5, UNITS 1
039803,000519:
039804,000520: 30,3534 50120 INDEX FIXLOC
039805,000521: 30,3535 30002 CA 2
039806,000522: 30,3536 22154 LXCH MPAC
039807,000523: 30,3537 03604 TC ARCTRGSP
039808,000524: 30,3540 54156 TS MPAC +2 # CDUZ
039809,000525:
039810,000526: 30,3541 34755 CA ZERO
039811,000527: 30,3542 03562 TC DVBYCOSM
039812,000528: 30,3543 34751 CA FOUR
039813,000529: 30,3544 03562 TC DVBYCOSM
039814,000530: 30,3545 40141 CS TEM1
039815,000531: 30,3546 03604 TC ARCTRGSP
039816,000532: 30,3547 54155 TS MPAC +1 # CDUY
039817,000533:
039818,000534: 30,3550 34750 CA BIT4
039819,000535: 30,3551 03562 TC DVBYCOSM
039820,000536: 30,3552 33561 CA 16OCT
039821,000537: 30,3553 03562 TC DVBYCOSM
039822,000538: 30,3554 40141 CS TEM1
039823,000539: 30,3555 03604 TC ARCTRGSP
039824,000540: 30,3556 54154 TS MPAC # CDUX
039825,000541:
039826,000542: 30,3557 06042 TC INTPRET
039827,000543: 30,3560 77616 RVQ
039828,000544:
039829,000545: 30,3561 00016 16OCT OCT 16
039830,000546:
|
Page 913 |
039832,000548: # THE ELEMENTS OF THE NAV BASE MATRIX WHICH WE MUST DIVIDE BY COS(MGA)
039833,000549: # ALREADY CONTAIN COS(MGA)/2 AS A FACTOR. THEREFORE THE QUOTIENT SHOULD
039834,000550: # ORDINARILY NEVER EXCEED 1/2 IN MAGNITUDE. BUT IF THE MGA IS NEAR PI/2
039835,000551: # THEN COS(MGA) IS NEAR ZERO, AND THERE MAY BE SOME CHAFF IN THE OTHER
039836,000552: # ELEMENTS OF THE MATRIX WHICH WOULD PRODUCE CHAOS UNDER DIVISION.
039837,000553: # BEFORE DIVIDING WE MAKE SURE COS(MGA) IS AT LEAST ONE BIT LARGER
039838,000554: # THAN THE MAGNITUDE OF THE HIGH ORDER PART OF THE OPERAND.
039839,000555:
039840,000556: # IF ONE OR MORE DIVIDES CANNOT BE PERFORMED, THIS MEANS THAT THE
039841,000557: # REQUIRED MGA IS VERY NEARLY +-PI/2 AND THEREFORE THE OTHER GIMBAL
039842,000558: # ANGLES ARE INDETERMINATE. THE INNER AND OUTER GIMBAL ANGLES RETURNED
039843,000559: # IN THIS CASE WILL BE RANDOM MULTIPLES OF PI/2.
039844,000560:
039845,000561: 30,3562 60120 DVBYCOSM AD FIXLOC
039846,000562: 30,3563 54116 TS ADDRWD # ADRES OF OPERAND
039847,000563:
039848,000564: 30,3564 50116 INDEX ADDRWD # FETCH NEG ABS OF OPERAND, AD TEM5, AND
039849,000565: 30,3565 30000 CA 0 # SKIP DIVIDE IF RESULT NEG OR ZERO
039850,000566: 30,3566 00006 EXTEND
039851,000567: 30,3567 63571 BZMF +2
039852,000568: 30,3570 40000 COM
039853,000569: 30,3571 60145 AD TEM5 # C(A) ZERO OR NEG, C(TEM5) ZERO OR POS
039854,000570: 30,3572 00006 EXTEND
039855,000571: 30,3573 63601 BZMF TSL&TCQ # DIFFERENCE ALWAYS SMALL IF BRANCH
039856,000572:
039857,000573: 30,3574 00006 EXTEND # TEM5 EXCEEDS ABS HIGH ORDER PART OF
039858,000574: 30,3575 50116 INDEX ADDRWD # OPERAND BY AT LEAST ONE BIT.
039859,000575: 30,3576 30001 DCA 0 # THEREFORE IT EXCEEDS THE DP OPERAND
039860,000576: 30,3577 00006 EXTEND # AND DIVISION WILL ALWAYS SUCCEED.
039861,000577: 30,3600 10145 DV TEM5
039862,000578: 30,3601 54001 TSL&TCQ TS L
039863,000579: 30,3602 22141 LXCH TEM1
039864,000580: 30,3603 00002 TC Q
039865,000581:
|
Page 914 |
039867,000583: # ARCTRGSP RETURNS THE 2'S COMPLEMENT, PI, SP ANGLE IN THE A REGISTER GIVEN ITS SINE IN A AND ITS COSINE IN L IN
039868,000584: # UNITS OF 2. THE RESULT IS AN UNAMBIGUOUS ANGLE ANYWHERE IN THE CIRCLE, WITH A MAXIMUM ERROR OF +-4 BITS.
039869,000585: # THE ERROR IS PRODUCED BY THE SUBROUTINE SPARCSIN WHICH IS USED ONLY IN THE REGION +-45 DEGREES.
039870,000586:
039871,000587: 30,3604 00006 ARCTRGSP EXTEND
039872,000588: 30,3605 13647 BZF SINZERO # TO AVOID DIVIDING BY ZERO
039873,000589:
039874,000590: 30,3606 00006 EXTEND
039875,000591: 30,3607 22144 QXCH TEM4
039876,000592: 30,3610 54142 TS TEM2
039877,000593: 30,3611 30001 CA L
039878,000594: 30,3612 54143 TS TEM3
039879,000595: 30,3613 34755 CA ZERO
039880,000596: 30,3614 00006 EXTEND
039881,000597: 30,3615 10142 DV TEM2
039882,000598: 30,3616 00006 EXTEND
039883,000599: 30,3617 13636 BZF USECOS
039884,000600:
039885,000601: 30,3620 10143 CCS TEM3 # SIN IS SMALLER OR EQUAL
039886,000602: 30,3621 34755 CA ZERO
039887,000603: 30,3622 13626 TCF +4
039888,000604: 30,3623 40142 CS TEM2 # IF COS NEG, REVERSE SIGN OF SIN,
039889,000605: 30,3624 54142 TS TEM2 # ANGLE = PI-ARCSIN(SIN)
039890,000606: 30,3625 34735 CA NEGMAX # PICK UP PI, 2'S COMPLEMENT
039891,000607: 30,3626 54143 TS TEM3 # WE NO LONGER NEED COS
039892,000608: 30,3627 30142 CA TEM2
039893,000609: 30,3630 03654 TC SPARCSIN -1
039894,000610: 30,3631 03725 TC ONESTO2S
039895,000611: 30,3632 00006 EXTEND
039896,000612: 30,3633 20143 MSU TEM3
039897,000613: 30,3634 03725 1TO2&TCQ TC ONESTO2S
039898,000614: 30,3635 00144 TC TEM4
039899,000615:
039900,000616: 30,3636 40143 USECOS CS TEM3 # COS IS SMALLER
039901,000617: 30,3637 03654 TC SPARCSIN -1 # ANGLE = SIGN(SIN)(PI/2-ARCSIN(COS))
039902,000618: 30,3640 64736 AD HALF
039903,000619: 30,3641 54143 TS TEM3 # WE NO LONGER NEED COS
039904,000620: 30,3642 10142 CCS TEM2
039905,000621: 30,3643 30143 CA TEM3
039906,000622: 30,3644 13634 TCF 1TO2&TCQ
039907,000623: 30,3645 40143 CS TEM3
039908,000624: 30,3646 13634 TCF 1TO2&TCQ
039909,000625:
039910,000626: 30,3647 10001 SINZERO CCS L
039911,000627: 30,3650 34755 CA ZERO
039912,000628: 30,3651 00002 TC Q
039913,000629: 30,3652 34735 CA NEGMAX # PI, 2'S COMP
039914,000630: 30,3653 00002 TC Q
039915,000631:
|
Page 915 |
039917,000633: # SPARCSIN TAKES AN ARGUMENT SCALED UNITY IN A AND RETURNS AN ANGLE SCALED
039918,000634: # 180 DEGREES IN A. IT HAS BEEN UNIT TESTED IN THE REGION +-.94 (+- 70
039919,000635: # DEGREES) AND THE MAXIMUM ERROR IS +-5 BITS WITH AN AVERAGE TIME OF
039920,000636: # 450 MICROSECONDS. SPARCSIN -1 TAKES THE ARGUMENT SCALED TWO.(BOB CRISP)
039921,000637:
039922,000638: 30,3654 60000 DOUBLE
039923,000639: 30,3655 54021 SPARCSIN TS SR
039924,000640: 30,3656 13662 TCF +4
039925,000641: 30,3657 50000 INDEX A
039926,000642: 30,3660 44734 CS LIMITS
039927,000643: 30,3661 54021 TS SR
039928,000644: 30,3662 00006 EXTEND
039929,000645: 30,3663 70000 MP A
039930,000646: 30,3664 54141 TS TEM1
039931,000647: 30,3665 00006 EXTEND
039932,000648: 30,3666 73710 MP DPL9
039933,000649: 30,3667 63707 AD DPL7
039934,000650: 30,3670 00006 EXTEND
039935,000651: 30,3671 70141 MP TEM1
039936,000652: 30,3672 63706 AD DPL5
039937,000653: 30,3673 00006 EXTEND
039938,000654: 30,3674 70141 MP TEM1
039939,000655: 30,3675 63705 AD DPL3
039940,000656: 30,3676 00006 EXTEND
039941,000657: 30,3677 70141 MP TEM1
039942,000658: 30,3700 63704 AD DPL1
039943,000659: 30,3701 00006 EXTEND
039944,000660: 30,3702 70021 MP SR
039945,000661: 30,3703 00002 TC Q
039946,000662: 30,3704 24406 DPL1 DEC 10502 B-14
039947,000663: 30,3705 00660 DPL3 DEC 432 B-14
039948,000664: 30,3706 16204 DPL5 DEC 7300 B-14
039949,000665: 30,3707 50744 DPL7 DEC -11803 B-14
039950,000666: 30,3710 20315 DPL9 DEC 8397 B-14
039951,000667:
|
Page 916 |
039953,000669: # LIMITSUB LIMITS THE MAGNITUDE OF THE POSITIVE OR NEGATIVE VARIABLE
039954,000670: # ARRIVING IN L TO THE POSITIVE LIMIT ARRIVING IN A.
039955,000671: # THE SIGNED LIMITED VARIABLE IS RETURNED IN A.
039956,000672:
039957,000673: # VERSION COURTESY HUGH BLAIR-SMITH
039958,000674:
039959,000675: 30,3711 54141 LIMITSUB TS TEM1
039960,000676: 30,3712 34755 CA ZERO
039961,000677: 30,3713 00006 EXTEND
039962,000678: 30,3714 10141 DV TEM1
039963,000679: 30,3715 10000 CCS A
039964,000680: 30,3716 22141 LXCH TEM1
039965,000681: 30,3717 13721 TCF +2
039966,000682: 30,3720 13723 TCF +3
039967,000683: 30,3721 30001 CA L
039968,000684: 30,3722 00002 TC Q
039969,000685: 30,3723 40141 CS TEM1
039970,000686: 30,3724 00002 TC Q
039971,000687:
039972,000688: # SUBROUTINE TO CONVERT 1'S COMP SP TO 2'S COMP
039973,000689:
039974,000690: 30,3725 10000 ONESTO2S CCS A
039975,000691: 30,3726 64753 AD ONE
039976,000692: 30,3727 00002 TC Q
039977,000693: 30,3730 40000 CS A
039978,000694: 30,3731 00002 TC Q
039979,000695:
039980,000696: # NO ATTITUDE CONTROL
039981,000697:
039982,000698: 30,3732 05600 NOATTCNT TC ALARM
039983,000699: 30,3733 00402 OCT 00402 # NO ATTITUDE CONTROL
039984,000700:
039985,000701: 30,3734 00004 +2 INHINT # COME HERE FOR NOATTCNT WITHOUT ALARM
039986,000702: 30,3735 04674 TC IBNKCALL # RELINT AT TC INTPRET AFTER TCQCDUW
039987,000703: 30,3736 40166 FCADR STOPRATE
039988,000704: 30,3737 13457 TCF TCQCDUW # RETURN TO USER SKIPPING AUTOPILOT CMDS
039989,000705:
039990,000706: # MIDDLE GIMBAL ANGLE ALARM
039991,000707:
039992,000708: 30,3740 05600 ALARMMGA TC ALARM
039993,000709: 30,3741 00401 OCT 00401
039994,000710: 30,3742 13257 TCF MGARET
039995,000711:
|
Page 917 |
039997,000713: # ************************************************************************
039998,000714: # CONSTANTS
039999,000715: # ************************************************************************
040000,000716:
040001,000717: # ADDRESS CONSTANTS
040002,000718:
040003,000719: 30,3743 03245 ECDUWL ECADR ECDUW
040004,000720:
040005,000721: # THRUST DIRECTION FILTER CONSTANTS
040006,000722:
040007,000723: 30,3744 06315 GAINFLTR DEC .2 # GAIN FILTER SANS CSM
040008,000724: 30,3745 03146 DEC .1 # GAIN FILTER WITH CSM
040009,000725:
040010,000726: 30,3746 00071 DUNFVLIM DEC .007 B-1 # 7 MR MAX CHG IN F DIR IN VEH IN 2 SECS.
040011,000727: # THIS DOES NOT ALLOW FOR S/C ROT RATE.
040012,000728:
040013,000729: 30,3747 02041 UNFVLIM DEC .129 B-1 # 129 MR MAX THRUST OFFSET. 105 MR TRAVEL
040014,000730: # +10MR DEFL+5MR MECH MOUNT+9MR ABLATION.
040015,000731:
040016,000732: # CONSTANTS RELATED TO GIMBAL ANGLE COMPUTATIONS
040017,000733:
040018,000734: 30,3750 01673 DOTSWFMX DEC .93302 B-4 # LIM COLNRTY OF UNWC/2 & UNFC/2 TO 85 DEG
040019,000735: # LOWER PART COMES FROM NEXT CONSTANT
040020,000736:
040021,000737: 30,3751 03434 DAXMAX DEC .11111111111 # DELATTX LIM TO 20 DEG IN 2 SECS, 1'S, PI
040022,000738: 30,3752 00266 DEC .0111111111 # 2 DEG WHEN CSM DOCKED
040023,000739:
040024,000740: 30,3753 01616 DAY/2MAX DEC .05555555555 # LIKEWISE FOR DELATTY
040025,000741: 30,3754 00133 DEC .0055555555
040026,000742:
040027,000743: 30,3755 30,3751 DAZMAX = DAXMAX # LIKEWISE FOR DELATTZ
040028,000744:
040029,000745: 30,3755 14344 CDUZDLIM DEC .3888888888 # 70 DEG LIMIT FOR MGA, 1'S, PI
040030,000746:
040031,000747: # CONSTANTS FOR DATA TRANSFER
040032,000748:
040033,000749: 30,3756 01463 DT/DELT DEC .05 # .1 SEC/2 SEC WHICH IS THE AUTOPILOT
040034,000750: # CONTROL SAMPLE PERIOD/COMPUTATION PERIOD
040035,000751:
040036,000752: 30,3757 30,3753 DELERLIM = DAY/2MAX # 10 DEG LIMIT FOR LAG ANGLES, 1'S, PI
040037,000753:
End of include-file FINDCDUW_-_GUIDAP_INTERFACE.agc. Parent file is MAIN.agc