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

@ -27,10 +27,9 @@
# 16:27 JULY 14, 1969 # 16:27 JULY 14, 1969
# Page 1410 # Page 1410
# 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
@ -78,20 +77,20 @@ DAPIDLER LXCH BANKRUPT # INTERRUPT LEAD INS (CONTINUED)
ADS RCSFLAGS # BIT 13 IS 1. ADS RCSFLAGS # BIT 13 IS 1.
CAF PRIO27 CAF PRIO27
TC NOVAC # SET UP JOB TO DO A LITTLE INITIALIZATION TC NOVAC # SET UP JOB TO DO A LITTLE INITIALIZATION
EBANK= AOSQ # AND EXECUTE 1/ACCS. EBANK= AOSQ # AND EXECUTE 1/ACCS.
2CADR 1/ACCSET # (WILL BRANCH TO MOREIDLE ON ACCSOKAY) 2CADR 1/ACCSET # (WILL BRANCH TO MOREIDLE ON ACCSOKAY)
CHECKUP TC CHEKBITS # CHECK TO SEE IF LM DAP IS TO GO ON AND CHECKUP TC CHEKBITS # CHECK TO SEE IF LM DAP IS TO GO ON AND
# DO ERROR DISPLAY. # DO ERROR DISPLAY.
CAE DAPBOOLS # IF 1/ACCS HAS NOT BEEN COMPLETED, IDLE. CAE DAPBOOLS # IF 1/ACCS HAS NOT BEEN COMPLETED, IDLE.
MASK ACCSOKAY # NOTE: ONLY FRESH START AND RESTART MASK ACCSOKAY # NOTE: ONLY FRESH START AND RESTART
EXTEND # KNOCK THIS BIT DOWN. EXTEND # KNOCK THIS BIT DOWN.
BZF MOREIDLE BZF MOREIDLE
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
@ -118,7 +117,7 @@ STARTDAP TC IBNKCALL # ZERO ATTITUDE ERROR AND DESIRED RATES.
TS COTROLER # DO TRYGTS ON FIRST PASS (WILL GO TO RCS) TS COTROLER # DO TRYGTS ON FIRST PASS (WILL GO TO RCS)
TS INGTS # RECOGNIZE FIRST GTS PASS AS SUCH. TS INGTS # RECOGNIZE FIRST GTS PASS AS SUCH.
TS QGIMTIMR # STOP GIMBAL DRIVES. (PROBABLY WOULD BE TS QGIMTIMR # STOP GIMBAL DRIVES. (PROBABLY WOULD BE
TS RGIMTIMR # GOOD ENOUGH JUST TO INACTIVATE TIMERS) TS RGIMTIMR # GOOD ENOUGH JUST TO INACTIVATE TIMERS)
TS OLDPMIN # MINIMUM IMPULSE MODE ERASABLES TS OLDPMIN # MINIMUM IMPULSE MODE ERASABLES
TS OLDQRMIN TS OLDQRMIN
TS PJETCTR # INITIALIZE DOCKED JET INHIBITION TS PJETCTR # INITIALIZE DOCKED JET INHIBITION
@ -212,36 +211,38 @@ DSPCADR 2CADR ALTDSPLY
BANK BANK
COUNT* $$/NEEDL COUNT* $$/NEEDL
# PROGRAM: ALTDSPLY # PROGRAM: ALTDSPLY
# MOD 0. 6 DEC 1967 #
# AUTHOR: CRAIG WORK, DON KEENE, MIT IL # MOD 0. 6 DEC 1967
# MOD 3 BY DON KEENE AUG 1, 1968 -- MOVED PROGRAM TO BANK 20 #
# AUTHOR: CRAIG WORK, DON KEENE, MIT IL
#
# 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.
# 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.
# #
# 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-
# 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 # EXIT: TCF CHEKMORE
# #
# EXIT: TCF CHEKMORE # ALARM OR ABORT EXITS: NONE
# #
# ALARM OR ABORT EXITS: NONE # 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.
@ -330,55 +331,67 @@ DSPLYTOT EXTEND
# Page 1417 # Page 1417
# 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 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) # 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.
#
# 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:
# 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:
# CS RCSFLAGS # IN EBANK6
# MASK BIT3
# ADS RCSFLAGS
# 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
# AK1 SCALED 180 DEGREES TO CHANGE
# AK2 SCALED 180 DEGREES
# 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.
# #
# A CALL TO NEEDLER WILL THE UPDATE THE DISPLAY: # CALLING SEQUENCE:
# INHINT #
# TC IBNKCALL # NOTE: EBANK SHOULD BE SET TO E6 # DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
# CADR NEEDLER # TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
# RELINT #
# THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PROGRAM ARE # CS RCSFLAGS IN EBANK6
# REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS. # MASK BIT3
# NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50 MS. TO ASSURE PROPER RELAY SEQUENCING. # ADS RCSFLAGS
#
# 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
# AK1 SCALED 180 DEGREES TO CHANGE
# AK2 SCALED 180 DEGREES
#
# 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.
#
# A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
#
# INHINT
# TC IBNKCALL NOTE: EBANK SHOULD BE SET TO E6
# CADR NEEDLER
# RELINT
#
# 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.
# 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
# AK1 CDUYCMD # AK1 CDUYCMD
# AK2 CDUZCMD # AK2 CDUZCMD
# EDRIVEX A,L,Q # EDRIVEX A,L,Q
# EDRIVEY T5TEMP # EDRIVEY T5TEMP
# EDRIVEZ DINDX # EDRIVEZ DINDX
# Page 1418 # Page 1418
# #
# 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 #
# WHERE THETAC = COMMAND ANGLE # SIGN CONVENTION< AK = THETAC - THETA
# THETA = PRESENT ANGLE # WHERE THETAC = COMMAND ANGLE
# THETA = PRESENT ANGLE
NEEDLER CA RCSFLAGS NEEDLER CA RCSFLAGS
MASK SIX MASK SIX
@ -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
@ -465,11 +478,11 @@ DACLIMIT DEC 16000
ONETENTH OCT 03146 # DECIMAL +0.1, SCALED AT 1. ONETENTH OCT 03146 # DECIMAL +0.1, SCALED AT 1.
DSPLYALT EQUALS BIT4 # 100 MS ALTERNATION BIT IN RCSFLAGS DSPLYALT EQUALS BIT4 # 100 MS ALTERNATION BIT IN RCSFLAGS
OVERSUB2 TS 7 # RETURNS A UNCHANGED OR LIMITED TO OVERSUB2 TS 7 # RETURNS A UNCHANGED OR LIMITED TO
TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW TC Q # POSMAX OR NEGMAX IF A HAS OVERFLOW
INDEX A INDEX A
# Page 1420 # Page 1420
CS LIMITS # DUPLICATE CODING IN BANK 16 CS LIMITS # DUPLICATE CODING IN BANK 16
TC Q TC Q
RETNMORE EXTEND # RETURN TO CHEKMORE RETNMORE EXTEND # RETURN TO CHEKMORE