From 8c1ce8ef4d734496b0d92fe3a0d1bcc9bb2d7286 Mon Sep 17 00:00:00 2001 From: cnsumner Date: Mon, 19 Oct 2020 15:32:07 -0400 Subject: [PATCH] Proof DAPIDLER_PROGRAM #573 (#734) Co-authored-by: James Harris --- Luminary099/DAPIDLER_PROGRAM.agc | 157 +++++++++++++++++-------------- 1 file changed, 85 insertions(+), 72 deletions(-) diff --git a/Luminary099/DAPIDLER_PROGRAM.agc b/Luminary099/DAPIDLER_PROGRAM.agc index 0de9f2f..1a237b0 100644 --- a/Luminary099/DAPIDLER_PROGRAM.agc +++ b/Luminary099/DAPIDLER_PROGRAM.agc @@ -27,10 +27,9 @@ # 16:27 JULY 14, 1969 # 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. # THE NECESSARY INITIALIZATION OF THE DAP IS DONE BY THE DAPIDLER PROGRAM. - BANK 16 SETLOC DAPS1 BANK @@ -78,20 +77,20 @@ DAPIDLER LXCH BANKRUPT # INTERRUPT LEAD INS (CONTINUED) ADS RCSFLAGS # BIT 13 IS 1. CAF PRIO27 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) 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. - MASK ACCSOKAY # NOTE: ONLY FRESH START AND RESTART - EXTEND # KNOCK THIS BIT DOWN. + MASK ACCSOKAY # NOTE: ONLY FRESH START AND RESTART + EXTEND # KNOCK THIS BIT DOWN. BZF MOREIDLE STARTDAP TC IBNKCALL # ZERO ATTITUDE ERROR AND DESIRED RATES. FCADR ZATTEROR - CAF ZERO # ************ INITIALIZE: ************* + CAF ZERO # ********** INITIALIZE: ********** TS TJP TS TJU 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 INGTS # RECOGNIZE FIRST GTS PASS AS SUCH. 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 OLDQRMIN TS PJETCTR # INITIALIZE DOCKED JET INHIBITION @@ -212,36 +211,38 @@ DSPCADR 2CADR ALTDSPLY BANK COUNT* $$/NEEDL -# PROGRAM: ALTDSPLY -# MOD 0. 6 DEC 1967 -# AUTHOR: CRAIG WORK, DON KEENE, MIT IL -# MOD 3 BY DON KEENE AUG 1, 1968 -- MOVED PROGRAM TO BANK 20 +# PROGRAM: ALTDSPLY +# +# MOD 0. 6 DEC 1967 +# +# AUTHOR: CRAIG WORK, DON KEENE, MIT IL +# +# MOD 3 BY DON KEENE AUG 1, 1968 MOVED PROGRAM TO BANK 20 # # 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. -# 2) IF NEEDLFLG = 1, INPUT CPHI,CTHETA,CPSI,CDUX,CDUY,CDUZ,M11,M21,M32,M22,M32. (GPMATRIX) +# 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) # +# 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. TS L @@ -258,9 +259,9 @@ ALTDSPLY CA RCSFLAGS # INVERT THE DISPLAY ALTERNATION BIT. # Page 1415 MASK NEEDLBIT # TITUDE ERROR DISPLAY REQUEST. 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. CS RERROR TS AK +2 @@ -279,9 +280,9 @@ DSPLYTOT EXTEND MSU CDUY # DIFFERENCE SCALED AT PI, 1'S COMP. TS AK # SAVE FOR R-ERROR CALCULATION. 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. - CA CPSI # DESIRED ATTITUDE, Z-AXIS, 2'S COMP. + CA CPSI # DESIRED ATTITUDE,Z-AXIS, 2'S COMP. EXTEND # SUBTRACT CURRENT ATTITUDE. MSU CDUZ # DIFFERENCE SCALED AT PI, 1'S COMP. TS AK +2 # SAVE Z-AXIS TERM FOR R ERROR CALCULATION @@ -316,7 +317,7 @@ DSPLYTOT EXTEND # M13 = 1, SO BYPASS THE MULTIPLICATION. # 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 TC OVERSUB2 # PIN NEEDLES IN CASE OF OVERFLOW. @@ -330,55 +331,67 @@ DSPLYTOT EXTEND # Page 1417 # FDAI ATTITUDE ERROR DISPLAY SUBROUTINE # -# 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. +# 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) +# 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 # OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES # 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: -# 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 50 MS. TO ASSURE PROPER RELAY SEQUENCING. +# 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 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: -# AK CDUXCMD -# AK1 CDUYCMD -# AK2 CDUZCMD -# EDRIVEX A,L,Q -# EDRIVEY T5TEMP -# EDRIVEZ DINDX +# AK CDUXCMD +# AK1 CDUYCMD +# AK2 CDUZCMD +# EDRIVEX A,L,Q +# EDRIVEY T5TEMP +# EDRIVEZ DINDX # Page 1418 # -# SWITCHES: RCSFLAGS BITS 3,2 +# SWITCHES: RCSFLAGS BITS 3,2 # -# I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN -- READ ONLY) -# CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE) -# CHAN14 BIT 13,14,15 (DAC ACTIVITY) +# I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY) +# CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE) +# CHAN14 BIT 13,14,15 (DAC ACTIVITY) # -# SIGN CONVENTION: AK = THETAC - THETA -# WHERE THETAC = COMMAND ANGLE -# THETA = PRESENT ANGLE +# +# SIGN CONVENTION< AK = THETAC - THETA +# WHERE THETAC = COMMAND ANGLE +# THETA = PRESENT ANGLE + NEEDLER CA RCSFLAGS MASK SIX @@ -411,8 +424,8 @@ NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS EXTEND WOR CHAN12 CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE - MASK RCSFLAGS # ERRORS. WAIT AT LEAST 4 MS FOR - TS RCSFLAGS # RELAY CLOSURE. + MASK RCSFLAGS # ERRORS WAIT ATLEAST 4 MS FOR + TS RCSFLAGS # RELAY CLOSURE TCF RETNMORE 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. 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 INDEX A # Page 1420 - CS LIMITS # DUPLICATE CODING IN BANK 16 + CS LIMITS # DUPLICATE CODING IN BANK 16 TC Q RETNMORE EXTEND # RETURN TO CHEKMORE