Source Code

032377,000001: # Copyright: Public domain. 032378,000002: # Filename: P40-P47.agc 032379,000003: # Purpose: Part of the source code for Luminary 1A build 099. 032380,000004: # It is part of the source code for the Lunar Module's (LM) 032381,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 032382,000006: # Assembler: yaYUL 032383,000007: # Contact: Ron Burkey <info@sandroid.org>. 032384,000008: # Website: www.ibiblio.org/apollo. 032385,000009: # Pages: 752-784 032386,000010: # Mod history: 2009-05-19 RSB Adapted from the corresponding 032387,000011: # Luminary131 file, using page 032388,000012: # images from Luminary 1A. 032389,000013: 032390,000014: # This source code has been transcribed or otherwise adapted from 032391,000015: # digitized images of a hardcopy from the MIT Museum. The digitization 032392,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 032393,000017: # the Museum. Many thanks to both. The images (with suitable reduction 032394,000018: # in storage size and consequent reduction in image quality as well) are 032395,000019: # available online at www.ibiblio.org/apollo. If for some reason you 032396,000020: # find that the images are illegible, contact me at info@sandroid.org 032397,000021: # about getting access to the (much) higher-quality images which Paul 032398,000022: # actually created. 032399,000023: 032400,000024: # Notations on the hardcopy document read, in part: 032401,000025: 032402,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 032403,000027: # 16:27 JULY 14, 1969 032404,000028: 032405,000029: # Page 752 032406,000030: # PROGRAM DESCRIPTION: P40BOTH DECEMBER 22, 1966 032407,000031: # MOD 03 BY PETER ADLER MARCH 3, 1967 032408,000032: # CALLED VIA JOB FROM V37E 032409,000033: 032410,000034: # FUNCTIONAL DESCRIPTION 032411,000035: 032412,000036: # 1) TO COMPUTE A PREFERRED IMU ORIENTATION AND A PREFERRED VEHICLE ATTITUDE FOR A LM DPS 032413,000037: # THRUSTING MANEUVER. 032414,000038: # (There is no item #2 in the original program listing --- RSB 2009.) 032415,000039: # 3) TO DO THE VEHICLE MANEUVER TO THE THRUSTING ATTITUDE. 032416,000040: # 4) TO CONTROL THE PGNCS DURING COUNTDOWN, IGNITION, THRUSTING, AND THRUST TERMINATION OF A 032417,000041: # PGNCS CONTROLLED DPS MANEUVER. 032418,000042: # 5) IN POSTBURN --- ZERO RENDEZVOUS COUNTER, MAINTAIN VG CALCULATIONS FOR POSSIBLE RCS MANEUVER, 032419,000043: # SET MAXIMUM DEADBAND IN DAP, RESET STEERLAW CSTEER TO ZERO. 032420,000044: 032421,000045: # NOTE: P42, WHICH IS IN THIS LOG SECTION, DOES THE SAME FOR AN APS BURN, AND P41 DOES 1-3 FOR 032422,000046: # RCS PLUS DISPLAYS PARAMETERS FOR MANUAL CONTROL. 032423,000047: 032424,000048: # SUBROUTINES USED 032425,000049: 032426,000050: # R02 IMU STATUS CHECK 032427,000051: # S40.1 COMPUTATION OF THRUST DIRECTION 032428,000052: # S40.13 LENGTH OF BURN 032429,000053: # S40.2,3 PREFERRED IMU ORIENTATION 032430,000054: # S40.8 X PRODUCT STEERING 032431,000055: # S40.9 LAMBERT VTOGAIN 032432,000056: # R60LEM ATTITUDE MANEUVER 032433,000057: # LEMPREC EXTRAPOLATE STATE VECTOR 032434,000058: # PREREAD AVERAGE G, SERVICER 032435,000059: # ALLCOAST DAP COASTING INITIALIZATION 032436,000060: # CLOKTASK ERGO CLOCKJOB -- COUNT DOWN 032437,000061: # PHASCHANG, INTPRET, FLAGUP, FLAGDOWN, WAITLIST, LONGCALL, GOFLASH, GOFLASHR, GOPERF1, ALARM, 032438,000062: # PRIOLARM, GOTOP00H, ENDOFJOB, BANKCALL, SETMAXDB, SETMINDB, CHECKMM, FLATOUT, OUTFLAT, 032439,000063: # KILLTASK, SGNAGREE, TPAGREE, ETC. 032440,000064: 032441,000065: # RESTARTS VIA GROUP 4 032442,000066: 032443,000067: # DISPLAYS 032444,000068: 032445,000069: # V50N25 203 A/P TO PGNCS, AUTO-THROTTLE MODE, AUTO ATTITUDE CONTROL 032446,000070: # V06N40 TTI, VG, DELTAVM (DISPLAYED ONCE/SECOND BY CLOKTASK) 032447,000071: # V50N99 PLEASE PERFORM ENGINE ON ENABLE 032448,000072: # V06N40 TG (TIME TO GO TO CUTOFF), VG, DELTAVM -- ONCE/SECOND 032449,000073: # V16N40 FINAL VALUES OF TG, VG, DELTAVM 032450,000074: # V16N85 COMP OF VG (BODY AXES) FOR POSS. RCS MANUAL MANEUVER 032451,000075: # V05N09 POSSIBLE ALARMS 032452,000076: # V50N07 PLEASE SELECT P00 032453,000077: 032454,000078: # Page 753 032455,000079: # VIA R30 032456,000080: 032457,000081: # V06N44 HAPO, PERI, TFF 032458,000082: # V06N35 TIME TO PERIGEE, HMS 032459,000083: 032460,000084: # ALARM OR ABORT EXIT MODES 032461,000085: 032462,000086: # PROGRAM ALARM, FLASHING DISPLAY OF ALARM CODE 1706 IF P40 SELECTED WITH DESCENT UNIT STAGED. 032463,000087: # V34E (TERMINATE) IS THE ONLY RESPONSE ACCEPTED. TC GOTOP00H. 032464,000088: 032465,000089: # PROGRAM ALARM, FLASH CODE 1703: TIG LESS THAN 45 SECS AWAY. V34E= GOTOP00H OR V33E= SLIP 032466,000090: # TIG BY 45 SECS. 032467,000091: 032468,000092: # ERASABLE INITIALIZATION 032469,000093: 032470,000094: # DEBRIS 032471,000095: 032472,000096: # OUTPUT 032473,000097: 032474,000098: # SEE SUBROUTINES E.G.: S40.1, S40.2,3, S40.13, S40.8, S40.9, TRIMGIMB 032475,000099: # XDELVFLG = 1 FOR EXT DELV COMPUTATION 032476,000100: # = 0 FOR AIMPT (LAMBERT COMP 032477,000101: 032478,000102: 27,2246 COUNT* $$/P40 032479,000103: 27,2246 E7,1455 EBANK= WHICH 032480,000104: 032481,000105: 36,3147 BANK 36 032482,000106: 36,2000 SETLOC P40S 032483,000107: 36,2000 BANK 032484,000108: 032485,000109: 36,3147 05353 P40LM TC PHASCHNG 032486,000110: 36,3150 04024 OCT 04024 032487,000111: 032488,000112: 36,3151 33133 CAF P40ADRES # INITIALIZATION FOR BURNBABY 032489,000113: 36,3152 55455 TS WHICH 032490,000114: 032491,000115: 36,3153 30106 CA FLGWRD10 032492,000116: 36,3154 74737 MASK APSFLBIT 032493,000117: 36,3155 10000 CCS A 032494,000118: 36,3156 13121 TCF P40ALM 032495,000119: 36,3157 04616 TC BANKCALL # GO DO IMU STATUS CHECK ROUTINE. 032496,000120: 36,3160 11254 CADR R02BOTH 032497,000121: 032498,000122: 36,3161 40111 CS DAPBOOLS # INITIALIZE DVMON 032499,000123: 36,3162 74737 MASK CSMDOCKD 032500,000124: 36,3163 10000 CCS A 032501,000125: 36,3164 32020 CAF THRESH1 032502,000126: 36,3165 62021 AD THRESH3 032503,000127: 36,3166 55251 TS DVTHRUSH 032504,000128: 36,3167 34751 CAF FOUR 032505,000129: 36,3170 55515 TS DVCNTR 032506,000130: # Page 754 032507,000131: 36,3171 06037 TC INTPRET # LOAD CONSTANTS FOR DPS BURN 032508,000132: 36,3172 43175 VLOAD CLEAR # LOAD F, MDOT, TDECAY 032509,000133: 36,3173 34001 FDPS 032510,000134: 36,3174 02663 NOTHROTL 032511,000135: 36,3175 03735 STORE F 032512,000136: 36,3176 77735 SLOAD 032513,000137: 36,3177 26002 DPSVEX 032514,000138: 36,3200 70476 P40IN DCOMP SR1 032515,000139: 36,3201 37743 STCALL VEX # LOAD EXHAUST VELOCITY FOR TGO COMP. 032516,000140: 36,3202 56246 S40.1 # COMPUTES UT AND VGTIG 032517,000141: 36,3203 77624 CALL 032518,000142: 36,3204 56413 S40.2,3 # COMPUTES PREFERRED IMU ORIENTATION 032519,000143: 36,3205 77776 EXIT 032520,000144: 032521,000145: 36,3206 00004 INHINT 032522,000146: 36,3207 04674 TC IBNKCALL 032523,000147: 36,3210 40142 CADR PFLITEDB # ZERO ATTITUDE ERRORS, SET DB TO ONE DEG. 032524,000148: 032525,000149: 36,3211 03213 TC P40SXT4 032526,000150: 032527,000151: # ******************************** 032528,000152: 032529,000153: 36,3212 12126 TCF BURNBABY 032530,000154: 032531,000155: # ******************************** 032532,000156: 032533,000157: 36,3213 00006 P40SXT4 EXTEND 032534,000158: 36,3214 23142 QXCH P40/RET 032535,000159: 36,3215 00003 P41MANU RELINT 032536,000160: 032537,000161: 36,3216 05516 TC DOWNFLAG # CLEAR 3AXISFLG -- R60 USE VECPOINT. 032538,000162: 36,3217 00124 ADRES 3AXISFLG 032539,000163: 032540,000164: 36,3220 04616 TC BANKCALL 032541,000165: 36,3221 54123 CADR R60LEM # DO ATTITUDE MANEUVER ROUTINE 032542,000166: 36,3222 01142 TC P40/RET 032543,000167: 032544,000168: 36,3223 E7,1462 EBANK= TRKMKCNT 032545,000169: 36,3223 30005 POSTBURN CA Z 032546,000170: 36,3224 55163 TS DISPDEX 032547,000171: 36,3225 00006 EXTEND 032548,000172: 36,3226 32056 DCA ACADN85 032549,000173: 36,3227 53253 DXCH AVEGEXIT 032550,000174: 36,3230 33760 CAF V16N40 032551,000175: 36,3231 04616 TC BANKCALL 032552,000176: 36,3232 20635 CADR GOFLASHR 032553,000177: 36,3233 03256 TC TERM40 032554,000178: 36,3234 13241 TCF TIGNOW 032555,000179: 36,3235 03223 TC POSTBURN 032556,000180: # Page 755 032557,000181: 36,3236 05353 P40PHS1 TC PHASCHNG 032558,000182: 36,3237 00014 OCT 00014 032559,000183: 36,3240 15155 TCF ENDOFJOB 032560,000184: 032561,000185: 36,3241 00004 TIGNOW INHINT 032562,000186: 36,3242 04674 TC IBNKCALL 032563,000187: 36,3243 40153 CADR ZATTEROR 032564,000188: 36,3244 04674 TC IBNKCALL 032565,000189: 36,3245 40140 CADR SETMINDB 032566,000190: 36,3246 00003 RELINT 032567,000191: 36,3247 33761 CAF V16N85B 032568,000192: 36,3250 04616 TC BANKCALL 032569,000193: 36,3251 20462 CADR REFLASHR 032570,000194: 36,3252 03256 TC TERM40 032571,000195: 36,3253 13256 TCF TERM40 032572,000196: 36,3254 03247 TC -5 032573,000197: 032574,000198: 36,3255 13236 TCF P40PHS1 032575,000199: 032576,000200: 36,3256 00006 TERM40 EXTEND 032577,000201: 36,3257 32106 DCA SERVCADR 032578,000202: 36,3260 53253 DXCH AVEGEXIT 032579,000203: 36,3261 34755 CAF ZERO 032580,000204: 36,3262 55462 TS TRKMKCNT # ZERO RENDZVS CNTERS 032581,000205: 36,3263 30005 CA Z 032582,000206: 36,3264 55163 TS DISPDEX 032583,000207: 36,3265 00004 INHINT 032584,000208: 36,3266 04674 TC IBNKCALL 032585,000209: 36,3267 40123 CADR RESTORDB 032586,000210: 36,3270 00003 RELINT 032587,000211: 36,3271 06001 TC GOTOP00H 032588,000212: 032589,000213: 36,3272 E7,1455 EBANK= WHICH 032590,000214: 36,3272 COUNT* $$/P41 032591,000215: 36,3272 33134 P41LM CAF P41ADRES # INITIALIZATION FOR BURNBABY 032592,000216: 36,3273 55455 TS WHICH 032593,000217: 032594,000218: 36,3274 04616 TC BANKCALL 032595,000219: 36,3275 11254 CADR R02BOTH 032596,000220: 032597,000221: 36,3276 06037 TC INTPRET # BOTH LM 032598,000222: 36,3277 71214 BON DLOAD # IF NJETSFLAG IS SET, LOAD Z JET F 032599,000223: 36,3300 00700 NJETSFLG 032600,000224: 36,3301 75305 P41FJET1 032601,000225: 36,3302 34015 FRCS4 # IF NJETSFLG IS CLEAR, LOAD 4 JET F 032602,000226: 032603,000227: 36,3303 37735 P41FJET STCALL F 032604,000228: 36,3304 75310 P41IN 032605,000229: 36,3305 77745 P41FJET1 DLOAD 032606,000230: # Page 756 032607,000231: 36,3306 34017 FRCS2 032608,000232: 36,3307 03735 STORE F 032609,000233: 032610,000234: 36,3310 77624 P41IN CALL 032611,000235: 36,3311 56246 S40.1 # BOTH 032612,000236: 36,3312 77624 P41NORM CALL 032613,000237: 36,3313 56413 S40.2,3 # CALCULATE PREFERRED IMU ORIENTATION AND 032614,000238: 36,3314 77776 EXIT # SET PFRATFLG. 032615,000239: 032616,000240: 36,3315 00004 INHINT 032617,000241: 36,3316 04674 TC IBNKCALL 032618,000242: 36,3317 40153 CADR ZATTEROR # ZERO ATTITUDE ERRORS 032619,000243: 36,3320 04674 TC IBNKCALL 032620,000244: 36,3321 40140 CADR SETMINDB # SET 0.3 DEGREE DEADBAND 032621,000245: 36,3322 03213 TC P40SXT4 032622,000246: 032623,000247: 36,3323 06037 TC INTPRET 032624,000248: 36,3324 45175 VLOAD CALL # TRANSFORM VELOCITY-TO-BE-GAINED AT TIG 032625,000249: 36,3325 03701 VGTIG # FROM REFERENCE COORDINATES TO LM BODY- 032626,000250: 36,3326 57267 S41.1 # AXIS COORDINATES FOR V16N85 DISPLAY. 032627,000251: 36,3327 03502 STORE VGBODY # (SCALED AT 2 (+7) METERS/CENTISECOND) 032628,000252: 36,3330 77776 EXIT 032629,000253: 032630,000254: 36,3331 33761 CAF V16N85B 032631,000255: 36,3332 04616 TC BANKCALL 032632,000256: 36,3333 20446 CADR GODSPRET 032633,000257: 032634,000258: 36,3334 35017 CAF PRIO5 032635,000259: 36,3335 55163 TS DISPDEX # FOR SAFETY ONLY 032636,000260: 36,3336 05105 TC FINDVAC 032637,000261: 36,3337 E7,1700 EBANK= VGPREV 032638,000262: 36,3337 03361 74067 2CADR DYNMDISP 032639,000263: 032640,000264: 36,3341 05327 TC 2PHSCHNG 032641,000265: 36,3342 00076 OCT 00076 # GROUP 6 RESTARTS AT REDO6.7 032642,000266: 36,3343 04024 OCT 04024 # GROUP 4 RESTARTS HERE 032643,000267: 032644,000268: # ******************************** 032645,000269: 032646,000270: 36,3344 12135 TCF B*RNB*B* 032647,000271: 032648,000272: # ******************************** 032649,000273: 032650,000274: 36,3345 34777 BLNKWAIT CAF 1SEC 032651,000275: 36,3346 04616 TC BANKCALL 032652,000276: 36,3347 01735 CADR DELAYJOB 032653,000277: 032654,000278: 36,3350 31163 REDO6.7 CA DISPDEX # ON A RESTART, DO NOT PUT UP DISPLAY IF 032655,000279: 36,3351 64752 AD TWO # BLANKING (BETWEEN TIG-35 AND TIG-30) 032656,000280: 032657,000281: # ******************************** 032658,000282: # Page 757 032659,000283: 032660,000284: 36,3352 00006 EXTEND 032661,000285: 36,3353 13345 BZF BLNKWAIT 032662,000286: 032663,000287: 36,3354 33761 CAF V16N85B 032664,000288: 36,3355 04616 TC BANKCALL 032665,000289: 36,3356 20446 CADR GODSPRET 032666,000290: 032667,000291: 36,3357 35017 CAF PRIO5 032668,000292: 36,3360 05146 TC PRIOCHNG 032669,000293: 032670,000294: 36,3361 31163 DYNMDISP CA DISPDEX # A NON-POSITIVE DISPDEX INDICATES PAST 032671,000295: 36,3362 00006 EXTEND # TIG-35, SO SERVICER WILL BE DOING THE 032672,000296: 36,3363 65155 BZMF ENDOFJOB # UPDATING OF NOUN 85. STOP DYNMDISP. 032673,000297: 36,3364 06037 TC INTPRET 032674,000298: 36,3365 45175 VLOAD CALL 032675,000299: 36,3366 03701 VGPREV 032676,000300: 36,3367 57267 S41.1 032677,000301: 36,3370 03502 STORE VGBODY 032678,000302: 36,3371 77776 EXIT 032679,000303: 36,3372 34777 CAF 1SEC 032680,000304: 36,3373 04616 TC BANKCALL 032681,000305: 36,3374 01735 CADR DELAYJOB 032682,000306: 36,3375 13361 TCF DYNMDISP 032683,000307: 032684,000308: 36,3376 06037 CALCN85 TC INTPRET 032685,000309: 36,3377 77624 CALL 032686,000310: 36,3400 75611 UPDATEVG 032687,000311: 36,3401 45175 VLOAD CALL 032688,000312: 36,3402 03701 VGPREV 032689,000313: 36,3403 57267 S41.1 032690,000314: 36,3404 03502 STORE VGBODY 032691,000315: 36,3405 77776 EXIT 032692,000316: 36,3406 04635 TC POSTJUMP 032693,000317: 36,3407 65770 CADR SERVEXIT 032694,000318: 032695,000319: 36,3410 COUNT* $$/P42 032696,000320: 36,3410 E7,1455 EBANK= WHICH 032697,000321: 032698,000322: 36,3410 05353 P42LM TC PHASCHNG 032699,000323: 36,3411 04024 OCT 04024 032700,000324: 032701,000325: 36,3412 33135 CAF P42ADRES # INITIALIZATION FOR BURNBABY. 032702,000326: 36,3413 55455 TS WHICH 032703,000327: 032704,000328: 36,3414 40106 CS FLGWRD10 032705,000329: 36,3415 74737 MASK APSFLBIT 032706,000330: 36,3416 10000 CCS A 032707,000331: 36,3417 03121 TC P40ALM 032708,000332: 36,3420 04616 P42STAGE TC BANKCALL 032709,000333: # Page 758 032710,000334: 36,3421 11254 CADR R02BOTH 032711,000335: 36,3422 36000 CAF THRESH2 # INITIALIZE DVMON 032712,000336: 36,3423 55251 TS DVTHRUSH 032713,000337: 36,3424 34751 CAF FOUR 032714,000338: 36,3425 55515 TS DVCNTR 032715,000339: 032716,000340: 36,3426 06037 TC INTPRET 032717,000341: 36,3427 77214 SET VLOAD # LOAD FAPS, MDOTAPS, AND ATDECAY INTO 032718,000342: 36,3430 01072 AVFLAG # F, MDOT, AND TDECAY BY VECTOR LOAD. 032719,000343: 36,3431 34007 FAPS 032720,000344: 36,3432 03735 STORE F 032721,000345: 36,3433 52135 SLOAD GOTO 032722,000346: 36,3434 26001 APSVEX 032723,000347: 36,3435 75200 P40IN 032724,000348: 032725,000349: 36,3436 E7,1455 EBANK= WHICH 032726,000350: 032727,000351: 36,3436 COUNT* $$/P47 032728,000352: 36,3436 04616 P47LM TC BANKCALL 032729,000353: 36,3437 11254 CADR R02BOTH 032730,000354: 36,3440 06037 TC INTPRET 032731,000355: 36,3441 77624 CALRB 032732,000356: 36,3442 27553 MIDTOAV2 032733,000357: 032734,000358: 36,3443 30155 CA MPAC +1 032735,000359: 36,3444 05173 TC TWIDDLE 032736,000360: 36,3445 03447 ADRES STARTP47 032737,000361: 032738,000362: 36,3446 15155 TCF ENDOFJOB 032739,000363: 032740,000364: 36,3447 05353 STARTP47 TC PHASCHNG 032741,000365: 36,3450 05014 OCT 05014 032742,000366: 36,3451 77777 OCT 77777 032743,000367: 032744,000368: 36,3452 00006 EXTEND 032745,000369: 36,3453 33764 DCA ACADN83 032746,000370: 36,3454 53253 DXCH AVEGEXIT 032747,000371: 36,3455 34736 CAF PRIO20 032748,000372: 36,3456 05105 TC FINDVAC 032749,000373: 36,3457 E7,1622 EBANK= DELVIMU 032750,000374: 36,3457 03513 74067 2CADR P47BODY 032751,000375: 032752,000376: 36,3461 12342 TCF REDO4.2 # CHECKS PHASE 5 AND GOES TO PREREAD 032753,000377: # SEE TIG-30 IN BURNBABY 032754,000378: 032755,000379: 36,3462 06037 CALCN83 TC INTPRET 032756,000380: 36,3463 53375 VLOAD VAD 032757,000381: 36,3464 03502 DELVCTL 032758,000382: 36,3465 03527 DELVREF 032759,000383: 36,3466 03656 STORE DELVSIN # TEMP STORAGE FOR RESTARTS 032760,000384: # Page 759 032761,000385: 36,3467 77624 CALL 032762,000386: 36,3470 57267 S41.1 032763,000387: 36,3471 03623 STORE DELVIMU 032764,000388: 36,3472 77776 EXIT 032765,000389: 36,3473 05353 TC PHASCHNG 032766,000390: 36,3474 10035 OCT 10035 # REREADAC AND HERE 032767,000391: 032768,000392: 36,3475 06037 TC INTPRET 032769,000393: 36,3476 77775 VLOAD 032770,000394: 36,3477 03656 DELVSIN 032771,000395: 36,3500 03502 STORE DELVCTL 032772,000396: 36,3501 77776 EXIT 032773,000397: 032774,000398: 36,3502 04635 TC POSTJUMP 032775,000399: 36,3503 65770 CADR SERVEXIT 032776,000400: 032777,000401: 36,3504 33762 P47BOD CAF V1683 032778,000402: 36,3505 04616 TC BANKCALL 032779,000403: 36,3506 20635 CADR GOFLASHR 032780,000404: 36,3507 06001 TC GOTOP00H 032781,000405: 36,3510 06001 TC GOTOP00H 032782,000406: 032783,000407: 36,3511 13513 TCF P47BODY 032784,000408: 032785,000409: 36,3512 13236 TCF P40PHS1 032786,000410: 032787,000411: 36,3513 06037 P47BODY TC INTPRET 032788,000412: 36,3514 77775 VLOAD 032789,000413: 36,3515 06522 HI6ZEROS 032790,000414: 36,3516 03623 STORE DELVIMU 032791,000415: 36,3517 03502 STORE DELVCTL 032792,000416: 36,3520 77776 EXIT 032793,000417: 36,3521 03504 TC P47BOD 032794,000418: 032795,000419: 36,3522 COUNT* $$/P40 032796,000420: 36,3522 31517 IMPLBURN CA TGO +1 032797,000421: 36,3523 03735 TC GETDT 032798,000422: 36,3524 05173 TC TWIDDLE 032799,000423: 36,3525 03542 ADRES ENGOFTSK 032800,000424: 36,3526 05516 TC DOWNFLAG # TURN OFF IGNFLAG 032801,000425: 36,3527 00153 ADRES IGNFLAG 032802,000426: 36,3530 05516 TC DOWNFLAG # TURN OFF ASTNFLG 032803,000427: 36,3531 00154 ADRES ASTNFLAG 032804,000428: 36,3532 05516 TC DOWNFLAG # TURN OFF IMPULSW 032805,000429: 36,3533 00044 ADRES IMPULSW 032806,000430: 36,3534 05353 TC PHASCHNG # RESTART PROTECT ENGOFTSK (ENGINOFF) 032807,000431: 36,3535 40114 OCT 40114 032808,000432: 032809,000433: 36,3536 05221 TC FIXDELAY # WAIT HALF A SECOND 032810,000434: 36,3537 00062 DEC 50 B-14 032811,000435: # Page 760 032812,000436: 36,3540 02653 TC NOULLAGE # TURN OFF ULLAGE 032813,000437: 032814,000438: 36,3541 05261 TC TASKOVER 032815,000439: 032816,000440: 36,3542 04674 ENGOFTSK TC IBNKCALL # THIS CODING ALLOWS ENGINOFF ET AL TO BE 032817,000441: 36,3543 75545 CADR ENGINOFF # USED BOTH BY WAITLIST AND BY TC IBNKCALL 032818,000442: 36,3544 05261 TC TASKOVER 032819,000443: 032820,000444: 36,3545 34644 ENGINOFF CAF PRIO12 # MUST BE LOWER PRIO THAN CLOCKJOB 032821,000445: 36,3546 05105 TC FINDVAC 032822,000446: 36,3547 E7,1462 EBANK= TRKMKCNT 032823,000447: 36,3547 03223 74067 2CADR POSTBURN 032824,000448: 032825,000449: 36,3551 34753 ENGINOF2 CAF BIT1 032826,000450: 36,3552 05203 TC WAITLIST 032827,000451: 36,3553 E6,1422 EBANK= OMEGAQ 032828,000452: 36,3553 03606 74066 2CADR COASTSET 032829,000453: 032830,000454: 36,3555 40103 ENGINOF1 CS FLAGWRD7 # SET THE IDLE BIT. 032831,000455: 36,3556 74745 MASK IDLEFBIT 032832,000456: 36,3557 26103 ADS FLAGWRD7 032833,000457: 032834,000458: 36,3560 02653 TC NOULLAGE 032835,000459: 032836,000460: 36,3561 00006 ENGINOF4 EXTEND 032837,000461: 36,3562 30025 DCA TIME2 032838,000462: 36,3563 53345 DXCH TEVENT 032839,000463: 032840,000464: 36,3564 44745 ENGINOF3 CS ENGONBIT # INSURE ENGONFLG IS CLEAR. 032841,000465: 36,3565 70101 MASK FLAGWRD5 032842,000466: 36,3566 54101 TS FLAGWRD5 032843,000467: 36,3567 44355 CS PRIO30 # ENGINOF3 IS USED AS A PRE-ENGINE ARM 032844,000468: 36,3570 00006 EXTEND # SUBROUTINE. 032845,000469: 36,3571 02011 RAND DSALMOUT 032846,000470: 36,3572 64736 AD PRIO20 # TURN OFF THE ENGINE -- DPS OR APS 032847,000471: 36,3573 00006 EXTEND 032848,000472: 36,3574 01011 WRITE DSALMOUT 032849,000473: 032850,000474: 36,3575 40111 CS DAPBOOLS # TURN OFF TRIM GIMBAL 032851,000475: 36,3576 74736 MASK USEQRJTS 032852,000476: 36,3577 26111 ADS DAPBOOLS 032853,000477: 032854,000478: 36,3600 44737 CS HIRTHROT # ZERO AUTO-THROTTLE WHENEVER THE ENGINE 032855,000479: 36,3601 54055 TS THRUST # IS TURNED OFF. 032856,000480: 36,3602 34750 CAF BIT4 # THE HARDWARE DOES SO ONLY WHEN THE 032857,000481: 36,3603 00006 EXTEND # ENGINE IS DISARMED. 032858,000482: 36,3604 05014 WOR CHAN14 032859,000483: 032860,000484: 36,3605 04707 TC ISWRETRN 032861,000485: # Page 761 032862,000486: 36,3606 04674 COASTSET TC IBNKCALL # DO DAP COASTING INITIALIZATION 032863,000487: 36,3607 40204 CADR ALLCOAST 032864,000488: 36,3610 05261 TC TASKOVER 032865,000489: 032866,000490: 36,3611 E6,1422 EBANK= OMEGAQ 032867,000491: 36,3611 45020 UPDATEVG STQ CALL 032868,000492: 36,3612 03665 QTEMP1 032869,000493: 36,3613 56447 S40.8 # X-PRODUCT STEERING 032870,000494: 36,3614 43014 BON BON 032871,000495: 36,3615 01307 XDELVFLG 032872,000496: 36,3616 03665 QTEMP1 032873,000497: 36,3617 03705 NORMSW 032874,000498: 36,3620 75633 180SETUP 032875,000499: 36,3621 45345 DLOAD DSU 032876,000500: 36,3622 01235 PIPTIME 032877,000501: 36,3623 03763 TIGSAVE 032878,000502: 36,3624 50025 DSU BMN 032879,000503: 36,3625 03432 TNEWA 032880,000504: 36,3626 75656 GETRANS 032881,000505: 36,3627 43345 DLOAD DAD 032882,000506: 36,3630 03763 TIGSAVE 032883,000507: 36,3631 03432 TNEWA 032884,000508: 36,3632 03765 STORE TIGSAVEP 032885,000509: 36,3633 77776 180SETUP EXIT 032886,000510: 36,3634 10755 CCS PHASE2 032887,000511: 36,3635 13663 TCF NO.9 032888,000512: 36,3636 34737 CAF PRIO10 032889,000513: 36,3637 00004 INHINT 032890,000514: 36,3640 05105 TC FINDVAC 032891,000515: 36,3641 E7,1706 EBANK= VG 032892,000516: 36,3641 02707 56067 2CADR S40.9 # LAMBERT VTOGAIN 032893,000517: 032894,000518: 36,3643 05327 TC 2PHSCHNG 032895,000519: 36,3644 00172 OCT 00172 # 2.17SPOT FOR S40.9 032896,000520: 36,3645 10035 OCT 10035 # HERE AND REREADAC AFTER RESTART 032897,000521: 032898,000522: 36,3646 06037 ENDSTEER TC INTPRET 032899,000523: 36,3647 77745 DLOAD 032900,000524: 36,3650 03765 TIGSAVEP 032901,000525: 36,3651 27763 STOVL TIGSAVE 032902,000526: 36,3652 01221 RN 032903,000527: 36,3653 26323 STOVL RINIT 032904,000528: 36,3654 01227 VN 032905,000529: 36,3655 02331 STORE VINIT 032906,000530: 36,3656 45345 GETRANS DLOAD DSU 032907,000531: 36,3657 03631 TPASS4 032908,000532: 36,3660 01235 PIPTIME 032909,000533: 36,3661 37452 STCALL DELLT4 032910,000534: 36,3662 03665 QTEMP1 032911,000535: 032912,000536: # Page 762 032913,000537: 36,3663 06037 NO.9 TC INTPRET 032914,000538: 36,3664 77650 GOTO 032915,000539: 36,3665 03665 QTEMP1 032916,000540: 36,3666 06037 STEERING TC INTPRET 032917,000541: 032918,000542: 36,3667 77624 CALL 032919,000543: 36,3670 75611 UPDATEVG 032920,000544: 36,3671 77776 EXIT 032921,000545: 032922,000546: 36,3672 E7,1515 EBANK= DVCNTR 032923,000547: 36,3672 00004 NSTEER INHINT 032924,000548: 36,3673 35016 CA EBANK7 032925,000549: 36,3674 54003 TS EBANK 032926,000550: 36,3675 40076 CS FLAGWRD2 # CHECK IMPULSE SWITCH. IT IS SET EITHER 032927,000551: 36,3676 74743 MASK IMPULBIT # BY S40.13 IF TBURN<6 SECS OR BY S40.8 IF 032928,000552: 36,3677 10000 CCS A # STEERING IS ALMOST DONE. 032929,000553: 032930,000554: 36,3700 13705 TCF +5 # IMPULSW = 0 EXIT 032931,000555: 36,3701 40103 CS FLAGWRD7 # IMPULSW = 1 WHY? CHECK IDLEFLAG 032932,000556: 36,3702 74745 MASK IDLEFBIT # (IDLEFLAG = 0 --> DVMON ON) 032933,000557: 36,3703 10000 CCS A 032934,000558: 36,3704 13707 TCF +3 # DVMON ON --> THRUSTING --> IMPULSW VIA S40.8 032935,000559: 36,3705 04635 TC POSTJUMP # DVMON OFF --> IMPULSW ON VIA S40.13 --> EXIT 032936,000560: 36,3706 65770 CADR SERVEXIT 032937,000561: 032938,000562: 36,3707 04674 TC IBNKCALL 032939,000563: 36,3710 40165 CADR STOPRATE 032940,000564: 032941,000565: 36,3711 05516 TC DOWNFLAG # TURN OFF IMPULSW 032942,000566: 36,3712 00044 ADRES IMPULSW 032943,000567: 032944,000568: 36,3713 05504 TC UPFLAG 032945,000569: 36,3714 00161 ADRES IDLEFLAG # TURN OFF DVMON 032946,000570: 032947,000571: 36,3715 00004 INHINT 032948,000572: 36,3716 00006 EXTEND 032949,000573: 36,3717 31442 DCA TIG 032950,000574: 36,3720 52155 DXCH MPAC 032951,000575: 36,3721 00006 EXTEND 032952,000576: 36,3722 40025 DCS TIME2 032953,000577: 36,3723 20155 DAS MPAC 032954,000578: 36,3724 07257 TC TPAGREE 032955,000579: 36,3725 30155 CAE MPAC +1 032956,000580: 36,3726 03735 TC GETDT 032957,000581: 36,3727 05173 TC TWIDDLE 032958,000582: 36,3730 03542 ADRES ENGOFTSK 032959,000583: 36,3731 05327 TC 2PHSCHNG 032960,000584: 36,3732 40114 OCT 40114 # ENGOFTSK (ENGINOFF) 032961,000585: 36,3733 00035 OCT 00035 # SERVICER -- REREADAC 032962,000586: # Page 763 032963,000587: 36,3734 15155 TCF ENDOFJOB 032964,000588: 032965,000589: 36,3735 10000 GETDT CCS A 032966,000590: 36,3736 13741 TCF +3 032967,000591: 36,3737 13741 TCF +2 032968,000592: 36,3740 34755 CAF ZERO 032969,000593: 36,3741 64753 AD ONE 032970,000594: 36,3742 56001 XCH L 032971,000595: 36,3743 34755 CAF ZERO 032972,000596: 36,3744 53517 DXCH TGO 032973,000597: 36,3745 31517 CA TGO +1 032974,000598: 36,3746 00002 TC Q 032975,000599: 032976,000600: # ************************************** 032977,000601: 032978,000602: 36,3747 00000 SEC15DP OCT 00000 # DON'T SEPARATE 032979,000603: 36,3750 02734 SEC15 DEC 1500 B-14 # DON'T SEPARATE 032980,000604: 36,3751 00000 05670 SEC30DP 2DEC 3000 B-28 032981,000605: 032982,000606: 36,3753 00000 SEC45DP OCT 00000 # DON'T MOVE FROM JUST BEFORE SEC45 032983,000607: 36,3754 10624 SEC45 DEC 4500 B-14 032984,000608: 36,3755 00000 5SECDP OCT 00000 # DON'T MOVE FROM JUST BEFORE 5SEC 032985,000609: 36,3756 00764 5SEC DEC 500 B-14 032986,000610: 36,3757 05050 26SECS DEC 2600 B-14 032987,000611: 36,3760 04050 V16N40 VN 1640 032988,000612: 36,3761 04125 V16N85B VN 1685 032989,000613: 36,3762 04123 V1683 VN 1683 032990,000614: 36,3763 4777 SEC01 = 1SEC 032991,000615: 36,3763 36,2055 ACADN85 = P41TABLE +2 032992,000616: 032993,000617: 36,3763 E7,1622 EBANK= DELVIMU 032994,000618: 36,3763 03462 74067 ACADN83 2CADR CALCN83 032995,000619: 032996,000620: # ****************************************** 032997,000621: # Page 764 032998,000622: # PROGRAM DESCRIPTION: S40.1 DATE: 15 NOV 66 032999,000623: # MOD N02 LOG SECTION P40-P47 033000,000624: # MOD BY ZELDIN AND ADAPTED BY TALAYCO 033001,000625: 033002,000626: # FUNCTIONAL DESCRIPTION 033003,000627: # COMPUTE INITIAL THRUST DIRECTION(UT) AND INITIAL VALUE OF VG 033004,000628: # VECTOR(VGTIG). 033005,000629: 033006,000630: # CALLING SEQUENCE 033007,000631: # L CALL 033008,000632: # L+1 S40.1 033009,000633: 033010,000634: # NORMAL EXIT MODE 033011,000635: # AT L+2 OF CALLING SEQUENCE (GOTO L+2) NORMAL RETURN OR 033012,000636: # ERROR RETURN IF NOSOFLAG =1 033013,000637: 033014,000638: # SUBROUTINES CALLED 033015,000639: # LEMPREC 033016,000640: # INITVEL 033017,000641: # CALCGRAV 033018,000642: # MIDGIM 033019,000643: 033020,000644: # ALARM OR ABORT EXIT MODES 033021,000645: # L+2 OF CALLING SEQUENCE, UNSOLVABLE CONIC IF NOSOFLAG=1 033022,000646: 033023,000647: # ERASABLE INITIALIZATION REQUIRED 033024,000648: # WEIGHT/G ANTICIPATED VEHICLE MASS DP B16 KGM 033025,000649: # XDELVFLG 1=DELTA-V MANEUVER, 0=AIMPT STEER 033026,000650: # F THRUST FOR ENGINE USED 033027,000651: # IF DELTA-V MANEUVER: 033028,000652: # DELVSIN SPECIFIED DELTA-V REQUIRED IN 033029,000653: # INERTIAL COORDS. OF ACTIVE VEHICLE 033030,000654: # AT TIME OF IGNITION VECTOR B7 M/CS 033031,000655: # DELVSAB MAG. OF DELVSIN DP B7 M/CS 033032,000656: # RTIG POSITION AT TIME OF IGNITION VECTOR B29 M 033033,000657: # VTIG VELOCITY AT TIME OF IGNITION VECTOR B7 M/CS. 033034,000658: # IF AIMPT STEER: 033035,000659: # TIG TIME OF IGNITION DP B28 CS 033036,000660: # RTARG POSITION TARGET TIME VECTOR B29 M 033037,000661: # CSTEER C FOR STEER LAW DP B2 033038,000662: # DLTARG TARGET TIME-IGNITION TIME DP B28 CS 033039,000663: 033040,000664: # OUTPUT 033041,000665: # UT DESIRED THRUST DIRECTION VECT. B2 M/(CS.CS) 033042,000666: # VGTIG INITIAL VALUE OF VELOCITY 033043,000667: # TO BE GAINED (INERT. COORD.) VECTOR B7 M/CS 033044,000668: # DELVLVC VGTIG IN LOC. VERT. COORDS. B7 M/CS 033045,000669: # BDT V REQUIRED AT TIG -V REQUIRED AT (TIG-2SEC) 033046,000670: # -GDT FOR S40.13 VECT B7 M/CS 033047,000671: # RTIG CALC IN S40.1B (AIMPT) FOR S40.2,3 VECTOR B27M 033048,000672: # POSITION AT TIME OF IGNITION 033049,000673: 033050,000674: # DEBRIS QTEMP1 033051,000675: # MPAC, QPRET 033052,000676: # PUSHLIST 033053,000677: 033054,000678: 14,2347 BANK 14 033055,000679: 27,2000 SETLOC P40S1 033056,000680: 27,2000 BANK 033057,000681: # Page 765 033058,000682: 27,2246 COUNT* $$/S40.1 033059,000683: 27,2246 71220 S40.1 STQ DLOAD 033060,000684: 27,2247 03632 QTEMP 033061,000685: 27,2250 03442 TIG 033062,000686: 27,2251 03763 STORE TIGSAVE 033063,000687: 27,2252 77614 DELVTEST BOFF 033064,000688: 27,2253 01347 XDELVFLG 033065,000689: 27,2254 56336 S40.1B 033066,000690: 27,2255 77201 CALCTHET SETPD VLOAD 033067,000691: 27,2256 00001 0 033068,000692: 27,2257 03650 VTIG 033069,000693: 27,2260 02331 STORE VINIT 033070,000694: 27,2261 53435 VXV UNIT 033071,000695: 27,2262 03642 RTIG 033072,000696: 27,2263 27673 STOVL UT # UP IN UT 033073,000697: 27,2264 03642 RTIG 033074,000698: 27,2265 02323 STORE RINIT 033075,000699: 27,2266 65236 VSQ PDDL 033076,000700: 27,2267 00045 36D 033077,000701: 27,2270 56205 DMP DDV 033078,000702: 27,2271 16412 THETACON 033079,000703: 27,2272 41205 DMP DMP 033080,000704: 27,2273 03664 DELVSAB 033081,000705: 27,2274 01245 WEIGHT/G 033082,000706: 27,2275 77671 DDV 033083,000707: 27,2276 03735 F 033084,000708: 27,2277 24017 STOVL 14D 033085,000709: 27,2300 03656 DELVSIN 033086,000710: 033087,000711: 27,2301 74241 DOT VXSC 033088,000712: 27,2302 03673 UT 033089,000713: 27,2303 03673 UT 033090,000714: 27,2304 41552 VSL2 PUSH # (DELTAV.UP)UP SCALED AT 2(+7) P.D.L. 0 033091,000715: 27,2305 65245 BVSU PDDL # DELTA VP SCALED AT 2(+7) P.D.L. 6 033092,000716: 27,2306 03656 DELVSIN 033093,000717: 27,2307 00017 14D 033094,000718: 27,2310 63356 SIN PDVL 033095,000719: 27,2311 00007 6D 033096,000720: 27,2312 53435 VXV UNIT 033097,000721: 27,2313 03673 UT 033098,000722: 27,2314 45561 VXSC STADR 033099,000723: 27,2315 50076 STOVL VGTIG # UNIT(VP X UP)SIN(THETAT/2) IN VGTIG. 033100,000724: 27,2316 65256 UNIT PDDL # UNIT(DELTA VP) IN P.D.L. 6 033101,000725: 27,2317 00017 14D 033102,000726: 27,2320 74346 COS VXSC 033103,000727: 27,2321 74255 VAD VXSC 033104,000728: 27,2322 03701 VGTIG 033105,000729: 27,2323 00045 36D 033106,000730: 27,2324 53352 VSL2 VAD 033107,000731: 27,2325 77626 STADR 033108,000732: # Page 766 033109,000733: 27,2326 74076 STORE VGTIG # VG IGNITION SCALED AT 2(+7) M/CS 033110,000734: 033111,000735: 27,2327 77656 UNIT 033112,000736: 27,2330 27673 STOVL UT # THRUST DIRECTION SCALED AT 2(+1) 033113,000737: 27,2331 03701 VGTIG 033114,000738: 27,2332 45006 PUSH CALL 033115,000739: 27,2333 15733 GET.LVC # VGTIG IN LV COOR AT 2(+7) M/CS IN DELVLVC 033116,000740: 27,2334 77650 GOTO 033117,000741: 27,2335 03632 QTEMP 033118,000742: 27,2336 77745 S40.1B DLOAD 033119,000743: 27,2337 03442 TIG 033120,000744: 27,2340 00041 STORE TDEC1 033121,000745: 27,2341 77621 BDSU 033122,000746: 27,2342 03631 TPASS4 033123,000747: 27,2343 37452 STCALL DELLT4 # INTERCEPT TIME -- TIG. 033124,000748: 27,2344 27057 LEMPREC 033125,000749: 27,2345 40375 VLOAD SETPD # LOAD STATE VECTOR AT TIG FOR INITVEL. 033126,000750: 27,2346 00001 RATT 033127,000751: 27,2347 00001 0 033128,000752: 27,2350 03642 STORE RTIG 033129,000753: 27,2351 02323 STORE RINIT 033130,000754: 27,2352 77656 UNIT 033131,000755: 27,2353 27537 STOVL UNIT/R/ 033132,000756: 27,2354 00007 VATT 033133,000757: 27,2355 03650 STORE VTIG 033134,000758: 27,2356 02331 STORE VINIT 033135,000759: 27,2357 65345 DLOAD PDDL # NUMIT = 0 033136,000760: 27,2360 06522 ZEROVECS 033137,000761: 27,2361 16406 EPS1 033138,000762: 27,2362 43214 BOFF DAD 033139,000763: 27,2363 03745 NORMSW 033140,000764: 27,2364 56366 SMALLEPS 033141,000765: 27,2365 16410 EPS2 # EPSILON4 = 10 DEGREES OR 45 DEGREES. 033142,000766: 27,2366 66006 SMALLEPS PUSH SXA,1 033143,000767: 27,2367 02776 RTX1 033144,000768: 27,2370 45134 SXA,2 CALL 033145,000769: 27,2371 02777 RTX2 033146,000770: 27,2372 22000 INITVEL 033147,000771: 27,2373 41575 VLOAD PUSH 033148,000772: 27,2374 02366 DELVEET3 # VGTIG = VR - VN. 033149,000773: 27,2375 03701 STORE VGTIG 033150,000774: 27,2376 77656 UNIT # UT = UNIT (VGTIG) 033151,000775: 27,2377 17673 STODL UT 033152,000776: 27,2400 00045 36D 033153,000777: 27,2401 37664 STCALL VGDISP # CONVERT VGTIG (IN PUSHLIST) TO LOCAL 033154,000778: 27,2402 15733 GET.LVC # VERTICAL COORDINATES. 033155,000779: 27,2403 77650 GOTO 033156,000780: 27,2404 03632 QTEMP 033157,000781: 033158,000782: 27,2405 00707 03434 EPS1 2DEC* 2.777777778 E-2* # 10 DEGREES AT 1 REVOLUTION 033159,000783: 033160,000784: # Page 767 033161,000785: 27,2407 03070 34344 EPS2 2DEC* 9.722222222 E-2* # 35 DEGREES AT 1 REVOLUTION. 033162,000786: 033163,000787: 27,2411 00024 13714 THETACON 2DEC .31830989 B-8 033164,000788: 033165,000789: # Page 768 033166,000790: # SUBROUTINE NAME: S40.2,3 MOD. NO. 3, DATE APRIL 4, 1967 033167,000791: # MODIFICATION BY: JONATHON D. ADDELSTON (ADAMS ASSOCIATES) 033168,000792: # MOD. NO. 4: JULY 18, 1967: PETER ADLER (MIT/IL) 033169,000793: # MOD. NO. 5: OCTOBER 18, 1967: PETER ADLER (MIT/IL) 033170,000794: # ORIGINALLY BY: SAYDEAN ZELDIN (MIT INSTRUMENTATION LAB) AND RICHARD TALAYCO (SYSTEM DELVELOPMENT CORP) 033171,000795: 033172,000796: # S40.2,3 COMPUTES "POINTVSM" WHICH IS THE HALF-UNIT DESIRED THRUST VECTOR IN STABLE-MEMBER COORDINATES FROM "UT" 033173,000797: # WHICH IS THE SAME VECTOR IN REFERENCE COORDINATES. IT DETERMINES THE CORRECT VALUES FOR "SCAXIS" USING THE +X 033174,000798: # AXIS FOR DPS, APS, AND RCS BURNS. THE "WINGS-LEVEL HEADS-UP" LM ORIENTATION IS THEN COMPUTED IN REFERENCE 033175,000799: # COORDINATES. THESE VECTORS ALSO DEFINE THE "PREFERRED IMU ORIENTATION". UPON COMPLETION OF THIS CALCULATION, 033176,000800: # THE "PREFERRED ATTITUDE COMPUTED" FLAG IS SET (PFRATFLG). 033177,000801: 033178,000802: # CALLING SEQUENCE: 033179,000803: # L CALL # INTERPRETIVE CALL. 033180,000804: # L +1 S40.2,3 033181,000805: # L +2 (RETURN) # GIMBAL ANGLE VECTOR IN MPAC. 033182,000806: 033183,000807: # SUBROUTINES CALLED: NONE. 033184,000808: 033185,000809: # NORMAL RETURN: L +2 (SEE CALLING SEQUENCE ABOVE). 033186,000810: 033187,000811: # ALARM/ABORT MODES: NONE. 033188,000812: 033189,000813: # INPUT: 033190,000814: # 1. REFSMMAT MATRIX FROM REFERENCE TO STABLE-MEMBER COORDINATES SCALED AT 2. 033191,000815: # 2. UT HALF-UNIT DESIRED THRUST DIRECTION. 033192,000816: # 3. RTIG POSITION AT TIG IN REFERENCE COORDINATES. 033193,000817: 033194,000818: # OUTPUT: 033195,000819: # 1. `XSCREF' WINGS-LEVEL HEADS-UP LM ORIENTATION 033196,000820: # `YSCREF' IN REFERENCE COORDINATES 033197,000821: # `ZSCREF' (PREFERRED IMU ORIENTATION). 033198,000822: # 2. POINTVSM DESIRED THRUST DIRECTION IN STABLE-MEMBER COORDINATES. 033199,000823: # 3. SCAXIS HALF-UNIT OF AXIS TO ALIGN IN STABLE-MEMBER COORDINATES. 033200,000824: # 4. PFRATFLG INTERPRETIVE FLAG. ON: PREFERRED ORIENTATION COMPUTED; OFF: NOT COMPUTED. 033201,000825: 033202,000826: # DEBRIS: NONE 033203,000827: # Page 769 033204,000828: 033205,000829: 27,2413 COUNT* $$/S40.2 033206,000830: 27,2413 77775 S40.2,3 VLOAD # UT: DESIRED THRUST DIRECTION (HALF-UNIT) 033207,000831: 27,2414 03673 UT # (PUT INTO TOP OF PUSH-DOWN-LIST.) 033208,000832: 27,2415 76521 MXV VSL1 # TRANSFORM THRUST DIRECTION TO STABLE- 033209,000833: 27,2416 01734 REFSMMAT # MEMBER FROM REFERENCE COORDS (RESCALE). 033210,000834: 27,2417 27773 STOVL POINTVSM # SAVE FOR "VECPOINT" ROUTINE (LEMMANU). 033211,000835: 27,2420 06520 UNITX # SCAXIS SET TO +X, FOR P40 AND P42 AND 033212,000836: 27,2421 27765 STOVL SCAXIS # FOR P41 IF RCS NOT -X,+Y,-Y,+Z,-Z. 033213,000837: 033214,000838: 27,2422 03673 UT # ASSUME +X BURN ALWAYS, EVEN FOR RCS. 033215,000839: 27,2423 03607 PLUSX STORE XSCREF # XSCREF = UT (DESIRED THRUST DIRECTION) 033216,000840: 27,2424 53435 VXV UNIT # RTIG = POSITION AT TIME-OF-IGNITION. 033217,000841: 27,2425 03642 RTIG # YSCREF = UNIT(UT X RTIG) 033218,000842: 27,2426 46125 PDDL BHIZ 033219,000843: 27,2427 00045 36D # TEST MAGNITUDE OF UT X RTIG 033220,000844: 27,2430 56441 FIXY # IF SMALL, USE UT X VTIG AS YSC 033221,000845: 27,2431 45575 STORY VLOAD STADR 033222,000846: 27,2432 74162 STORE YSCREF 033223,000847: 27,2433 76435 VXV VSL1 # COMPUTE (YSCREF X XCREF), BUT FOR A 033224,000848: 27,2434 03607 XSCREF # RIGHT HANDED SYSTEM, NEED (X CROSS Y). 033225,000849: 27,2435 77676 VCOMP # ZSCREF = - (YSCREF X XSCREF) 033226,000850: 27,2436 03623 STORE ZSCREF # = + (XSCREF X YSCREF) 033227,000851: 033228,000852: 27,2437 43414 SET RVQ 033229,000853: 27,2440 01073 PFRATFLG 033230,000854: 27,2441 47375 FIXY VLOAD VXV # IN THIS CASE, 033231,000855: 27,2442 03607 XSCREF # YSCREF = UNIT(XSCREF X VTIG) 033232,000856: 27,2443 03650 VTIG 033233,000857: 27,2444 41456 UNIT PUSH 033234,000858: 27,2445 77650 GOTO 033235,000859: 27,2446 56431 STORY 033236,000860: # Page 770 033237,000861: # SUBROUTINE S40.8 033238,000862: # MODIFIED APRIL 3, 1968 BY PETER ADLER, MIT/IL 033239,000863: 033240,000864: # DESCRIPTION 033241,000865: # S40.8 UPDATES THE VELOCITY-TO-BE-GAINED VECTOR, VG, (AND FOR LAMBERT TARGETTED BURNS ALSO EXTRAPOLATES VG 033242,000866: # USING THE BDT VECTOR) COMPUTES THE TIME FOR ISSUING THE ENGINE OFF COMMAND, TGO, AND CALLS THE ROUTINE 033243,000867: # "FINDCDUW", WHICH GENERATES STEERING COMMANDS FOR THE DAP. 033244,000868: 033245,000869: # CALLING SEQUENCE 033246,000870: # L-1 CALL 033247,000871: # L S40.8 033248,000872: # L+1 INTERPRETIVE RETURN 033249,000873: 033250,000874: # ALARM 033251,000875: # IF VG . DELVREF IS NEGATIVE (VG AND DELVREF OVER 90 DEGREES APART), BYPASS TGO AND STEERING COMPUTATIONS 033252,000876: # AND SET ALARM 1407. RETURN TO CALLER NORMALLY. 033253,000877: 033254,000878: # INPUT AND INITIALIZATION 033255,000879: # VGPREV REFERENCE 2(7) M/CS 033256,000880: # DELVREF REFERENCE 2(7) M/CS 033257,000881: # BDT REFERENCE 2(7) M/CS 033258,000882: # TDECAY TAIL-OFF TIME 2(28) CS 033259,000883: # XDELVFLG 1 = EXTERNAL DELTA-V; 0 = LAMBERT (AIMPOINT) 033260,000884: # STEERSW 1 = DO STEERING AND TGO COMPUTATIONS; 0 = VG UPDATE ONLY 033261,000885: # FIRSTFLG 1 = GONE TO LAMBERT AT LEAST ONCE; 0 = HAVEN'T GONE TO LAMBERT YET. 033262,000886: 033263,000887: # NOTE: VGTIG EQUALS VGPREV 033264,000888: 033265,000889: # OUTPUT 033266,000890: # STEERSW SEE INPUT 033267,000891: # INPULSW 1 = ENGINE OFF IN TGO CENTISECONDS; 0 = CONTINUE BURN 033268,000892: # TGO TIME TO CUT-OFF 2(28) CS 033269,000893: # SEE FINDCDUW FOR STEERING OUTPUTS. 033270,000894: 033271,000895: # SUBROUTINE CALLED 033272,000896: # FINDCDUW 033273,000897: 033274,000898: # DEBRIS 033275,000899: # MPACS, PUSHLIST 033276,000900: 033277,000901: 27,2447 COUNT* $$/S40.8 033278,000902: # Page 771 033279,000903: 27,2447 77614 S40.8 BOF # GENERATE VR IF NOT EXTERNAL DELTA-V BURN 033280,000904: 27,2450 01347 XDELVFLG 033281,000905: 27,2451 56731 RASTEER1 033282,000906: 27,2452 52375 VLOAD VSU 033283,000907: 27,2453 03701 VGPREV 033284,000908: 27,2454 03527 DELVREF 033285,000909: 27,2455 03707 VGAIN* STORE VG # VELOCITY TO BE GAINED SCALED AT (7) M/CS 033286,000910: 27,2456 76521 MXV VSL1 033287,000911: 27,2457 01734 REFSMMAT 033288,000912: 27,2460 03254 STORE UNFC/2 033289,000913: 27,2461 51575 BDTOK VLOAD ABVAL 033290,000914: 27,2462 03707 VG 033291,000915: 27,2463 03664 STORE VGDISP 033292,000916: 27,2464 77201 TGDCALC SETPD VLOAD 033293,000917: 27,2465 00001 0 033294,000918: 27,2466 03707 VG 033295,000919: 27,2467 27701 STOVL VGPREV 033296,000920: 27,2470 03527 DELVREF 033297,000921: 27,2471 57414 BOFF VCOMP 033298,000922: 27,2472 01344 STEERSW 033299,000923: 27,2473 00052 QPRET 033300,000924: 27,2474 77656 UNIT 033301,000925: 27,2475 41441 DOT PUSH 033302,000926: 27,2476 03707 VG 033303,000927: 27,2477 56244 BPL DDV 033304,000928: 27,2500 56526 ALARMIT # DELV IS MORE THAN 90 DEGREES FROM VG. 033305,000929: 27,2501 03743 VEX 033306,000930: 27,2502 41215 DAD DMP 033307,000931: 27,2503 06520 DPHALF 033308,000932: 27,2504 56261 SR DDV 033309,000933: 27,2505 20613 10D 033310,000934: 27,2506 00045 36D 033311,000935: 27,2507 43205 DMP DAD 033312,000936: 27,2510 16535 -FOURDT 033313,000937: 27,2511 03741 TDECAY 033314,000938: 27,2512 03517 STORE TGO 033315,000939: 27,2513 77615 DAD 033316,000940: 27,2514 01235 PIPTIME 033317,000941: 27,2515 17442 STODL TIG 033318,000942: 27,2516 03517 TGO 033319,000943: 27,2517 51025 DSU BPL 033320,000944: 27,2520 16537 FOURSECS # 400 CS 033321,000945: 27,2521 61111 FINDCDUW -2 033322,000946: 27,2522 43014 SET CLRGO 033323,000947: 27,2523 01066 IMPULSW 033324,000948: 27,2524 01224 STEERSW 033325,000949: 27,2525 00052 QPRET 033326,000950: 033327,000951: 27,2526 77776 ALARMIT EXIT 033328,000952: 033329,000953: # Page 772 033330,000954: 27,2527 05567 TC ALARM 033331,000955: 27,2530 01407 OCT 01407 033332,000956: 27,2531 06037 TC INTPRET 033333,000957: 27,2532 77650 GOTO # SKIP TGO COMPUTATION BUT CALL FINDCDUW. 033334,000958: 27,2533 61111 FINDCDUW -2 # FINDCDUW WILL EXIT TO UPDATEVG +3. 033335,000959: 033336,000960: 27,2534 77715 77777 -FOURDT 2DEC -800 B-18 # -4 (200 CS.) B(-18) 033337,000961: 27,2536 00000 00620 FOURSECS 2DEC 400 B-28 # 400 CS SCALED AT 2(+28) CS 033338,000962: 27,2540 E7,1742 2VEXHUST = VEX 033339,000963: 033340,000964: # Page 773 033341,000965: # NAME: S40.13 -- TIMEBURN 033342,000966: 033343,000967: # FUNCTION (1) DETERMINE WHETHER A GIVEN COMBINATION OF VELOCITY TO 033344,000968: # BE GAINED AND ENGINE CHOICE RESULT IN A BURN TIME 033345,000969: # SUFFICIENT TO ALLOW STEERING AT THE VEHICLE DURING THE 033346,000970: # BURN 033347,000971: # (2) THE MAGNITUDE OF THE RESULTING BURN TIME -- IF IT 033348,000972: # IS SHORT -- AND THE ASSOCIATED TIME OF THE ENGINE OFF 033349,000973: # SIGNAL 033350,000974: 033351,000975: # CALLING SEQUENCE VIA FINDVAC AS A NEW JOB 033352,000976: 033353,000977: # INPUT VGTIG -- VELOCITY TO BE GAINED VECTOR (METERS/CS) AT +7 033354,000978: # WEIGHT/G -- MASS OF VEHICLE IN KGM AT +16 033355,000979: # F -- APS ENGINE THRUST IN M.NEWTONS AT +7 033356,000980: # AND ALSO FOR RCS ENGINE 033357,000981: # MDOT -- RATE OF DECREASE OF VEHICLE MASS DURING ENGINE 033358,000982: # BURN IN KILOGRAMS/CS AT +3. THIS SCALING MAY 033359,000983: # REQUIRE MODIFICATION FOR SATURN BURNS. 033360,000984: # ENG1FLAG -- SWITCH TO DECIDE WHETHER APS OR DPS ENGINE IS USED 033361,000985: # =0 DPS 033362,000986: # =1 APS 033363,000987: 033364,000988: # OUTPUT IMPULSW ZERO FOR STEERING 033365,000989: # ONE FOR ATTITUDE HOLD 033366,000990: # NOTHROTL ZERO FOR THROTTLING 033367,000991: # ONE TO INHIBIT THROTTLING 033368,000992: # TGO TIME TO BURN IN CS 033369,000993: 033370,000994: # THE QUANTITY M.NEWTON = 10000 NEWTONS WILL BE USED TO EXPRESS 033371,000995: # FORCE. 033372,000996: 033373,000997: 27,2540 E7,1516 EBANK= TGO 033374,000998: 27,2540 COUNT* $$/40.13 033375,000999: 27,2540 06037 S40.13 TC INTPRET 033376,001000: 27,2541 43001 SETPD CLEAR 033377,001001: 27,2542 00001 00D 033378,001002: 27,2543 01266 IMPULSW # ASSUME NO STEERING UNTIL FOUND OTHERWISE 033379,001003: 27,2544 51575 VLOAD ABVAL 033380,001004: 27,2545 03701 VGTIG # VELOCITY TO BE GAINED AT +7 033381,001005: 27,2546 41325 PDDL DMP # 00D = MAG OF VGTIG AT +7 033382,001006: 27,2547 21021 4SEC(17) # CORRECT VG FOR 4 SECS OF 2 JET ULLAGE 033383,001007: 27,2550 34017 FRCS2 033384,001008: 27,2551 72471 DDV SL1 # SCALE 033385,001009: 27,2552 01245 WEIGHT/G 033386,001010: 27,2553 41421 BDSU PUSH 033387,001011: 27,2554 43014 BOFF SET 033388,001012: 27,2555 05342 APSFLAG 033389,001013: 27,2556 56626 S40.13D # FOR DPS ENGINE 033390,001014: 27,2557 02463 NOTHROTL 033391,001015: 27,2560 56345 DLOAD DDV # 00D = MAG OF VGTIG CORRECTED 033392,001016: 27,2561 16001 K1VAL # M.NEWTONS-CS AT +24 033393,001017: 27,2562 01245 WEIGHT/G 033394,001018: 27,2563 50021 BDSU BMN 033395,001019: # Page 774 033396,001020: 27,2564 00001 00D 033397,001021: 27,2565 56610 S40.131 # TGO LESS THAN 100 CS 033398,001022: 27,2566 41325 PDDL DMP # 02D = TEMP1 AT +7 033399,001023: 27,2567 03737 MDOT 033400,001024: 033401,001025: # MDOT REPRESENTS THE RATE OF DECREASE OF VEHICLE MASS DURING ENGINE 033402,001026: # BURN IN KILOGRAMS/CS. WHEN SATURN IS USED, THE SCALING MAY 033403,001027: # REQUIRE ADJUSTMENT. 033404,001028: 033405,001029: 27,2570 16700 3.5SEC # 350 CS AT +14 033406,001030: 27,2571 65221 BDSU PDDL 033407,001031: 27,2572 01245 WEIGHT/G 033408,001032: 27,2573 03735 F 033409,001033: 27,2574 60405 DMP SR2 # SCALE 033410,001034: 27,2575 16702 5SECS 033411,001035: 27,2576 41471 DDV PUSH # 04D = TEMP2 033412,001036: 27,2577 51021 BDSU BPL 033413,001037: 27,2600 00003 02D 033414,001038: 27,2601 56626 S40.13D 033415,001039: 27,2602 55345 DLOAD BDDV 033416,001040: 27,2603 43205 DMP DAD 033417,001041: 27,2604 16702 5SECS 033418,001042: 27,2605 16676 1SEC2D # 100 CS AT +14 033419,001043: 27,2606 77650 GOTO 033420,001044: 27,2607 56616 S40.132 033421,001045: 27,2610 41345 S40.131 DLOAD DMP 033422,001046: 27,2611 01245 WEIGHT/G 033423,001047: 27,2612 41542 SR1 PUSH 033424,001048: 27,2613 56215 DAD DDV 033425,001049: 27,2614 16003 K2VAL # M.NEWTON CS AT +24 033426,001050: 27,2615 16005 K3VAL # M.NEWTON CS AT +10 033427,001051: 27,2616 77414 S40.132 SET EXIT 033428,001052: 27,2617 01066 IMPULSW 033429,001053: 27,2620 07257 S40.132* TC TPAGREE 033430,001054: 27,2621 30154 CA MPAC 033431,001055: 27,2622 56001 XCH L 033432,001056: 27,2623 34755 CA ZERO 033433,001057: 27,2624 53517 DXCH TGO 033434,001058: 27,2625 12650 TCF S40.134 033435,001059: 033436,001060: 27,2626 41345 S40.13D DLOAD DMP # FOR DPS ENGINE 033437,001061: 27,2627 00001 00D 033438,001062: 27,2630 01245 WEIGHT/G 033439,001063: 27,2631 43006 PUSH BON 033440,001064: 27,2632 05302 APSFLAG 033441,001065: 27,2633 56671 APSTGO 033442,001066: 27,2634 43071 DDV CLEAR 033443,001067: 27,2635 16007 S40.136 033444,001068: 27,2636 02663 NOTHROTL 033445,001069: 27,2637 41400 BOV PUSH 033446,001070: # Page 775 033447,001071: 27,2640 56653 S40.130V 033448,001072: 27,2641 51025 S40.127 DSU BPL 033449,001073: 27,2642 16704 6SEC # 600.0 CS AT +14 033450,001074: 27,2643 56661 S40.138 033451,001075: 27,2644 52015 DAD GOTO 033452,001076: 27,2645 16704 6SEC 033453,001077: 27,2646 56616 S40.132 033454,001078: 27,2647 77776 S40.133 EXIT 033455,001079: 27,2650 05353 S40.134 TC PHASCHNG 033456,001080: 27,2651 00003 OCT 00003 033457,001081: 27,2652 05155 TC ENDOFJOB 033458,001082: 27,2653 40545 S40.130V DLOAD SR4 # RECOMPUTED TGO IN TIMER UNITS 033459,001083: 27,2654 77671 DDV 033460,001084: 27,2655 16011 S40.136_ # S40.136 SHIFTED LEFT 10 033461,001085: 27,2656 03517 STORE TGO 033462,001086: 27,2657 77776 EXIT 033463,001087: 27,2660 12650 TCF S40.134 # REJOIN COMMON CODING FOR RESTART PROTECT 033464,001088: 033465,001089: 27,2661 51025 S40.138 DSU BPL 033466,001090: 27,2662 16706 89SECS 033467,001091: 27,2663 56666 STORETGO 033468,001092: 27,2664 77614 SET 033469,001093: 27,2665 02463 NOTHROTL 033470,001094: 27,2666 77745 STORETGO DLOAD # LOAD TGO AT 2(14) 033471,001095: 27,2667 77776 EXIT 033472,001096: 27,2670 12620 TCF S40.132* 033473,001097: 033474,001098: 27,2671 62471 APSTGO DDV SL2 033475,001099: 27,2672 34007 FAPS 033476,001100: 27,2673 77650 GOTO 033477,001101: 27,2674 56667 STORETGO +1 033478,001102: 27,2675 00144 00000 1SEC2D 2DEC 100.0 B-14 # 100.0 CS AT +14 033479,001103: 033480,001104: 27,2677 01274 00000 3.5SEC 2DEC 350.0 B-13 # 350 CS AT +13 033481,001105: 033482,001106: 27,2701 00764 00000 5SECS 2DEC 500.0 B-14 # 500.0 CS AT +14 033483,001107: 033484,001108: 27,2703 01130 00000 6SEC 2DEC 600.0 B-14 # 600.0 CS AT +14 033485,001109: 033486,001110: 27,2705 21304 00000 89SECS 2DEC 8900.0 B-14 033487,001111: 033488,001112: # FUNCTION (1) GENERATES REQUIRED VELOCITY AND VELOCITY-TO-BE-GAINED 033489,001113: # VECTORS FOR USE DURING AIMPOINT MANEUVERS EVERY TWO 033490,001114: # COMPUTATION CYCLES (4 SECONDS). 033491,001115: # (2) UPDATES THE B VECTOR WHICH IS USED IN THE FINAL 033492,001116: # CALCULATION OF EXTRAPOLATING THE VELOCITY-TO-BE-GAINED 033493,001117: # THROUGH ONE 2-SECOND INTERVAL INTO THE FUTURE. 033494,001118: 033495,001119: # CALLING SEQUENCE VIA FINDVAC AS NEW JOB. 033496,001120: 033497,001121: # INPUT RN ACTIVE VEHICLE RADIUS VECTOR IN METERS AT +29 033498,001122: # VN ACTIVE VEHICLE VELOCITY VECTOR IN METERS/CS AT +7 033499,001123: # Page 776 033500,001124: # VPREV LAST COMPUTED VELOCITY REQUIRED VECTOR IN 033501,001125: # METERS/CS AT +7. 033502,001126: # TIG TIME OF IGNITION IN CS AT +28. 033503,001127: # DLTARG COMPUTATION CYCLE INTERVAL = 200 CS AT +28. 033504,001128: # PIPTIME TIME OF RN AND VN IN CS AT +28. 033505,001129: # GDT/2 HALF OF VELOCITY GAINED IN DELTA T TIME DUE TO 033506,001130: # ACCELERATION OF GRAVITY IN METERS/CS AT +7. 033507,001131: # DELVREF CHANGE IN VELOCITY DURING LAST 2 SEC IN 033508,001132: # METERS/CS AT +7. 033509,001133: 033510,001134: # OUTPUT VGPREV VELOCITY TO BE GAINED VECTOR IN METERS/CS AT +7. 033511,001135: # VGDISP MAG OF VGPREV FOR DISPLAY PURPOSES. 033512,001136: # VRPREV VELOCTY REQUIRED VECTOR IN METERS/CS AT +7. 033513,001137: # BDT B VECTOR IN METERS/CS AT +7. 033514,001138: 033515,001139: # SUBROUTINES USED INITVEL 033516,001140: 033517,001141: 27,2707 E7,1700 EBANK= VGPREV 033518,001142: 27,2707 COUNT* $$/S40.9 033519,001143: 27,2707 06037 S40.9 TC INTPRET 033520,001144: 27,2710 77601 SETPD 033521,001145: 27,2711 00001 00D 033522,001146: 27,2712 71214 SET DLOAD 033523,001147: 27,2713 01072 AVFLAG # SET AVFLAG FOR LEM ACTIVE 033524,001148: 27,2714 06522 HI6ZEROS 033525,001149: 27,2715 77725 PDDL 033526,001150: 27,2716 16406 EPS1 033527,001151: 27,2717 43214 BOFF DAD # EPSILON4 = 10 OR 45 DEGREES. 033528,001152: 27,2720 03745 NORMSW 033529,001153: 27,2721 56723 EPSSMALL 033530,001154: 27,2722 16410 EPS2 033531,001155: 27,2723 45006 EPSSMALL PUSH CALL 033532,001156: 27,2724 22002 HAVEGUES 033533,001157: 27,2725 77776 ENDS40.9 EXIT 033534,001158: 27,2726 05353 TC PHASCHNG 033535,001159: 27,2727 00002 OCT 2 033536,001160: 27,2730 15155 TCF ENDOFJOB 033537,001161: 033538,001162: 27,2731 51575 RASTEER1 VLOAD ABVAL 033539,001163: 27,2732 01221 RN 033540,001164: 27,2733 53744 LXC,2 SL* 033541,001165: 27,2734 02777 RTX2 033542,001166: 27,2735 57576 0,2 033543,001167: 27,2736 27715 STOVL RMAG 033544,001168: 27,2737 03444 RTARG 033545,001169: 27,2740 47051 VSU RTB 033546,001170: 27,2741 01221 RN 033547,001171: 27,2742 21724 NORMUNX1 033548,001172: 27,2743 17656 STODL IC 033549,001173: 27,2744 00045 36D # C(36D) = ABVAL(C) 033550,001174: 27,2745 53674 XAD,2 SL* 033551,001175: 27,2746 00046 X1 033552,001176: # Page 777 033553,001177: 27,2747 57576 0,2 033554,001178: 27,2750 00037 STORE 30D 033555,001179: 27,2751 41301 NORM DMP 033556,001180: 27,2752 00050 X2 033557,001181: 27,2753 03715 RMAG 033558,001182: 27,2754 57101 NORM XAD,2 033559,001183: 27,2755 00047 X1 033560,001184: 27,2756 00046 X1 033561,001185: 27,2757 77734 SXA,2 033562,001186: 27,2760 03766 MUSCALE 033563,001187: 27,2761 17725 STODL R1C # 2(+56 -X) 033564,001188: 27,2762 00037 30D 033565,001189: 27,2763 65342 SR1 PDDL 033566,001190: 27,2764 03715 RMAG 033567,001191: 27,2765 65342 SR1 PDDL 033568,001192: 27,2766 03723 RTMAG 033569,001193: 27,2767 43342 SR1 DAD 033570,001194: 27,2770 45415 DAD STADR 033571,001195: 27,2771 74044 STORE SS # SS = (R1 + R2 + C)/2 033572,001196: 27,2772 41225 DSU DMP 033573,001197: 27,2773 00037 30D 033574,001198: 27,2774 03721 MU/A 033575,001199: 27,2775 77621 BDSU 033576,001200: 27,2776 03717 MUASTEER 033577,001201: 27,2777 45325 PDDL DSU 033578,001202: 27,3000 03733 SS 033579,001203: 27,3001 03715 RMAG 033580,001204: 27,3002 70501 NORM SR1 033581,001205: 27,3003 00047 X1 033582,001206: 27,3004 41271 DDV DMP 033583,001207: 27,3005 03725 R1C 033584,001208: 27,3006 53664 XSU,2 SL* 033585,001209: 27,3007 00046 X1 033586,001210: 27,3010 57575 1,2 033587,001211: 27,3011 77754 LXA,2 033588,001212: 27,3012 03766 MUSCALE 033589,001213: 27,3013 75366 SQRT SIGN 033590,001214: 27,3014 02673 GEOMSGN 033591,001215: 27,3015 00041 STORE 32D # + OR - A 033592,001216: 27,3016 41345 DLOAD DMP 033593,001217: 27,3017 03733 SS 033594,001218: 27,3020 03721 MU/A 033595,001219: 27,3021 77621 BDSU 033596,001220: 27,3022 03717 MUASTEER 033597,001221: 27,3023 45325 PDDL DSU 033598,001222: 27,3024 03733 SS 033599,001223: 27,3025 03723 RTMAG 033600,001224: 27,3026 70501 NORM SR1 033601,001225: 27,3027 00047 X1 033602,001226: 27,3030 41271 DDV DMP 033603,001227: 033604,001228: # Page 778 033605,001229: 27,3031 03725 R1C 033606,001230: 27,3032 53664 XSU,2 SL* 033607,001231: 27,3033 00046 X1 033608,001232: 27,3034 57575 1,2 033609,001233: 27,3035 65366 SQRT PDDL # -B (NO SIGN) 033610,001234: 27,3036 03733 SS 033611,001235: 27,3037 56225 DSU DDV 033612,001236: 27,3040 00037 30D 033613,001237: 27,3041 03733 SS 033614,001238: 27,3042 41566 SQRT PUSH 033615,001239: 27,3043 67542 SR1 ASIN 033616,001240: 27,3044 65205 DMP PDDL 033617,001241: 27,3045 17216 2PI+3 033618,001242: 27,3046 56325 PDDL DDV 033619,001243: 27,3047 00037 30D 033620,001244: 27,3050 03733 SS 033621,001245: 27,3051 77600 BOV 033622,001246: 27,3052 57053 +1 033623,001247: 27,3053 41366 SQRT DMP 033624,001248: 27,3054 44242 SR3 BDSU 033625,001249: 27,3055 65365 SIGN PDDL 033626,001250: 27,3056 02673 GEOMSGN 033627,001251: 27,3057 17216 2PI+3 033628,001252: 27,3060 45302 SR2 DSU 033629,001253: 27,3061 65205 DMP PDDL 033630,001254: 27,3062 03733 SS 033631,001255: 27,3063 03733 SS 033632,001256: 27,3064 75442 SR3 SQRT 033633,001257: 27,3065 77605 DMP 033634,001258: 27,3066 52525 PDDL SL3 033635,001259: 27,3067 03717 MUASTEER 033636,001260: 27,3070 55366 SQRT BDDV 033637,001261: 27,3071 43225 DSU DAD 033638,001262: 27,3072 03631 TPASS4 033639,001263: 27,3073 01235 PIPTIME 033640,001264: 27,3074 14037 STODL 30D 033641,001265: 27,3075 77765 SIGN 033642,001266: 27,3076 00037 30D # B WITH SIGN 033643,001267: 27,3077 00037 STORE 30D 033644,001268: 27,3100 77214 BON VLOAD 033645,001269: 27,3101 03705 NORMSW 033646,001270: 27,3102 57123 180MESS 033647,001271: 27,3103 03656 IC 033648,001272: 27,3104 53451 VSU UNIT 033649,001273: 27,3105 03537 UNIT/R/ 033650,001274: 27,3106 63361 VXSC PDVL 033651,001275: 27,3107 00037 30D 033652,001276: 27,3110 03656 IC 033653,001277: 27,3111 53455 VAD UNIT 033654,001278: 27,3112 03537 UNIT/R/ 033655,001279: # Page 779 033656,001280: 27,3113 53361 GETVRVG1 VXSC VAD 033657,001281: 27,3114 00041 32D 033658,001282: 27,3115 53744 GETVRVG2 LXC,2 VSR* 033659,001283: 27,3116 02777 RTX2 033660,001284: 27,3117 57177 0 -1,2 033661,001285: 27,3120 02337 STORE VIPRIME 033662,001286: 27,3121 77650 GOTO 033663,001287: 27,3122 57166 ASTREND -2 033664,001288: 27,3123 50375 180MESS VLOAD DOT 033665,001289: 27,3124 03656 IC 033666,001290: 27,3125 03537 UNIT/R/ 033667,001291: 27,3126 77240 BMN VLOAD 033668,001292: 27,3127 57146 NEGPROD 033669,001293: 27,3130 03656 IC 033670,001294: 27,3131 63362 VSR1 PDVL 033671,001295: 27,3132 03537 UNIT/R/ 033672,001296: 27,3133 53362 VSR1 VAD 033673,001297: 27,3134 77656 UNIT 033674,001298: 27,3135 57406 PUSH VCOMP # FOR A 033675,001299: 27,3136 75235 VXV SIGN 033676,001300: 27,3137 02674 UN 033677,001301: 27,3140 02673 GEOMSGN 033678,001302: 27,3141 74256 UNIT VXSC 033679,001303: 27,3142 00037 30D 033680,001304: 27,3143 77715 PDVL # UNIT(IC-IR) +-B 033681,001305: 27,3144 77650 GOTO 033682,001306: 27,3145 57113 GETVRVG1 033683,001307: 27,3146 74575 NEGPROD VLOAD VSR1 033684,001308: 27,3147 03537 UNIT/R/ 033685,001309: 27,3150 74515 PDVL VSR1 033686,001310: 27,3151 03656 IC 033687,001311: 27,3152 53451 VSU UNIT 033688,001312: 27,3153 77606 PUSH 033689,001313: 27,3154 75235 VXV SIGN 033690,001314: 27,3155 02674 UN # FOR B 033691,001315: 27,3156 02673 GEOMSGN 033692,001316: 27,3157 74256 UNIT VXSC 033693,001317: 27,3160 00041 32D 033694,001318: 27,3161 77715 PDVL 033695,001319: 27,3162 53361 VXSC VAD 033696,001320: 27,3163 00037 30D 033697,001321: 27,3164 77650 GOTO 033698,001322: 27,3165 57115 GETVRVG2 033699,001323: 27,3166 77651 VSU 033700,001324: 27,3167 03553 VN1 033701,001325: 27,3170 02366 ASTREND STORE DELVEET3 033702,001326: 27,3171 53135 FIRSTTME SLOAD BZE 033703,001327: 27,3172 03000 RTX2 033704,001328: 27,3173 57177 GETGOBL 033705,001329: 27,3174 52175 VLOAD GOTO # NO OBLATENESS COMP IF IN MOON SPHERE 033706,001330: # Page 780 033707,001331: 27,3175 02366 DELVEET3 033708,001332: 27,3176 57212 NOGOBL 033709,001333: 27,3177 53575 GETGOBL VLOAD UNIT # CALCULATE OBLATENESS TERM. 033710,001334: 27,3200 01221 RN 033711,001335: 27,3201 45345 DLOAD DSU 033712,001336: 27,3202 01235 PIPTIME # 2 033713,001337: 27,3203 03512 GOBLTIME # G = -(MU/R )(UNITGOBL)(T-TIG) 033714,001338: 27,3204 56205 DMP DDV # OBL 033715,001339: 27,3205 16023 EARTHMU 033716,001340: 27,3206 00043 34D # 34D = /RN/ (2) FROM UNIT OPERATION. 033717,001341: 27,3207 53361 VXSC VAD 033718,001342: 27,3210 03521 UNITGOBL 033719,001343: 27,3211 02366 DELVEET3 # OUTPUT FROM INITVEL VG = VR - VN 033720,001344: 27,3212 02366 NOGOBL STORE DELVEET3 # VG = VR + GOBL - VN 033721,001345: 27,3213 77650 GOTO 033722,001346: 27,3214 56455 VGAIN* 033723,001347: 033724,001348: 27,3215 31103 36652 2PI+3 2DEC 3.141592653 B-2 033725,001349: 033726,001350: # Page 781 033727,001351: # TRIMGIMB (FORMERLY S40.6) 033728,001352: # MOD 0 24 FEB 67 PETER ADLER 033729,001353: 033730,001354: # FUNCTION: 033731,001355: # TRIMS DPS ENGINE TO MINIMIZE THRUST/CG OFFSET. ENGINE IS GIMBALLED TO FULL + PITCH AND + ROLL (TO LOCK) 033732,001356: # FOR REFERENCE AND IS THEN BROUGHT BACK TO TRIM POSITION BY RUNNING FOR THE PROPER TIMES (TO BE 033733,001357: # SPECIFIED BY GAEC) IN - PITCH AND - ROLL. 033734,001358: 033735,001359: # CALLING SEQUENCE: 033736,001360: # VIA WAITLIST FROM R03 033737,001361: 033738,001362: # INPUT: 033739,001363: # PITTIME TIME TO RUN FROM FULL + PITCH TO TRIM (CS) 033740,001364: # ROLLTIME TIME TO RUN FROM FULL + ROLL TO TRIM (CS) 033741,001365: 033742,001366: # SUBROUTINES USED: 033743,001367: # WAITLIST, FIXDELAY, VARDELAY, FLAGUP, FLAGDOWN, NOVAC 033744,001368: 033745,001369: 27,3217 COUNT* $$/S40.6 033746,001370: 27,3217 E6,1401 EBANK= ROLLTIME # OCTAL MASKS: PRIO5=05000 EBANK5=02400 033747,001371: 033748,001372: 27,3217 05516 TRIMGIMB TC DOWNFLAG # GMBDRVSW FLAG IS SET WHEN EITHER ROLL OR 033749,001373: 27,3220 00137 ADRES GMBDRVSW # PITCH IS COMPLETED, WHICHEVER IS FIRST. 033750,001374: 033751,001375: 27,3221 45017 CS PRIO5 # TURN OFF - PITCH, - ROLL, IF ON. 033752,001376: 27,3222 00006 EXTEND 033753,001377: 27,3223 03012 WAND CHAN12 033754,001378: 27,3224 35014 CAF EBANK5 # TURN ON + PITCH, + ROLL. 033755,001379: 27,3225 00006 EXTEND 033756,001380: 27,3226 05012 WOR CHAN12 033757,001381: 27,3227 05221 TC FIXDELAY # WAIT ONE MINUTE TO MAKE SURE ENGINE IS 033758,001382: 27,3230 13560 DEC 6000 B-14 # AT FULL + PITCH AND FULL + ROLL 033759,001383: 27,3231 45014 CS EBANK5 # TURN OFF + PITCH, + ROLL. 033760,001384: 27,3232 00006 EXTEND 033761,001385: 27,3233 03012 WAND CHAN12 033762,001386: 27,3234 35017 CAF PRIO5 # TURN ON - PITCH, - ROLL. 033763,001387: 27,3235 00006 EXTEND 033764,001388: 27,3236 05012 WOR CHAN12 033765,001389: 27,3237 31402 CAE PITTIME # GET TIME TO SHUT OFF - PITCH AND SET UP 033766,001390: 27,3240 05173 TC TWIDDLE # TWIDDLE-TASK TO TURN IT OFF THEN 033767,001391: 27,3241 03260 ADRES PITCHOFF 033768,001392: 033769,001393: 27,3242 31401 CAE ROLLTIME # GET TIME TO SHUT OFF - ROLL AND GO AWAY 033770,001394: 27,3243 05224 TC VARDELAY # UNTIL THEN 033771,001395: 27,3244 44740 CS BIT12 033772,001396: 27,3245 00006 EXTEND 033773,001397: 27,3246 03012 WAND CHAN12 # SHUT OFF ROLL 033774,001398: 27,3247 30102 ROLLOVER CA FLAGWRD6 # IF HERE INLINE (ROLL DONE) IS PITCH DONE 033775,001399: 27,3250 74742 MASK GMBDRBIT # IF HERE FROM PITCHOFF, IS ROLL DONE? 033776,001400: 27,3251 00006 EXTEND 033777,001401: 27,3252 13264 BZF PITCHOFF +4 # NO. SET FLAG, ROLL OR PITCH DONE. 033778,001402: 27,3253 34737 CAF PRIO10 # RETURN TO R03. 033779,001403: 27,3254 05072 TC NOVAC 033780,001404: 27,3255 E7,1471 EBANK= WHOCARES 033781,001405: # Page 782 033782,001406: 27,3255 02323 02067 2CADR TRIMDONE 033783,001407: 033784,001408: 27,3257 05261 TC TASKOVER 033785,001409: 27,3260 44742 PITCHOFF CS BIT10 033786,001410: 27,3261 00006 EXTEND 033787,001411: 27,3262 03012 WAND CHAN12 # SHUT OFF PITCH 033788,001412: 27,3263 13247 TCF ROLLOVER # SEE IF ROLL HAS FINISHED ALSO. 033789,001413: 27,3264 05504 TC UPFLAG # ROLL DONE; OR PITCH DONE; BUT NOT BOTH. 033790,001414: 27,3265 00137 ADRES GMBDRVSW 033791,001415: 27,3266 05261 TC TASKOVER 033792,001416: 033793,001417: # Page 783 033794,001418: # SUBROUTINE NAME: S41.1 MOD. NO. 0 DATE: FEBRUARY 28, 1967 033795,001419: # MOD. NO. 1 DATE: JANUARY 23, 1968, BY PETER ADLER (MIT/IL) 033796,001420: 033797,001421: # AUTHOR: JONATHON D. ADDLESTON (ADAMS ASSOCIATES) 033798,001422: 033799,001423: # S41.1 PERFORMS THE COORDINATE SYSTEM TRANSFORMATION FROM THE REFERENCE FRAME TO THE BODY OF THE LM. 033800,001424: # SPECIFICALLY, IT IS USED TO TRANSFORM A VELOCITY (SCALED AT 2(+7) METERS/CENTISECOND) FROM REFERENCE TO LM AXIS 033801,001425: # COORDINATES. FIRST THE VECTOR IS TRANSFORMED TO THE STABLE MEMBER COORDINATES BY THE MATRIX REFSMMAT. THIS 033802,001426: # LEAVES THE VECTOR IN MPAC, SCALED AT 2(+8) METERS/CENTISECOND. THEN 033803,001427: # THE SUBROUTINE CDUTRIG IS CALLED TO SET UP THE DOUBLE-PRECISION CDU VECTOR ALONG WITH ITS SINES AND COSINES. 033804,001428: # THE VECTOR IS THEN TRANSFORMED FROM STABLE MEMBER COORDINATES TO SPACECRAFT (OR LM) COORDINATES BY THE 033805,001429: # SUBROUTINE *SMNB*. FINALLY, THE VECTOR IS RESCALED TO 2(+7) METERS/CENTISECOND, AND CONTROL IS RETURNED BO THE 033806,001430: # CALLER WITH C(MPAC) = VELOCITY(LM). 033807,001431: 033808,001432: # CALLING SEQUENCE: 033809,001433: # L VLOAD CALL 033810,001434: # L +1 VELOCITY(REF) # SCALED AT 2(+7) M/CS IN REFERENCE COORDS. 033811,001435: # L +2 S41.1 033812,001436: # L +3 STORE VELOCITY(LM) # SCALED AT 2(+7) M/CS IN LM BODY AXIS SYS. 033813,001437: 033814,001438: # SUBROUTINES CALLED: 033815,001439: # 1. CDUTRIG, 033816,001440: # WHICH CALLS CDULOGIC. 033817,001441: # 2. *SMNB* 033818,001442: 033819,001443: # NORMAL RETURN: L +3 (SEE CALLING SEQUENCE, ABOVE.) 033820,001444: 033821,001445: # ALARM/ABORT MODES: NONE. 033822,001446: 033823,001447: # RESTART PROTECTION: NONE. 033824,001448: 033825,001449: # Page 784 033826,001450: # INPUT: 033827,001451: # 1. REFSMMAT. 033828,001452: # 2. CDUX, CDUY, CDUZ. 033829,001453: # 3. VELOCITY (REF) IN MPAC. 033830,001454: 033831,001455: # OUTPUT: 033832,001456: # 1. CSUSPOT: DOUBLE PRECISION CDU VECTOR, ORDERED Y,Z,X. 033833,001457: # 2. SINCDU: HALF SINES OF CDUSPOT COMPONENTS 033834,001458: # 3. COSCDU: HALF COSINES OF CDUSPOT COMPONENTS. 033835,001459: # 4. MPAC: VELOCITY(LM) (SCALED AT 2(+7) METERS/CENTISECOND) 033836,001460: 033837,001461: # DEBRIS: NONE. 033838,001462: 033839,001463: # CHECKOUT STATUS: CODED 033840,001464: 033841,001465: 27,3267 COUNT* $$/S41.1 033842,001466: 27,3267 76521 S41.1 MXV VSL1 # CONVERT VECTOR IN MPAC FROM REF AT 2(+7) 033843,001467: 27,3270 01734 REFSMMAT # TO SM AND RESCALE DUE TO HALF-UNIT MATRIX 033844,001468: 27,3271 77650 GOTO # CONVERT TO BODY AT 2(+7) USING PRESENT 033845,001469: 27,3272 47646 CDU*SMNB # CDU ANGLES. CDU*SMNB WILL RETURN 033846,001470: # VIA RVQ TO THE CALLER OF S41.1. End of include-file P40-P47.agc. Parent file is MAIN.agc