From e82746d7324c6165f1d69b17dc0c6dbf6edd80ad Mon Sep 17 00:00:00 2001 From: Glenn Dwiyatcita Date: Wed, 8 May 2019 20:41:36 +0200 Subject: [PATCH] Proof R60_62 #247 (#386) * Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(p391/398): Proof R60_62 #247 * wip(p398/398: DONE): Proof R60_62 #247 --- Comanche055/R60_62.agc | 126 ++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 64 deletions(-) diff --git a/Comanche055/R60_62.agc b/Comanche055/R60_62.agc index b2934fd..30d3236 100644 --- a/Comanche055/R60_62.agc +++ b/Comanche055/R60_62.agc @@ -37,7 +37,7 @@ COUNT 27/R60 -# CONFORMS TO GSOP CHAPTER FOUR REVISION LOGIC 09 JAN 18, 1968 +# CONFORMS TO GSOP CHAPTER FOUR REVISION LOGIC 09 JAN 18,1968 R60CSM TC MAKECADR TS TEMPR60 @@ -51,7 +51,7 @@ REDOMANN CAF BIT6 TC INTPRET CALL VECPOINT # TO COMPUTE FINAL ANGLES - STORE CPHI # STORE FINAL ANGLES -- CPHI, CTHETA, CPSI + STORE CPHI # STORE FINAL ANGLES - CPHI,CTHETA,CPSI EXIT TOBALL CAF V06N18 @@ -59,7 +59,7 @@ TOBALL CAF V06N18 CADR GOPERF2R # DISPLAY PLEASE PERFORM AUTO MANEUVER TC R61TEST TC REDOMANC # PROCEED - TCF ENDMANU1 # ENTER I.E., FINISHED WITH R60 + TCF ENDMANU1 # ENTER I.E. FINISHED WITH R60 TC CHKLINUS # TO CHECK FOR PRIORITY DISPLAYS TC ENDOFJOB @@ -83,14 +83,14 @@ TOBALLC CAF PRIO30 # IS MODE AUTO AND CTL GNC BZF +2 # AUTO, NON-FLASH N18 TCF TOBALL # NOT AUTO - CAF V06N18 # STATIC UP NON-FLASHING V06 N18 + CAF V06N18 # SET UP NON-FLASHING V06 N18 TC BANKCALL CADR GODSPR TC CHKLINUS STARTMNV TC BANKCALL CADR GOMANUR -ENDMANUV TCF TOBALL # FINISHED MANEUVER. +ENDMANUV TCF TOBALL # FINISHED MANEUVER ENDMANU1 TC DOWNFLAG # RESET 3-AXIS FLAG ADRES 3AXISFLG # BIT 6 FLAG 5 @@ -98,13 +98,13 @@ ENDMANU1 TC DOWNFLAG # RESET 3-AXIS FLAG TC BANKJUMP CHKLINUS CS FLAGWRD4 - MASK BIT12 # IS PRIORITY DISPLAY FLAG SET? + MASK BIT12 # IS PRIORITY DISPLAY FLAG SET CCS A - TC Q # NO -- EXIT + TC Q # NO - EXIT CA Q TS MPAC +2 # SAVE RETURN - CS THREE # OBTAIN LOCATION FOR RESTART - AD BUF2 # HOLD Q OF LAST DISPLAY + CS THREE # OBTAIN LOCATION FOR RESTART. + AD BUF2 # HOLDS Q OF LAST DISPLAY TS TBASE1 TC PHASCHNG @@ -141,7 +141,7 @@ GOREDO20 TC PHASCHNG R61TEST CA MODREG # ARE WE IN P00. IF YES THIS MUST BE EXTEND # VERB49 OR VERB89 SO DO ENDEXT. - BZF ENDMANU1 # RESET 3-AXIS & RETURN. USER DOES ENDEXT + BZF ENDMANU1 # RESET 3-AXIS & RUTURN. USER DOES ENDEXT CA FLAGWRD4 # ARE WE IN R61 (P20) MASK BIT12 EXTEND @@ -152,53 +152,52 @@ BIT14+7 OCT 20100 V06N18 VN 0618 # Page 393 -# PROGRAM DESCRIPTION -- VECPOINT -# -# THIS INTERPRETIVE SUBROUTINE MAY BE USED TO POINT A SPACECRAFT AXIS IN A DESIRED DIRECTION. THE AXIS +# PROGRAM DESCRIPTION - VECPOINT + + +# THIS INTERPRETIVE SUBROUTINE MAY BE USED TO POINT A SPACECRAFT AXIS IN A DESIRED DIRECTION. THE AXIS # TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN SUCCESSIVE LOCATIONS OF ERASABLE MEMORY # BEGINNING WITH THE LOCATION CALLED SCAXIS. THE COMPONENTS OF THIS VECTOR ARE GIVEN IN SPACECRAFT COORDINATES. # THE DIRECTION IN WHICH THIS AXIS IS TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN # SUCCESSIVE LOCATIONS OF ERASABLE MEMORY BEGINNING WITH THE ADDRESS CALLED POINTVSM. THE COMPONENTS OF THIS # VECTOR ARE GIVEN IN STABLE MEMBER COORDINATES. WITH THIS INFORMATION VECPOINT COMPUTES A SET OF THREE GIMBAL -# ANGLES (2'S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM +# ANGLES (2S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM # IN T(MPAC) BEFORE RETURNING TO THE CALLER. -# -# THIS ROTATION, HOWEVER, MAY BRING THE S/C INTO GIMBAL LOCK. WHEN POINTING A VECTOR IN THE Y-Z PLANE, -# THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROGLEM BY ROTATING THE CROSS- +# THIS ROTATION, HOWEVER, MAY BRING THE S/C INTO GIMBAL LOCK. WHEN POINTING A VECTOR IN THE Y-Z PLANE, +# THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROBLEM BY ROTATING THE CROSS- # PRODUCT ATTITUDE ABOUT POINTVSM BY A FIXED AMOUNT SUFFICIENT TO ROTATE THE DESIRED S/C ATTITUDE OUT OF GIMBAL -# LOCK. IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR -X) AXIS, +# LOCK. IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR-X) AXIS, # THE ADDITIONAL ROTATION TO AVOID GIMBAL LOCK IS 35 DEGREES. IF THE AXIS IS MORE THAN 60.5 DEGREES FROM +X (OR -X) # THE ADDITIONAL ROTATION IS 35 DEGREES. THE GIMBAL ANGLES CORRESPONDING TO THIS ATTITUDE ARE THEN COMPUTED AND -# STORED AS 2'S COMPLEMENT ANGLES N T(MPAC) BEFORE RETURNING TO THE CALLER. -# -# WHEN POINTING THE X-AXIS, OR THE THRUST VECTOR, OR ANY VECTOR WITHIN 40.6 DEG OF THE X-AXIS, VECPOINT +# STORED AS 2S COMPLIMENT ANGLES IN T(MPAC) BEFORE RETURNING TO THE CALLER. +# WHEN POINTING THE X-AXIS, OR THE THRUST VECTOR, OR ANY VECTOR WITHIN 40.6 DEG OF THE X-AXIS, VECPOINT # CANNOT CORRECT FOR A CROSS-PRODUCT ROTATION INTO GIMBAL LOCK. IN THIS CASE A PLATFORM REALIGNMENT WOULD BE # REQUIRED TO POINT THE VECTOR IN THE DESIRED DIRECTION. AT PRESENT NO INDICATION IS GIVEN FOR THIS SITUATION # EXCEPT THAT THE FINAL MIDDLE GIMBAL ANGLE IN MPAC +2 IS GREATER THAN 59 DEGREES. -# -# CALLING SEQUENCE -# -# 1) LOAD SCAXIS, POINTVSM -# 2) CALL + +# CALLING SEQUENCE - +# 1) LOAD SCAXIS, POINTVSM +# 2) CALL # VECPOINT -# -# RETURNS WITH -# -# 1) DESIRED OUTER GIMBAL ANGLE IN MPAC -# 2) DESIRED INNER GIMBAL ANGLE IN MPAC +1 -# 3) DESIRED MIDDLE GIMBAL ANGLE IN MPAC +2 -# -# ERASABLES USED -- -# -# 1) SCAXIS 6 -# 2) POINTVSM 6 -# 3) MIS 18 -# 4) DEL 18 -# 5) COF 6 -# 6) VECQTEMP 1 -# 7) ALL OF VAC AREA 43 -# -# TOTAL 99 + +# RETURNS WITH + +# 1) DESIRED OUTER GIMBAL ANGLE IN MPAC +# 2) DESIRED INNER GIMBAL ANGLE IN MPAC +1 +# 3) DESIRED MIDDLE GIMBAL ANGLE IN MPAC +2 + + +# ERASABLES USED - + +# 1) SCAXIS 6 +# 2) POINTVSM 6 +# 3) MIS 18 +# 4) DEL 18 +# 5) COF 6 +# 6) VECQTEMP 1 +# 7) ALL OF VAC AREA 43 + +# TOTAL 99 SETLOC VECPT BANK @@ -217,7 +216,7 @@ VECLEAR AXC,2 RTB CDUTODCM # S/C AXES TO STABLE MEMBER AXES (MIS) VLOAD VXM POINTVSM # RESOLVE THE POINTING DIRECTION VF INTO - MIS # INITIAL S/C AXES (VF = POINTVSM) + MIS # INITIAL S/C AXES ( VF = POINTVSM) UNIT STORE 28D # PD 28 29 30 31 32 33 @@ -230,11 +229,11 @@ VECLEAR AXC,2 RTB DSU BMN # VECTOR, IF LESS DPB-14 # THAN B-14 ASSUME PICKAXIS # UNIT OPERATION - VLOAD DOT # INVALID. + VLOAD DOT # INVALID. SCAXIS 28D SL1 ARCCOS -COMPMATX CALL # NO COMPUTE THE TRANSFORMATION FROM +COMPMATX CALL # NOW COMPUTE THE TRANSFORMATION FROM DELCOMP # FINAL S/C AXES TO INITIAL S/C AXES MFI AXC,1 AXC,2 MIS # COMPUTE THE TRANSFORMATION FROM FINAL @@ -246,8 +245,8 @@ COMPMATX CALL # NO COMPUTE THE TRANSFORMATION FROM 6 # MFS6 = SIN(CPSI) $2 DSU BMN SINGIMLC # = SIN(59 DEGS) $2 - FINDGIMB # /CPSI/ LESS THAN 59 DEGS. - # I.E., DESIRED ATTITUDE NOT IN GIMBAL LOCK + FINDGIMB # /CPSI/ LESS THAN 59 DEGS + # I.E. DESIRED ATTITUDE NOT IN GIMBAL LOCK DLOAD ABS # CHECK TO SEE IF WE ARE POINTING SCAXIS # THE THRUST AXIS @@ -268,8 +267,8 @@ COMPMATX CALL # NO COMPUTE THE TRANSFORMATION FROM IGSAMEX VXV BMN # FIND THE SHORTEST WAY OF ROTATING THE SCAXIS # S/C OUT OF GIMBAL LOCK BY A ROTATION - U=SCAXIS # ABOUT +- SCAXIS, I.E., IF (IG (SGN MFS3) - # X SCAXIS . XF) LESS THAN Q, U = SCAXIS + U=SCAXIS # ABOUT +- SCAXIS, I.E. IF (IG (SGN MFS3) + # X SCAXIS . XF) LESS THAN 0, U = SCAXIS # OTHERWISE U = -SCAXIS. VLOAD VCOMP @@ -289,7 +288,7 @@ CHEKAXIS DLOAD ABS COMPMFSN # IN THIS CASE ROTATE 35 DEGS TO GET OUT # OF GIMBAL LOCK (VECANG2 $360) PICKANG1 DLOAD - VECANG1 # = 50 DEGS. $360 + VECANG1 # = 50 DEGS $360 COMPMFSN CALL DELCOMP # COMPUTE THE ROTATION ABOUT SCAXIS TO AXC,1 AXC,2 # BRING MFS OUT OF GIMBAL LOCK @@ -303,13 +302,13 @@ FINDGIMB AXC,1 CALL 0 # EXTRACT THE COMMANDED CDU ANGLES FROM DCMTOCDU # THIS MATRIX RTB SETPD - V1STO2S # CONVERT TO 2'S COMPLEMENT + V1STO2S # CONVERT TO 2:S COMPLEMENT # Page 396 0 GOTO VECQTEMP # RETURN TO CALLER -PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF, VI +PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF . VI 28D SCAXIS BMN TLOAD @@ -320,10 +319,10 @@ PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF, VI ROT180 VLOAD VXV # IF VF, VI ANTI-PARALLEL, 180 DEG ROTATION MIS +6 # IS REQUIRED. Y STABLE MEMBER AXIS IN - HIUNITX # INITIAL S/C AXES. + HIUNITX # INITIAL S/C AXIS. UNIT VXV # FIND Y(SM) X X(I) SCAXIS # FIND UNIT(VI X UNIT(Y(SM) X X(I))) - UNIT BOV # I.E., PICK A VECTOR IN THE PLANE OF X(I), + UNIT BOV # I.E. PICK A VECTOR IN THE PLANE OF X(I), PICKX # Y(SM) PERPENDICULAR TO VI STODL COF 36D # CHECK MAGNITUDE @@ -343,18 +342,18 @@ PICKX VLOAD GOTO # PICK THE XAXIS IN THIS CASE SETLOC MANUVER1 BANK -SINGIMLC 2DEC .4285836003 # = SIN(59) $2 +SINGIMLC 2DEC .4285836003 # =SIN(59) $2 -SINVEC1 2DEC .3796356537 # = SIN(49.4) $2 +SINVEC1 2DEC .3796356537 # =SIN(49.4) $2 -SINVEC2 2DEC .2462117800 # = SIN(29.5) $2 +SINVEC2 2DEC .2462117800 # =SIN(29.5) $2 VECANG1 2DEC .1388888889 # = 50 DEGREES $360 VECANG2 2DEC .09722222222 # = 35 DEGREES $360 -1BITDP OCT 0 # KEEP THIS BEFORE DPB(-14) ******** +1BITDP OCT 0 # KEEP THIS BEFORE DPB(-14) ********* DPB-14 OCT 00001 # Page 397 OCT 00000 @@ -377,11 +376,10 @@ R62DISP CAF V06N22 # DISPLAY COMMAND ICDUS CPHI, CTHETA, CPHI TCF R62DISP # ENTER # ASTRONAUT MAY LOAD NEW ICDUS AT THIS - # POINT. -GOMOVE TC UPFLAG # SET FOR 3-AXIS MANEUVER - ADRES 3AXISFLG + # POINT +GOMOVE TC UPFLAG # SET 3-AXIS FLAG + ADRES 3AXISFLG # BIT 6 FLAG 5 TC BANKCALL CADR R60CSM TCF ENDEXT -