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