Proof DAPIDLER_PROGRAM #573 (#734)

Co-authored-by: James Harris <wopian@wopian.me>
This commit is contained in:
cnsumner 2020-10-19 15:32:07 -04:00 committed by GitHub
parent fbb3cc0a82
commit 8c1ce8ef4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -30,7 +30,6 @@
# THE DAPIDLER PROGRAM IS STARTED BY FRESH START AND RESTART. THE DAPIDLER PROGRAM IS DONE 10 TIMES # THE DAPIDLER PROGRAM IS STARTED BY FRESH START AND RESTART. THE DAPIDLER PROGRAM IS DONE 10 TIMES
# PER SECOND UNTIL THE ASTRONAUT DESIRES THE DAP TO WAKE UP, AND THE IMU AND CDUS ARE READY FOR USE BY THE DAP. # PER SECOND UNTIL THE ASTRONAUT DESIRES THE DAP TO WAKE UP, AND THE IMU AND CDUS ARE READY FOR USE BY THE DAP.
# THE NECESSARY INITIALIZATION OF THE DAP IS DONE BY THE DAPIDLER PROGRAM. # THE NECESSARY INITIALIZATION OF THE DAP IS DONE BY THE DAPIDLER PROGRAM.
BANK 16 BANK 16
SETLOC DAPS1 SETLOC DAPS1
BANK BANK
@ -91,7 +90,7 @@ CHECKUP TC CHEKBITS # CHECK TO SEE IF LM DAP IS TO GO ON AND
STARTDAP TC IBNKCALL # ZERO ATTITUDE ERROR AND DESIRED RATES. STARTDAP TC IBNKCALL # ZERO ATTITUDE ERROR AND DESIRED RATES.
FCADR ZATTEROR FCADR ZATTEROR
CAF ZERO # ************ INITIALIZE: ************* CAF ZERO # ********** INITIALIZE: **********
TS TJP TS TJP
TS TJU TS TJU
TS TJV TS TJV
@ -213,25 +212,27 @@ DSPCADR 2CADR ALTDSPLY
COUNT* $$/NEEDL COUNT* $$/NEEDL
# PROGRAM: ALTDSPLY # PROGRAM: ALTDSPLY
#
# MOD 0. 6 DEC 1967 # MOD 0. 6 DEC 1967
#
# AUTHOR: CRAIG WORK, DON KEENE, MIT IL # AUTHOR: CRAIG WORK, DON KEENE, MIT IL
# MOD 3 BY DON KEENE AUG 1, 1968 -- MOVED PROGRAM TO BANK 20 #
# MOD 3 BY DON KEENE AUG 1, 1968 MOVED PROGRAM TO BANK 20
# #
# PROGRAM DESCRIPTION: # PROGRAM DESCRIPTION:
#
# ALTDSPLY REVERSES THE DSPLYALT BIT OF RCSFLAGS EACH TIME IT IS CALLED, WHICH IS PRESUMABLY EVERY 100 MS. # ALTDSPLY REVERSES THE DSPLYALT BIT OF RCSFLAGS EACH TIME IT IS CALLED, WHICH IS PRESUMABLY EVERY 100 MS.
# IF THE REVERSED BIT IS ONE, NEEDLER IS CALLED TO DISPLAY ATTITUDE ERRORS. IF THE BIT IS ZERO, THE ATTITUDE ERR- # IF THE REVERSED BIT IS ONE, NEEDLER IS CALLED TO DISPLAY ATTITUDE ERRORS. IF THE BIT IS ZERO, THE ATTITUDE ERR-
# ORS ARE CALCULATED AS 1) DAP FOLLOWING ERRORS, IF NEEDLFLG = 0, AND 2) TOTAL ATTITUDE ERRORS FOR NEEDLFLG = 1. # ORS ARE CALCULATED AS 1) DAP FOLLOWING ERRORS, IF NEEDLFLG = 0, AND 2) TOTAL ATTITUDE ERRORS FOR NEEDLFLG = 1.
# #
# # WARNING: ALTDSPLY MAY ONLY BE CALLED WITH INTERRUPT INHIBITED.
# WARNING: ALTDSPLY MAY ONLY BE CALLED WITH INTERRUPT INHIBITED
# #
# WARNING: EBANK MUST BE SET TO 6 WHEN USING THIS ROUTINE. # WARNING: EBANK MUST BE SET TO 6 WHEN USING THIS ROUTINE.
# #
# INPUT: RCSFLAGS AND 1) IF NEEDLFLG = 0, INPUT PERROR, QERROR, RERROR. # INPUT: RCSFLAGS AND 1) IF NEEDLFLG=0, INPUT PERROR,QERROR,RERROR.
# 2) IF NEEDLFLG = 1, INPUT CPHI,CTHETA,CPSI,CDUX,CDUY,CDUZ,M11,M21,M32,M22,M32. (GPMATRIX) # 2) IF NEEDLFLG=1, INPUT CPHI,CTHETA,CPSI,CDUX,CDUY,CDUZ,M11,M21,M32,M22,M32. (GPMATRIX)
# #
# # OUTPUTS: RCSFLAGS WITH DSPLYALT REVERSED,AK,AK1,AK2,+ NEEDLER OUTPUTS.
# OUTPUTS: RCSFLAGS WITH DSPLYALT REVERSED, AK, AK1, AK2, + NEEDLER OUTPUTS.
# #
# ENTRY: TCF ALTDSPLY # ENTRY: TCF ALTDSPLY
# #
@ -241,7 +242,7 @@ DSPCADR 2CADR ALTDSPLY
# #
# SUBPROGRAMS CALLED: NEEDLER, OVERSUB2 # SUBPROGRAMS CALLED: NEEDLER, OVERSUB2
# #
# DEBRIS: A, L, AND NEEDLER DEBRIS. # DEBRIS: A,L,AND NEEDLER DEBRIS.
ALTDSPLY CA RCSFLAGS # INVERT THE DISPLAY ALTERNATION BIT. ALTDSPLY CA RCSFLAGS # INVERT THE DISPLAY ALTERNATION BIT.
TS L TS L
@ -258,9 +259,9 @@ ALTDSPLY CA RCSFLAGS # INVERT THE DISPLAY ALTERNATION BIT.
# Page 1415 # Page 1415
MASK NEEDLBIT # TITUDE ERROR DISPLAY REQUEST. MASK NEEDLBIT # TITUDE ERROR DISPLAY REQUEST.
CCS A CCS A
TCF DSPLYTOT # TOTAL ERROR IS NEEDED IN AK, AK +1, AK +2 TCF DSPLYTOT # TOTAL ERROR IS NEEDED IN AK,AK +1,AK +2
CS QERROR # YES. DISPLAY ATT ERRORS ON THE -BALL. CS QERROR # YES. DISPLAY ATT ERRORS ON THE ,-BALL.
TS AK +1 # ERROR COMPLEMENTS ARE INPUT TO NEEDLER. TS AK +1 # ERROR COMPLEMENTS ARE INPUT TO NEEDLER.
CS RERROR CS RERROR
TS AK +2 TS AK +2
@ -279,9 +280,9 @@ DSPLYTOT EXTEND
MSU CDUY # DIFFERENCE SCALED AT PI, 1'S COMP. MSU CDUY # DIFFERENCE SCALED AT PI, 1'S COMP.
TS AK # SAVE FOR R-ERROR CALCULATION. TS AK # SAVE FOR R-ERROR CALCULATION.
EXTEND EXTEND
MP M21 # (CTHETA-CDUY)*M21 SCALED AT PI RADIANS. MP M21 # (CHTETA-CDUY)*M21 SCALED AT PI RADIANS.
XCH AK +1 # STORE FIRST TERM OF Q ERROR. XCH AK +1 # STORE FIRST TERM OF Q ERROR.
CA CPSI # DESIRED ATTITUDE, Z-AXIS, 2'S COMP. CA CPSI # DESIRED ATTITUDE,Z-AXIS, 2'S COMP.
EXTEND # SUBTRACT CURRENT ATTITUDE. EXTEND # SUBTRACT CURRENT ATTITUDE.
MSU CDUZ # DIFFERENCE SCALED AT PI, 1'S COMP. MSU CDUZ # DIFFERENCE SCALED AT PI, 1'S COMP.
TS AK +2 # SAVE Z-AXIS TERM FOR R ERROR CALCULATION TS AK +2 # SAVE Z-AXIS TERM FOR R ERROR CALCULATION
@ -316,7 +317,7 @@ DSPLYTOT EXTEND
# M13 = 1, SO BYPASS THE MULTIPLICATION. # M13 = 1, SO BYPASS THE MULTIPLICATION.
# EXTEND # EXTEND
# MP M13 # (CPHI-CDUX)*M13 SCALED AT PI RADIANS. # MP M13 (CPHI-CDUX)*M13 SCALED AT PI RADIANS.
AD AK # P ERROR COMPLETE , SCALED AT PI RAD AD AK # P ERROR COMPLETE , SCALED AT PI RAD
TC OVERSUB2 # PIN NEEDLES IN CASE OF OVERFLOW. TC OVERSUB2 # PIN NEEDLES IN CASE OF OVERFLOW.
@ -331,35 +332,45 @@ DSPLYTOT EXTEND
# FDAI ATTITUDE ERROR DISPLAY SUBROUTINE # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
# #
# PROGRAM DESCRIPTION: D. KEENE 5/24/67 # PROGRAM DESCRIPTION: D. KEENE 5/24/67
#
# MOD 1 BY CRAIG WORK, 12 DEC 67 # MOD 1 BY CRAIG WORK, 12 DEC 67
# MOD 2 BY CRAIG WORK, 6 APRIL 68, CONVERTS ATTITUDE ERROR DISPLAY SCALING FROM 16 7/8 DEG. TO 42 3/16 DEGREES. #
# MOD 2 BY CRAIG WORK, 6 APRIL 68 CONVERTS ATTITUDE ERROR DISPLAY SCALING FROM 16 7/8 DEG. TO 42 3/16 DEGREES.
# #
# 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 TRANSFERRED TO THE FOLLOWING LOCATIONS IN EBANK6: # THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANSFERRED 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 OF THE NEEDLES CORRESPONDS TO 5 1/16 DEGREES, WHILE 384 BITS IN THE IMU ERROR COUNTER # FULL SCALED DEFLECTION OF THE NEEDLES CORRESPONDS TO 5 1/16 DEGREES, WHILE 384 BITS IN THE IMU ERROR COUNTER
# CORRESPONDS TO 42 3/16 DEGREES. (DAC MAXIMUM CAPACITY IS 384 BITS.) 46 BITS EFFECTIVELY PIN THE NEEDLES. # CORRESPONDS TO 42 3/16 DEGREES. (DAC MAXIMUM CAPACITY IS 384 BITS.) 46 BITS EFFECTIVELY PIN THE NEEDLES.
# #
# A CALL TO NEEDLER WILL THE 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 PROGRAM 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 50 MS. TO ASSURE PROPER RELAY SEQUENCING. # NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
# #
# ERASABLES USED: # ERASABLES USED:
# AK CDUXCMD # AK CDUXCMD
@ -372,14 +383,16 @@ DSPLYTOT EXTEND
# #
# 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)
# 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 CA RCSFLAGS NEEDLER CA RCSFLAGS
MASK SIX MASK SIX
EXTEND EXTEND
@ -411,8 +424,8 @@ NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS
EXTEND EXTEND
WOR CHAN12 WOR CHAN12
CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE
MASK RCSFLAGS # ERRORS. WAIT AT LEAST 4 MS FOR MASK RCSFLAGS # ERRORS WAIT ATLEAST 4 MS FOR
TS RCSFLAGS # RELAY CLOSURE. TS RCSFLAGS # RELAY CLOSURE
TCF RETNMORE TCF RETNMORE
NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER