Source Code
These source code files have been transcribed or otherwise adapted from
digitized images of a hardcopy from the private collection of
Don Eyles. The digitization was performed by archive.org, and
transcription was performed by a team of volunteers.
Note that the page images
presented online are of reduced quality, and that the original
high-quality images are available at archive.org.
Report any conversion errors or legibility problems in page images to info@sandroid.org.
Notations on the program listing read, in part:473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP NOV 10, 1966Note that the date is the date of the printout, not the date of the program revision. |
007977,000002: ## Copyright: Public domain.
007978,000003: ## Filename: IMU_COMPENSATION_PACKAGE.agc
007979,000004: ## Purpose: Part of the source code for Aurora (revision 12).
007980,000005: ## Assembler: yaYUL
007981,000006: ## Contact: Hartmuth Gutsche<hgutsche@xplornet.com>.
007982,000007: ## Website: https://www.ibiblio.org/apollo.
007983,000008: ## Pages: 209-217
007984,000009: ## Mod history: 2016-09-20 JL Created.
007985,000010: ## 2016-09-21 HG Initial transcription from scans
007986,000011: ## 2016-10-12 HG Fix label VBU -> VBUF
007987,000012: ## GCOMPS -> GCOMPSW
007988,000013: ## 2016-12-08 RSB Proofed comments with octopus/ProoferComments
007989,000014: ## and fixed the errors found.
007990,000015:
007991,000016: ## This source code has been transcribed or otherwise adapted from
007992,000017: ## digitized images of a hardcopy from the private collection of
007993,000018: ## Don Eyles. The digitization was performed by archive.org.
007994,000019:
007995,000020: ## Notations on the hardcopy document read, in part:
007996,000021:
007997,000022: ## 473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
007998,000023: ## NOV 10, 1966
007999,000024:
008000,000025: ## [Note that this is the date the hardcopy was made, not the
008001,000026: ## date of the program revision or the assembly.]
008002,000027:
008003,000028: ## The scan images (with suitable reduction in storage size and consequent
008004,000029: ## reduction in image quality) are available online at
008005,000030: ## https://www.ibiblio.org/apollo.
008006,000031: ## The original high-quality digital images are available at archive.org:
008007,000032: ## https://archive.org/details/aurora00dapg
008008,000033:
Page 209 |
008010,000035: 07,2000 BANK 7
008011,000036: 07,2000 E3,1440 EBANK= NBDX
008012,000037: # PROGRAM DESCRIPTION- IMU COMPENSATION (LEM) DATE- 30 AUG 66
008013,000038: # MOD NO- 0 LOG SECTION- IMU COMPENSATION PACKAGE
008014,000039: # MOD BY- GILBERT ASSEMBLY- SUNBURST REVISION 13
008015,000040:
008016,000041: # FUNCTIONAL DESCRIPTION
008017,000042: # THE IMU COMPENSATION PACKAGE IS DESIGNED TO COMPENSATE FOR PIPA BIAS AND SCALE FACTOR ERROR AND AT THE
008018,000043: # SAME TIME ACCUMULATE GYRO TORQUING COMMANDS NECESSARY TO COMPENSATE FOR THE ASSOCIATED BIAS AND ACCELERATION-
008019,000044: # CAUSED GYRO DRIFTS. 1/PIPA MUST BE CALLED AT LEAST EVERY 2.55 SECONDS DUE TO SCALING CONSIDERATIONS.
008020,000045: # SPECIFICALLY, THE CORRECTION IS
008021,000046:
008022,000047: # PIPA = (1 + SCALE FACTOR ERROR)PIPA - (BIAS)(DELTAT)
008023,000048: # C I
008024,000049:
008025,000050: # WHERE PIPA IS THE COMPENSATED DATA OBTAINED FROM THE SAMPLED DATA PIPA
008026,000051: # C I
008027,000052:
008028,000053: # THE COMPENSATED DATA IS THEN USED TO COMPUTE THE IRIG TORQUING NECESSARY TO CANCEL THE NBD, ADIA, AND ADSRA
008029,000054: # GYRO COEFFICIENTS.
008030,000055: # SPECIFICALLY, THE COMPUTATIONS ARE
008031,000056:
008032,000057: # XIRIG -(ADIAX)(PIPAX ) + (ADSRAX)(PIPAY ) - (NBDX)(DELTAT)
008033,000058: # C C
008034,000059: # YIRIG -(ADIAY)(PIPAY ) + (ADSRAY)(PIPAZ ) - (NBDY)(DELTAT)
008035,000060: # C C
008036,000061: # ZIRIG -(ADIAZ)(PIPAZ ) - (ADSRAZ)(PIPAY ) + (NBDZ)(DELTAT)
008037,000062: # C C
008038,000063:
008039,000064: # THIS COMPENSATION IS SUMMED INTO THE GCOMP REGISTERS AND WHEN THE MAGNITUDE OF ANY IRIG COMMAND EXCEEDS 2
008040,000065: # PULSES, THE COMMANDS ARE SENT TO THE GYROS.
008041,000066:
008042,000067: # DURING FREE-FALL PHASES OF A FLIGHT NBDX, NBDY, AND NBDZ ARE THE ONLY RELEVANT COEFFICIENTS. THESE BIAS TERMS
008043,000068: # WILL BE INTEGRATED BY ROUTINE NBDONLY APPROXIMATELY EVERY 81.93 SECONDS FOLLOWING AN EXECUTIVE CALL BY THE DUMMY
008044,000069: # TASK OF THE WAITLIST PROGRAM. NBDONLY IS ENABLED WHEN BIT 15 OF FLAGWRD2 IS SET TO INDICATE FREE-FALL. DURING
008045,000070: # THIS TIME 1/PIPA IS NOT CALLED.
008046,000071:
008047,000072: # LASTBIAS IS CALLED VIA EXECUTIVE WHEN MAKING THE TRANSITION FROM FREE-FALL TO A PIPA READING MODE. THE NBD TERMS
008048,000073: # ARE COMPENSATED FOR FROM THE LAST NBDONLY CALL UP TO PIPA ZEROING. PREREAD WILL THEN ENABLE 1/PIPA AT ITS
008049,000074: # REGULAR INTERVAL. THE DRIFT FLAG MUST BE DOWN JUST PRIOR TO LASTBIAS. GYROCOMPASS NEVER CALLS LASTBIAS.
008050,000075:
008051,000076: # SCALING CONSIDERATIONS
008052,000077: # UNITS MAX. VALUE INTERNAL UNITS AND SCALING
008053,000078:
008054,000079: # PIPA BIAS (CM)/(SEC)(SEC) 3.125 (PIPA PULSES)/(CS) X 2(-5)
008055,000080: # PIPA SCALE FACTOR P.P.M. 1953.125 (PPM) X 2(-9)
008056,000081: # NBD MERU 128.74604 (GYRO PULSES)/(CS) X 2(-5)
008057,000082: # ADIA (MERU)/(G) 630.36633 (GYRO PULSES)/(PIPA PULSE) X 2(-6)
008058,000083: # ADSRA (MERU)/(G) 630.36633 (GYRO PULSES)/(PIPA PULSE) X 2(-6)
008059,000084:
Page 210 |
008061,000086: # CONVERSION TABLE
008062,000087: # 1 PIPA PULSE = 1.00 (CM)/(SEC)(SEC) 1 ERU = 7.29209817 X 10(-5) (RAD)/(SEC)
008063,000088: # 1 ERU = 15.04104488 (ARCSEC)/(SEC) 1 (CM)/(SEC)(SEC) = .01 (PIPA PULSES)/(CS)
008064,000089: # 1 GYRO PULSE = .61798096 ARCSEC 1 MERU = .0024272592 (GYRO PULSES)/(CS)
008065,000090: # 1 G = 979.24 (CM)/(SEC)(SEC) (AMR) 1 (MERU)/(G) = .000144787174 (GYRO PULSES)/(PIPA PULSE)
008066,000091:
008067,000092: # REFERENCES
008068,000093: # AGC PROGRAMMING MEMO NO. 12, I.S.S. MEMO NO. 247, I.S.S. MEMO NO. 328, I.S.S. MEMO NO. 339
008069,000094:
008070,000095: # CALLING SEQUENCE
008071,000096: # L TC BANKCALL
008072,000097: # L+1 CADR 1/PIPA
008073,000098: # L+2 RETURNS HERE
008074,000099:
008075,000100: # NORMAL EXIT MODES
008076,000101: # AT L+2 OF CALLING SEQUENCE
008077,000102:
008078,000103: # ALARM OR ABORT MODES
008079,000104: # ENDOFJOB
008080,000105:
008081,000106: # ERASABLE INITIALIZATION REQUIRED (CONSECUTIVE LOCATIONS)
008082,000107: # PBIASX PIPAX BIAS
008083,000108: # PIPASCFX PIPAX SCALE FACTOR ERROR
008084,000109: # PBIASY PIPAY BIAS
008085,000110: # PIPASCFY PIPAY SCALE FACTOR ERROR
008086,000111: # PBIASZ PIPAZ BIAS
008087,000112: # PIPASCFZ PIPAZ SCALE FACTOR ERROR
008088,000113: # NBDX X IRIG BIAS DRIFT
008089,000114: # NBDY Y IRIG BIAS DRIFT
008090,000115: # NDBZ Z IRIG BIAS DRIFT
008091,000116: # ADIAX IRIG ACCELERATION SENSITIVE DRIFT ALONG THE X INPUT AXIS
008092,000117: # ADIAY IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Y INPUT AXIS
008093,000118: # ADIAZ IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Z INPUT AXIS
008094,000119: # ADSRAX IRIG ACCELERATION SENSITIVE DRIFT ALONG THE X SPIN REFERENCE AXIS
008095,000120: # ADSRAY IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Y SPIN REFERENCE AXIS
008096,000121: # ADSRAZ IRIG ACCELERATION SENSITIVE DRIFT ALONG THE Z SPIN REFERENCE AXIS
008097,000122: # GCOMP GYRO COMPENSATION PULSES (SET = ZERO FOR 1ST PASS)
008098,000123:
008099,000124: # INPUT
008100,000125: # 1/PIPADT - DELTA TIME SCALED AT (CS) X 2(+8)
008101,000126: # DELVX, DELVY, DELVZ - PIPA READINGS IN THE MAJOR PARTS - MINOR PARTS IRRELEVANT
008102,000127:
008103,000128: # OUTPUT
008104,000129: # DELVX, DELVY, DELVZ - PIPA COUNTS SCALED 2(+14) COMPENSATED FOR PIPA BIAS AND SCALE FACTOR ERROR
008105,000130: # GCOMP - 3 DP LOCATIONS CONTAINING GYRO PULSES TO COMPENSATE FOR NBD, ADIA, AND ADSRA COEFFICIENTS
008106,000131:
008107,000132: # DEBRIS
008108,000133: # CENTRALS - A,L,Q
008109,000134: # OTHER - BUF - BUF +2, VBUF - VBUF +2, GCOMPSW
008110,000135:
Page 211 |
008112,000137: 07,2000 32233 1/PIPA CAF LGCOMP # SAVE EBANK OF CALLING PROGRAM
008113,000138: 07,2001 56003 XCH EBANK
008114,000139: 07,2002 54147 TS MODE
008115,000140:
008116,000141: 07,2003 37655 CAF FOUR # PIPAZ, PIPAY, PIPAX
008117,000142: 07,2004 54116 TS BUF +2
008118,000143:
008119,000144: 07,2005 50000 INDEX A
008120,000145: 07,2006 30403 CA DELVX # CONTAINS PREVIOUS PIPA READING
008121,000146: 07,2007 54106 TS VBUF # TEMPORARY - MINOR PARTS IRRELEVANT
008122,000147:
008123,000148: 07,2010 50116 INDEX BUF +2
008124,000149: 07,2011 41432 CS PIPABIAS # (PIPA PULSES)/(CS) X 2(-5) *
008125,000150: 07,2012 00006 EXTEND
008126,000151: 07,2013 71110 MP 1/PIPADT # (CS) X 2(+8) NOW (PIPA PULSES) X 2(+3)*
008127,000152: 07,2014 00006 EXTEND # *
008128,000153: 07,2015 77654 MP BIT4 # SCALE 2(-3) SHIFT LEFT 3 *
008129,000154: 07,2016 22107 LXCH VBUF +1 # (PIPA PULSES) X 2(0) FRACTIONAL PULSE*
008130,000155:
008131,000156: 07,2017 50116 INDEX BUF +2
008132,000157: 07,2020 31433 CA PIPASCF # (P.P.M.) X 2(-9)
008133,000158: 07,2021 00006 EXTEND
008134,000159: 07,2022 70106 MP VBUF # (PIPA PULSES) X 2(+14)
008135,000160: 07,2023 22110 LXCH VBUF +2 # SAVE FOR FRACTIONAL COMPUTATION
008136,000161: 07,2024 00006 EXTEND
008137,000162: 07,2025 77652 MP BIT6 # SCALE 2(+9) NOW PIPA PULSES X 2(+14)
008138,000163: 07,2026 20107 DAS VBUF # (PIPAI) - (NBD)(DELTAT) - HI(PIPAI)(SFE)
008139,000164:
008140,000165: 07,2027 30110 CA VBUF +2 # NOW MINOR PART
008141,000166: 07,2030 00006 EXTEND
008142,000167: 07,2031 77652 MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9
008143,000168: 07,2032 54001 TS L
008144,000169: 07,2033 37665 CAF ZERO
008145,000170: 07,2034 20107 DAS VBUF # (PIPAI) - (NBD)(DELTAT) - (PIPAI)(SFE)
008146,000171:
008147,000172: 07,2035 00006 EXTEND
008148,000173: 07,2036 30107 DCA VBUF # RESTORE COMPENSATED PIPA READING
008149,000174: 07,2037 50116 INDEX BUF +2
008150,000175: 07,2040 52404 DXCH DELVX
008151,000176:
008152,000177: 07,2041 10116 CCS BUF +2 # PIPAZ, PIPAY, PIPAX
008153,000178: 07,2042 67667 AD NEG1
008154,000179: 07,2043 12004 TCF 1/PIPA +4
008155,000180: 07,2044 12045 NOOP # LESS THAN ZERO IMPOSSIBLE
008156,000181:
Page 212 |
008158,000183: 07,2045 55457 IRIGCOMP TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS
008159,000184: 07,2046 54114 TS BUF # INDEX COUNTER - IRIGX, IRIGY, IRIGZ
008160,000185: 07,2047 00006 IRIGX EXTEND
008161,000186: 07,2050 40404 DCS DELVX # (PIPA PULSES) X 2(+14)
008162,000187: 07,2051 52141 DXCH MPAC
008163,000188: 07,2052 31443 CA ADIAX # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008164,000189: 07,2053 02127 TC GCOMPSUB # -(ADIAX)(PIPAX) (GYRO PULSES) X 2(+14)
008165,000190:
008166,000191: 07,2054 00006 EXTEND
008167,000192: 07,2055 40406 DCS DELVY # (PIPA PULSES) X 2(+14)
008168,000193: 07,2056 52141 DXCH MPAC
008169,000194: 07,2057 41446 CS ADSRAX # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008170,000195: 07,2060 02127 TC GCOMPSUB # +(ADSRAX)(PIPAY) (GYRO PULSES) X 2(+14)
008171,000196:
008172,000197: 07,2061 41440 CS NBDX # (GYRO PULSES)/(CS) X 2(-5)
008173,000198: 07,2062 02156 TC DRIFSTUB # -(NBDX)(DELTAT) (GYRO PULSES) X 2(+14)
008174,000199:
008175,000200: 07,2063 00006 IRIGY EXTEND
008176,000201: 07,2064 40406 DCS DELVY # (PIPA PULSES) X 2(+14)
008177,000202: 07,2065 52141 DXCH MPAC
008178,000203: 07,2066 31444 CA ADIAY # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008179,000204: 07,2067 02127 TC GCOMPSUB # -(ADIAY)(PIPAY) (GYRO PULSES) X 2(+14)
008180,000205:
008181,000206: 07,2070 00006 EXTEND
008182,000207: 07,2071 40410 DCS DELVZ # (PIPA PULSES) X 2(+14)
008183,000208: 07,2072 52141 DXCH MPAC
008184,000209: 07,2073 41447 CS ADSRAY # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008185,000210: 07,2074 02127 TC GCOMPSUB # +(ADSRAY)(PIPAZ) (GYRO PULSES) X 2(+14)
008186,000211:
008187,000212: 07,2075 41441 CS NBDY # (GYRO PULSES)/(CS) X 2(-5)
008188,000213: 07,2076 02156 TC DRIFSTUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14)
008189,000214:
008190,000215: 07,2077 00006 IRIGZ EXTEND
008191,000216: 07,2100 40406 DCS DELVY # (PIPA PULSES) X 2(+14)
008192,000217: 07,2101 52141 DXCH MPAC
008193,000218: 07,2102 31450 CA ADSRAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008194,000219: 07,2103 02127 TC GCOMPSUB # -(ADSRAZ)(PIPAY (GYRO PULSES) X 2(+14)
008195,000220:
008196,000221: 07,2104 00006 EXTEND
008197,000222: 07,2105 40410 DCS DELVZ # (PIPA PULSES) X 2(+14)
008198,000223: 07,2106 52141 DXCH MPAC
008199,000224: 07,2107 31445 CA ADIAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008200,000225: 07,2110 02127 TC GCOMPSUB # -(ADIAZ)(PIPAZ) (GYRO PULSES) X 2(+14)
008201,000226:
008202,000227: 07,2111 31442 CA NBDZ # (GYRO PULSES)/(CS) X 2(-5)
008203,000228: 07,2112 02156 TC DRIFSTUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14)
008204,000229:
Page 213 |
008206,000231: 07,2113 11457 CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES
008207,000232: 07,2114 12116 TCF +2 # YES
008208,000233: 07,2115 12124 TCF IRIG1 # NO
008209,000234:
008210,000235: 07,2116 00004 INHINT
008211,000236: 07,2117 34533 CAF PRIO35 # SEND OUT GYRO TORQUING COMMANDS
008212,000237: 07,2120 04363 TC NOVAC
008213,000238: 07,2121 02211 16003 2CADR 1/GYRO
008214,000239: 07,2123 00003 RELINT
008215,000240: 07,2124 30147 IRIG1 CA MODE # SET EBANK FOR RETURN
008216,000241: 07,2125 54003 TS EBANK
008217,000242: 07,2126 14076 TCF SWRETURN
008218,000243:
008219,000244:
008220,000245:
008221,000246:
008222,000247:
008223,000248:
008224,000249: 07,2127 56140 GCOMPSUB XCH MPAC # ADIA OR ADSRA COEFFICIENT ARRIVES IN A
008225,000250: 07,2130 00006 EXTEND # C(MPAC) = (PIPA PULSES) X 2(+14)
008226,000251: 07,2131 70140 MP MPAC # (GYRO PULSES)/(PIPA PULSE) X 2(-6) *
008227,000252: 07,2132 52107 DXCH VBUF # NOW = (GYRO PULSES) X 2(+8) *
008228,000253:
008229,000254: 07,2133 30141 CA MPAC +1 # MINOR PART PIPA PULSES
008230,000255: 07,2134 00006 EXTEND
008231,000256: 07,2135 70140 MP MPAC # ADIA OR ADSRA
008232,000257: 07,2136 54001 TS L
008233,000258: 07,2137 37665 CAF ZERO
008234,000259: 07,2140 20107 DAS VBUF # NOW = (GYRO PULSES) X 2(+8) *
008235,000260:
008236,000261: 07,2141 30106 CA VBUF # PARTIAL RESULT - MAJOR
008237,000262: 07,2142 00006 EXTEND
008238,000263: 07,2143 77647 MP BIT9 # SCALE 2(+6) SHIFT RIGHT 6 *
008239,000264: 07,2144 50114 INDEX BUF # RESULT = (GYRO PULSES) X 2(+14)
008240,000265: 07,2145 21452 DAS GCOMP # HI(ADIA)(PIPAI) OR HI(ADSRA)(PIPAI)
008241,000266:
008242,000267: 07,2146 30107 CA VBUF +1 # PARTIAL RESULT - MINOR
008243,000268: 07,2147 00006 EXTEND
008244,000269: 07,2150 77647 MP BIT9 # SCALE 2(+6) SHIFT RIGHT 6 *
008245,000270: 07,2151 54001 TS L
008246,000271: 07,2152 37665 CAF ZERO
008247,000272: 07,2153 50114 INDEX BUF # RESULT = (GYRO PULSES) X 2(+14)
008248,000273: 07,2154 21452 DAS GCOMP # (ADIA)(PIPAI) OR (ADSRA)(PIPAI)
008249,000274:
008250,000275: 07,2155 00002 TC Q
008251,000276:
Page 214 |
008253,000278: 07,2156 00006 DRIFSTUB EXTEND
008254,000279: 07,2157 22115 QXCH BUF +1
008255,000280:
008256,000281: 07,2160 00006 EXTEND # C(A) = NBD (GYRO PULSES)/(CS) X 2(-5)
008257,000282: 07,2161 71110 MP 1/PIPADT # (CS) X 2(+8) NOW (GYRO PULSES) X 2(+3)
008258,000283: 07,2162 22141 LXCH MPAC +1 # SAVE FOR FRACTIONAL COMPENSATION
008259,000284: 07,2163 00006 EXTEND
008260,000285: 07,2164 77654 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11
008261,000286: 07,2165 50114 INDEX BUF
008262,000287: 07,2166 21452 DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14)
008263,000288:
008264,000289: 07,2167 30141 CA MPAC +1 # NOW MINOR PART
008265,000290: 07,2170 00006 EXTEND
008266,000291: 07,2171 77654 MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11
008267,000292: 07,2172 54001 TS L
008268,000293: 07,2173 37665 CAF ZERO
008269,000294: 07,2174 50114 INDEX BUF # ADD IN FRACTIONAL COMPENSATION
008270,000295: 07,2175 21452 DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14)
008271,000296:
008272,000297: 07,2176 37656 DRFTSUB2 CAF TWO # PIPAX, PIPAY, PIPAZ
008273,000298: 07,2177 60114 AD BUF
008274,000299: 07,2200 56114 XCH BUF
008275,000300: 07,2201 50000 INDEX A
008276,000301: 07,2202 11451 CCS GCOMP # ARE GYRO COMMANDS 1 PULSE OR GREATER
008277,000302: 07,2203 12205 TCF +2 # YES
008278,000303: 07,2204 00115 TC BUF +1 # NO
008279,000304:
008280,000305: 07,2205 72255 MASK COMPCHK # DEC -1
008281,000306: 07,2206 10000 CCS A # ARE GYRO COMMANDS GREATER THAN 2 PULSES
008282,000307: 07,2207 55457 TS GCOMPSW # YES - SET GCOMPSW POSITIVE
008283,000308: 07,2210 00115 TC BUF +1 # NO
008284,000309:
Page 215 |
008286,000311: 07,2211 37655 1/GYRO CAF FOUR # PIPAZ, PIPAY, PIPAX
008287,000312: 07,2212 54114 TS BUF
008288,000313:
008289,000314: 07,2213 50114 INDEX BUF # SCALE GYRO COMMANDS FOR IMUPULSE
008290,000315: 07,2214 31452 CA GCOMP +1 # FRACTIONAL PULSES
008291,000316: 07,2215 00006 EXTEND
008292,000317: 07,2216 77650 MP BIT8 # SHIFT RIGHT 7
008293,000318: 07,2217 50114 INDEX BUF
008294,000319: 07,2220 55452 TS GCOMP +1 # FRACTIONAL PULSES SCALED
008295,000320:
008296,000321: 07,2221 37665 CAF ZERO # SET GCOMP = 0 FOR DAS INSTRUCTION
008297,000322: 07,2222 50114 INDEX BUF
008298,000323: 07,2223 57451 XCH GCOMP # GYRO PULSES
008299,000324: 07,2224 00006 EXTEND
008300,000325: 07,2225 77650 MP BIT8 # SHIFT RIGHT 7
008301,000326: 07,2226 50114 INDEX BUF
008302,000327: 07,2227 21452 DAS GCOMP # ADD THESE TO FRACTIONAL PULSES ABOVE
008303,000328:
008304,000329: 07,2230 10114 CCS BUF # PIPAZ, PIPAY, PIPAX
008305,000330: 07,2231 67667 AD NEG1
008306,000331: 07,2232 12212 TCF 1/GYRO +1
008307,000332: 07,2233 01451 LGCOMP ECADR GCOMP # LESS THAN ZERO IMPOSSIBLE
008308,000333:
008309,000334: 07,2234 32233 CAF LGCOMP
008310,000335: 07,2235 04063 TC BANKCALL
008311,000336: 07,2236 26317 CADR IMUPULSE # CALL GYRO TORQUING ROUTINE
008312,000337: 07,2237 04063 TC BANKCALL
008313,000338: 07,2240 26716 CADR IMUSTALL # WAIT FOR PULSES TO GET OUT
008314,000339: 07,2241 14440 TCF ENDOFJOB # TEMPORARY
008315,000340:
008316,000341: 07,2242 37655 GCOMP1 CAF FOUR # PIPAZ, PIPAY, PIPAX
008317,000342: 07,2243 54114 TS BUF
008318,000343:
008319,000344: 07,2244 50114 INDEX BUF # RESCALE
008320,000345: 07,2245 31452 CA GCOMP +1
008321,000346: 07,2246 00006 EXTEND
008322,000347: 07,2247 77650 MP BIT8 # SHIFT MINOR PART LEFT 7 - MAJOR PART = 0
008323,000348: 07,2250 50114 INDEX BUF
008324,000349: 07,2251 23452 LXCH GCOMP +1 # BITS 8-14 OF MINOR PART WERE = 0
008325,000350:
008326,000351: 07,2252 10114 CCS BUF # PIPAZ, PIPAY, PIPAX
008327,000352: 07,2253 67667 AD NEG1
008328,000353: 07,2254 12243 TCF GCOMP1 +1
008329,000354: 07,2255 77776 COMPCHK DEC -1 B-14 # LESS THAN ZERO IMPOSSIBLE
008330,000355: 07,2256 14440 TCF ENDOFJOB
008331,000356:
Page 216 |
008333,000358: 07,2257 30025 NBDONLY CA TIME1 # (CS) X 2(+14)
008334,000359: 07,2260 57110 XCH 1/PIPADT # PREVIOUS TIME
008335,000360: 07,2261 40000 COM
008336,000361: 07,2262 61110 AD 1/PIPADT
008337,000362: 07,2263 10000 NBD2 CCS A # CALCULATE ELAPSED TIME
008338,000363: 07,2264 67657 AD ONE # NO TIME1 OVERFLOW
008339,000364: 07,2265 12272 TCF NBD3 # RESTORE TIME DIFFERENCE AND JUMP
008340,000365: 07,2266 12270 TCF +2 # TIME1 OVERFLOW
008341,000366: 07,2267 14440 TCF ENDOFJOB # IF ELAPSED TIME = 0 (DIFFERENCE = -0)
008342,000367:
008343,000368: 07,2270 40000 COM # CALCULATE ABSOLUTE DIFFERENCE
008344,000369: 07,2271 67637 AD POSMAX
008345,000370:
008346,000371: 07,2272 00006 NBD3 EXTEND # C(A) = DELTAT (CS) X 2(+14)
008347,000372: 07,2273 77646 MP BIT10 # SHIFT RIGHT 5
008348,000373: 07,2274 52107 DXCH VBUF
008349,000374: 07,2275 00006 EXTEND
008350,000375: 07,2276 30107 DCA VBUF
008351,000376: 07,2277 52141 DXCH MPAC # DELTAT NOW SCALED (CS) X 2(+19)
008352,000377:
008353,000378: 07,2300 37665 CAF ZERO
008354,000379: 07,2301 55457 TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS
008355,000380: 07,2302 54114 TS BUF # PIPAX, PIPAY, PIPAZ
008356,000381:
008357,000382: 07,2303 41440 CS NBDX # (GYRO PULSES)/(CS) X 2(-5)
008358,000383: 07,2304 02322 TC FBIASSUB # -(NBDX)(DELTAT) (GYRO PULSES) X 2(+14)
008359,000384:
008360,000385: 07,2305 00006 EXTEND
008361,000386: 07,2306 40107 DCS VBUF
008362,000387: 07,2307 52141 DXCH MPAC # DELTAT SCALED (CS) X 2(+19)
008363,000388: 07,2310 31441 CA NBDY # (GYRO PULSES)/(CS) X 2(-5)
008364,000389: 07,2311 02322 TC FBIASSUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14)
008365,000390:
008366,000391: 07,2312 00006 EXTEND
008367,000392: 07,2313 40107 DCS VBUF
008368,000393: 07,2314 52141 DXCH MPAC # DELTAT SCALED (CS) X 2(+19)
008369,000394: 07,2315 41442 CS NBDZ # (GYRO PULSES)/(CS) X 2(-5)
008370,000395: 07,2316 02322 TC FBIASSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2 (+14)
008371,000396:
008372,000397: 07,2317 11457 CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES
008373,000398: 07,2320 12211 TCF 1/GYRO # YES
008374,000399: 07,2321 14440 TCF ENDOFJOB # NO
008375,000400:
Page 217 |
008377,000402: 07,2322 56002 FBIASSUB XCH Q
008378,000403: 07,2323 54115 TS BUF +1
008379,000404:
008380,000405: 07,2324 30002 CA Q # NBD SCALED (GYRO PULSES)/(CS) X 2(-5)
008381,000406: 07,2325 00006 EXTEND
008382,000407: 07,2326 70140 MP MPAC # DELTAT SCALED (CS) X 2(+19)
008383,000408: 07,2327 50114 INDEX BUF
008384,000409: 07,2330 21452 DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14)
008385,000410:
008386,000411: 07,2331 30002 CA Q # NOW FRACTIONAL PART
008387,000412: 07,2332 00006 EXTEND
008388,000413: 07,2333 70141 MP MPAC +1
008389,000414: 07,2334 54001 TS L
008390,000415: 07,2335 37665 CAF ZERO
008391,000416: 07,2336 50114 INDEX BUF
008392,000417: 07,2337 21452 DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14)
008393,000418:
008394,000419: 07,2340 12176 TCF DRFTSUB2 # CHECK MAGNITUDE OF COMPENSATION
008395,000420:
008396,000421:
008397,000422:
008398,000423:
008399,000424:
008400,000425: 07,2341 57110 LASTBIAS XCH 1/PIPADT # NEW 1/PIPADT VALUE SCALED (CS) X 2(+14)
008401,000426: 07,2342 40000 COM
008402,000427: 07,2343 60140 AD MPAC # C(TIME1) AT PIPAI = 0 SCALED 2(+14)
008403,000428: 07,2344 12263 TCF NBD2
008404,000429:
008405,000430:
008406,000431:
008407,000432:
008408,000433:
008409,000434: 07,2345 32233 GCOMPZER CAF LGCOMP # ROUTINE TO ZERO GCOMP BEFORE FIRST
008410,000435: 07,2346 56003 XCH EBANK # CALL TO 1/PIPA
008411,000436: 07,2347 54147 TS MODE
008412,000437:
008413,000438: 07,2350 37665 CAF ZERO
008414,000439: 07,2351 55451 TS GCOMP
008415,000440: 07,2352 55452 TS GCOMP +1
008416,000441: 07,2353 55453 TS GCOMP +2
008417,000442: 07,2354 55454 TS GCOMP +3
008418,000443: 07,2355 55455 TS GCOMP +4
008419,000444: 07,2356 55456 TS GCOMP +5
008420,000445:
008421,000446: 07,2357 30147 CA MODE
008422,000447: 07,2360 54003 TS EBANK
008423,000448: 07,2361 14076 TCF SWRETURN # RETURN TO CALLER
End of include-file IMU_COMPENSATION_PACKAGE.agc. Parent file is MAIN.agc