SSL IMU_MODE_SWITCHING_ROUTINES.agc
Interaktion und PortierbarkeitApollo
# Copyright: Public domain. # Filename: IMU_MODE_SWITCHING_ROUTINES.agc # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. # It is part of the source code for the Command Module's (CM) # Apollo Guidance Computer (AGC), for Apollo 11. # Assembler: yaYUL # Contact: Ron Burkey <info@sandroid.org>. # Website: www.ibiblio.org/apollo. # Pages: 1420-1448 # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting from # the Colossus249/ file of the same name, # using Comanche055 page images. # # This source code has been transcribed or otherwise adapted from digitized # images of a hardcopy from the MIT Museum. The digitization was performed # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many # thanks to both. The images (with suitable reduction in storage size and # consequent reduction in image quality as well) are available online at # www.ibiblio.org/apollo. If for some reason you find that the images are # illegible, contact me at info@sandroid.org about getting access to the # (much) higher-quality images which Paul actually created. # # Notations on the hardcopy document read, in part: # # Assemble revision 055 of AGC program Comanche by NASA # 2021113-051. 10:28 APR. 1, 1969 # # This AGC program shall also be referred to as # Colossus 2A
# Page 1420
BLOCK 02 SETLOC FFTAG3 BANK
EBANK= COMMAND
# FIXED-FIXED ROUTINES.
COUNT02/IMODE
ZEROICDU CAF ZERO # ZERO ICDU COUNTERS. TS CDUX TS CDUY TS CDUZ TC Q
SPSCODE = BIT9
# Page 1421 # IMU ZEROING ROUTINE.
BANK11 SETLOC MODESW BANK
COUNT07/IMODE
IMUZERO INHINT# ROUTINE TO ZERO ICDUS. CS DSPTAB +11D # DONT ZERO CDUS IS IMU IN GIMBAL LOCK AND MASK BITS4&6# COARSE ALIGN (GIMBAL RUNAWAY PROTECTION) CCS A TCF IMUZEROA
TC ALARM # IF SO. OCT00206
TCF CAGETSTJ +4# IMMEDIATE FAILURE.
IMUZEROA TC CAGETSTJ # DO ALL THE WORK. CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES MASK SUPER011 # BIT5 FOR GROUND ADS IMODES33
CS IMODES30 # INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE MASK BITS3&4# JUST CAME OUT OF COARSE ALIGN). ADS IMODES30
CS BITS4&6# SEND ZERO ENCODE WITH COARSE AND ERROR EXTEND# COUNTER DISABLED. WAND CHAN12
TC NOATTOFF # TURN OFF NO ATT LAMP.
CAF BIT5 EXTEND WOR CHAN12
TC ZEROICDU CAF BIT6 # WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO TC WAITLIST # RECEIVE ITS PULSE TRAIN. EBANK= CDUIND 2CADR IMUZERO2
CS IMODES30 # SEE IF IMU OPERATING AND ALARM IF NOT. MASK BIT9 CCS A TCF MODEEXIT # Page 1422 TC ALARM OCT210
MODEEXIT RELINT# GENERAL MODE-SWITCHING EXIT. TCF SWRETURN
IMUZERO2 TC CAGETEST TC ZEROICDU # ZERO CDUX, CDUY, CDUZ
CS BIT5 # REMOVE ZERO DISCRETE. EXTEND WAND CHAN12
CAF BIT11 # WAIT 10 SECS FOR CTRS TO FIND GIMBALS TC VARDELAY
CS SUPER011 # ENABLE DAP AUTO AND HOLD MODES MASK IMODES33 # BIT5 FOR GROUND TS IMODES33
TC IBNKCALL # SET ISS WARNING IF EITHER OF ABOVE ARE CADR SETISSW # PRESENT.
TCF ENDIMU
# Page 1423 # IMU COARSE ALIGN MODE.
IMUCOARS INHINT TC CAGETSTJ TC SETCOARS
CAF SIX TC WAITLIST EBANK= CDUIND 2CADR COARS
TCF MODEEXIT
COARS TC CAGETEST CAF BIT6 # ENABLE ALL THREE ISS CDU ERROR COUNTERS EXTEND WOR CHAN12
CAF TWO # SET CDU INDICATOR
COARS1 TS CDUIND
INDEX CDUIND # COMPUTE THETAD - THETAA IN 1:S CA THETAD # COMPLEMENT FORM EXTEND INDEX CDUIND MSU CDUX EXTEND MP BIT13 # SHIFT RIGHT 2 XCH L # ROUND DOUBLE TS ITEMP1 TCF +2 ADS L
INDEX CDUIND # DIFFERENCE TO BE COMPUTED LXCH COMMAND CCS CDUIND TC COARS1
CAF TWO # MINIMUM OF 4 MS WAIT TC VARDELAY
# Page 1424
COARS2 TC CAGETEST # DONT CONTINUE IF CAGED. TS ITEMP1 # SET TO +0. CAF TWO # SET CDU INDICATOR
+3TS CDUIND
INDEX CDUIND CCS COMMAND # NUMBER OF PULSES REQUIRED TC COMPOS # GREATER THAN MAX ALLOWED TC NEXTCDU +1 TC COMNEG TC NEXTCDU +1
COMPOS AD -COMMAX # COMMAX = MAX NUMBER OF PULSES ALLOWED EXTEND# MINUS ONE BZMF COMZERO INDEX CDUIND TS COMMAND # REDUCE COMMAND BY MAX NUMBER OF PULSES CS -COMMAX- # ALLOWED
NEXTCDU INCR ITEMP1 AD NEG0 INDEX CDUIND TS CDUXCMD # SET UP COMMAND REGISTER.
CCS CDUIND TC COARS2 +3
CCS ITEMP1 # SEE IF ANY PULSES TO GO OUT. TCF SENDPULS
TC FIXDELAY # WAIT FOR GIMBALS TO SETTLE. DEC150
CAF TWO # AT END OF COMMAND, CHECK TO SEE THAT
CHKCORS TS ITEMP1 # GIMBALS ARE WITHIN 2 DEGREES OF THETAD. INDEX A CA CDUX EXTEND INDEX ITEMP1 MSU THETAD CCS A TCF COARSERR TCF CORSCHK2 TCF COARSERR
# Page 1425
CORSCHK2 CCS ITEMP1 TCF CHKCORS TCF ENDIMU # END OF COARSE ALIGNMENT.
COARSERR AD COARSTOL # 2 DEGREES. EXTEND BZMF CORSCHK2
TC ALARM # COARSE ALIGN ERROR. OCT211
TCF IMUBAD
COARSTOL DEC -.01111# 2 DEGREES SCALED AT HALF-REVOLUTIONS
COMNEG AD -COMMAX EXTEND BZMF COMZERO
COM INDEX CDUIND TS COMMAND CA -COMMAX- TC NEXTCDU
COMZERO CAF ZERO INDEX CDUIND XCH COMMAND TC NEXTCDU
SENDPULS CAF13,14,15 EXTEND WOR CHAN14 CAF600MS TCF COARS2 -1# THEN TO VARDELAY
CA+ECE CAF BIT6 # ENABLE ALL THREE ISS CDU ERROR COUNTERS EXTEND WOR CHAN12 TC TASKOVER
# Page 1426
SETCOARS CAF BIT4 # BYPASS IF ALREADY IN COARSE ALIGN EXTEND
RAND CHAN12 CCS A TC Q
CS BIT6 # CLEAR ISS ERROR COUNTERS EXTEND WAND CHAN12
CS BIT10 # KNOCK DOWN GYRO ACTIVITY EXTEND WAND CHAN14 CS ZERO TS GYROCMD
CAF BIT4 # PUT ISS IN COARSE ALIGN EXTEND WOR CHAN12
CS DSPTAB +11D # TURN ON NO ATT LAMP MASK OCT40010 ADS DSPTAB +11D
CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES MASK BIT6 ADS IMODES33
RNDREFDR CS BIT5 # KNOCK DOWN TRACK FLAG MASK FLAGWRD1 TS FLAGWRD1
CS BIT15 # KNOCK DOWN DRIFT FLAG MASK FLAGWRD2 TS FLAGWRD2
CS BIT13 # KNOCK DOWN REFSMMAT FLAG MASK FLAGWRD3 TS FLAGWRD3
TC Q
OCT40010 OCT40010
# Page 1427 # IMU FINE ALIGN MODE SWITCH.
IMUFINE INHINT TC CAGETSTJ # SEE IF IMU BEING CAGED.
CS BITS4-5# RESET ZERO AND COARSE EXTEND WAND CHAN12
CS BIT6 # INSURE DAP AUTO AND HOLD MODES ENABLED MASK IMODES33 TS IMODES33
TC NOATTOFF
CAF BIT10 # IMU FAIL WAS INHIBITED DURING THE TC WAITLIST # PRESUMABLY PRECEDING COARSE ALIGN. LEAVE EBANK= CDUIND 2CADR IFAILOK # IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
CAF2SECS TC WAITLIST EBANK= CDUIND 2CADR IMUFINED
TCF MODEEXIT
IMUFINED TC CAGETEST # SEE THAT NO ONE HAS CAGED THE IMU. TCF ENDIMU
# Page 1428
IFAILOK TC CAGETSTQ # ENABLE IMU FIAL UNLESS IMU BEING CAGED. TCF TASKOVER # IT IS.
CAF BIT4 # DONT RESET IMU FAIL INHIBIT IF SOMEONE EXTEND# HAS GONE INTO COARSE ALIGN.
RAND CHAN12 CCS A TCF TASKOVER
CS IMODES30 # RESET IMUFAIL. MASK BIT13 ADS IMODES30 CS BIT4
PFAILOK2 MASK IMODES30 TS IMODES30 TC IBNKCALL # THE ISS WARNING LIGHT MAY COME ON NOW CADR SETISSW # THAT THE INHIBIT WAS BEEN REMOVED. TCF TASKOVER
NOATTOFF CS OCT40010 # SUBROUTINE TO TURN OFF NO ATT LAMP. MASK DSPTAB +11D AD BIT15 TS DSPTAB +11D TC Q
# Page 1429 # ROUTINES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS. NO IMUSTALL REQUIRED IN EITHER CASE.
PIPUSE CS ZERO TS PIPAX TS PIPAY TS PIPAZ
PIPUSE1 TC CAGETSTQ # DO NOT ENABLE PIPA FAIL IF IMU IS CAGED TCF SWRETURN
INHINT CS BIT1 # IF PIPA FAILS FROM NOW ON (UNTIL MASK IMODES30 # PIPFREE), LIGHT ISS WARNING. TS IMODES30
PIPFREE2 TC IBNKCALL # ISS WARNING MIGHT COME ON NOW. CADR SETISSW # (OR GO OFF ON PIPFREE).
TCF MODEEXIT
PIPFREE INHINT# PROGRAM DONE WITH PIPAS. DONT LIGHT CS IMODES30 # ISS WARNING. MASK BIT1 ADS IMODES30
MASK BIT10 # IF PIP FAIL ON, DO PROG ALSRM AND RESET CCS A # ISS WARNING. TCF MODEEXIT
TC ALARM OCT212
INHINT
TCF PIPFREE2
# Page 1430 # THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS # BEGINNING AT THE ECADR ARRIVING IN A. THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE # UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
EBANK= 1400# VARIABLE, ACTUALLY.
IMUPULSE TS MPAC +5# SAVE ARRIVING ECADR. TC CAGETSTJ # DONT PROCEED IF IMU BEING CAGED.
CCS LGYRO # SEE IF GYROS BUSY. TC GYROBUSY # SLEEP.
TS MPAC +2 CAF BIT6 # ENABLE THE POWER SUPPLY. EXTEND WOR CHAN14
CAF FOUR
GWAKE2 TC WAITLIST # (IF A JOB WAS PUT TO SLEEP, THE POWER EBANK= CDUIND # SUPPLY IS LEFT ON BY THE WAKING JOB). 2CADR STRTGYRO
CA MPAC +5# SET UP EBANK, SAVING CALLER'S EBANK FOR XCHEBANK# RESTORATION ON RETURN. XCH MPAC +5 TS LGYRO # RESERVES GYROS. MASK LOW8 TS ITEMP1
CAF TWO # FORCE SIGN AGREEMENT ON INPUTS.
GYROAGRE TS MPAC +3 DOUBLE AD ITEMP1 TS MPAC +4 EXTEND INDEX A DCA1400 DXCH MPAC TC TPAGREE DXCH MPAC INDEX MPAC +4 DXCH1400
CCS MPAC +3 TCF GYROAGRE
CA MPAC +5# RESTORE CALLER'S EBANK. TSEBANK TCF MODEEXIT
# Page 1431 # ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
# Page 1434
MIN+ AD -GYROMIN # SMALL POSITIVE COMMAND. SEE IF AT LEAST EXTEND# 16 GYRO PULSES. BZMF STRTGYR2
MAJ+ EXTEND# DEFINITE POSITIVE OUTPUT. DCA GYROFRAC DAS RUPTREG1
CA ITEMP4 # SELECT POSITIVE TORQUING FOR THIS GYRO. EXTEND WOR CHAN14
CAF LOW7 # LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS MASK RUPTREG2 # TO INITIAL COMMAND IN MAJOR PART OF LONG XCH RUPTREG2 # TERM STORAGE AND TRUNCATED FRACTION
GMERGE EXTEND# IN MINOR PART. THE MAJOR PART WILL BE MP BIT8 # COUNTED DOWN TO ZERO IN THE COURSE OF TS ITEMP2 # PUTTING OUT THE ENTIRE COMMAND. CA RUPTREG1 EXTEND MP BIT9 TS RUPTREG1 CA L EXTEND MP BIT14 ADS ITEMP2 # INITIAL COMMAND.
EXTEND# SEE IF MORE THAN ONE PULSE TRAIN NEEDED DCA RUPTREG1 # (MORE THAN 16383 PULSES). AD MINUS1 CCS A TCF LONGGYRO
-GYROMIN OCT -176# MAY BE ADJUSTED TO SPECIFY MINIMUM CMD TCF +4
CAF BIT14 ADS ITEMP2 CAF ZERO
+4INDEX ITEMP1 DXCH1400 # Page 1435 CA ITEMP2 # ENTIRE COMMAND.
LASTSEG TS GYROCMD EXTEND MP BIT10 # WAITLIST DT AD THREE # TRUNCATION AND PHASE UNCERTAINTIES. TC WAITLIST EBANK= CDUIND 2CADR STRTGYRO
GYROEXIT CAF BIT10 EXTEND WOR CHAN14 TCF TASKOVER
LONGGYRO INDEX ITEMP1 DXCH1400# INITIAL COMMAND OUT PLUS N AUGMENTS OF CAF BIT14 # 8192. INITIAL COMMAND IS AT LEAST 8192. AD ITEMP2 TS GYROCMD
AUG3 EXTEND# GET WAITLIST DT TO TIME WHEN TRAIN IS MP BIT10 # ALMOST OUT. AD NEG3 TC WAITLIST EBANK= CDUIND 2CADR8192AUG
TCF GYROEXIT
8192AUG TC CAGETEST
CAF BIT4 EXTEND
RAND CHAN12 CCS A TCF IMUBAD CA LGYRO # ADD 8192 PULSES TO GYROCMD TSEBANK MASK LOW8 TS ITEMP1
INDEX ITEMP1 # SEE IF THIS IS THE LAST AUG. CCS1400 TCF AUG2 # MORE TO COME.
# Page 1437
MIN- AD -GYROMIN # POSSIBLE NEGATIVE OUTPUT. EXTEND BZMF STRTGYR2
MAJ- EXTEND# DEFINITE NEGATIVE OUTPUT.
DCS GYROFRAC DAS RUPTREG1
CA ITEMP4 # SELECT NEGATIVE TORQUING FOR THIS GYRO. AD BIT9 EXTEND WOR CHAN14
CS RUPTREG1 # SET UP RUPTREGS TO FALL INTO GMERGE. TS RUPTREG1 # ALL NUMBERS PUT INTO GYROCMD ARE CS RUPTREG2 # POSITIVE - BIT9 OF CHAN 14 DETERMINES MASK LOW7 # THE SIGN OF THE COMMAND.
COM XCH RUPTREG2
COM TCF GMERGE
GDESELCT OCT1700# TURN OFF SELECT AND ACTIVITY BITS.
GYROFRAC 2DEC .215 B-21
# Page 1438 # IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
ENDIMU EXTEND# MODE IS BAD IF CAGE HAS OCCURRED OR IF READ DSALMOUT # ISS WARNING IS ON. MASK BIT1 CCS A TCF IMUBAD
IMUGOOD TCF GOODEND # WITH C(A) = 0.
IMUBAD CAF ZERO TCF BADEND
CAGETEST CAF BIT6 # SUBROUTINE TO TERMINATE IMU MODE MASK IMODES30 # SWITCH IF IMU HAS BEEN CAGED. CCS A TCF IMUBAD # DIRECTLY. TC Q # WITH C(A) = +0.
CAGETSTQ CS IMODES30 # SKIP IF IMU NOT BEING CAGED. MASK BIT6 CCS A INCR Q TC Q
CAGETSTJ CS IMODES30 # IF DURING MODE SWITCH INITIALIZATION. MASK BIT6 # IT IS FOUND THAT THE IMU IS BEING CAGED. CCS A # SET IMUCADR TO -0 TO INDICATE OPERATION TC Q # COMPLETE BUT FAILED. RETURN IMMEDIATELY
CS ZERO # TO SWRETURN. TS IMUCADR TCF MODEEXIT
# Page 1439 # GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION # OR AT BADEND FOR AN UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
BADEND TS RUPTREG2 # DEVICE INDEX. CS ZERO # FOR FAILURE. TCF GOODEND +2
GOODEND TS RUPTREG2 CS ONE # FOR SUCCESS.
TS RUPTREG3 INDEX RUPTREG2 # SEE IF USING PROGRAM ASLEEP. CCS MODECADR TCF +2# YES - WAKE IT UP. TCF ENDMODE # IF 0, PROGRAM NOT IN YET.
CAF ZERO # WAKE SLEEPING PROGRAM. INDEX RUPTREG2 XCH MODECADR TC JOBWAKE
CS RUPTREG3 # ADVANCE LOC IF SUCCESSFUL. INDEX LOCCTR ADS LOC
TCF TASKOVER
ENDMODE CA RUPTREG3 # -0 INDICATES OPERATION COMPLETE BUT INDEX RUPTREG2 # UNSUCCESSFUL - -1 INDICATES COMPLETE AND TS MODECADR # SUCCESSFUL. TCF TASKOVER
# Page 1440 # GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
# PROGRAM DESCRIPTION DATE- 21 FEB 1967 # LOG SECTION IMU MODE SWITCHING # MOD BY- R.MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 82
# FUNCTIONAL DESCRIPTION- # TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED # I/O FUNCTION IS COMPLETE. THE FOLLOWING CHECKS ON THE CALLING ROUTINES # MODECADR ARE MADE AND ACTED UPON. # 1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO # SLEEP. # 2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP # CALL AND RETURNS TO CALLING ROUTINE AT L+3 # 3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR # AND RETURNS TO CALLING ROUTINE AT L+2. # 4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF # SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM # RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
# CALLING SEQUENCE- # L TC BANKCALL # L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL,OPTSTALL,RADSTALL, # AOTSTALL,OR ATTSTALL)
# NORMAL-EXIT MODE- # TCF JOBSLEEP OR TCF MODEXIT
# ALARM OR ABORT EXIT MODE- # TC ABORT
# OUTPUT- # MODECADR= CADR IF JOBSLEEP # MODECADR=+0 IF I/O COMPLETE # BUF2=L+3 IF I/O COMPLETE AND GOOD. # BUF2=L+2 IF I/O COMPLETE BUT FAILED.
# ERASABLE INITIALIZATION- # BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2) # BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE. # MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR CADR RETURN ADDRESS. # # DEBRIS- # RUPTREG2 AND CALLING ROUTINE MODECADR.
AOTSTALL CAF ONE # AOT. TC STALL
RADSTALL CAF TWO TCF STALL
# Page 1441
OPTSTALL EQUALS AOTSTALL
IMUSTALL CAF ZERO # IMU.
STALL INHINT TS RUPTREG2 # SAVE DEVICE INDEX. INDEX A # SEE IF OPERATION COMPLETE. CCS MODECADR TCF MODABORT # ALLOWABLE STATES ARE +0, -1, AND -0. TCF MODESLP # OPERATION INCOMPLETE. TCF MODEGOOD # COMPLETE AND GOOD IF = -1.
MG2 INDEX RUPTREG2 # COMPLETE FAILED IF -0. RESET TO +0. TS MODECADR # RETURN TO CALLER. TCF MODEEXIT
MODEGOOD CCS A # MAKE SURE INITIAL STATE -1. TCF MODABORT
INCR BUF2 # IF SO, INCREMENT RETURN ADDRESS AND TCF MG2 # RETURN IMMEDIATELY, SETTIN CADR = +0.
MODESLP TC MAKECADR # CALL FROM SWITCHABLE FIXED ONLY. INDEX RUPTREG2 TS MODECADR TCF JOBSLEEP
MODABORT TC POODOO # TWO PROGRAMS USING THE SAME DEVICE. OCT1210
# Page 1442 # CONSTANTS FOR MODE SWITCHING ROUTINES
BITS3&4 = OCT14
BITS4&6 = OCT50
BITS4-5EQUALS BITS4&5
IMUSEFLG EQUALS BIT8 # INTERPRETER SWITCH 7.
-COMMAX DEC -191
-COMMAX- DEC -192 600MS DEC60
IMUFIN20 = IMUFINE
GOMANUR CA ATTCADR # IS KALCMANU FREE EXTEND BZF +3 TC POODOO # NO OCT1210# 2 TRYING TO USE SAME DEVICE
+3EXTEND DCA BUF2 DXCH ATTCADR # SAVE FINAL RETURN FOR KALCMAN3
CA BBANK MASK SEVEN ADS ATTCADR +1
CA PRIORITY MASK PRIO37 TS ATTPRIO # SAVE USERS PRIO
CAF KALEBCON # SET EBANK FOR KALCMAN3 TSEBANK TC POSTJUMP CADR KALCMAN3
KALEBCON ECADR BCDU
# Page 1443 # PROGRAM DESCRIPTION # IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY) # MOD NO - 1 # MOD BY - N.BRODEUR # FUNCTIONAL DESCRIPTION # # TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN # ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE # PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE # CMC. CALLED THROUGH BANKCALL # CALLING SEQUENCE- # # L TC BANKCALL # L+1 CADR R02BOTH # SUBROUTINES CALLED # # VARALARM # FLAGUP # NORMAL EXIT MODES # # AT L+2 OF CALLING SEQUENCE # ALARM OR ABORT EXIT MODES # GOTOPOOH, WITH ALARM # ERASABLE INITIALIZATION REQUIRED # # NONE # DEBRIS # # CENTRALS-A,Q,L
BANK34 SETLOC R02 BANK COUNT04/R02 # COUNT*
DEC51 DEC51
R02BOTH CAF BIT13 MASK STATE +3# REFSMFLG CCS A TC R02ZERO # ZERO IMUS
CA IMODES30 MASK BIT9 # IS ISS INITIALIZED EXTEND BZF +2 CS BIT4 # SEND IMU ALARM CODE 210 AD OCT220 # SEND REFSMM ALARM TC VARALARM
# TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
# THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU # HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF. THE # CMC STANDBY ON THE MAIN AND LEB DISKYS IS ON.
# CALLING SEQUENCE: # ASTRONAUT REQUEST THROUGH DSKY V37E 06E.
# Page 1446 # PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2 # THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY # BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
SETLOC P05P06 BANK
EBANK= TIME2SAV COUNT* $$/P06
P06 TC UPFLAG # SET NODOV37 BIT ADRES NODOFLAG
PRESTAND INHINT EXTEND DCA TIME2 # SNAPSHOT TIME1TIME2 DXCH TIME2SAV TC SCALPREP TC PRESTAND # T1,T2,SCALER NOT COMPATIBLE DXCH MPAC # T1,T2 AND SCALER OK DXCH SCALSAVE # STORE SCALER INHINT TC BANKCALL CADR RNDREFDR # REFSMM, DRIFT, TRACK FLAGS DOWN
TC DOWNFLAG ADRES IMUSE # IMUSE DOWN TC DOWNFLAG ADRES RNDVZFLG # RNDVZFLG DOWN
CAF BIT11 EXTEND WOR CHAN13 # SET STANDBY ENABLE BIT
TC PHASCHNG # SET RESTART TO POSTAND WHEN STANDBY OCT07024# RECOVERS OCT20000 EBANK= SCALSAVE 2CADR POSTAND
# THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A # Page 1447. # T1 INCREMENT. IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER # DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE # DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES # THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE # 10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM # T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF # ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1. THE LOW 5 # BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER # DATA TO 10 MS. RESULTS ARE STORED IN MPAC, +1.
SCALPREP EXTEND QXCH MPAC +2 TC FINETIME +1 RELINT DXCH MPAC CA BIT5 # ADD 5 MS TO THE SCALER READING. TS L CA ZERO DAS MPAC CS LOW5 # SET LOW 5 BITS OF (SCALER+5MS) TO ZERO MASK MPAC +1# AND STORE RESULTS IN MPAC,+1. XCH MPAC +1 MASK LOW5 # TEST LOW 5 BITS OF SCALER FOR THE FIRST # INTERVAL AFTER THE T1 INCREMENT # (NOW = 00000, SINCE BIT 5 ADDED). CCS A # IS IT 1ST INTERVAL AFTER T1 INCREMENT INCR MPAC +2# NO TC MPAC +2# YES
# POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE # TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE # INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE # CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER # VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF # TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
COUNT* $$/P05
POSTAND CS BIT11 # RECOVER TIME AFTER STANDBY. EXTEND WAND CHAN13 # CLEAR STANDBY ENABLE BIT INHINT CA ZERO TS L DXCH TIME2 # CLEAR TIME1 TIME2 TC SCALPREP # STORE SCALER IN MPAC, MPAC+1 TC POSTAND +3# T1,T2,SCALER NOT COMPATIBLE EXTEND# T1,T2 AND SCALER OK
DCS SCALSAVE DAS MPAC # FORM DP DIFFERENCE OF POSTSTANDBY SCALER # Page 1448 CAF BIT10 # MINUS PRESTANDBY SCALER AND SHIFT RIGHT TC SHORTMP # 5 TO ALIGN BITS WITH TIME1TIME2. CAF ZERO TS MPAC +2# NEEDED FOR TP AGREE TC TPAGREE # MAKE DP DIFF AGREE CCS MPAC TC POSTCOM # IF DP DIFF NET +, NO SCALER OVERFLOW TC POSTCOM # BETWEEN PRE AND POST STANDBY. TC +1# IF DP DIFF NET -, SCALER OVERFLOWED. ADD CAF BIT10 # BIT 10 TO HIGH DIFF TO CORRECT. ADS MPAC
POSTCOM EXTEND# C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER. DCA TIME2SAV # PRE-STANDBY TIME1TIME2 DAS MPAC TC TPAGREE # FORCE SIGN AGREEMENT DXCH MPAC # UPDATED VALUE FOR T1,T2. DAS TIME2 # LOAD UPDATED VALUE INTO T1,T2, WITH TC DOWNFLAG # CLEAR NODOFLAG ADRES NODOFLAG
TC GOTOPOOH
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.14Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-10-12)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.