Proof RCS-CSM_DIGITAL_AUTOPILOT #249 (#393)

* Proof FIXED_FIXED_CONSTANT_POOL (#207)

* wip(p1002/1024): Proof RCS-CSM_DIGITAL_AUTOPILOT #249

* done(p1024/1024): Proof RCS-CSM_DIGITAL_AUTOPILOT #249
pull/408/head
Glenn Dwiyatcita 2019-07-15 22:37:08 +02:00 committed by James Harris
parent aba87ac00f
commit 5fac70b6a0
1 changed files with 99 additions and 100 deletions

View File

@ -29,8 +29,8 @@
# Page 1002 # Page 1002
# T5 INTERRUPT PROGRAM FOR THE RCS-CSM AUTOPILOT # T5 INTERRUPT PROGRAM FOR THE RCS-CSM AUTOPILOT
# START OF T5 INTERRUPT PROGRAM
# START OF T5 INTERRUPT PROGRAM
BANK 20 BANK 20
SETLOC DAPS3 SETLOC DAPS3
@ -40,7 +40,7 @@
EBANK= KMPAC EBANK= KMPAC
REDORCS LXCH BANKRUPT # RESTART OF AUTOPILOT COMES HERE REDORCS LXCH BANKRUPT # RESTART OF AUTOPILOT COMES HERE
CA T5PHASE # ON A T5 RUPT CA T5PHASE # ON A T5 RUPT.
EXTEND EXTEND
BZMF +2 # IF T5PHASE +0, -0, OR -, RESET TO - BZMF +2 # IF T5PHASE +0, -0, OR -, RESET TO -
TCF +3 # IF T5PHASE +, LEAVE IT +. DO A FRESHDAP TCF +3 # IF T5PHASE +, LEAVE IT +. DO A FRESHDAP
@ -57,7 +57,7 @@ RCSATT LXCH BANKRUPT # SAVE BB
EXTEND # SAVE Q EXTEND # SAVE Q
QXCH QRUPT QXCH QRUPT
CAF BIT15 # BIT15 CHAN31 = 0 IF IMU POWER IS ON AND CAF BIT15 # BIT15 CHAN31 = 0 IF IMU POWER IS ON AND
EXTEND # S/C CONT SW IS IN CMC (I.E., IF G/C AUTO EXTEND # S/C CONT SW IS IN CMC (I.E. IF G/C AUTO
RAND CHAN31 # PILOT IS FULLY ENABLED) RAND CHAN31 # PILOT IS FULLY ENABLED)
EXTEND EXTEND
BZF SETT5 # IF G/C AUTOPILOT IS FULLY ENABLED, BZF SETT5 # IF G/C AUTOPILOT IS FULLY ENABLED,
@ -92,17 +92,15 @@ ONESEK DEC 16284 # 1 SEC(TIME5)
CHAN5 EQUALS 5 CHAN5 EQUALS 5
CHAN6 EQUALS 6 CHAN6 EQUALS 6
PRIO34A = PRIO34 PRIO34A = PRIO34
# CHECK PHASE OF T5 PROGRAM
# CHECK PHASE OF T5 PROGRAM # BECAUSE OF THE LENGTH OF THE T5 PROGRAM, IT HAS BEEN DIVIDED INTO
#
# BECAUSE OF THE LENGTH OF THE T5 PROGRAM,IT HAS BEEN DIVIDED INTO
# THREE PARTS, T5PHASE1, T5PHASE2, AND THE JET SELECTION LOGIC, # THREE PARTS, T5PHASE1, T5PHASE2, AND THE JET SELECTION LOGIC,
# TO ALLOW FOR THE EXECUTION OF OTHER # TO ALLOW FOR THE EXECUTION OF OTHER
# INTERRUPTS. T5PHASE IS ALSO USED IN THE INITIALIZATION OF THE AUTOPILOT # INTERRUPTS. T5PHASE IS ALSO USED IN THE INITIALIZATION OF THE AUTOPILOT
# VARIABLES AT TURN ON. # VARIABLES AT TURN ON.
#
# THE CODING OF T5PHASE IS... # THE CODING OF T5PHASE IS...
#
# + = INITIALIZE T5 RCS-CSM AUTOPILOT # + = INITIALIZE T5 RCS-CSM AUTOPILOT
# T5PHASE = +0 = PHASE2 OF THE T5 PROGRAM # T5PHASE = +0 = PHASE2 OF THE T5 PROGRAM
# - = RESTART DAP # - = RESTART DAP
@ -113,7 +111,7 @@ SETT5 CCS T5PHASE
TCF T5PHASE2 # BRANCH TO PHASE2 OF PROGRAM TCF T5PHASE2 # BRANCH TO PHASE2 OF PROGRAM
TCF REDAP # RESTART AUTOPILOT TCF REDAP # RESTART AUTOPILOT
TS T5PHASE # PHASE 1 RESET FOR PHASE 2 TS T5PHASE # PHASE 1 RESET FOR PHASE 2
CA TIME5 CA TIME5
TS T5TIME # USED IN COMPENSATING FOR DELAYS IN T5 TS T5TIME # USED IN COMPENSATING FOR DELAYS IN T5
CAF DELTATT2 # RESET FOR T5RUPT IN 20MS FOR PHASE2 CAF DELTATT2 # RESET FOR T5RUPT IN 20MS FOR PHASE2
@ -123,7 +121,7 @@ SETT5 CCS T5PHASE
# IMU STATUS CHECK # IMU STATUS CHECK
CS IMODES33 # CHECK IMU STATUS CS IMODES33 # CHECK IMU STATUS
MASK BIT6 # BIT6 = 0 IMU OK MASK BIT6 # BIT6 = 0 IMU OK
CCS A # BIT6 = 1 NO IMU CCS A # BIT6 = 1 NO IMU
TCF RATEFILT TCF RATEFILT
FREECHK CS RCSFLAGS # BIT14 INDICATES THAT RATES HAVE NOT BEEN FREECHK CS RCSFLAGS # BIT14 INDICATES THAT RATES HAVE NOT BEEN
@ -147,16 +145,13 @@ RATEFILT CA RCSFLAGS # SEE IF RATEFILTER HAS BEEN INITIALIZED
TCF KMATRIX # IF NOT, SKIP RATE DERIVATION TCF KMATRIX # IF NOT, SKIP RATE DERIVATION
# RATE FILTER TIMING = 7.72 MS # RATE FILTER TIMING = 7.72 MS
#
# RATE FILTER EQUATIONS # RATE FILTER EQUATIONS
#
#
# DRHO = DELRHO - (.1)ADOT + (1 = GAIN1)DRHO # DRHO = DELRHO - (.1)ADOT + (1 = GAIN1)DRHO
# -1 # -1
#
# ADOT = ADOT + GAIN2 DRHO + KMJ DFT # ADOT = ADOT + GAIN2 DRHO + KMJ DFT
# -1 # -1
# _ * _ _ # - * - -
# WHERE DELRHO = AMGB (CDU - CDU ) # WHERE DELRHO = AMGB (CDU - CDU )
# -1 # -1
@ -170,7 +165,7 @@ DRHOLOOP TS SPNDX
INDEX ATTKALMN # PICK UP DESIRED FILTER GAIN INDEX ATTKALMN # PICK UP DESIRED FILTER GAIN
MP GAIN1 MP GAIN1
INDEX DPNDX INDEX DPNDX
DAS DRHO # (1 -.064) DRHO DAS DRHO # (1 -.064)DRHO
EXTEND EXTEND
# Page 1005 # Page 1005
INDEX DPNDX INDEX DPNDX
@ -187,7 +182,7 @@ DRHOLOOP TS SPNDX
CA CDUX # MEASURED BODY RATES-- CA CDUX # MEASURED BODY RATES--
XCH RHO XCH RHO
EXTEND EXTEND
MSU RHO # _ * _ _ MSU RHO # - * - -
COM # DELRHO = AMGB (CDU - CDU ) COM # DELRHO = AMGB (CDU - CDU )
# -1 # -1
ZL ZL
@ -219,8 +214,8 @@ DRHOLOOP TS SPNDX
TS T5TEMP # (CDUZ - RHO2) SCALED 90 DEGS TS T5TEMP # (CDUZ - RHO2) SCALED 90 DEGS
EXTEND EXTEND
MP AMGB5 MP AMGB5
DAS DELTEMPY # DELTEMPY = AMGB4(CDUY-RHO1) DAS DELTEMPY # DELTEMPY =AMGB4(CDUY-RHO1)
# + AMGB5(CDUZ-RHO2) # + AMGB5(CDUZ-RHO2)
CA AMGB8 CA AMGB8
EXTEND EXTEND
@ -276,20 +271,20 @@ TENTHSEK TS ATTSEC
# Page 1007 # Page 1007
# WHEN AUTOMATIC MANEUVERS ARE BEING PERFORMED, THE FOLLOWING ANGLE ADDITION MUST BE MADE TO PROVIDE A SMOOTH # WHEN AUTOMATIC MANEUVERS ARE BEING PERFORMED, THE FOLLOWING ANGLE ADDITION MUST BE MADE TO PROVIDE A SMOOTH
# SEQUENCE OF ANGULAR COMMANDS TO THE AUTOPILOT-- # SEQUENCE OF ANGULAR COMMANDS TO THE AUTOPILOT--
#
# CDUXD = CDUXD + DELCDUX (DOUBLE PRECISION) # CDUXD = CDUXD + DELCDUX (DOUBLE PRECISION)
# CDUYD = CDUYD + DELCDUY (DOUBLE PRECISION) # CDUYD = CDUYD + DELCDUY (DOUBLE PRECISION)
# CDUZD = CDUZD + DELCDUZ (DOUBLE PRECISION) # CDUZD = CDUZD + DELCDUZ (DOUBLE PRECISION)
#
# THE STEERING PROGRAMS: # THE STEERING PROGRAMS-
# 1) ATTITUDE MANEUVER ROUTINE # 1) ATTITUDE MANEUVER ROUTINE
# 2) LEM TRACKING # 2) LEM TRACKING
#
# SHOULD GENERATE THE DESIRED ANGLES (CDUXD, CDUYD, CDUZD) AS WELL AS THE INCREMENTAL ANGLES (DELCDUX, DELCDUY, # SHOULD GENERATE THE DESIRED ANGLES (CDUXD, CDUYD, CDUZD) AS WELL AS THE INCREMENTAL ANGLES (DELCDUX, DELCDUY,
# DELCDUZ) SO THAT THE GIMBAL ANGLE COMMANDS CAN BE INTERPOLATED BETWEEN UPDATES. # DELCDUZ) SO THAT THE GIMBAL ANGLE COMMANDS CAN BE INTERPOLATED BETWEEN UPDATES.
#
# HOLDFLAG CODING: # HOLDFLAG CODING-
#
# + = GRAB PRESENT CDU ANGLES AND STORE IN THETADX, THETADY, THETADZ # + = GRAB PRESENT CDU ANGLES AND STORE IN THETADX, THETADY, THETADZ
# AND PERFORM ATTITUDE HOLD ABOUT THESE ANGLES # AND PERFORM ATTITUDE HOLD ABOUT THESE ANGLES
# ALSO IGNORE AUTOMATIC STEERING # ALSO IGNORE AUTOMATIC STEERING
@ -306,15 +301,16 @@ TENTHSEK TS ATTSEC
# +0 = IN ATTITUDE HOLD ABOUT A PREVIOUSLY ESTABLISHED REFERENCE # +0 = IN ATTITUDE HOLD ABOUT A PREVIOUSLY ESTABLISHED REFERENCE
# - = PERFORMING AUTOMATIC MANEUVER # - = PERFORMING AUTOMATIC MANEUVER
# -0 = NOT USED AT PRESENT # -0 = NOT USED AT PRESENT
#
# NOTE THAT THIS FLAG MUST BE SET = - BY THE STEERING PROGRAM IF IT IS TO COMMAND THE AUTOPILOT.
# NOTE THAT THIS FLAG MUST BE SET = - BY THE STEERING PROGRAM IF IT IS TO COMMAND THE AUTOPILOT.
# SINCE ASTRONAUT ACTION MAY CHANGE THE HOLDFLAG SETTING, IT SHOULD BE MONITORED BY THE STEERING PROGRAM TO # SINCE ASTRONAUT ACTION MAY CHANGE THE HOLDFLAG SETTING, IT SHOULD BE MONITORED BY THE STEERING PROGRAM TO
# DETERMINE IF THE AUTOMATIC SEQUENCE HAS BEEN INTERRUPTED AND IF SO, TAKE THE APPROPRIATE ACTION. # DETERMINE IF THE AUTOMATIC SEQUENCE HAS BEEN INTERRUPTED AND IF SO, TAKE THE APPROPRIATE ACTION.
CS HOLDFLAG CS HOLDFLAG
EXTEND EXTEND
BZMF DACNDLS # IF HOLDFLAG +0,-0,+, BYPASS AUTOMATIC BZMF DACNDLS # IF HOLDFLAG +0,-0,+, BYPASS AUTOMATIC
# COMMANDS. # COMMANDS
DCDUINCR CAF TWO DCDUINCR CAF TWO
DELOOP TS SPNDX DELOOP TS SPNDX
DOUBLE DOUBLE
@ -339,33 +335,33 @@ DELOOP TS SPNDX
# Page 1009 # Page 1009
# RCS-CSM AUTOPILOT ATTITUDE ERROR DISPLAY # RCS-CSM AUTOPILOT ATTITUDE ERROR DISPLAY
#
# THREE TYPES OF ATTITUDE ERRORS MAY BE DISPLAYED ON THE FDAI: # THREE TYPES OF ATTITUDE ERRORS MAY BE DISPLAYED ON THE FDAI-
#
# MODE 1) AUTOPILOT FOLLOWING ERRORS SELECTED BY V61E # MODE 1) AUTOPILOT FOLLOWING ERRORS SELECTED BY V61E
# GENERATED INTERNALLY BY THE AUTOPILOT # GENERATED INTERNALLY BY THE AUTOPILOT
#
# MODE 2) TOTAL ATTITUDE ERRORS SELECTED BY V62E # MODE 2) TOTAL ATTITUDE ERRORS SELECTED BY V62E
# WITH RESPECT TO THE CONTENTS OF N22 # WITH RESPECT TO THE CONTENTS OF N22
#
# MODE 3) TOTAL ASTRONAUT ATTITUDE ERRORS SELECTED BY V63E # MODE 3) TOTAL ASTRONAUT ATTITUDE ERRORS SELECTED BY V63E
# WITH RESPECT TO THE CONTENTS OF N17 # WITH RESPECT TO THE CONTENTS OF N17
#
# MODE 1 IS PROVIDED AS A MONITOR OF THE RCS DAP AND ITS ABILITY TO TRACK AUTOMATIC STEERING COMMANDS. IN THIS # MODE 1 IS PROVIDED AS A MONITOR OF THE RCS DAP AND ITS ABILITY TO TRACK AUTOMATIC STEERING COMMANDS. IN THIS
# MODE THE ATTITUDE ERRORS WILL BE ZEROED WHEN THE CMC MODE SWITCH IS IN FREE. # MODE THE ATTITUDE ERRORS WILL BE ZEROED WHEN THE CMC MODE SWITCH IS IN FREE
#
# MODE 2 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED # MODE 2 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
# IN N22. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES # IN N22. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
# AS A FLY-TO INDICATOR. # AS A FLY-TO INDICATOR.
#
# MODE 3 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED # MODE 3 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
# IN N17. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES # IN N17. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
# AS A FLY-TO INDICATOR. # AS A FLY-TO INDICATOR.
#
# V60 IS PROVIDED TO LOAD N17 WITH A SNAPSHOT OF THE CURRENT CDU ANGLES, THUS SYNCHRONIZING THE MODE 3 DISPLAY # V60 IS PROVIDED TO LOAD N17 WITH A SNAPSHOT OF THE CURRENT CDU ANGLES, THUS SYNCHRONIZING THE MODE 3 DISPLAY
# WITH THE CURRENT S/C ATTITUDE. THIS VERB MAY BE USED AT ANY TIME. # WITH THE CURRENT S/C ATTITUDE. THIS VERB MAY BE USED AT ANY TIME.
#
# THESE DISPLAYS WILL BE AVAILABLE IN ANY MODE (AUTO, HOLD, FREE, G+N, OR SCS) ONCE THE RCS DAP HAS BEEN # THESE DISPLAYS WILL BE AVAILABLE IN ANY MODE (AUTO, HOLD, FREE, G+N, OR SCS) ONCE THE RCS DAP HAS BEEN
# INITIATED VIA V46E. MODE 1, HOWEVER, WILL BE MEANINGFUL ONLY IN G+N AUTO OR HOLD. THE CREW MAY PRESET (VIA # INITIATED VIA V46E. MODE 1, HOWEVER, WILL BE MEANINGFUL ONLY IN G+N AUTO OR HOLD. THE CREW MAY PRESET (VIA
# V25N17) AN ATTITUDE REFERENCE (DESIRED GIMBAL ANGLES) INTO N17 AT ANY TIME. # V25N17) AN ATTITUDE REFERENCE (DESIRED GIMBAL ANGLES) INTO N17 AT ANY TIME.
@ -380,43 +376,44 @@ KRESUME1 TCF RESUME # END PHASE 1
# Page 1010 # Page 1010
# FDAI ATTITUDE ERROR DISPLAY SUBROUTINE # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
#
# PROGRAM DESCRIPTION: D. KEENE 5/24/67 # PROGRAM DESCRIPTION: D. KEENE 5/24/67
#
# THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS) # THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
# IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT # IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
# OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES # OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
# THE DACS. # THE DACS.
#
# CALLING SEQUENCE: # CALLING SEQUENCE:
#
# DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE # DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
# TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM: # TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
#
# CS RCSFLAGS # IN EBANK6 # CS RCSFLAGS # IN EBANK6
# MASK BIT3 # MASK BIT3
# ADS RCSFLAGS # ADS RCSFLAGS
#
# THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANSFERED TO THE FOLLOWING LOCATIONS IN EBANK6: # THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANSFERED TO THE FOLLOWING LOCATIONS IN EBANK6:
#
# AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT # AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT
# AK1 SCALED 180 DEGREES TO CHANGE # AK1 SCALED 180 DEGREES TO CHANGE
# AK2 SCALED 180 DEGREES # AK2 SCALED 180 DEGREES
#
# FULL SCALED DEFLECTION CORRESPONDS TO 16 7/8 DEGREES OF ATTITUDE ERROR # FULL SCALED DEFLECTION CORRESPONDS TO 16 7/8 DEGREES OF ATTITUDE ERROR
# (= 384 BITS IN IMU ERROR COUNTER) # (= 384 BITS IN IMU ERROR COUNTER)
#
# A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY: # A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
#
# INHINT # INHINT
# TC IBNKCALL # NOTE: EBANK SHOULD BE SET TO E6 # TC IBNKCALL # NOTE: EBANK SHOULD BE SET TO E6
# CADR NEEDLER # CADR NEEDLER
# RELINT # RELINT
#
# THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PRORAM ARE # THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PROGRAM ARE
# REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS. # REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
# NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING. # NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
#
# ERASABLE USED: # ERASABLE USED:
# AK CDUXCMD # AK CDUXCMD
# AK1 CDUYCMD # AK1 CDUYCMD
@ -424,21 +421,23 @@ KRESUME1 TCF RESUME # END PHASE 1
# EDRIVEX A,L,Q # EDRIVEX A,L,Q
# EDRIVEY T5TEMP # EDRIVEY T5TEMP
# EDRIVEZ SPNDX # EDRIVEZ SPNDX
#
# SWITCHES; RCSFLAGS BITS 3,2 # SWITCHES: RCSFLAGS BITS 3,2
#
# I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY) # I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY)
# Page 1011 # Page 1011
# CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE) # CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE)
# CHAN14 BIT 13,14,15 (DAC ACTIVITY) # CHAN14 BIT 13,14,15 (DAC ACTIVITY)
#
# SIGN CONVENTION: AK = THETAC - THETA
# SIGN CONVENTION< AK = THETAC - THETA
# WHERE THETAC = COMMAND ANGLE # WHERE THETAC = COMMAND ANGLE
# THETA = PRESENT ANGLE # THETA = PRESENT ANGLE
NEEDLER CAF BIT4 # CHECK FOR COARSE ALIGN ENABLE NEEDLER CAF BIT4 # CHECK FOR COARSE ALIGN ENABLE
EXTEND # IF IN COARSE ALIGN DO NOT USE IMU EXTEND # IF IN COARSE ALIGN DO NOT USE IMU
RAND CHAN12 # ERROR COUNTERS. DON'T USE NEEDLES RAND CHAN12 # ERROR COUNTERS. DONT USE NEEDLES
EXTEND EXTEND
BZF NEEDLER1 BZF NEEDLER1
CS RCSFLAGS # SET BIT3 FOR INITIALIZATION PASS CS RCSFLAGS # SET BIT3 FOR INITIALIZATION PASS
@ -456,7 +455,7 @@ NEEDLER1 CA RCSFLAGS
CS BIT6 # FIRST PASS BIT3 = 1 CS BIT6 # FIRST PASS BIT3 = 1
EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS
WAND CHAN12 # MUST WAIT AT LEAST 60 MS. BEFORE WAND CHAN12 # MUST WAIT AT LEAST 60 MS BEFORE
NEEDLE11 CS ZERO # ENABLING COUNTERS. NEEDLE11 CS ZERO # ENABLING COUNTERS.
TS AK # ZERO THE INPUTS ON FIRST PASS TS AK # ZERO THE INPUTS ON FIRST PASS
TS AK1 TS AK1
@ -533,19 +532,18 @@ DACLIMIT DEC 16000
# Page 1014 # Page 1014
# INITIALIZATION PROGRAM FOR RCS-CSM AUTOPILOT # INITIALIZATION PROGRAM FOR RCS-CSM AUTOPILOT
#
# THE FOLLOWING QUANTITIES WILL BE ZEROED AND SHOULD APPEAR IN CONSECUTIVE LOCATIONS IN MEMORY AFTER WBODY
#
# WBODY (+1) DFT TAU2
# WBODY1 (+1) DFT1 BIAS
# WBODY2 (+1) DFT2 BIAS1
# ADOT (+1) DRHO (+1) BIAS2
# ADOT1 (+1) DRHO1 (+1) ERRORX
# ADOT2 (+1) DRHO2 (+1) ERRORY
# MERRORX (+1) ATTSEC ERRORZ
# MERRORY (+1) TAU
# MERRORZ (+1) TAU1
# THE FOLLOWING QUANTITIES WILL BE ZEROED AND SHOULD APPEAR IN CONSECUTIVE LOCATIONS IN MEMORY AFTER WBODY
# WBODY (+1) DFT TAU2
# WBODY1 (+1) DFT1 BIAS
# WBODY2 (+1) DFT2 BIAS1
# ADOT (+1) DRHO (+1) BIAS2
# ADOT1 (+1) DRHO1 (+1) ERRORX
# ADOT2 (+1) DRHO2 (+1) ERRORY
# MERRORX (+1) ATTSEC ERRORZ
# MERRORY (+1) TAU
# MERRORZ (+1) TAU1
FRESHDAP CAF ONE # RESET HOLDFLAG TO STOP AUTOMATIC FRESHDAP CAF ONE # RESET HOLDFLAG TO STOP AUTOMATIC
TS HOLDFLAG # STEERING AND PREPARE TO PICK UP AN TS HOLDFLAG # STEERING AND PREPARE TO PICK UP AN
# ATTITUDE HOLD REFERENCE # ATTITUDE HOLD REFERENCE
@ -582,7 +580,7 @@ ZEROT5 TS SPNDX # ZERO ALL NECESSARY ERASABLE REGISTERS
# MS FROM NOW AND EVERY 100MS THEREAFTER. # MS FROM NOW AND EVERY 100MS THEREAFTER.
CAF ELEVEN CAF ELEVEN
TS ATTKALMN # RESET TO PICK UP KALMAN FILTER TAINS TS ATTKALMN # RESET TO PICK UP KALMAN FILTER GAINS
# TO INITIALIZE THE S/C ANGULAR RATES # TO INITIALIZE THE S/C ANGULAR RATES
# Page 1015 # Page 1015
CA CDUX CA CDUX
@ -600,7 +598,7 @@ ZEROT5 TS SPNDX # ZERO ALL NECESSARY ERASABLE REGISTERS
TCF IMUAOK TCF IMUAOK
TS ATTKALMN # CANNOT USE IMU TS ATTKALMN # CANNOT USE IMU
CAF RCSINITB # PROVIDE FREE CONTROL ONLY CAF RCSINITB # PROVIDE FREE CONTROL ONLY
TCF RCSSWIT # DON'T START UP RATE FILTER TCF RCSSWIT # DONT START UP RATE FILTER
# SIGNAL NO RATE FILTER # SIGNAL NO RATE FILTER
IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION
@ -608,10 +606,10 @@ IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION
EBANK= KMPAC EBANK= KMPAC
2CADR AMBGUPDT 2CADR AMBGUPDT
CAF RCSINIT # CLEAR BIT14 --ASSUME WE HAVE A GOOD IMU CAF RCSINIT # CLEAR BIT14 -ASSUME WE HAVE A GOOD IMU
RCSSWIT TS RCSFLAGS # CLEAR BIT1 --INITIALIZE T6 PROGRAM RCSSWIT TS RCSFLAGS # CLEAR BIT1 -INITIALIZE T6 PROGRAM
# SET BIT3 --INITIALIZE NEEDLES # SET BIT3 -INITIALIZE NEEDLES
# CLEAR BIT4 --RESET FOR FDAIDSP1 # CLEAR BIT4 -RESET FOR FDAIDSP1
CAF T5WAIT60 # NEXT T5RUPT 60 MS FROM NOW TO ALLOW IMU CAF T5WAIT60 # NEXT T5RUPT 60 MS FROM NOW TO ALLOW IMU
# ERROR COUNTER TO ZERO. # ERROR COUNTER TO ZERO.
# (MINIMUM DELAY = 15 MS) # (MINIMUM DELAY = 15 MS)
@ -632,7 +630,7 @@ T6ADDR 2CADR T6START
ZEROJET CAF ELEVEN # ZERO BLAST2, BLAST1, BLAST, YWORD2, ZEROJET CAF ELEVEN # ZERO BLAST2, BLAST1, BLAST, YWORD2,
TS SPNDX # YWORD1, PWORD2, PWORD1, RWORD2, TS SPNDX # YWORD1, PWORD2, PWORD1, RWORD2,
CAF ZERO # AND RWORD1 CAF ZERO # AND RWORD1.
# Page 1016 # Page 1016
INDEX SPNDX INDEX SPNDX
@ -705,7 +703,7 @@ NOHIAUTO TS ATTKALMN
# ROLL, BITS 8,7 FOR YAW, BITS 6,5 FOR # ROLL, BITS 8,7 FOR YAW, BITS 6,5 FOR
# PITCH # PITCH
CS RCSFLAGS # SET RATE DAMPING FLAGS (BITS 13,12, AND CS RCSFLAGS # SET RATE DAMPING FLAGS (BITS 13,12,AND
MASK OCT16000 # 11 OF RCSFLAGS) MASK OCT16000 # 11 OF RCSFLAGS)
ADS RCSFLAGS ADS RCSFLAGS
@ -721,7 +719,7 @@ NOCHANGE CS CH31TEMP
# MEANS OF STICKCHK, TO 0, 1, OR 2 FOR NO, # MEANS OF STICKCHK, TO 0, 1, OR 2 FOR NO,
# +, OR - ROTATION RESPECTIVELY AS # +, OR - ROTATION RESPECTIVELY AS
# COMMANDED BY THE RHC. # COMMANDED BY THE RHC.
#
# HOWEVER, IT IS WELL TO NOTE THAT AFTER # HOWEVER, IT IS WELL TO NOTE THAT AFTER
# THE RHC IS RETURNED TO DETENT, THE # THE RHC IS RETURNED TO DETENT, THE
# PROGRAM BRANCHES TO AHFNOROT AND AVOIDS # PROGRAM BRANCHES TO AHFNOROT AND AVOIDS
@ -792,7 +790,7 @@ NORATE ZL
MASK OCT16000 MASK OCT16000
EXTEND # IS RATE DAMPING COMPLETED EXTEND # IS RATE DAMPING COMPLETED
BZF SPNDXCHK # YES, KEEP CURRENT MERRORX GO TO SPNDXCHK BZF SPNDXCHK # YES, KEEP CURRENT MERRORX GO TO SPNDXCHK
TCF ZEROER # NO, GO TO ZEROER TCF ZEROER # NO,GO TO ZEROER
MERUPDAT INDEX Q # MERRORX=MERRORX+MEASURED CHANGE IN ANGLE MERUPDAT INDEX Q # MERRORX=MERRORX+MEASURED CHANGE IN ANGLE
CS MANTABLE -1 # -COMMANDED CHANGE IN ANGLE CS MANTABLE -1 # -COMMANDED CHANGE IN ANGLE
@ -815,7 +813,7 @@ OCT01400 OCT 01400 # ROLL FORCED FIRING MASK ORDER OF
OCT00060 OCT 00060 # PITCH FORCED FIRING MASK DEFINITION OCT00060 OCT 00060 # PITCH FORCED FIRING MASK DEFINITION
OCT00300 OCT 00300 # YAW FORCED FIRING MASK MUST BE OCT00300 OCT 00300 # YAW FORCED FIRING MASK MUST BE
# PRESERVED # PRESERVED
# FOR INDEXING # FOR INDEXING
MANROT OCT 77 MANROT OCT 77
OCT16000 OCT 16000 # RATE DAMPING FLAGS MASK OCT16000 OCT 16000 # RATE DAMPING FLAGS MASK
MANTABLE DEC .0071111 MANTABLE DEC .0071111
@ -833,8 +831,8 @@ FREEFUNC INDEX RMANNDX # ACCELERATION
TS TAU TS TAU
INDEX PMANNDX INDEX PMANNDX
CA FREETAU # FREETAU 0 SEC CA FREETAU # FREETAU 0 SEC
TS TAU1 # +1 +0.10 SEC TS TAU1 # +1 +0.10 SEC
INDEX YMANNDX # +2 -0.10 SEC INDEX YMANNDX # +2 -0.10 SEC
CA FREETAU # (+3) 0 SEC CA FREETAU # (+3) 0 SEC
TS TAU2 TS TAU2
TCF T6PROGM TCF T6PROGM
@ -853,7 +851,7 @@ T6PROGM CAF ZERO # FOR MANUAL ROTATIONS
# Page 1021 # Page 1021
DEC .2112 # FILTER GAIN FOR TRANSLATION, LEM ON DEC .2112 # FILTER GAIN FOR TRANSLATION, LEM ON
DEC .8400 # FILTER GAIN FOR TRANSLATION 2(ZETA)WN DT DEC .8400 # FILTER GAIN FOR TRANSLATION 2(ZETA)WN DT
DEC .2112 # FILTER GAIN FOR 4 DEGREE/SEC MANEUVERS DEC .2112 # FILTER GAIN FOR 2 DEGREES/SEC MANEUVERS
GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION
DEC .3180 # OF ATTITUDE RATES DEC .3180 # OF ATTITUDE RATES
DEC .3452 DEC .3452
@ -868,7 +866,7 @@ GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION
DEC .0174 # FILTER GAIN FOR TRANSLATION, LEM ON DEC .0174 # FILTER GAIN FOR TRANSLATION, LEM ON
DEC .3600 # FILTER GAIN FOR TRANSLATION (WN)(WN)DT DEC .3600 # FILTER GAIN FOR TRANSLATION (WN)(WN)DT
DEC .0174 # FILTER GAIN FOR 4 DEGREE/SEC MANEUVERS DEC .0174 # FILTER GAIN FOR 2 DEGREES/SEC MANEUVERS
GAIN2 DEC .0016 # SCALED 10 GAIN2 DEC .0016 # SCALED 10
DEC .0454 DEC .0454
DEC .0545 DEC .0545
@ -884,9 +882,9 @@ STICKCHK TS T5TEMP
MASK THREE # INDICES FOR MANUAL ROTATION MASK THREE # INDICES FOR MANUAL ROTATION
TS PMANNDX TS PMANNDX
CA T5TEMP CA T5TEMP
EXTEND # MAN RATE 0 0 RATE (DP) EXTEND # MAN RATE 0 0 RATE (DP)
MP QUARTER # +1 + RATE (DP) MP QUARTER # +1 +RATE (DP)
TS T5TEMP # +2 - RATE (DP) TS T5TEMP # +2 -RATE (DP)
MASK THREE # (+3) 0 RATE (DP) MASK THREE # (+3) 0 RATE (DP)
TS YMANNDX TS YMANNDX
CA T5TEMP CA T5TEMP
@ -894,6 +892,8 @@ STICKCHK TS T5TEMP
MP QUARTER MP QUARTER
TS RMANNDX TS RMANNDX
TC Q TC Q
KALUPDT TS ATTKALMN # INITIALIZATION OF ATTITUDE RATES USING KALUPDT TS ATTKALMN # INITIALIZATION OF ATTITUDE RATES USING
# KALMAN FILTER TAKES 1.1 SEC # KALMAN FILTER TAKES 1.1 SEC
@ -918,7 +918,7 @@ FDAIDSP2 CS BIT4 # RESET FOR FDAIDSP1
EXTEND EXTEND
BZF FDAITOTL BZF FDAITOTL
EXTEND EXTEND
DCS ERRORX # OFF - DISPLAY AUTOPILOT FOLLOWING ERROR DCS ERRORX # OFF -DISPLAY AUTOPILOT FOLLOWING ERROR
DXCH AK DXCH AK
CS ERRORZ CS ERRORZ
TS AK2 TS AK2
@ -973,4 +973,3 @@ WRTN17 EXTEND # GET SET TO COMPUTE TOTAL ASTRONAUT
TCF GETAKS TCF GETAKS
# Page 1024 (empty page) # Page 1024 (empty page)