NASA / GSFC CODE 512 GREENBELT, MD. 20771 *************************************************************** * * * NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) * * * * FLIGHT SOFTWARE * * * * 01 JAN 95 * * * * PDL/81 V2.0(vb).908 * * * * 5332-PD8 * * * *************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 1.001 01 JAN 95 TABLE OF CONTENTS TABLE OF CONTENTS ----------------- NICMOS FLIGHT SOFTWARE INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . 2 NICMOS COMMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ZIDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 NFWORLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 NFACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 NFPARITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 CONTROL SECTION COMMUNICATION PROCESSOR . . . . . . . . . . . . . . . . . . . . . . 8 NFCSCOMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 NFALIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 NFSLEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 NFCSSEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 MACRO COMMAND PROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 NFMACRO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 NFTIMECU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 NFLOADED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 NFUNLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 SAFING PROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 NFSAFING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 DELAYED COMMAND SEQUENCE STORED IN NICMOS MEMORY . . . . . . . . . . . . . . . . . . 20 NCOMSKEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 NMACSKEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) . . . . . . 23 ZIDELT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ZILIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 ZIREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ZIRTCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ZISAFE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ZISEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ZISLEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ZISPED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ZIPITR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ZISTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Segment Reference Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 1.002 01 JAN 95 TABLE OF CONTENTS Index to Data Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Index to Flow Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 2 01 JAN 95 NICMOS FLIGHT SOFTWARE INTRODUCTION ##################################################################################################### # # # 1 # 7 # 2 THIS PDL DOCUMENT DESCRIBES THE FLIGHT SOFTWARE FOR THE NEAR # 8 # 3 INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) FOR THE HUBBLE # 9 # 4 SPACE TELESCOPE. # 10 # 5 # 11 # 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # 12 # 7 X X # 13 # 8 X THIS IS RELEASE 1.0 OF THE NICMOS NSSC-I FLIGHT SOFTWARE DESIGN X # 14 # 9 X DATED JANUARY 1, 1995 X # 15 # 10 X X # 16 # 11 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # 17 # 12 # 18 # 13 THE NICMOS FLIGHT SOFTWARE IS COMPOSED OF THREE PROCESSORS, AND A # 19 # 14 READ/WRITE COMMON AREA CONTAINING DATA ACCESSIBLE TO ALL PROCESSORS. # 20 # 15 # 21 # 16 THE PROCESSORS AND THEIR NUMERIC ID'S ARE: # 22 # 17 # 23 # 18 1) NFCSCOMM - PROCESSOR # 21 # 24 # 19 2) NFMACRO - PROCESSOR # 22 # 25 # 20 3) NFSAFING - PROCESSOR # 23 # 26 # 21 # 27 # 22 THE NICMOS NSSC-I FLIGHT SOFTWARE RETRIEVES THE HST TAKE DATA FLAG # 28 # 23 FROM THE SSM PIT, AND FORWARDS THE STATE OF THE TDF TO THE NICMOS # 29 # 24 INSTRUMENT WHENEVER THE STATE OF THE TDF CHANGES AND THE INSTRUMENT IS IN # 30 # 25 OPERATE MODE OR AT A TRANSITION FROM BOOT MODE TO OPERATE MODE. # 31 # 26 # 32 # 27 THE NICMOS NSSC-I FLIGHT SOFTWARE RECEIVES SPECIAL ENGINEERING DATA ONCE # 33 # 28 EVERY HALF SECOND FROM THE NICMOS INSTRUMENT THAT MAY CONTAIN THE FOLLOWING # 34 # 29 EMBEDDED REQUESTS: # 35 # 30 # 36 # 31 1) A REQUEST TO SAFE THE NICMOS INSTRUMENT # 37 # 32 2) A REQUEST TO SUSPEND THE NICMOS INSTRUMENT # 38 # 33 3) A REQUEST TO POST AN EXECUTIVE STATUS BUFFER MESSAGE # 39 # 34 FOR THE NICMOS CONTROL SECTION FLIGHT SOFTWARE # 40 # 35 4) A REQUEST FOR AN HST SMALL ANGLE MANEUVER SLEW IN PURSUIT OF NICMOS # 41 # 36 TARGET ACQUISITIONS. # 42 # 37 # 43 # 38 A CONFIRMATION MESSAGE IS SENT BACK TO THE NICMOS INSTRUMENT UPON RECEIPT # 44 # 39 OF A SLEW REQUEST. NO FURTHER SLEW REQUESTS WILL BE PROCESSED UNTIL THE CONTROL # 45 # 40 SECTION ACKNOWLEDGES THE CONFIRMATION BY CLEARING THE DETECTOR NUMBER OF THE # 46 # 41 PREVIOUS SLEW. # 47 # 42 # 48 # 43 THE FOLLOWING INFORMATION IS ALSO PRESENT IN THE SPECIAL # 49 # 44 ENGINEERING DATA: # 50 # 45 # 51 # 46 1) THE REASON FOR THE MOST RECENT CONTROL SECTION RESET # 52 # 47 2) A WORD INDICATING THE RESULT OF THE MOST RECENTLY COMMANDED CHECKSUM # 53 # 48 TEST PERFORMED BY THE CONTROL SECTION FLIGHT SOFTWARE # 54 # # 55 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 2.001 01 JAN 95 NICMOS FLIGHT SOFTWARE INTRODUCTION (continued) # # # 49 3) THE CONTROL SECTION MINOR FRAME COUNTER # # 50 4) THE CONTROL SECTION SOFTWARE MODE (BOOT/OPERATE) # 56 # 51 # 57 # 52 THE NICMOS NSSC-I FLIGHT SOFTWARE CHECKS THE REASON FOR THE CS RESET AND # 58 # 53 LOOKS UP THE ACTION TO TAKE IN ONE OF FOUR TABLES. THERE ARE TWO TABLES FOR # 59 # 54 HARDWARE RESETS, ONE FOR WHEN THE INSTRUMENT IS NOT SUSPENDED AND THE OTHER FOR # 60 # 55 WHEN THE INSTRUMENT IS SUSPENDED. THERE ARE TWO TABLES FOR SOFTWARE RESETS, ONE # 61 # 56 FOR WHEN THE INSTRUMENT IS NOT SUSPENDED AND THE OTHER FOR WHEN THE INSTRUMENT # 62 # 57 IS SUSPENDED. THE ACTION CAN BE POST AN EXECUTIVE STATUS BUFFER ENTRY, POST AN # 63 # 58 EXECUTIVE STATUS BUFFER ENTRY AND SUSPEND THE NICMOS INSTRUMENT, POST AN # 64 # 59 EXECUTIVE STATUS BUFFER ENTRY AND SAFE THE NICMOS INSTRUMENT, OR DO NOTHING. # 65 # 60 # 66 # 61 THE NICMOS NSSC-I FLIGHT SOFTWARE SETS NICMOS EVENT FLAG 1 IF THE CHECKSUM # 67 # 62 WORD EQUALS HEX 49, DOES NOT DO ANYTHING IF THE WORD EQUALS ZERO, FOR ANY OTHER # 68 # 63 VALUE IT RESETS NICMOS EVENT FLAG 1, POSTS AN EXECUTIVE STATUS BUFFER MESSAGE # 69 # 64 AND SETS NFCKSMFL_ TO 1 INDICATING THE CHECKSUM FAILURE. NFCKSMFL_ MUST BE # 70 # 65 CLEARED BY THE GROUND. # 71 # 66 # 72 # 67 THE NICMOS NSSC-I FLIGHT SOFTWARE USES THE CONTROL SECTION MINOR FRAME # 73 # 68 COUNTER AND THE CONTROL SECTION MODE AS THE KEEP-ALIVE SIGNAL FROM THE CONTROL # 74 # 69 SECTION FLIGHT SOFTWARE. # 75 # 70 # 76 # 71 THE NICMOS NSSC-I FLIGHT SOFTWARE BUILDS MACRO COMMANDS FROM BUFFERS # 77 # 72 FILLED FROM STORED COMMANDING OR THROUGH REAL-TIME COMMANDING BY THE GROUND. # 78 # 73 PROCESSING THE COMMAND INPUT BUFFERS CONSISTS OF FIRST POLLING EACH OF THE # 79 # 74 THREE STORED COMMAND INPUT BUFFERS. IF LOADING OF A GIVEN STORED COMMAND # 80 # 75 INPUT BUFFER IS COMPLETE, THE SOFTWARE UNLOADS THAT INPUT BUFFER. IF THERE # 81 # 76 IS ROOM IN THE RTCS THE INSTRUMENT OPS STORED COMMAND BUFFER IS POLLED AND # 82 # 77 POSSIBLY UNLOADED. THE FIRST TIME A STORED COMMAND BUFFER IS UNLOADED IN THE # 83 # 78 CURRENT EXECUTION OF THE SOFTWARE, THE FLAG NCLRQFLG_ IS CHECKED TO SEE IF # 84 # 79 THE NICMOS CLEAR ALL QUEUES MACRO SHOULD BE SENT TO CLEAR UP ANY POSSIBLE # 85 # 80 ABORTED REAL-TIME COMMANDING. IF THE MACRO RTCS IS BUSY WHEN A STORED COMMAND # 86 # 81 BUFFER IS FOUND TO BE COMPLETELY LOADED, THE COMMANDS ARE DISCARDED AND AN # 87 # 82 EXECUTIVE STATUS BUFFER MESSAGE IS POSTED. # 88 # 83 # 89 # 84 IF LOADING IS NOT COMPLETE FOR ANY OF THE STORED COMMAND INPUT # 90 # 85 BUFFERS, THE SOFTWARE POLLS THE REAL-TIME COMMAND INPUT BUFFER. IF THE MACRO # 91 # 86 RTCS IS BUSY, THE SOFTWARE WILL SKIP POLLING THE REAL-TIME COMMAND INPUT # 92 # 87 BUFFER. OTHERWISE, IF LOADING IS COMPLETE FOR THE REAL-TIME COMMAND INPUT # 93 # 88 BUFFER, THE SOFTWARE UNLOADS THAT INPUT BUFFER. IF ANY OF THE FIVE COMMAND # 94 # 89 INPUT BUFFERS WERE UNLOADED, THE SOFTWARE STARTS THE NICMOS-UNIQUE NFMACRO AP # 95 # 90 RTCS. OTHERWISE, THE SOFTWARE EXITS # 96 # 91 # 97 # 92 NOTE THAT IT IS POSSIBLE TO UNLOAD ANY OR ALL FOUR OF THE STORED # 98 # 93 COMMAND INPUT BUFFERS ON A GIVEN EXECUTION OF THE SOFTWARE; FOR THE CASE WHERE # 99 # 94 MULTIPLE STORED COMMAND INPUT BUFFERS WERE UNLOADED DURING THE SAME EXECUTION # 100 # 95 OF THE SOFTWARE, COMMANDS FROM THE DETECTOR 1 BUFFER WILL BE ISSUED FIRST, # 101 # 96 FOLLOWED BY DETECTOR 2 COMMANDS, THEN DETECTOR 3 COMMANDS, FINALLY INSTRUMENT # 102 # 97 OPS COMMANDS; ONLY IF LOADING OF NO STORED COMMAND INPUT BUFFERS WAS COMPLETE # 103 # # 104 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 2.002 01 JAN 95 NICMOS FLIGHT SOFTWARE INTRODUCTION (continued) # # # 98 WILL THE REAL-TIME COMMAND INPUT BUFFER BE POLLED. # # 99 # 105 #100 THE NICMOS NSSC-I FLIGHT SOFTWARE BUILDS A TIME CODE UPDATE WHEN # 106 #101 THE FLAG NFTCUFLG_ IS SET BY THE GROUND. THE GROUND IS REQUIRED TO MANAGE # 107 #102 THE FLAG SUCH THAT THE TIME CODE UPDATE WILL GO OUT AT LEAST 10 MINOR FRAMES # 108 #103 BEFORE THE NEXT MAJOR FRAME. IF THE MACRO RTCS IS BUSY, THE TIME CODE UPDATE # 109 #104 WILL NOT BE SENT AND WILL BE RETRIED ON THE NEXT EXECUTION OF THE SOFTWARE. # 110 #105 # 111 #106 THE NICMOS NSSC-I FLIGHT SOFTWARE CHECKS THE NICMOS ENGINEERING DATA FOR # 112 #107 UNSAFE CONDITIONS, AND WILL COMMAND THE NICMOS INSTRUMENT TO A SAFE STATE IF # 113 #108 NECESSARY. # 114 #109 # 115 #110 NOTE: A NUMBER IS OCTAL IF IT STARTS WITH A "0, OTHERWISE IT IS DECIMAL. # 116 #111 A NUMBER IN [] IS THE DEFAULT VALUE. # 117 #112 ******************************************************************************* # 118 #113 THE FOLLOWING SET OF ITEMS MUST BE MODIFIED FOR CROSS-STRAPPING: # 119 #114 A COMPLETE DESCRIPTION OF EACH ITEM IS FOUND IN THE DATA DECLARATION SECTIONS # 120 #115 IN THE VARIOUS MODULES BELOW # 121 #116 # 122 #117 FOR RIU A TO MEB 1 OR RIU B TO MEB 2: # 123 #118 # 124 #119 .. SPECIAL ENGINEERING DATA TELEMETRY ADDRESSES (SEE NFWORLD) # 125 #120 NFSPEDTA: 0,"0121002,"0121002,"0121002,"0121002,"0121002, # 126 #121 "0121002,"0121002,"0121002,"0121002,"0121002, # 127 #122 "0121002,"0121002,"0121002,"0121002,"0121002, # 128 #123 "0121002,"0121002,"0121002,"0121002,"0121002, # 129 #124 "0121002,"0121002,"0121002,"0121002,"0121002, # 130 #125 "0121002,"0121002,"0121002,"0121002,"0121002, # 131 #126 "0121002,"0121002,"0121002,"0121002,"0121002,0 # 132 #127 # 133 #128 .. LINE NUMBER TABLE FOR COMMANDS BUILT IN NFMACRO (SEE NFWORLD) # 134 #129 NLINETAB: 4,2,0 # 135 #130 .. # 136 #131 NSLEWMAC: "040000,"031120,"000433 ..THE SLEW CONFIRMATION MACRO # 137 #132 NTDFDMAC: "040000,"031120,"000435 ..THE TAKE DATA FLAG DOWN MACRO # 138 #133 NTDFUMAC: "040000,"031120,"000436 ..THE TAKE DATA FLAG UP MACRO # 139 #134 NCLRBOOT: "020024 ..THIRD WORD OF NCLRCMD AS A BOOT MACRO # 140 #135 NCLRCMD: "040000,"031120,0 ..NICMOS CLEAR ALL QUEUES COMMAND # 141 #136 NCLROPER: "000025 ..THIRD WORD OF NCLRCMD AS AN OPERATE MACRO # 142 #137 ------------------------------------------------------------------------------- # 143 #138 FOR RIU A TO MEB 2 OR RIU B TO MEB 1: # 144 #139 # 145 #140 .. SPECIAL ENGINEERING DATA TELEMETRY ADDRESSES (SEE NFWORLD) # 146 #141 NFSPEDTA: 0,"0121003,"0121003,"0121003,"0121003,"0121003, # 147 #142 "0121003,"0121003,"0121003,"0121003,"0121003, # 148 #143 "0121003,"0121003,"0121003,"0121003,"0121003, # 149 #144 "0121003,"0121003,"0121003,"0121003,"0121003, # 150 #145 "0121003,"0121003,"0121003,"0121003,"0121003, # 151 #146 "0121003,"0121003,"0121003,"0121003,"0121003, # 152 # # 153 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 2.003 01 JAN 95 NICMOS FLIGHT SOFTWARE INTRODUCTION (continued) # # #147 "0121003,"0121003,"0121003,"0121003,"0121003,0 # #148 # 154 #149 .. LINE NUMBER TABLE FOR COMMANDS BUILT IN NFMACRO (SEE NFWORLD) # 155 #150 NLINETAB: 5,3,1 # 156 #151 .. # 157 #152 NSLEWMAC: "040000,"031120,"0400432 ..THE SLEW CONFIRMATION MACRO # 158 #153 NTDFDMAC: "040000,"031120,"0400434 ..THE TAKE DATA FLAG DOWN MACRO # 159 #154 NTDFUMAC: "040000,"031120,"0400437 ..THE TAKE DATA FLAG UP MACRO # 160 #155 NCLRBOOT: "0420025 ..THIRD WORD OF NCLRCMD AS A BOOT MACRO # 161 #156 NCLRCMD: "040000,"031120,0 ..NICMOS CLEAR ALL QUEUES COMMAND # 162 #157 NCLROPER: "0400024 ..THIRD WORD OF NCLRCMD AS AN OPERATE MACRO # 163 #158 ******************************************************************************* # 164 #159 # 165 # # ##################################################################################################### NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 3 01 JAN 95 ***************** * * * NICMOS COMMON * * * ***************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 4 01 JAN 95 NICMOS COMMON ZIDATA DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D D D 1 ..MODULE NAME = ZIDATA D 168 D 2 ..IDENTIFICATION = NSSC-I EXECUTIVE FLIGHT S/W D 169 D 3 ..ENGLISH NAME = NSSC-I EXECUTIVE DATA COMMON D 170 D 4 ..LANGUAGE = CFG PDL D 171 D 5 ..PURPOSE = EXPLICITLY SHOWS NSSC-I EXECUTIVE DATA USED BY THE NSSC-I NICMOS FLIGHT D 173 D SOFTWARE. D D 6 ..NOTES = NONE D 174 D 7 ..--------------------------------------------------------------------------- D 175 D 8 INDXROW_[7] = NUMBER OF ENTRIES IN ONE RTCS INDEX TABLE ENTRY D 176 D 9 IXTABLE_(1008) = RTCS INDEX TABLE (TOTAL OF 144 SEQUENCES) D 177 D 10 NCVT_ = NSSC-1 CURRENT VALUE TABLE D 178 D 11 NDREF_ = NSSC-1 DATA REFERENCE TABLE, FOR INDIRECT REFERENCES TO ITEMS STORED IN THE D 180 D CURRENT VALUE TABLE D D 12 NLFLGS_ = LIMIT CHECK FLAG WORD OBTAINED FROM THE FLIGHT EXEC (32 BITS) D 181 D 13 MINFRMNO_ = NSSC-I MINOR FRAME NUMBER D 182 D 14 SAFING_(6) = TABLE INDICATING SAFING STATE OF EACH INSTRUMENT D 183 D 15 SI2USEQT_ = TABLE MAPPING SI2 UNIQUE SEQUENCE NUMBERS TO COMMON POOL SEQUENCE NUMBERS D 185 D 16 SSMTIMEH_ = SSM TIME HIGH 16 BITS D 186 D 17 SSMTIMEL_ = SSM TIME LOW 16 BITS D 187 D D DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 5 01 JAN 95 NICMOS COMMON NFWORLD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D D D 1 ..MODULE NAME = NFWORLD D 189 D 2 ..IDENTIFICATION = NICMOS FLIGHT S/W D 190 D 3 ..ENGLISH NAME = NICMOS DATA COMMON D 191 D 4 ..LANGUAGE = CFG PDL D 192 D 5 ..PURPOSE = SERVES AS A LOCATION WHERE ALL NICMOS APPLICATION PROCESSORS CAN D 194 D READ AND WRITE D D 6 ..NOTES = NONE D 195 D 7 ..--------------------------------------------------------------------------- D 196 D 8 .. D 197 D 9 ..THE FOLLOWING 35 WORDS MUST REMAIN CONTIGUOUS D 198 D 10 ..35 BYTES OF SPECIAL ENGINEERING DATA D 199 D 11 ..EACH SPECIAL ENGINEERING DATA BYTE GOES INTO LOW 8 BITS OF AN 18 BIT NSSC-I WORD D 201 D 12 NFSPEDIN_ RES 0 ..START OF STORAGE AREA FOR SPECIAL ENGINEERING DATA D 202 D 13 NXSLEWLO_ RES 1 ..LOW ORDER BYTE OF X SLEW VALUE D 203 D 14 NXSLEWHI_ RES 1 ..HIGH ORDER BYTE OF X SLEW VALUE D 204 D 15 NYSLEWLO_ RES 1 ..LOW ORDER BYTE OF Y SLEW VALUE D 205 D 16 NYSLEWHI_ RES 1 ..HIGH ORDER BYTE OF Y SLEW VALUE D 206 D 17 NSLEWDET_ RES 1 ..INDICATOR OF WHICH DETECTOR REQUESTED A SLEW D 207 D 18 .. 0 = NO SLEW WAS REQUESTED (DEFAULT STATE) D 208 D 19 .. 1 = DETECTOR 1 D 209 D 20 .. 2 = DETECTOR 2 D 210 D 21 .. 3 = DETECTOR 3 D 211 D 22 .. ELSE INVALID D 212 D 23 .. EXECUTIVE STATUS BUFFER MESSAGE NUMBER D 213 D 24 .. (OFFSET OF 512 WILL BE ADDED BEFORE USE BY NSSC-I FLIGHT SOFTWARE) D 214 D 25 NESBMSGL_ RES 1 ..LOW ORDER BYTE OF ESB MESSAGE NUMBER D 215 D 26 NESBMSGH_ RES 1 ..HIGH ORDER BYTE OF ESB MESSAGE NUMBER (5 LOW BITS VALID) D 216 D 27 NESBPARL_ RES 1 ..LOW ORDER BYTE OF ESB PARAMETER D 217 D 28 NESBPARH_ RES 1 ..HIGH ORDER BYTE OF ESB PARAMETER D 218 D 29 .. SAFING EXECUTIVE STATUS BUFFER MESSAGE NUMBER D 219 D 30 .. (OFFSET OF 512 WILL BE ADDED BEFORE USE BY NSSC-I FLIGHT SOFTWARE) D 220 D 31 NSAFMSGH_ RES 1 ..HIGH ORDER BYTE OF SAFING ESB MESSAGE NUMBER D 221 D 32 NSAFMSGL_ RES 1 ..LOW ORDER BYTE OF SAFING ESB MESSAGE NUMBER D 222 D 33 NSAFPARL_ RES 1 ..LOW ORDER BYTE OF ESB PARAMETER INDICATING REASON FOR SAFING D 224 D 34 NSAFPARH_ RES 1 ..HIGH ORDER BYTE OF ESB PARAMETER INDICATING REASON FOR SAFING D 226 D 35 .. SUSPEND EXECUTIVE STATUS BUFFER MESSAGE NUMBER D 227 D 36 .. (OFFSET OF 512 WILL BE ADDED BEFORE USE BY NSSC-I FLIGHT SOFTWARE) D 228 D 37 NSUSMSGL_ RES 1 ..LOW ORDER BYTE OF SUSPEND ESB MESSAGE NUMBER D 229 D 38 NSUSMSGH_ RES 1 ..HIGH ORDER BYTE OF SUSPEND ESB MESSAGE NUMBER (5 LOW BITS VALID) D 231 D 39 NSUSPARL_ RES 1 ..LOW ORDER BYTE OF SUSPEND ESB PARAMETER D 232 D 40 NSUSPARH_ RES 1 ..HIGH ORDER BYTE OF SUSPEND ESB PARAMETER D 233 D 41 NMINFRCT_ RES 1 ..MINOR FRAME COUNT IN THE NICMOS CONTROL SECTION FLIGHT SOFTWARE D 235 D 42 NFSWMODE_ RES 1 ..INDICATION OF CONTROL SECTION FLIGHT SOFTWARE MODE D 236 D 43 .. "0245 = OPERATE MODE D 237 D 44 .. "0274 = BOOT MODE D 238 D 45 .. ELSE = SPECIAL ENGINEERING DATA IS INVALID D 239 D 46 NRESET_ RES 1 ..REASON FOR CONTROL SECTION RESET D 240 D 47 .. 0: DEFAULT STATE D 241 D D 242 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 5.001 01 JAN 95 NICMOS COMMON NFWORLD (continued) D D D 48 .. SOFTWARE RESETS (RANGE 1 - 127) D D 49 .. 1 - 32: INTEL EXCEPTION D 243 D 50 .. 33: COMMANDED RESET D 244 D 51 .. 34: RETURN TO BOOT FROM OPERATE D 245 D 52 .. 35-127: UNDEFINED D 246 D 53 .. HARDWARE RESETS (RANGE 128 - 255) D 247 D 54 .. ALL EVEN NUMBERS IN RANGE ARE UNDEFINED D 248 D 55 .. 131: RIU DISCRETE D 249 D 56 .. 133: EDAC MULTIBIT ERROR D 250 D 57 .. 137: WATCHDOG TIMER D 251 D 58 .. 145-159: POWER ON RESET (ODD NUMBERS ONLY, EVEN ARE UNDEFINED) D 252 D 59 .. ELSE: UNDEFINED D 253 D 60 NCKSMIND_ RES 1 ..INDICATES WHETHER OR NOT THE LAST CHECKSUM PERFORMED WAS CORRECT D 255 D 61 .. 0 = DEFAULT STATE D 256 D 62 .. 73 = CHECKSUM TEST PASSED (HEX 49) D 257 D 63 .. ELSE = CHECKSUM TEST FAILED D 258 D 64 NFSPARE_ RES 14 ..SPARE WORDS D 259 D 65 .. D 260 D 66 ..35 BYTES OF SPECIAL ENGINEERING DATA TELEMETRY ADDRESSES D 261 D 67 .. D 262 D 68 NFSPEDTA_ (37) ..TELEMETRY ADDRESSES FOR SPECIAL ENGINEERING DATA. A BUFFER FOR SPECIAL D 266 D ENGINEERING TELEMETRY ADDRESSES MUST START AND END WITH A DATA ZERO. THE TELEMETRY D D ADDRESSES CONSIST OF RIU 24, MUX 0, TYPE SERIAL DIGITAL, LINE 2 (FOR CROSS D D STRAPPING PATCH TO LINE 3). D D 69 ..DATA NFSPEDTA: 0,"0121002,"0121002,"0121002,"0121002,"0121002, D 267 D 70 .. "0121002,"0121002,"0121002,"0121002,"0121002, D 268 D 71 .. "0121002,"0121002,"0121002,"0121002,"0121002, D 269 D 72 .. "0121002,"0121002,"0121002,"0121002,"0121002, D 270 D 73 .. "0121002,"0121002,"0121002,"0121002,"0121002, D 271 D 74 .. "0121002,"0121002,"0121002,"0121002,"0121002, D 272 D 75 .. "0121002,"0121002,"0121002,"0121002,"0121002,0 D 273 D 76 .. D 274 D 77 NLINETAB_(3) ..TABLE USED TO LOOK UP CORRECT LINE NUMBER FOR 27 BIT COMMANDS D 275 D 78 .. DATA 4 = DATA LOAD COMMAND D 276 D 79 .. DATA 2 = NORMAL MACRO ACTIVATE COMMAND D 277 D 80 .. DATA 0 = IMMEDIATE MACRO ACTIVATE COMMAND D 278 D 81 .. FOR CROSS STRAPPING PURPOSES THE GROUND MUST PATCH THE TABLE AS FOLLOWS D 279 D 82 .. DATA 5 = DATA LOAD COMMAND D 280 D 83 .. DATA 3 = NORMAL MACRO ACTIVATE COMMAND D 281 D 84 .. DATA 1 = IMMEDIATE MACRO ACTIVATE COMMAND D 282 D 85 .. D 283 D 86 ..*************************************************************************** D 284 D 87 ..TELEMETRY BUFFER FOR NSSC-I MEMORY PORTION OF REGULAR ENGINEERING DATA. ONLY THE LOW 8 D 286 D BITS OF EACH 18 BIT NSSC-I WORD GETS REPORTED IN TELEMETRY D D 88 .. NM2DAT1_ (30) D 287 D 89 ..ITEMS IS NM2DAT1_ ARRAY COPIED FROM NFCSCOMM AP D 288 D 90 NSWSPED_(9) = SPECIAL ENGINEERING BYTES TO BE REPORTED IN REGULAR ED D 289 D 91 ..THE FOLLOWING ITEMS WILL BE COPIED INTO THE NSWSPED_ ARRAY BY NFCSCOMM D 290 D 92 ..NXSLEWLO_ D 291 D D 292 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 5.002 01 JAN 95 NICMOS COMMON NFWORLD (continued) D D D 93 ..NXSLEWHI_ D D 94 ..NYSLEWLO_ D 293 D 95 ..NYSLEWHI_ D 294 D 96 ..NSLEWDET_ D 295 D 97 ..NMINFRCT_ D 296 D 98 ..NFSWMODE_ D 297 D 99 ..NRESET_ D 298 D100 ..NCKSMIND_ D 299 D101 ..END OF NSWSPED_ ARRAY D 300 D102 ..ITEMS IN NM2DAT1_ ARRAY DEFINED HERE AND USED BY NFCSCOMM OR NFMACRO D 301 D103 NBADMDCT_ = NUMBER OF MINOR FRAMES THAT SOFTWARE MODE IS BAD D 302 D104 NCLRQFLG_ = NICMOS CLEAR ALL QUEUES FLAG (SET BY THE GROUND, RESET BY AP) D 303 D105 .. 0 = DO NOT SEND THE CLEAR ALL QUEUES MACRO COMMAND D 304 D106 .. ELSE = SEND THE CLEAR ALL QUEUES MACRO COMMAND D 305 D107 NCOMCNT_ = RUNNING COUNT OF NUMBER OF COMMANDS SENT TO INSTRUMENT FROM NFCSCOMM AP D 307 D108 NFBUFILL_ = WORD INDICATING IF EACH BUFFER IS PARTIALLY LOADED D 308 D109 .. MAY BE A LOGICAL OR OF THE FOLLOWING VALUES: D 309 D110 .. "000 = NO BUFFER IS PARIALLY LOADED D 310 D111 .. "001 = DETECTOR 1 STORED COMMAND BUFFER IS PARTIALLY LOADED D 311 D112 .. "002 = DETECTOR 2 STORED COMMAND BUFFER IS PARTIALLY LOADED D 312 D113 .. "004 = DETECTOR 3 STORED COMMAND BUFFER IS PARTIALLY LOADED D 313 D114 .. "010 = INSTRUMENT OPS STORED COMMAND BUFFER IS PARTIALLY LOADED D 314 D115 .. "020 = REAL TIME BUFFER IS PARTIALLY LOADED D 315 D116 NFCKSMFL_ = A FLAG TO NOTE CHECKSUM FAILURE, IT MUST BE CLEARED BY THE GROUND D 316 D117 .. 0 = NO CHECKSUM FAILURE D 317 D118 .. 1 = CHECKSUM FAILURE D 318 D119 NFLVMODE_ = INDICATES LAST NICMOS SOFTWARE MODE FOR KEEP ALIVE PROCESSING D 319 D120 .. 0 = BOOT MODE D 320 D121 .. 1 = OPERATE MODE D 321 D122 .. -1 = UNKNOWN STATE D 322 D123 NFTIMEHH_ = HIGH BYTE OF 32 BIT SPACECRAFT TIME FOR NEXT MAJOR FRAME D 323 D124 NFTIMEHI_ = HIGH 16 BITS OF 32 BIT SPACECRAFT TIME FOR NEXT MAJOR FRAME (ONLY D 325 D LOW BYTE WILL BE REPORTED IN TELEMETRY) D D125 NFTIMEML_ = MIDDLE LOW BYTE OF 32 BIT SPACECRAFT TIME FOR NEXT MAJOR FRAME D 326 D126 NFTIMELO_ = LOW 16 BITS OF SPACECRAFT TIME FOR NEXT MAJOR FRAME (ONLY LOW BYTE D 328 D WILL BE REPORTED IN TELEMETRY) D D127 NLMNFRCT_ = THE LAST CONTROL SECTION MINOR FRAME COUNTER D 329 D128 NMACCNTH_ = RUNNING COUNT OF NUMBER OF COMMANDS SENT TO INSTRUMENT FROM NFMACRO D 331 D AP (HIGH BYTE OF COUNT) D D129 NMACCNT_ = RUNNING COUNT OF NUMBER OF COMMANDS SENT TO INSTRUMENT FROM NFMACRO D 333 D AP (ONLY LOW BYTE WILL BE REPORTED IN TELEMETRY) D D130 NMFAIL_ = THE MINOR FRAME COUNTER FAILURE WORD D 334 D131 NSUSTATE_ = SUSPEND STATE (SET AND INTERROGATED BY AP, SET BY THE SUSPEND SEQUENCE, AND D 336 D RESET BY THE GROUND AS PART OF RECOVERY FROM SAFE AND SUSPEND) D D132 .. 0 = NOT SUSPENDED D 337 D133 .. 1 = SUSPENDED D 338 D134 NSWSPARE_(6) = SPARE BYTES REPORTED IN SPECIAL ENGINEERING DATA D 339 D135 ..END OF NM2DAT1 BUFFER D 340 D136 ..*************************************************************************** D 341 D D 342 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 5.003 01 JAN 95 NICMOS COMMON NFWORLD (continued) D D D137 .. D D138 ..A TABLE TO INDICATE THE ACTION ASSOCIATED WITH A PARTICULAR NSSC-I ERROR CONDITION. D 344 D139 .. 0 = POST ESB MESSAGE D 345 D140 .. 1 = POST ESB & SUSPEND D 346 D141 .. 2 = POST ESB & SAFE D 347 D142 .. 3 = DO NOTHING D 348 D143 .. NACTION_(21) = ACTION TABLE D 349 D144 .. D 350 D145 .. ACTION TABLE ITEMS FROM NFMACRO D 351 D146 NBADIMED_[1] = IMMEDIATE COMMAND NOT IN FIRST LOCATION IN A BUFFER D 352 D147 NBADLWD_[1] = LAST WORD IN COMMAND BUFFER IS NOT A MACRO ACTIVATE COMMAND D 353 D148 NIDXMAC_[1] = NSSC-I EXEC REFUSED TO MODIFY THE INDEX TABLE FOR NFMACRO RTCS D 354 D149 NINVDENT_[1] = NFMACRO AP FOUND AN ENTRY IN THE BUFFER AFTER THE ENTRY WHICH MADE THE D 356 D BUFFER COMPLETELY LOADED D D150 NMACRTSE_[1] = NSSC-I EXEC FAILED TO ACTIVATE THE NFMACRO AP RTCS D 357 D151 NMRTSARB_[3] = NFMACRO AP RTCS ALREADY IN USE WHEN READY TO BUILD COMMANDS FROM REAL-TIME D 359 D COMMAND BUFFER D D152 NMRTSASB_[1] = NFMACRO AP RTCS ALREADY IN USE WHEN READY TO BUILD COMMANDS FROM STORED D 361 D COMMAND BUFFER D D153 NMRTSATU_[0] = NFMACRO AP RTCS ALREADY IN USE WHEN READY TO BUILD COMMANDS FOR TIME CODE D 363 D UPDATE D D154 .. D 364 D155 .. ACTION TABLE ITEMS FROM NFCSCOMM D 365 D156 NBADCKSM_[0] = BAD CHECKSUM REPORTED IN SPECIAL ENGINEERING DATA D 366 D157 NBADMOD1_[1] = BAD MODE COUNTER EXCEEDED MAXIMUM WHEN LAST KNOWN MODE WAS OPERATE MODE D 368 D158 NBADMOD2_[2] = BAD MODE COUNTER EXCEEDED MAXIMUM WHEN LAST KNOWN MODE WAS BOOT MODE D 370 D159 NCOMRTSE_[1] = NSSC-I EXEC FAILED TO ACTIVATE THE NFCSCOMM AP RTCS D 371 D160 NDETINVD_[0] = DETECTOR NUMBER WAS NOT 0,1,2 OR 3 D 372 D161 NHWRSOTR_[1] = CONTROL SECTION HARDWARE RESET OUT OF EXPECTED RANGE D 373 D162 NIDXCOMM_[1] = NSSC-I EXEC REFUSED TO MODIFY THE INDEX TABLE FOR NFCSCOMM RTCS D 374 D163 NMFCFLOP_[1] = THE MINOR FRAME COUNTER FAILED IN OPERATE D 375 D164 NMFCFLBT_[2] = THE MINOR FRAME COUNTER FAILED IN BOOT D 376 D165 NSAFREQ_[2] = SAFING REQUESTED BY THE CONTROL SECTION FLIGHT SOFTWARE D 377 D166 NSLWFAIL_[0] = NSSC-I EXEC FAILED TO HONOR A SLEW REQUEST D 378 D167 NSUSREQ_[1] = SUSPEND SEQUENCE REQUESTED BY THE CONTROL SECTION FLIGHT SOFTWARE D 379 D168 NSWRSOTR_[1] = CONTROL SECTION SOFTWARE RESET OUT OF EXPECTED RANGE D 380 D169 ..END OF ACTION TABLE D 381 D170 ..*************************************************************************** D 382 D171 .. D 383 D172 LOW13BTS_["017777"] = MASK TO EXTRACT LOW 13 BITS D 384 D173 NBOTMODE_["0274] = A FIXED NUMBER REPRESENTING BOOT MODE D 385 D174 NCAPNUM_[21] = APPLICATION PROCESSOR NUMBER FOR NFCSCOMM D 386 D175 NFNICMOS_[2] = NUMBER OF THE NICMOS INSTRUMENT D 387 D176 NMAPNUM_[22] = APPLICATION PROCESSOR NUMBER FOR NFMACRO D 388 D177 NOOPCMD_(3) = ["060000,"031024,0] ..THE NSSC-I SOFTWARE NOOP COMMAND WITH A 25 MS TIMETAG D 390 D FOR END OF UNIQUE SEQUENCES D D178 NOPRMODE_["0245] = A FIXED NUMBER REPRESENTING OPERATE MODE D 391 D179 NSAPNUM_[23] = APPLICATION PROCESSOR NUMBER FOR NFSAFING D 392 D180 NSUSEQNM_[8] = NUMBER OF THE NICMOS SUSPEND SEQUENCE D 393 D D 394 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 5.004 01 JAN 95 NICMOS COMMON NFWORLD (continued) D D D181 REPLYMSK_["0377] = MASK TO RESET HIGH BITS FOR SPECIAL ENGINEERING DATA D D D DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 6 01 JAN 95 NICMOS COMMON NFACTION (ESBNUM,ESBPAR,ACTION,APNUM) REF PAGE ***************************************************************************************************** * * * 1 ..SUBROUTINE NAME = NFACTION * 396 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 397 * 3 ..ENGLISH NAME = NICMOS ACTION RESPONSE * 398 * 4 ..LANGUAGE = CFG PDL * 399 * 5 ..PURPOSE = TAKE AN ACTION AS REQUESTED BY THE CALLING ROUTINE. THE ACTIONS ARE POST AN * 403 * EXECUTIVE STATUS BUFFER MESSAGE, POST AN EXECUTIVE STATUS BUFFER MESSAGE AND * * SUSPEND THE NICMOS INSTRUMENT, POST AN EXECUTIVE STATUS BUFFER MESSAGE AND SAFE THE * * NICMOS INSTRUMENT, OR DO NOTHING. * * 6 ..NOTES = NEED TWO COPIES OF THIS SUBROUTINE SINCE BOTH NFCSCOMM AND NFMACRO CAN CALL IT AT * 408 * THE SAME TIME. THE NICMOS SAFING WORD WILL BE SET BY THE EXECUTIVE REQUEST FOR * * SAFING (SAFING_(NFNICMOS_)). IF THE ACTION IS TO SAFE OR SUSPEND AND THE INSTRUMENT * * HAS ALREADY BEEN SAFED OR SUSPENDED THE ACTION WILL ONLY BE TO POST THE ASSOCIATED * * EXECUTIVE STATUS BUFFER MESSAGE. * * 7 ..CALLING SEQUENCE = CALL NFACTION (ESBNUM,ESBPAR,ACTION,APNUM) * 409 * 8 ..GLOBAL INPUTS = LOW13BITS_, NFNICMOS_, NSUSEQNM_, NSUSTATE_, SAFING_ * 410 * 9 ..GLOBAL OUTPUTS = NSUSTATE_ * 411 * 10 ..SUBRS CALLED = ZIRTCC, ZISAFE, ZISTAT * 412 * 11 ..---------------------------------------------------------------------- * 413 * 12 DATA GLOBAL (FORMAL PARAMETERS) * 414 * 13 ACTION_ = THE ACTION TO TAKE * 415 * 14 .. 0 = POST EXECUTIVE STATUS BUFFER MESSAGE * 416 * 15 .. 1 = POST EXECUTIVE STATUS BUFFER MESSAGE AND SUSPEND THE NICMOS INSTRUMENT * 417 * 16 .. 2 = POST EXECUTIVE STATUS BUFFER MESSAGE AND SAFE THE NICMOS INSTRUMENT * 418 * 17 .. 3 = DO NOTHING * 419 * 18 APNUM_ = THE APPLICATION PROCESSOR NUMBER OF THE CALLING ROUTINE * 420 * 19 ESBNUM_ = THE STATUS BUFFER MESSAGE NUMBER TO BE POSTED * 421 * 20 ESBPAR_ = THE STATUS BUFFER PARAMETER TO BE POSTED * 422 * 21 ENDDATA * 423 * 22 DATA LOCAL * 424 * 23 IRET_ = RETURN CODE FROM FLIGHT EXEC SUBROUTINES * 425 * 24 ENDDATA * 426 * 25 ..IF THERE IS SOME ACTION TO TAKE * 427 * 26 IF (ACTION_ .NE. 3) * 428 * 27 ..IF SAFING NOT ALREADY INITIATED FOR NICMOS INSTRUMENT * 429 * 28 IF ( SAFING_(NFNICMOS_) .EQ. 0) * 430 * 29 ..DETERMINE WHAT ACTION TO TAKE * 431 * 30 ..IF THE ACTION IS TO SAFE THE INSTRUMENT * 432 * 31 IF (ACTION_ .EQ. 2 ) * 433 * 32 ..CALL ..REQUEST THAT THE NSSC-I EXECUTIVE SAFE THE NICMOS INSTRUMENT * 434 28 * 33 ZISAFE(NFNICMOS_, APNUM_) ..THIS REQUEST WILL SET SAFING_(NFNICMOS_) * 435 * 34 ..ELSEIF THE ACTION IS TO SUSPEND THE INSTRUMENT * 436 * 35 ELSEIF (ACTION_ .EQ. 1) * 437 * 36 ..IF THE INSTRUMENT IS NOT ALREADY SUSPENDED * 438 * 37 IF (NSUSTATE_ .EQ. 0) * 439 * 38 ..CALL ..REQUEST NSSC-1 FLIGHT EXECUTIVE TO ACTIVATE THE NICMOS SUSPEND * 441 * SEQUENCE * 27 * 39 ZIRTCC(NSUSEQNM_, 1, 0, NFNICMOS_, IRET_, APNUM_) * 442 * 40 ..IF THE NSSC-I EXECUTIVE FAILS TO START THE SUSPEND SEQUENCE * 443 * * 444 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 6.001 01 JAN 95 NICMOS COMMON NFACTION (ESBNUM,ESBPAR,ACTION,APNUM) (continued) * * * 41 IF (IRET_ .NE. 0) * * 42 ..CALL ..REQUEST THAT THE NSSC-I EXECUTIVE SAFE THE NICMOS INSTRUMENT * 445 28 * 43 ZISAFE(NFNICMOS_, APNUM_) * 446 * 44 ..POST ESB MESSAGE INDICATING THAT THE NSSC-I EXECUTIVE FAILED TO START * 448 * THE SUSPEND SEQUENCE * * 45 ..CALL * 449 33 * 46 ZISTAT(NFNICMOS_, 200, 0, IRET_) * 450 * 47 ENDIF * 451 * 48 NSUSTATE_ = 1 ..THE NICMOS IS NOW IN THE SUSPENDED STATE * 452 * 49 ENDIF * 453 * 50 ENDIF * 454 * 51 ENDIF * 455 * 52 ..EXTRACT THE 13 LOW BITS FOR THE ESB MESSAGE NUMBER * 456 * 53 ESBNUM_ = IAND(ESBNUM_, LOW13BTS_) * 457 * 54 ..POST THE STATUS BUFFER MESSAGE * 458 * 55 ..CALL * 459 33 * 56 ZISTAT(NFNICMOS_, ESBNUM_, ESBPAR_, IRET_) * 460 * 57 ENDIF * 461 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 7 01 JAN 95 NICMOS COMMON NFPARITY (RTCSADR) REF PAGE ***************************************************************************************************** * * * 1 ..SUBROUTINE NAME = NFPARITY * 463 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 464 * 3 ..ENGLISH NAME = NICMOS GENERATE PARITY BIT * 465 * 4 ..LANGUAGE = CFG PDL * 466 * 5 ..PURPOSE = GENERATE ODD PARITY FOR ONE 27 BIT COMMAND (LOCATED IN WORDS TWO AND THREE OF * 468 * AN RTCS COMMAND) * * 6 ..NOTES = NONE * 469 * 7 ..CALLING SEQUENCE = CALL NFPARITY (RTCSADR) * 470 * 8 ..GLOBAL INPUTS = NONE * 471 * 9 ..GLOBAL OUTPUTS = NONE * 472 * 10 ..SUBRS CALLED = NONE * 473 * 11 ..---------------------------------------------------------------------- * 474 * 12 DATA GLOBAL (FORMAL PARAMETERS) * 475 * 13 RTCSADR_ = ADDRESS OF A TWO WORD TABLE CONTAINING 27 BIT COMMAND * 476 * 14 ENDDATA * 477 * 15 DATA LOCAL * 478 * 16 NPARBIT_ = PARITY BIT * 479 * 17 ENDDATA * 480 * 18 .. * 481 * 19 ..GENERATE THE PARITY BIT ON THE 27 COMMAND BITS * 482 * 20 ..IF BOTH WORDS HAVE ODD PARITY SET THE PARITY BIT, IF BOTH WORDS HAVE EVEN PARITY SET THE * 485 * PARITY BIT, IF ONE WORD HAS EVEN PARITY AND THE OTHER HAS ODD PARITY DO NOT SET THE * * PARITY BIT. * * 21 IF ( RTCSADR_(1) HAS ODD PARITY) * 486 * 22 IF ( RTCSADR_(2) HAS ODD PARITY) * 487 * 23 NPARBIT_ = 1 * 488 * 24 ELSE ..RTCSADR_(2) HAS EVEN PARITY * 489 * 25 NPARBIT_ = 0 * 490 * 26 ENDIF * 491 * 27 ELSE ..RTCSADR_(1) HAS EVEN PARITY * 492 * 28 IF (RTCSADR_(2) HAS ODD PARITY) * 493 * 29 NPARBIT_ = 0 * 494 * 30 ELSE ..RTCSADR_(2) HAS EVEN PARITY * 495 * 31 NPARBIT_ = 1 * 496 * 32 ENDIF * 497 * 33 ENDIF * 498 * 34 ..MERGE THE PARITY BIT INTO THE WORD THREE OF THE RTCS COMMAND * 499 * 35 RTCSADR_(2) = IOR(RTCSADR_(2), NPARBIT_) * 500 * 36 RETURN * 501 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 8 01 JAN 95 ******************************************* * * * CONTROL SECTION COMMUNICATION PROCESSOR * * * ******************************************* NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) REF PAGE ***************************************************************************************************** * * * 1 ..PROCESSOR NAME = NFCSCOMM ******** APPLICATION PROCESSOR NUMBER 21 ******** * 504 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 505 * 3 ..ENGLISH NAME = CONTROL SECTION COMMUNICATION * 506 * 4 ..LANGUAGE = CFG PDL * 507 * 5 ..PURPOSE = RECEIVE SPECIAL ENGINEERING DATA FROM THE NICMOS INSTRUMENT, RESPOND TO ANY * 512 * REQUESTS EMBEDDED IN THIS SPECIAL ENGINEERING DATA, AND SEND A CONFIRMATION MESSAGE * * BACK TO THE NICMOS INSTRUMENT IF A SLEW REQUEST WAS RECEIVED. RETRIEVE AND FORWARD * * THE HST TAKE DATA FLAG. MONITOR CONTROL SECTION RESETS, CHECKSUM VERIFICATION, AND * * A KEEP-ALIVE MINOR FRAME COUNTER. * * 6 ..NOTES = INITIALIZATION NORMALLY DONE AS PART OF TRANSITION FROM HOLD TO BOOT * 513 * 7 ..CALLING SEQUENCE = SYNCHRONOUS, ONCE EVERY HALF SECOND, WITH INITIALIZATION AT THE * 515 * INITIAL ENABLING FOR EXECUTION. * * 8 ..GLOBAL INPUTS = NBADCKSM_, NBADMDCT_, NBADMOD1_, NBADMOD2_, NBOTMODE_, NCKSMIND_, * 521 * NESBMSGH_, NESBMSGL_, NESBPARH_, NESBPARL_, NFLVMODE_, NFNICMOS_, NFSPEDIN_, * * NFSPEDTA_, NFSWMODE_, NHWRSOTR_, NOPRMODE_, NSAFMSGH_, NSAFMSGL_, NSAFPARH_, * * NSAFPARL_, NSAFREQ_, NSUSMSGH_, NSUSMSGL_, NSUSPARH_, NSUSPARL_, NSUSREQ_, * * NSUSTATE_, NSWRSOTR_ * * 9 ..GLOBAL OUTPUTS = NBADMDCT_, NCOMCNT_, NFCKSMFL_, NFLVMODE_, NMFAIL_, NSWSPED_ * 523 * 10 ..SUBRS CALLED = NFACTION, ZIPITR, ZIREF, ZISEF, ZISPED * 524 * 11 ..--------------------------------------------------------------------------- * 525 * 12 DATA LOCAL * 526 * 13 ..THIS LIST OF LOCAL VARIABLES IS VALID IN ALL SEGMENTS INCLUDED IN NFCSCOMM, * 527 * 14 ..NAMELY NFSLEW, NFALIVE, AND NFCSSEND * 528 * 15 I_ = LOOP VARIABLE * 529 * 16 IRET_ = RETURN CODE FROM FLIGHT EXEC SUBROUTINES * 530 * 17 NBADMDMX_[10] = MAXIMUM NUMBER OF MINOR FRAMES THAT SOFTWARE MODE CAN BE BAD * 531 * 18 NCKSMEFL_[1] = THE NICMOS EVENT FLAG REFLECTING THE RESULT OF THE CHECKSUM TEST * 532 * 19 NESBMSGT_ = EXECUTIVE STATUS BUFFER MESSAGE NUMBER * 533 * 20 NESBOFST_[512] = OFFSET FOR CONTROL SECTION ESB MESSAGE NUMBER * 534 * 21 NESBPARM_ = EXECUTIVE STATUS BUFFER PARAMETER * 535 * 22 NFLMODE_ = INDICATES LAST NICMOS SOFTWARE MODE * 536 * 23 .. 0 = BOOT MODE * 537 * 24 .. 1 = OPERATE MODE * 538 * 25 .. -1 = UNKNOWN STATE * 539 * 26 NHARDMX_[159] = LARGEST VALUE OF KNOWN CONTROL SECTION HARDWARE RESETS * 540 * 27 NHWRESET_(16) = A TABLE INDICATING ACTION TO TAKE FOR EACH HARDWARE RESET WHEN THE * 542 * INSTRUMENT IS NOT SUSPENDED * * 28 .. EACH ENTRY IN NHWRESET_ IS DEFINED BELOW WITH A DEFAULT VALUE IN [] * 543 * 29 .. THE POSSIBLE ACTIONS TO TAKE ARE: * 544 * 30 .. [0] = POST EXECUTIVE STATUS BUFFER MESSAGE * 545 * 31 .. [1] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SUSPEND THE NICMOS INSTRUMENT * 546 * 32 .. [2] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SAFE THE NICMOS INSTRUMENT * 547 * 33 .. [3] = DO NOTHING * 548 * 34 .. THE NUMBERS IN () BELOW ARE THE CONTROL SECTION RESET VALUES AS REPORTED IN SPECIAL * 550 * ENGINEERING DATA * * 35 .. DATA [0] ..UNDEFINED (129) * 551 * 36 .. DATA NRIUDIS_[3] ..RIU DISCRETE RESET (131) * 552 * 37 .. DATA NWTCHDG_[1] ..WATCH DOG TIMER RESET (133) * 553 * * 554 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.001 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * * 38 .. DATA [0] ..UNDEFINED (135) * * 39 .. DATA NMLTBIT_[1] ..EDAC MULTI BIT ERROR RESET (137) * 555 * 40 .. DATA [0] ..UNDEFINED (139) * 556 * 41 .. DATA [0] ..UNDEFINED (141) * 557 * 42 .. DATA [0] ..UNDEFINED (143) * 558 * 43 .. DATA NPWRON1_[3] ..POWER ON RESET (145) * 559 * 44 .. DATA NPWRON2_[3] ..POWER ON RESET (147) * 560 * 45 .. DATA NPWRON3_[3] ..POWER ON RESET (149) * 561 * 46 .. DATA NPWRON4_[3] ..POWER ON RESET (151) * 562 * 47 .. DATA NPWRON5_[3] ..POWER ON RESET (153) * 563 * 48 .. DATA NPWRON6_[3] ..POWER ON RESET (155) * 564 * 49 .. DATA NPWRON7_[3] ..POWER ON RESET (157) * 565 * 50 .. DATA NPWRON8_[3] ..POWER ON RESET (159) * 566 * 51 NHWRSPTR = HARDWARE RESET POINTER * 567 * 52 NHWRSUSP_(16) = A TABLE INDICATING ACTION TO TAKE FOR EACH HARDWARE RESET WHEN THE * 569 * INSTRUMENT IS SUSPENDED * * 53 .. EACH ENTRY IN NHWRSUSP_ IS DEFINED BELOW WITH A DEFAULT VALUE IN [] * 570 * 54 .. THE POSSIBLE ACTIONS TO TAKE ARE: * 571 * 55 .. [0] = POST EXECUTIVE STATUS BUFFER MESSAGE * 572 * 56 .. [1] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SUSPEND THE NICMOS INSTRUMENT * 573 * 57 .. [2] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SAFE THE NICMOS INSTRUMENT * 574 * 58 .. [3] = DO NOTHING * 575 * 59 .. THE NUMBERS IN () BELOW ARE THE CONTROL SECTION RESET VALUES AS REPORTED IN SPECIAL * 577 * ENGINEERING DATA * * 60 .. DATA [0] ..UNDEFINED (129) * 578 * 61 .. DATA NRIUDISS_[3] ..RIU DISCRETE RESET (131) * 579 * 62 .. DATA NWTCHDGS_[2] ..WATCH DOG TIMER RESET (133) * 580 * 63 .. DATA [0] ..UNDEFINED (135) * 581 * 64 .. DATA NMLTBITS_[2] ..EDAC MULTI BIT ERROR RESET (137) * 582 * 65 .. DATA [0] ..UNDEFINED (139) * 583 * 66 .. DATA [0] ..UNDEFINED (141) * 584 * 67 .. DATA [0] ..UNDEFINED (143) * 585 * 68 .. DATA NPWRON1S_[2] ..POWER ON RESET (145) * 586 * 69 .. DATA NPWRON2S_[2] ..POWER ON RESET (147) * 587 * 70 .. DATA NPWRON3S_[2] ..POWER ON RESET (149) * 588 * 71 .. DATA NPWRON4S_[2] ..POWER ON RESET (151) * 589 * 72 .. DATA NPWRON5S_[2] ..POWER ON RESET (153) * 590 * 73 .. DATA NPWRON6S_[2] ..POWER ON RESET (155) * 591 * 74 .. DATA NPWRON7S_[2] ..POWER ON RESET (157) * 592 * 75 .. DATA NPWRON8S_[2] ..POWER ON RESET (159) * 593 * 76 NLRESET_ = LAST CONTROL SECTION RESET VALUE FROM SPECIAL ENGINEERING DATA * 594 * 77 NRSACTN_ = TEMPORARY VARIABLE TO HOLD RESET ACTION * 595 * 78 NRTCWDCT_ = THE NFCSCOMM RELATIVE TIME COMMAND SEQUENCE WORD COUNT * 596 * 79 NSAFMSGT_ = SAFING ESB MESSAGE NUMBER * 597 * 80 NSAFOFST_[512] = OFFSET FOR SAFING ESB MESSAGE NUMBER * 598 * 81 NSAFPARM_ = REASON FOR SAFING USED AS PARAMETER TO ESB MESSAGE * 599 * 82 NSLEWREQ_ = SLEW REQUEST STATUS * 600 * 83 .. 0 = READY TO ACCEPT A SLEW REQUEST * 601 * 84 .. 1 = WAITING FOR SLEW REQUEST CONFIRMATION ACKNOWLEDGMENT * 602 * * 603 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.002 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * * 85 NSLWCONF_ = SLEW CONFIRMATION REQUIRED FLAG * * 86 .. 0 = DO NOT NEED TO SEND SLEW REQUEST CONFIRMATION * 604 * 87 .. 1 = DO NEED TO SEND SLEW REQUEST CONFIRMATION * 605 * 88 NSOFTMX_[34] = NUMBER OF KNOWN CONTROL SECTION SOFTWARE RESETS * 606 * 89 NSUSOFST_[512] = OFFSET FOR SUSPEND ESB MESSAGE NUMBER * 607 * 90 NSUSMSGT_ = SUSPEND ESB MESSAGE NUMBER * 608 * 91 NSUSPARM_ = SUSPEND ESB MESSAGE PARMETER * 609 * 92 NSWRESET_(34) = A TABLE INDICATING ACTION TO TAKE FOR EACH SOFTWARE RESET WHEN THE * 611 * INSTRUMENT IS NOT SUSPENDED. * * 93 .. INTEL EXCEPTIONS ARE NUMBERED 0-31 BY INTEL, 1-32 BY THE FLIGHT SOFTWARE. * 612 * 94 .. EACH ENTRY IN NSWRESET_ IS DEFINED BELOW WITH A DEFAULT VALUE IN [] * 613 * 95 .. THE POSSIBLE ACTIONS TO TAKE ARE: * 614 * 96 .. [0] = POST EXECUTIVE STATUS BUFFER MESSAGE * 615 * 97 .. [1] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SUSPEND THE NICMOS INSTRUMENT * 616 * 98 .. [2] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SAFE THE NICMOS INSTRUMENT * 617 * 99 .. [3] = DO NOTHING * 618 *100 .. DATA NINTL01_[1] ..INTEL EXCEPTION RESET - DIVIDE ERROR * 619 *101 .. DATA NINTL02_[1] ..INTEL EXCEPTION RESET - DEBUG EXCEPTIONS * 620 *102 .. DATA NINTL03_[1] ..INTEL EXCEPTION RESET - NON MASKABLE INTERRUPT * 621 *103 .. DATA NINTL04_[1] ..INTEL EXCEPTION RESET - BREAKPOINT * 622 *104 .. DATA NINTL05_[1] ..INTEL EXCEPTION RESET - OVERFLOW * 623 *105 .. DATA NINTL06_[1] ..INTEL EXCEPTION RESET - BOUNDS CHECK * 624 *106 .. DATA NINTL07_[1] ..INTEL EXCEPTION RESET - INVALID OPCODE * 625 *107 .. DATA NINTL08_[1] ..INTEL EXCEPTION RESET - COPROCESSOR NOT AVAILABLE * 626 *108 .. DATA NINTL09_[1] ..INTEL EXCEPTION RESET - DOUBLE FAULT * 627 *109 .. DATA NINTL10_[1] ..INTEL EXCEPTION RESET - COPROCESSOR SEGMENT OVERRUN * 628 *110 .. DATA NINTL11_[1] ..INTEL EXCEPTION RESET - INVALID TASK STATE SEGMENT * 629 *111 .. DATA NINTL12_[1] ..INTEL EXCEPTION RESET - SEGMENT NOT PRESENT * 630 *112 .. DATA NINTL13_[1] ..INTEL EXCEPTION RESET - STACK FAULT * 631 *113 .. DATA NINTL14_[1] ..INTEL EXCEPTION RESET - GENERAL PROTECTION * 632 *114 .. DATA NINTL15_[1] ..INTEL EXCEPTION RESET - PAGE FAULT * 633 *115 .. DATA NINTL16_[1] ..INTEL EXCEPTION RESET - UNDEFINED BY INTEL * 634 *116 .. DATA NINTL17_[1] ..INTEL EXCEPTION RESET - COPROCESSOR ERROR * 635 *117 .. INTEL EXCEPTIONS 18 - 32 ARE UNDEFINED AND SHOULD NEVER HAPPEN * 636 *118 .. DATA NINTLUD_[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] * 637 *119 .. DATA NMRSCMD_[3] ..MACRO RESET COMMAND ISSUED * 638 *120 .. DATA NRTNFROP_[1] ..RETURN TO BOOT FROM OPERATE * 639 *121 NSWRSUSP_(34) = A TABLE INDICATING ACTION TO TAKE FOR EACH SOFTWARE RESET WHEN THE * 641 * INSTRUMENT IS SUSPENDED * *122 .. INTEL EXCEPTIONS ARE NUMBERED 0-31 BY INTEL, 1-32 BY THE FLIGHT SOFTWARE. * 642 *123 .. EACH ENTRY IN NSWRSUSP_ IS DEFINED BELOW WITH A DEFAULT VALUE IN [] * 643 *124 .. THE POSSIBLE ACTIONS TO TAKE ARE: * 644 *125 .. [0] = POST EXECUTIVE STATUS BUFFER MESSAGE * 645 *126 .. [1] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SUSPEND THE NICMOS INSTRUMENT * 646 *127 .. [2] = POST EXECUTIVE STATUS BUFFER MESSAGE AND SAFE THE NICMOS INSTRUMENT * 647 *128 .. [3] = DO NOTHING * 648 *129 .. DATA NINTL01S_[2] ..INTEL EXCEPTION RESET - DIVIDE ERROR * 649 *130 .. DATA NINTL02S_[2] ..INTEL EXCEPTION RESET - DEBUG EXCEPTIONS * 650 *131 .. DATA NINTL03S_[2] ..INTEL EXCEPTION RESET - NON MASKABLE INTERRUPT * 651 * * 652 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.003 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * *132 .. DATA NINTL04S_[2] ..INTEL EXCEPTION RESET - BREAKPOINT * *133 .. DATA NINTL05S_[2] ..INTEL EXCEPTION RESET - OVERFLOW * 653 *134 .. DATA NINTL06S_[2] ..INTEL EXCEPTION RESET - BOUNDS CHECK * 654 *135 .. DATA NINTL07S_[2] ..INTEL EXCEPTION RESET - INVALID OPCODE * 655 *136 .. DATA NINTL08S_[2] ..INTEL EXCEPTION RESET - COPROCESSOR NOT AVAILABLE * 656 *137 .. DATA NINTL09S_[2] ..INTEL EXCEPTION RESET - DOUBLE FAULT * 657 *138 .. DATA NINTL10S_[2] ..INTEL EXCEPTION RESET - COPROCESSOR SEGMENT OVERRUN * 658 *139 .. DATA NINTL11S_[2] ..INTEL EXCEPTION RESET - INVALID TASK STATE SEGMENT * 659 *140 .. DATA NINTL12S_[2] ..INTEL EXCEPTION RESET - SEGMENT NOT PRESENT * 660 *141 .. DATA NINTL13S_[2] ..INTEL EXCEPTION RESET - STACK FAULT * 661 *142 .. DATA NINTL14S_[2] ..INTEL EXCEPTION RESET - GENERAL PROTECTION * 662 *143 .. DATA NINTL15S_[2] ..INTEL EXCEPTION RESET - PAGE FAULT * 663 *144 .. DATA NINTL16S_[2] ..INTEL EXCEPTION RESET - UNDEFINED BY INTEL * 664 *145 .. DATA NINTL17S_[2] ..INTEL EXCEPTION RESET - COPROCESSOR ERROR * 665 *146 .. INTEL EXCEPTIONS 18 - 32 ARE UNDEFINED AND SHOULD NEVER HAPPEN * 666 *147 .. DATA NINTLUDS_[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] * 667 *148 .. DATA NMRSCMDS_[3] ..MACRO RESET COMMAND ISSUED * 668 *149 .. DATA NRNFROPS_[3] ..RETURN TO BOOT FROM OPERATE * 669 *150 NTDFCUR_ = CURRENT VALUE OF THE HST TAKE DATA FLAG FROM THE SSM PIT * 670 *151 NTDFFWD_ = TAKE DATA FLAG FORWARD FLAG * 671 *152 .. 0 = DO NOT NEED TO SEND TAKE DATA FLAG STATE * 672 *153 .. 1 = DO NEED TO SEND TAKE DATA FLAG STATE * 673 *154 NTDFSAVE_ = SAVED VALUE OF THE HST TAKE DATA FLAG FROM THE SSM PIT * 674 *155 .. 0 = TAKE DATA FLAG IS DOWN * 675 *156 .. 1 = TAKE DATA FLAG IS UP * 676 *157 .. -1 = SET TO INVALID DURING INITIALIZATION * 677 *158 PITWRD2_ = LOCATION TO STORE WORD 2 FROM SSM PIT (WORD CONTAINING TDF) * 678 *159 TDFMASK_[4] = MASK TO EXTRACT TAKE DATA FLAG FROM SSM PIT WORD 2 * 679 *160 ENDDATA * 680 *161 .. * 681 *162 IF INITIALIZATION IS REQUIRED * 682 *163 NLMNFRCT_ = 0 ..RESET LAST MINOR FRAME COUNTER FROM CONTROL SECTION FSW * 683 *164 NSLEWREQ_ = 0 ..RESET READY TO ACCEPT A SLEW REQUEST * 684 *165 NBADMDCT_ = 0 ..RESET BAD MODE COUNT * 685 *166 NMFAIL_ = 0 ..RESET MINOR FRAME COUNTER FAILED COUNT * 686 *167 NCOMCNT_ = 0 ..RESET COUNT OF NUMBER OF HARDWARE COMMANDS SENT TO INSTRUMENT * 687 *168 NTDFSAVE_ = -1 ..SET TAKE DATA FLAG TO INVALID * 688 *169 NFLMODE_ = -1 ..INDICATE NICMOS INSTRUMENT IS IN UNKNOWN STATE * 689 *170 NFLVMODE_ = -1 ..INDICATE NICMOS INSTRUMENT IS IN UNKNOWN STATE * 690 *171 NLRESET_ = -1 ..INDICATE LAST CONTROL SECTION RESET IS UNKNOWN * 691 *172 .. * 692 *173 ..REQUEST NSSC-I EXECUTIVE TO BEGIN COLLECTION OF 35 BYTES OF SPECIAL * 693 *174 ..ENGINEERING DATA EVERY MINOR FRAME * 694 *175 ..NOTE: IT IS OK TO RE-REQUEST WITHOUT STOPPING SPECIAL ENGINEERING DATA * 695 *176 ..CALL ..THE TELEMETRY ADDRESSES ARE DEFINED IN NFWORLD * 696 31 *177 ZISPED(NFNICMOS_, 35, NFSPEDTA_, NFSPEDIN_, 2, IRET_) * 697 *178 ELSE ..INITIALIZATION IS NOT REQUIRED * 698 *179 NSLWCONF_ = 0 ..RESET SLEW REQUEST CONFIRMATION REQUIRED FLAG * 699 *180 NTDFFWD_ = 0 ..RESET TAKE DATA FLAG FORWARD FLAG * 700 * * 701 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.004 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * *181 NRTCWDCT_ = 0 ..RESET NFCSCOMM RELATIVE TIME COMMAND SEQUENCE WORD COUNT * *182 .. * 702 *183 ..RESET HIGH 10 BITS OF ALL SPECIAL ENGINEERING DATA WORDS * 703 *184 ..(HIGH BITS ARE SET BY THE CU/SDF) * 704 *185 DO FOR I_ = 0, 34 * 705 *186 NFSPEDIN_(I_) = IAND(NFSPEDIN_(I_),REPLYMSK_) * 706 *187 ENDDO * 707 *188 .. * 708 *189 ..TEST FOR VALID SPECIAL ENGINEERING DATA * 709 *190 ..IF THE INSTRUMENT IS NOT IN BOOT AND NOT IN OPERATE * 710 *191 IF ( (NFSWMODE_ .NE. NBOTMODE_) .AND. (NFSWMODE_ .NE. NOPRMODE_) ) * 711 *192 NFLMODE_ = -1 ..INDICATE LAST KNOWN MODE IS INVALID * 712 *193 ..INCREMENT BAD MODE COUNTER * 713 *194 NBADMDCT_ = NBADMDCT_ + 1 * 714 *195 ..CHECK BAD MODE COUNTER EXCEEDING MAXIMUM * 715 *196 IF (NBADMDCT_ .GT. NBADMDMX_) * 716 *197 ..IF LAST VALID MODE WAS OPERATE * 717 *198 IF (NFLVMODE_ .EQ. NOPRMODE_) * 718 *199 ..POST ESB MESSAGE AND SUSPEND * 719 6 *200 NFACTION(100, NFSWMODE_, NBADMOD1_, NCAPNUM) * 720 *201 ..RESET BAD MODE COUNTER SO THAT INSTRUMENT CAN ATTEMPT TO TRANSITION FROM * 722 * OPERATE TO BOOT * *202 NBADMDCT_ = 0 * 723 *203 NFLVMODE_ = -1 ..SET TO INVALID TO INDICATE NO VALID LAST MODE * 724 *204 ELSE ..LAST VALID MODE WAS BOOT OR INVALID * 725 *205 ..POST ESB MESSAGE AND SAFE * 726 6 *206 NFACTION(101, NFSWMODE_, NBADMOD2_, NCAPNUM) * 727 *207 ENDIF * 728 *208 ENDIF * 729 *209 ELSE ..INSTRUMENT IS IN BOOT OR OPERATE * 730 *210 ..RESET BAD MODE COUNTER * 731 *211 NBADMDCT_ = 0 * 732 *212 .. * 733 *213 ..VERIFY THAT THE MINOR FRAME COUNTER IS ALIVE AND WELL * 734 *214 .. * 735 *215 ..INCLUDE * 736 10 *216 NFALIVE * 737 *217 .. * 738 *218 ..LOOK FOR EMBEDDED REQUESTS IN THE SPECIAL ENGINEERING DATA * 739 *219 .. * 740 *220 ..CHECK FOR A SAFING REQUEST FROM THE CONTROL SECTION FSW * 741 *221 .. * 742 *222 ..IF THE NICMOS CONTROL SECTION FSW REQUESTED SAFING * 743 *223 IF ((NSAFMSGL_ .NE. 0) .OR. (NSAFMSGH_ .NE. 0)) * 744 *224 ..COPY LOW AND HIGH BITS OF MESSAGE NUMBER TO NSAFMSGT_ * 745 *225 ..AND ADD OFFSET TO ESB MESSAGE ORIGINATING IN CONTROL SECTION * 746 *226 NSAFMSGT_ = IOR(NSAFMSGL_, ISHFT(NSAFMSGH_, 8)) + NSAFOFST_ * 747 *227 ..COPY LOW AND HIGH BITS OF PARAMETER TO NSAFPARM_ * 748 *228 NSAFPARM_ = IOR(NSAFPARL_, ISHFT(NSAFPARH_, 8)) * 749 * * 752 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.005 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * *229 ..POST ESB: THE NICMOS NFCSCOMM PROCESSOR REQUESTED THE ACTIVATION OF THE * * NICMOS SAFING SEQUENCE, BY REQUEST FROM THE NICMOS CONTROL SECTION * * FLIGHT SOFTWARE * *230 ..CALL ..POST ESB AND SAFE THE INSTRUMENT * 753 6 *231 NFACTION(NSAFMSGT_, NSAFPARM_, NSAFREQ_, NCAPNUM) * 754 *232 ENDIF * 755 *233 .. * 756 *234 ..CHECK FOR A SUSPEND REQUEST FROM THE CONTROL SECTION FSW * 757 *235 .. * 758 *236 ..IF THE NICMOS CONTROL SECTION FSW REQUESTED SUSPEND * 759 *237 IF ((NSUSMSGL_ .NE. 0) .OR. (NSUSMSGH_ .NE. 0)) * 760 *238 ..COPY LOW AND HIGH BITS OF MESSAGE NUMBER TO NSUSMSGT_ * 761 *239 ..AND ADD OFFSET TO ESB MESSAGE ORIGINATING IN CONTROL SECTION * 762 *240 NSUSMSGT_ = IOR(NSUSMSGL_, ISHFT(NSUSMSGH_, 8)) + NSUSOFST_ * 763 *241 ..COPY LOW AND HIGH BITS OF PARAMETER TO NSUSPARM_ * 764 *242 NSUSPARM_ = IOR(NSUSPARL_, ISHFT(NSUSPARH_, 8)) * 765 *243 ..POST ESB: THE NICMOS NFCSCOMM PROCESSOR REQUESTED THE ACTIVATION OF THE * 768 * NICMOS SUSPEND SEQUENCE, BY REQUEST FROM THE NICMOS CONTROL SECTION * * FLIGHT SOFTWARE * *244 ..CALL ..POST ESB AND SUSPEND THE INSTRUMENT * 769 6 *245 NFACTION(NSUSMSGT_, NSUSPARM_, NSUSREQ_, NCAPNUM) * 770 *246 ENDIF ..SUSPEND REQUEST IN SPECIAL ED * 771 *247 .. * 772 *248 ..CHECK FOR AN ESB POST REQUEST FROM THE CONTROL SECTION FSW * 773 *249 .. * 774 *250 ..IF THE NICMOS CONTROL SECTION FSW REQUESTED TO POST AN EXECUTIVE STATUS BUFFER * 776 * MESSAGE * *251 IF ((NESBMSGL_ .NE. 0) .OR. (NESBMSGH_ .NE. 0)) * 777 *252 ..COPY LOW AND HIGH BITS OF MESSAGE NUMBER TO NESBMSGT_ * 778 *253 ..AND ADD OFFSET TO ESB MESSAGE ORIGINATING IN CONTROL SECTION * 779 *254 NESBMSGT_ = IOR(NESBMSGL_, ISHFT(NESBMSGH_, 8)) + NESBOFST_ * 780 *255 ..COPY LOW AND HIGH BITS OF PARAMETER TO NESBPARM_ * 781 *256 NESBPARM_ = IOR(NESBPARL_, ISHFT(NESBPARH_, 8)) * 782 *257 ..POST ESB NESBMSGT_ WITH PARAMETER NESBPARM_ BY REQUEST FROM THE NICMOS * 784 * CONTROL SECTION FLIGHT SOFTWARE * *258 ..CALL * 785 6 *259 NFACTION(NESBMSGT_, NESBPARM_, 0, NCAPNUM) * 786 *260 ENDIF ..ESB REQUEST IN SPECIAL ENGINEERING DATA * 787 *261 .. * 788 *262 ..CHECK THE REASON FOR THE MOST RECENT CONTROL SECTION RESET * 789 *263 .. * 790 *264 .. LOOK UP THE ACTION TO TAKE IN ONE OF FOUR TABLES, NHWRSUSP_, NHWRESET_, * 791 *265 .. NSWRSUSP_, OR NSWRESET_. * 792 *266 .. THE ACTION CAN BE * 793 *267 .. 0 = POST AN ESB * 794 *268 .. 1 = POST AN ESB AND SUSPEND THE NICMOS INSTRUMENT * 795 *269 .. 2 = POST AN ESB AND SAFE THE NICMOS INSTRUMENT * 796 *270 .. 3 = DO NOTHING * 797 *271 .. * 798 * * 800 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.006 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * *272 ..IF THE INSTRUMENT IS IN BOOT MODE (CONTROL SECTION RESET SETS NICMOS CONTROL * * SECTION SOFTWARE TO BOOT MODE) * *273 IF (NFSWMODE_ .EQ. NBOTMODE_) * 801 *274 .. THE RESET WILL LATCH, ONLY REPORT A RESET WHEN IT CHANGES * 802 *275 .. IF THERE HAS BEEN A NEW RESET OF THE CONTROL SECTION FLIGHT SOFTWARE * 803 *276 IF ( (NRESET_ .NE. 0) .AND. (NRESET_ .NE. NLRESET_) ) * 804 *277 ..IF THIS WAS A HARDWARE RESET * 805 *278 IF (NRESET_ .GT. 127) * 806 *279 ..IF NRESET_ IS IN RANGE AND AN ODD NUMBER (LSB SET INDICATES HARDWARE * 808 * RESET) * *280 IF ( (NRESET_ .LE. NHARDMX_) .AND. ( IAND(NRESET_, 1) .EQ. 1) ) * 809 *281 ..CALCULATE OFFSET INTO HARDWARE RESET TABLE * 810 *282 ..USE LOW SIX BITS OF NRESET_ SHIFTED ONE BIT TO THE RIGHT * 811 *283 NHWRSPTR_ = ISHFT(IAND(NRESET_, "077),-1) * 812 *284 ..IF THE INSTRUMENT IS SUSPENDED * 813 *285 IF (NSUSTATE_ .EQ. 1) * 814 *286 ..LOOK UP ACTION IN SUSPEND HARDWARE RESET TABLE * 815 *287 NRSACTN_ = NHWRSUSP_(NHWRSPTR_) * 816 *288 ELSE * 817 *289 ..LOOK UP ACTION IN NONSUSPEND HARDWARE RESET TABLE * 818 *290 NRSACTN_ = NHWRESET_(NHWRSPTR_) * 819 *291 ENDIF * 820 *292 ELSE * 821 *293 NRSACTN_ = NHWRSOTR_ ..HARDWARE RESET NUMBER OUT OF RANGE * 822 *294 ENDIF * 823 *295 ELSE ..THIS WAS A SOFTWARE RESET * 824 *296 ..IF NRESET_ IS IN RANGE * 825 *297 IF (NRESET_ .LE. NSOFTMX_) * 826 *298 ..IF THE INSTRUMENT IS SUSPENDED * 827 *299 IF (NSUSTATE_ .EQ. 1) * 828 *300 ..LOOK UP ACTION IN SUSPEND SOFTWARE RESET TABLE * 829 *301 NRSACTN_ = NSWRSUSP_(NRESET_ - 1) * 830 *302 ELSE ..ELSE THE SOFTWARE IS NOT SUSPENDED * 831 *303 ..LOOK UP ACTION IN NONSUSPEND SOFTWARE RESET TABLE * 832 *304 NRSACTN_ = NSWRESET_(NRESET_ - 1) * 833 *305 ENDIF * 834 *306 ELSE * 835 *307 NRSACTN_ = NSWRSOTR_ ..SOFTWARE RESET NUMBER OUT OF RANGE * 836 *308 ENDIF * 837 *309 ENDIF ..HARDWARE/SOFTWARE RESET * 838 *310 ..POST ESB 104 WITH PARAMETER NRESET_, TAKE ACTION AS DETERMINED ABOVE * 839 6 *311 NFACTION(104, NRESET_, NRSACTN_, NCAPNUM) * 840 *312 ENDIF * 841 *313 ENDIF * 842 *314 ..SAVE CURRENT RESET TO LAST RESET FOR NEXT INVOCATION OF AP * 843 *315 NLRESET_ = NRESET_ * 844 *316 .. * 845 *317 ..IF NOT SUSPENDED OR SAFED AND IN OPERATE MODE HANDLE A SLEW REQUEST * 846 *318 IF ((NSUSTATE_ .EQ. 0) .AND. (SAFING_(NFNICMOS_) .EQ. 0) .AND. (NFSWMODE_ .EQ. * 848 * * NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.007 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * * NOPRMODE_)) * *319 ..CHECK FOR A SLEW REQUEST FROM THE CONTROL SECTION FSW * 849 *320 .. * 850 *321 ..INCLUDE * 851 11 *322 NFSLEW * 852 *323 ENDIF * 853 *324 .. * 854 *325 ..CHECK THE CHECKSUM WORD TO MANAGE THE NICMOS EVENT FLAG * 855 *326 .. * 856 *327 ..IF THE CHECKSUM TEST PASSED * 857 *328 IF (NCKSMIND_ .EQ. "49 HEX") * 858 *329 ..SET THE NICMOS EVENT FLAG * 859 *330 ..CALL * 860 29 *331 ZISEF( NFNICMOS_, NCKSMEFL_, IRET_) * 861 *332 ELSE * 862 *333 ..IF THE CHECKSUM TEST FAILED * 863 *334 IF (NCKSMIND_ .NE. 0) * 864 *335 ..RESET THE NICMOS EVENT FLAG * 865 *336 ..CALL * 866 26 *337 ZIREF( NFNICMOS_, NCKSMEFL_, IRET_) * 867 *338 ..POST ESB MESSAGE WITH THE PARAMETER NOTING THE CHECKSUM FAILED VALUE * 868 *339 ..CALL * 869 6 *340 NFACTION(109, NCKSMIND_, NBADCKSM_, NCAPNUM) * 870 *341 ..SET A FLAG TO NOTE CHECKSUM FAILURE, IT MUST BE CLEARED BY THE GROUND * 871 *342 NFCKSMFL_ = 1 * 872 *343 ENDIF * 873 *344 ENDIF * 874 *345 .. * 875 *346 ..IF NOT SUSPENDED OR SAFED HANDLE THE TAKE DATA FLAG * 876 *347 IF ((NSUSTATE_ .EQ. 0) .AND. (SAFING_(NFNICMOS_) .EQ. 0)) * 877 *348 ..HANDLE TAKE DATA FLAG * 878 *349 .. * 879 *350 ..IF THE NICMOS INSTRUMENT IS IN OPERATE MODE * 880 *351 IF (NFSWMODE_ .EQ. NOPRMODE_) * 881 *352 ..GET THE CURRENT VALUE OF THE TDF FROM THE SSM PIT * 882 *353 ..CALL ..READ WORD 2 OF THE MOST RECENT SSM PIT * 883 32 *354 ZIPITR(2, PITWRD2_, IRET_) * 884 *355 NTDFCUR_ = IAND(PITWRD2_, TDFMASK_) ..GET TAKE-DATA FLAG FROM SSM PIT * 885 *356 ..THE TAKE DATA FLAG NEEDS TO BE FORWARDED IF CURRENT TDF VALUE IS * 886 *357 ..DIFFERENT FROM SAVED TDF VALUE OR THE INSTRUMENT JUST SWITCHED FROM * 887 *358 ..BOOT TO OPERATE * 888 *359 IF ((NTDFCUR_ .NE. NTDFSAVE_) .OR. (NFLMODE_ .NE. NOPRMODE_) ) * 889 *360 NTDFSAVE_ = NTDFCUR_ ..COPY CURRENT TDF VALUE TO SAVED TDF VALUE * 890 *361 NTDFFWD_ = 1 ..SET THE TAKE DATA FLAG FORWARD FLAG * 891 *362 ENDIF * 892 *363 ENDIF * 893 *364 ENDIF * 894 *365 .. * 895 *366 ..CREATE AND SEND THE NFCSCOMM RTCS THAT WILL SEND THE SLEW CONFIRMATION * 896 * * 897 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 9.008 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSCOMM (PROCESSOR #21) (continued) * * *367 ..MACRO ACTIVATE COMMAND AND/OR FORWARD THE TAKE DATA FLAG * *368 .. * 898 *369 ..IF THE NICMOS INSTRUMENT IS NOT IN THE SUSPEND STATE OR SAFE STATE * 899 *370 IF ( (NSUSTATE_ .EQ. 0) .AND. (SAFING_(NFNICMOS_) .EQ. 0) ) * 900 *371 ..DETERMINE IF THE NFCSCOMM RTCS IS NECESSARY, THEN CREATE AND SEND IT * 901 *372 ..INCLUDE * 902 12 *373 NFCSSEND * 903 *374 ENDIF ..NOT SUSPENDED OR SAFED * 904 *375 .. * 905 *376 ..NFSWMODE_ IS EITHER BOOT OR OPERATE, BOTH VALID MODES * 906 *377 ..SAVE THE LAST VALID MODE FOR THE NEXT BAD MODE PROCESSING * 907 *378 ..AND THE LAST KNOWN MODE FOR THE NEXT TDF PROCESSING * 908 *379 NFLMODE_ = NFSWMODE_ ..SAVE LAST KNOWN MODE * 909 *380 NFLVMODE_ = NFSWMODE_ ..SAVE LAST VALID MODE * 910 *381 ENDIF ..CHECK SPECIAL ENGINEERING DATA VALID * 911 *382 ENDIF * 912 *383 .. COPY ITEMS INTO NSSC-I MEMORY BUFFER FOR REPORTING IN REGULAR TELEMETRY * 913 *384 .. ONLY REPORT ITEMS FROM SPECIAL ENGINEERING DATA IF THEY ARE NONZERO * 914 *385 IF (NXSLEWLO_ .NE. 0) * 915 *386 NSWSPED_(1) = NXSLEWLO_ * 916 *387 ENDIF * 917 *388 IF (NXSLEWHI_ .NE. 0) * 918 *389 NSWSPED_(2) = NXSLEWHI_ * 919 *390 ENDIF * 920 *391 IF (NYSLEWLO_ .NE. 0) * 921 *392 NSWSPED_(3) = NYSLEWLO_ * 922 *393 ENDIF * 923 *394 IF (NYSLEWHI_ .NE. 0) * 924 *395 NSWSPED_(4) = NYSLEWHI_ * 925 *396 ENDIF * 926 *397 IF (NSLEWDET_ .NE. 0) * 927 *398 NSWSPED_(5) = NSLEWDET_ * 928 *399 ENDIF * 929 *400 ..NOTE: ZERO IS A VALID UPDATE VALUE FOR THE MINOR FRAME * 930 *401 .. NUMBER AND NOT A DEFAULT STATE VALUE. * 931 *402 NSWSPED_(6) = NMINFRCT_ * 932 *403 ..NOTE: ZERO IS NOT THE DEFAULT STATE FOR THE SOFTWARE MODE * 933 *404 NSWSPED_(7) = NFSWMODE_ * 934 *405 IF (NRESET_ .NE. 0) * 935 *406 NSWSPED_(8) = NRESET_ * 936 *407 ENDIF * 937 *408 IF (NCKSMIND_ .NE. 0) * 938 *409 NSWSPED_(9) = NCKSMIND_ * 939 *410 ENDIF * 940 *411 RETURN * 941 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 10 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFALIVE REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = NFALIVE * 943 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 944 * 3 ..ENGLISH NAME = KEEP ALIVE * 945 * 4 ..LANGUAGE = CFG PDL * 946 * 5 ..PURPOSE = VERIFY THAT THE MINOR FRAME COUNTER IS ALIVE AND WELL (MINOR FRAME COUNTER * 948 * SHOULD INCREMENT BY ONE EVERY EXECUTION) * * 6 ..NOTES = AT THE MAJOR FRAME BOUNDARY ONE FAILURE IS EXPECTED * 949 * 7 ..CALLING SEQUENCE = INCLUDE NFALIVE * 950 * 8 ..GLOBAL INPUTS = MINFRMNO_, NFSWMODE_, NMFAIL_, NMFCFLBT_, NMFCFLOP_, NMINFRCT_ * 952 * 9 ..GLOBAL OUTPUTS = NMFAIL_ * 953 * 10 ..SUBRS CALLED = NFACTION * 954 * 11 ..-------------------------------------------------------------------- * 955 * 12 DATA LOCAL * 956 * 13 ..SEE LOCAL DATA LIST IN SEGMENT NFCSCOMM * 957 * 14 NMFAILMX_[10] = THE MAXIMUM NUMBER OF MINOR FRAME COUNTER FAILURES ALLOWED * 958 * 15 NMFCHECK_[1] = A FLAG TO ENABLE/DISABLE MINOR FRAME CHECKING * 959 * 16 .. 0 = MINOR FRAME CHECKING DISABLED * 960 * 17 .. 1 = MINOR FRAME CHECKING ENABLED * 961 * 18 TEMP_ = TEMPORARY VARIABLE * 962 * 19 ENDDATA * 963 * 20 ..VERIFY THAT THE MINOR FRAME COUNTER IS ALIVE AND WELL * 964 * 21 ..IF THE MINOR FRAME COUNTER DID NOT INCREMENT BY ONE * 965 * 22 ..AND MINOR FRAME CHECKING IS ENABLED * 966 * 23 IF (((NMINFRCT_ - NLMNFRCT_) .NE. 1) .AND. (NMFCHECK_ .EQ. 1) ) * 967 * 24 ..INCREMENT THE MINOR FRAME COUNTER FAILURE WORD * 968 * 25 NMFAIL_ = NMFAIL_ + 1 * 969 * 26 ..IF THE NUMBER OF FAILURES EXCEEDS THE MAXIMUM * 970 * 27 IF (NMFAIL_ .GT. NMFAILMX_) * 971 * 28 ..SAVE CONTROL SECTION MINOR FRAME COUNT AND NSSC-I MINOR FRAME COUNT TO USE IN * 973 * EXECUTIVE STATUS BUFFER MESSAGE POST BELOW * * 29 TEMP_ = IOR(NMINFRCT_, ISHFT(MINFRMNO_, 9)) * 974 * 30 ..IF INSTRUMENT IS IN OPERATE MODE * 975 * 31 IF (NFSWMODE_ .EQ. NOPRMODE_) * 976 * 32 ..SUSPEND THE INSTRUMENT * 977 * 33 ..POST ESB 105 WITH PARAMETER INDICATING NSSC-I MINOR FRAME COUNTER AND CONTROL * 979 * SECTION MINOR FRAME COUNTER * * 34 ..CALL * 980 6 * 35 NFACTION(105, TEMP_, NMFCFLOP_, NCAPNUM) * 981 * 36 ..RESET THE MINOR FRAME COUNTER FAILURE WORD SO THAT THE INSTRUMENT * 982 * 37 CAN ATTEMPT TO TRANSITION FROM OPERATE TO BOOT * 983 * 38 NMFAIL_ = 0 * 984 * 39 ELSE ..THE INSTRUMENT IS IN BOOT MODE * 985 * 40 ..SAFE THE INSTRUMENT * 986 * 41 ..POST ESB 106 WITH PARAMETER INDICATING NSSC-I MINOR FRAME COUNTER AND CONTROL * 988 * SECTION MINOR FRAME COUNTER * * 42 ..CALL * 989 6 * 43 NFACTION(106, TEMP_, NMFCFLBT_, NCAPNUM) * 990 * 44 ENDIF * 991 * * 992 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 10.001 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFALIVE (continued) * * * 45 ENDIF * * 46 ELSE * 993 * 47 ..RESET THE MINOR FRAME COUNTER FAILURE WORD * 994 * 48 NMFAIL_ = 0 * 995 * 49 ENDIF * 996 * 50 NLMNFRCT_ = NMINFRCT_ ..SAVE CURRENT MINOR FRAME COUNT FOR NEXT INVOCATION OF THE PROCESSOR * 998 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 11 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFSLEW REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = NFSLEW * 1000 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1001 * 3 ..ENGLISH NAME = SLEW * 1002 * 4 ..LANGUAGE = CFG PDL * 1003 * 5 ..PURPOSE = PROCESS A SLEW REQUEST FROM SPECIAL ENGINEERING DATA * 1004 * 6 ..NOTES = CONTROL SECTION ACKNOWLEDGES SLEW CONFIRMATION BY SETTING NSLEWDET_ TO 0 * 1006 * 7 ..CALLING SEQUENCE = INCLUDE NFSLEW * 1007 * 8 ..GLOBAL INPUTS = NSLEWDET_, NSLWFAIL_, NXSLEWHI_, NXSLEWLO_, NYSLEWHI_, NYSLEWLO_ * 1009 * 9 ..GLOBAL OUTPUTS = NONE * 1010 * 10 ..SUBRS CALLED = NFACTION, ZISLEW * 1011 * 11 ..-------------------------------------------------------------------- * 1012 * 12 DATA LOCAL * 1013 * 13 ..SEE LOCAL DATA LIST IN SEGMENT NFCSCOMM * 1014 * 14 ..THE IDENTITY MATRIX WILL BE USED UNTIL ACTUAL VALUES ARE SUPPLIED BY THE INSTRUMENT TEAM * 1016 * FOR THE FOLLOWING THREE MATRICES. * * 15 NFSLMAT1_(2,2) = MATRIX FOR SLEW FOR DETECTOR NUMBER 1 * 1017 * 16 .. (0 DEG.; SCALE = 2**(-17)) * 1018 * 17 .. (1,1) = "0377777 * 1019 * 18 .. (1,2) = 0 * 1020 * 19 .. (2,1) = 0 * 1021 * 20 .. (2,2) = "0377777 * 1022 * 21 NFSLMAT2_(2,2) = MATRIX FOR SLEW FOR DETECTOR NUMBER 2 * 1023 * 22 .. (0 DEG.; SCALE = 2**(-17)) * 1024 * 23 .. (1,1) = "0377777 * 1025 * 24 .. (1,2) = 0 * 1026 * 25 .. (2,1) = 0 * 1027 * 26 .. (2,2) = "0377777 * 1028 * 27 NFSLMAT3_(2,2) = MATRIX FOR SLEW FOR DETECTOR NUMBER 3 * 1029 * 28 .. (0 DEG.; SCALE = 2**(-17)) * 1030 * 29 .. (1,1) = "0377777 * 1031 * 30 .. (1,2) = 0 * 1032 * 31 .. (2,1) = 0 * 1033 * 32 .. (2,2) = "0377777 * 1034 * 33 NMATXADR_ = ADDRESS OF CURRENT SLEW MATRIX * 1035 * 34 NSLEWVEC_(2) = VECTOR FOR SLEW * 1036 * 35 ENDDATA * 1037 * 36 ..CHECK FOR A SLEW REQUEST FROM THE CONTROL SECTION FLIGHT SOFTWARE * 1038 * 37 ..IF READY TO HANDLE A SLEW REQUEST * 1039 * 38 IF (NSLEWREQ_ .EQ. 0) * 1040 * 39 ..IF THE DETECTOR NUMBER SELECTED FOR THIS SLEW IS INVALID * 1041 * 40 IF ( (NSLEWDET_ .GT. 3) .OR. (NSLEWDET_ .LT. 0) ) * 1042 * 41 ..POST ESB MESSAGE 103 * 1043 6 * 42 NFACTION(103, NSLEWDET_, NDETINVD_, NCAPNUM) * 1044 * 43 ..ELSEIF THE NICMOS CONTROL SECTION FSW REQUESTED A SLEW BY SETTING THE SLEW * 1046 * DETECTOR NUMBER TO A NONZERO VALUE * * 44 ELSEIF (NSLEWDET_ .NE. 0) * 1047 * 45 NSLWCONF_ = 1 ..SET SLEW CONFIRMATION REQUIRED FLAG * 1048 * 46 NSLEWREQ_ = 1 ..SET SLEW REQUEST FLAG * 1049 * * 1050 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 11.001 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFSLEW (continued) * * * 47 ..COPY THE SLEW DATA TO THE SLEW VECTOR * * 48 NSLEWVEC_(1) = IOR(NXSLEWLO_, ISHFT(NXSLEWHI_, 8)) * 1051 * 49 NSLEWVEC_(2) = IOR(NYSLEWLO_, ISHFT(NYSLEWHI_, 8)) * 1052 * 50 ..SELECT THE CORRECT SLEW MATRIX * 1053 * 51 ..IF DETECTOR 1 IS BEING USED * 1054 * 52 IF (NSLEWDET_ .EQ. 1) * 1055 * 53 ..COPY ADDRESS OF SLEW MATRIX 1 TO NMATXADR_ * 1056 * 54 NMATXADR_ = ADDRESS OF NFSLMAT1_ * 1057 * 55 ..ELSEIF DETECTOR 2 IS BEING USED * 1058 * 56 ELSEIF (NSLEWDET_ .EQ. 2) * 1059 * 57 ..COPY ADDRESS OF SLEW MATRIX 2 TO NMATXADR_ * 1060 * 58 NMATXADR_ = ADDRESS OF NFSLMAT2_ * 1061 * 59 ELSE ..DETECTOR 3 IS BEING USED * 1062 * 60 ..COPY ADDRESS OF SLEW MATRIX 3 TO NMATXADR_ * 1063 * 61 NMATXADR_ = ADDRESS OF NFSLMAT3_ * 1064 * 62 ENDIF ..DETECTOR CHECK * 1065 * 63 ..REQUEST COORDINATE TRANSFORM AND SLEW REQUEST * 1066 * 64 ..CALL * 1067 30 * 65 ZISLEW(NSLEWVEC_, NMATXADR_, IRET_) * 1068 * 66 ..CHECK RETURN STATUS FROM EXECUTIVE REQUEST * 1069 * 67 ..IF THE RETURN CODE INDICATES AN ERROR * 1070 * 68 IF (IRET_ .NE. 0) * 1071 * 69 ..POST ESB 102 WITH PARAMETER IRET_: THE NSSC-I EXECUTIVE REFUSED TO HONOR A * 1073 * NICMOS SLEW REQUEST * * 70 ..CALL * 1074 6 * 71 NFACTION(102, IRET_, NSLWFAIL_, NCAPNUM) * 1075 * 72 ENDIF ..RETURN STATUS FROM EXECUTIVE REQUEST * 1076 * 73 ENDIF ..CHECK DETECTOR NUMBER * 1077 * 74 ..ELSEIF PREVIOUS SLEW REQUEST HAS CLEARED * 1078 * 75 ELSEIF (NSLEWDET_ .EQ. 0) * 1079 * 76 NSLEWREQ_ = 0 ..RESET SLEW REQUEST FLAG * 1080 * 77 ENDIF ..READY TO HANDLE A SLEW REQUEST * 1081 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 12 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSSEND REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = NFCSSEND * 1083 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1084 * 3 ..ENGLISH NAME = CREATE AND SEND NFCSCOMM SEQUENCE * 1085 * 4 ..LANGUAGE = CFG PDL * 1086 * 5 ..PURPOSE = CREATE AND SEND NFCSCOMM SEQUENCE * 1087 * 6 ..NOTES = NONE * 1088 * 7 ..CALLING SEQUENCE = INCLUDE NFCSSEND * 1089 * 8 ..GLOBAL INPUTS = NCOMRTSE_, NFNICMOS_, NIDXCOMM_, NOOPCMD_ * 1090 * 9 ..GLOBAL OUTPUTS = NCOMSKEL_ * 1091 * 10 ..SUBRS CALLED = NFACTION, ZIDELT, ZIRTCC * 1092 * 11 ..-------------------------------------------------------------------- * 1093 * 12 DATA LOCAL * 1094 * 13 ..NOTE THE THREE COMMANDS BELOW WOULD NEED TO BE MODIFIED BY THE GROUND FOR * 1095 * 14 ..CROSS STRAPPING PURPOSES * 1096 * 15 NSLEWMAC_(3) = ["040000,"031120,"000433] ..THE SLEW CONFIRMATION MACRO * 1097 * 16 NTDFDMAC_(3) = ["040000,"031120,"000435] ..THE TAKE DATA FLAG DOWN MACRO * 1098 * 17 NTDFUMAC_(3) = ["040000,"031120,"000436] ..THE TAKE DATA FLAG UP MACRO * 1099 * 18 ENDDATA * 1100 * 19 ..IF A SLEW REQUEST CONFIRMATION SHOULD BE SENT * 1101 * 20 IF (NSLWCONF_ .EQ. 1) * 1102 * 21 ..FORMAT A NICMOS SERIAL MAGNITUDE COMMAND CONFIRMING A SLEW REQUEST RECEIVED * 1104 * 22 ..COPY SLEW CONFIRMATION MACRO ACTIVATE COMMAND TO THE NFCSCOMM SKELETON * 1105 * 23 NCOMSKEL_(NRTCWDCT_) = NSLEWMAC_(1) * 1106 * 24 NCOMSKEL_(NRTCWDCT_ + 1) = NSLEWMAC_(2) * 1107 * 25 NCOMSKEL_(NRTCWDCT_ + 2) = NSLEWMAC_(3) * 1108 * 26 ..INCREASE THE RTCS WORD COUNT TO ACCOUNT FOR A 27 BIT COMMAND * 1109 * 27 NRTCWDCT_ = NRTCWDCT_ + 3 * 1110 * 28 ENDIF ..SLEW CONFIRMATION * 1111 * 29 ..IF THE TAKE DATA FLAG NEEDS TO BE FORWARDED * 1112 * 30 IF (NTDFFWD_ .EQ. 1) * 1113 * 31 ..FORMAT A NICMOS SERIAL MAGNITUDE COMMAND CONTAINING THE VALUE OF THE HST TAKE DATA * 1115 * FLAG * * 32 ..IF THE TAKE DATA FLAG IS DOWN * 1116 * 33 IF (NTDFCUR_ .EQ. 0) * 1117 * 34 ..COPY TAKE DATA FLAG DOWN MACRO ACTIVATE COMMAND TO THE NFCSCOMM SKELETON * 1118 * 35 NCOMSKEL_(NRTCWDCT_) = NTDFDMAC_(1) * 1119 * 36 NCOMSKEL_(NRTCWDCT_ + 1) = NTDFDMAC_(2) * 1120 * 37 NCOMSKEL_(NRTCWDCT_ + 2) = NTDFDMAC_(3) * 1121 * 38 ELSE ..THE TAKE DATA FLAG IS UP * 1122 * 39 ..COPY TAKE DATA FLAG UP MACRO ACTIVATE COMMAND TO THE NFCSCOMM SKELETON * 1123 * 40 NCOMSKEL_(NRTCWDCT_) = NTDFUMAC_(1) * 1124 * 41 NCOMSKEL_(NRTCWDCT_ + 1) = NTDFUMAC_(2) * 1125 * 42 NCOMSKEL_(NRTCWDCT_ + 2) = NTDFUMAC_(3) * 1126 * 43 ENDIF * 1127 * 44 ..INCREASE THE RTCS WORD COUNT TO ACCOUNT FOR A 27 BIT COMMAND * 1128 * 45 NRTCWDCT_ = NRTCWDCT_ + 3 * 1129 * 46 ENDIF ..TDF FORWARD * 1130 * 47 ..IF THE NFCSCOMM SEQUENCE NEEDS TO BE ACTIVATED * 1131 * * 1132 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 12.001 01 JAN 95 CONTROL SECTION COMMUNICATION PROCESSOR NFCSSEND (continued) * * * 48 IF (NRTCWDCT_ .NE. 0) * * 49 ..COPY SOFTWARE NOOP COMMAND WITH A 25 MSEC TIMETAG TO THE NFCSCOMM SKELETON * 1133 * 50 NCOMSKEL_(NRTCWDCT_) = NOOPCMD_(1) * 1134 * 51 NCOMSKEL_(NRTCWDCT_ + 1) = NOOPCMD_(2) * 1135 * 52 NCOMSKEL_(NRTCWDCT_ + 2) = NOOPCMD_(3) * 1136 * 53 ..UPDATE RUNNING COUNT OF TOTAL NUMBER OF COMMANDS SENT FROM THE NFCSCOMM AP TO THE * 1138 * INSTRUMENT (OVERFLOW REGISTER WILL NEED TO BE RESET) * * 54 NCOMCNT_ = MOD( (NCOMCNT_ + NRTCWDCT_/3), 2**18) * 1139 * 55 ..INCREASE THE RTCS WORD COUNT TO ACCOUNT FOR A 27 BIT COMMAND * 1140 * 56 NRTCWDCT_ = NRTCWDCT_ + 3 * 1141 * 57 ..PUT LENGTH OF NICMOS NFCSCOMM SKELETON INTO INDEX TABLE * 1142 * 58 ..CALL ..RELATIVE TIME COMMAND INDEX MAINTENANCE * 1143 24 * 59 ZIDELT(1, NFNICMOS_, NRTCWDCT_, 3, NCAPNUM, IRET_) * 1144 * 60 ..IF THE RETURN CODE INDICATES AN ERROR * 1145 * 61 IF (IRET_ .NE. 0) * 1146 * 62 ..POST ESB 107 WITH PARAMETER IRET_: THE RETURN CODE FROM THE NSSC-I EXECUTIVE * 1150 * SERVICE TO MODIFY THE INDEX TABLE ENTRY FOR THE NICMOS-UNIQUE NFCSCOMM * * SEQUENCE DOES NOT INDICATE SUCCESS * * 63 ..CALL ..POST ESB AND SUSPEND THE INSTRUMENT * 1151 6 * 64 NFACTION(107, IRET_, NIDXCOMM_, NCAPNUM) * 1152 * 65 ELSE * 1153 * 66 ..ACTIVATE NICMOS NFCSCOMM SEQUENCE * 1154 * 67 ..CALL * 1155 27 * 68 ZIRTCC(1, 1, NFNICMOS_, NFNICMOS_, IRET_, NCAPNUM) * 1156 * 69 ..IF THE RETURN CODE INDICATES AN ERROR * 1157 * 70 IF (IRET_ .NE. 0) * 1158 * 71 ..POST ESB 108 WITH PARAMETER IRET_: THE RETURN CODE FROM THE NSSC-I EXECUTIVE * 1161 * SERVICE TO ACTIVATE THE THE NICMOS-UNIQUE NFCSCOMM SEQUENCE DOES NOT * * INDICATE SUCCESS * * 72 ..CALL ..POST ESB AND SUSPEND THE INSTRUMENT * 1162 6 * 73 NFACTION(108, IRET_, NCOMRTSE_, NCAPNUM) * 1163 * 74 ENDIF * 1164 * 75 ENDIF * 1165 * 76 ENDIF ..ACTIVATE SEQUENCE * 1166 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 13 01 JAN 95 *************************** * * * MACRO COMMAND PROCESSOR * * * *************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 14 01 JAN 95 MACRO COMMAND PROCESSOR NFMACRO (PROCESSOR #22) REF PAGE ***************************************************************************************************** * * * 1 ..PROCESSOR NAME = NFMACRO ******** APPLICATION PROCESSOR NUMBER 22 ******** * 1169 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1170 * 3 ..ENGLISH NAME = MACRO COMMAND PROCESSOR * 1171 * 4 ..LANGUAGE = CFG PDL * 1172 * 5 ..PURPOSE = BUILD AND FORWARD MACRO COMMANDS TO NICMOS INSTRUMENT * 1173 * 6 ..NOTES = COMPLETELY LOADED IMPLIES THAT AN IMMEDIATE MACRO ACTIVATE COMMAND WAS FOUND OR A * 1176 * NORMAL MACRO ACTIVATE WAS FOUND PRECEDED BY 0 TO 47 DATA LOAD COMMANDS. * * 7 ..CALLING SEQUENCE = SYNCHRONOUS, ONCE EVERY SECOND AS SOON AFTER THE COMPLETION OF * 1179 * EXECUTIVE ABSOLUTE TIME COMMAND PROCESSING AS IS FEASIBLE, WITH INITIALIZATION AT * * THE INITIAL ENABLING FOR EXECUTION. * * 8 ..GLOBAL INPUTS = INDXROW_, IXTABLE_, NBOTMODE_, NFNICMOS_, NFSWMODE_, NIDXMAC_, NMACCNT_, * 1182 * NMACRTSE_, NMAPNUM_, NMRTSARB_, NMRTSASB_, NOOPCMD_, NOPRMODE_, NSUSTATE_,SI2USEQT_ * * 9 ..GLOBAL OUTPUTS = NCLRQFLG_, NFBUFILL_, NMACCNTH_, NMACCNT_, NMACSKEL_ * 1183 * 10 ..SUBRS CALLED = NFACTION, ZIDELT, ZIRTCC * 1184 * 11 ..--------------------------------------------------------------------------- * 1185 * 12 DATA LOCAL * 1186 * 13 HIBACNST_["0340000] = INHIBIT, ACTIVE, AND NESTED BITS IN STATUS WORD OF INDEX TABLE * 1188 * 14 ALLBUFWD_[240] = 5 BUFFERS * 48 WORDS PER BUFFER * 1189 * 15 I_ = TEMPORARY LOOP COUNTER * 1190 * 16 IRET_ = RETURN CODE FROM FLIGHT EXEC SUBROUTINES * 1191 * 17 NBUFFER_ = THE NUMBER OF THE CURRENT BUFFER * 1192 * 18 .. 0 = STORED COMMAND BUFFER FOR DETECTOR 1 MACRO CMDS * 1193 * 19 .. 1 = STORED COMMAND BUFFER FOR DETECTOR 2 MACRO CMDS * 1194 * 20 .. 2 = STORED COMMAND BUFFER FOR DETECTOR 3 MACRO CMDS * 1195 * 21 .. 3 = STORED COMMAND BUFFER FOR INSTRUMENT OPS MACRO CMDS * 1196 * 22 .. 4 = REAL TIME COMMAND BUFFER * 1197 * 23 NBUFWORD_ = LOOP COUNTER TO GO THROUGH EACH WORD IN A BUFFER * 1198 * 24 ..SET BY SUBROUTINE NFLOADED * 1199 * 25 ..USED BY SUBROUTINE NFUNLOAD * 1200 * 26 NCLRBOOT_["020024] ..THIRD WORD OF NCLRCMD AS A BOOT MACRO * 1201 * 27 NCLRCMD_(3) = ["040000,"031120,0] ..NICMOS CLEAR ALL QUEUES COMMAND * 1202 * 28 NCLROPER_["000025] ..THIRD WORD OF NCLRCMD AS AN OPERATE MACRO * 1203 * 29 NCMDCNT_ = COMMAND COUNTER USED TO DETERMINE WHICH TIME TAG TO USE (0 OR 25 MS) * 1204 * 30 NFTCUFLG_ = FLAG TO INDICATE IF TIME CODE UPDATE SEQUENCE SHOULD BE BUILT * 1205 * 31 NFTTAG25_["031000] = 25 MS TIME TAG STARTING AT BIT 10 (LSB 1) * 1206 * 32 ..THE FOLLOWING FIVE BUFFERS MUST BE STORED CONTIGUOUSLY IN MEMORY * 1207 * 33 NINPBUF_(5,48) = ARRAY OF ALL INPUT BUFFERS FOR COMMANDS * 1208 * 34 .. DATA NDETBUF1_(48) = STORED COMMAND INPUT BUFFER FOR DETECTOR 1 MACRO CMDS * 1209 * 35 .. DATA NDETBUF2_(48) = STORED COMMAND INPUT BUFFER FOR DETECTOR 2 MACRO CMDS * 1210 * 36 .. DATA NDETBUF3_(48) = STORED COMMAND INPUT BUFFER FOR DETECTOR 3 MACRO CMDS * 1211 * 37 .. DATA NNICBUF_(48) = STORED COMMAND INPUT BUFFER FOR INSTRUMENT OPS MACRO CMDS * 1212 * 38 .. DATA NREALBUF_(48) = REAL-TIME COMMAND INPUT BUFFER * 1213 * 39 NLBUFWRD_[48] = LAST BUFFER WORD NUMBER * 1214 * 40 NLINENUM_ = LINE NUMBER FOR COMMANDS * 1215 * 41 NLODFLAG_ = FLAG INDICATING IF CURRENT BUFFER IS COMPLETELY LOADED * 1216 * 42 NMSWOFST_ = NICMOS NFMACRO SKELETON STATUS WORD OFFSET * 1217 * 43 ..NEED THE MACRO NUMBER FOR THE TIME CODE UPDATE * 1218 * 44 NNEPMSK_["0600000] = MASK FOR INDICATING NO ENTRY PRESENT * 1219 * * 1220 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 14.001 01 JAN 95 MACRO COMMAND PROCESSOR NFMACRO (PROCESSOR #22) (continued) * * * 45 NRIUNUM_["0120] = RIU NUMBER IS 24 OCTAL SHIFTED LEFT 2 BITS * * 46 NSEQPT_ = POINTER INTO THE NFMACRO SKELETON * 1221 * 47 NTIMEMAC_["010034] = TIME CODE UPDATE MACRO ACTIVATE COMMAND (16 DATA BITS OF THE COMMAND) * 1223 * ASSUMING THIS IS AN OPERATE MACRO ONLY. * * 48 NUMCMDBF_[4] = NUMBER OF STORED COMMAND INPUT BUFFERS * 1224 * 49 RTCSLEN_[438] = MAXIMUM LENGTH OF THE NFMACRO RTCS BUFFER * 1225 * 50 ENDDATA * 1226 * 51 .. * 1227 * 52 IF INITIALIZATION IS REQUIRED * 1228 * 53 NFBUFILL_ = 0 ..RESET PARTIALLY FILLED BUFFER FLAGS * 1229 * 54 ..SET ALL WORDS IN ALL COMMAND INPUT BUFFERS TO INDICATE NO ENTRY IS PRESENT * 1230 * 55 DO FOR I_ = 0, ALLBUFWD_ - 1 * 1231 * 56 NINPBUF_(I_) = NNEPMSK_ * 1232 * 57 ENDDO * 1233 * 58 ..SET THE NICMOS CLEAR ALL QUEUES FLAG * 1234 * 59 ..SO THAT THE FIRST NFMACRO RTCS SINCE INITIALIZATION WILL SEND * 1235 * 60 ..THE NICMOS CLEAR ALL QUEUES MACRO * 1236 * 61 NCLRQFLG_ = 1 * 1237 * 62 ..COMPUTE POINTER TO INDEX TABLE ENTRY FOR NFMACRO AP RTCS * 1238 * 63 ..CONVERT UNIQUE SEQUENCE NUMBER TO COMMON POOL * 1239 * 64 ..SUBTRACT ONE FROM THE SEQUENCE NUMBER * 1240 * 65 ..MULTIPLY BY SIZE OF INDEX TABLE ENTRY * 1241 * 66 ..ADD OFFSET FROM BEGINNING OF ENTRY TO STATUS WORD * 1242 * 67 NMSWOFST_ = ((SI2USEQT_(2) - 1) * INDXROW_) + 4 * 1243 * 68 ELSE ..INITIALIZATION IS NOT REQUIRED * 1244 * 69 ..RESET THE HIGH TEN BITS OF THE SPECIAL ENGINEERING DATA ITEM * 1245 * 70 NFSWMODE_ = IAND(NFSWMODE_, REPLYMSK_) * 1246 * 71 ..IF THE CONTROL SECTION SOFTWARE IS IN BOOT OR OPERATE MODE * 1247 * 72 IF ( (NFSWMODE_ .EQ. NOPRMODE_) .OR. (NFSWMODE_ .EQ. NBOTMODE_) ) * 1248 * 73 NSEQPT_ = 0 ..SET SEQUENCE POINTER TO BEGINNING OF SEQUENCE * 1249 * 74 .. * 1250 * 75 .. HANDLE A TIME CODE UPDATE REQUEST FROM THE GROUND * 1251 * 76 .. * 1252 * 77 ..THE SCIENCE INSTITUTE MUST SCHEDULE A TIME CODE UPDATE REQUEST AT LEAST * 1253 * 78 ..10 MINOR FRAMES BEFORE THE NEXT MAJOR FRAME AND MUTUALLY EXCLUSIVE * 1254 * 79 ..TO ANY STORED COMMAND BUFFER ACTIVITY. * 1255 * 80 ..IF THERE IS A TIME CODE UPDATE REQUEST * 1256 * 81 IF (NFTCUFLG_ .NE. 0) * 1257 * 82 ..INCLUDE * 1258 15 * 83 NFTIMECU * 1259 * 84 ELSE ..THERE IS NO TIME CODE UPDATE REQUEST * 1260 * 85 ..PROCESS THE COMMAND INPUT BUFFERS * 1261 * 86 NCMDCNT_ = 0 ..SET COMMAND COUNTER TO 0 SO FIRST COMMAND WILL HAVE 25 MS TIME * 1263 * TAG * * 87 NBUFFER_ = 0 ..START WITH THE FIRST STORED COMMAND BUFFER * 1264 * 88 ..POLL EACH OF THE STORED COMMAND INPUT BUFFERS * 1265 * 89 ..PROCESS THE INSTRUMENT OPS SPECIFIC COMMANDS IF THERE IS ROOM IN THE NFMACRO * 1268 * RTCS. BY GROUND USAGE EXPECT THAT THIS BUFFER MAY BE HELD OFF FOR ONE * * SECOND AT THE MOST. * * * 1271 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 14.002 01 JAN 95 MACRO COMMAND PROCESSOR NFMACRO (PROCESSOR #22) (continued) * * * 90 ..WHILE THERE IS ANOTHER BUFFER TO PROCESS AND SUFFICIENT ROOM TO PROCESS THIS * * BUFFER (NSEQPT_ .LT. (TOTAL RTCS SEQUENCE LENGTH - (49 COMMANDS * 3 * * WORDS EACH)) (49 COMMANDS = 48 COMMANDS FROM THE BUFFER PLUS 1 NOOP * * COMMAND) * * 91 DO WHILE ((NBUFFER_ .LT. NUMCMDBF_) .AND. (NSEQPT_ .LT. (RTCSLEN_ - (49*3))) ) * 1273 * 92 NLODFLAG_ = 0 ..RESET LOAD FLAG TO INDICATE BUFFER NOT COMPLETELY LOADED * 1274 * 93 ..CHECK TO SEE IF THE CURRENT STORED COMMAND BUFFER IS COMPLETELY LOADED * 1275 * 94 ..CALL * 1276 16 * 95 NFLOADED(NBUFFER_) * 1277 * 96 ..IF LOADING IS COMPLETE FOR CURRENT STORED COMMAND BUFFER * 1278 * 97 IF (NLODFLAG_ .EQ. 1) * 1279 * 98 ..CHECK IF THE NICMOS NFMACRO RTCS IS ACTIVE, NESTED OR INHIBITED * 1280 * 99 ..IF THE NICMOS UNIQUE NFMACRO AP RTCS IS IN USE * 1281 *100 IF ( IAND(IXTABLE_(NMSWOFST_), HIBACNST_) .NE. 0) * 1282 *101 ..POST ESB MESSAGE 304 AND SUSPEND: THE COMMANDS IN THE CURRENT * 1284 * BUFFER WILL NOT BE ISSUED * *102 ..CALL * 1285 6 *103 NFACTION(304, 0, NMRTSASB_, NMAPNUM_) * 1286 *104 ELSE * 1287 *105 ..UNLOAD THE CURRENT STORED COMMAND BUFFER * 1288 *106 ..CALL * 1289 17 *107 NFUNLOAD(NBUFFER_) * 1290 *108 ENDIF ..BUFFER LOADED * 1291 *109 ENDIF * 1292 *110 ..POINT TO THE NEXT BUFFER * 1293 *111 NBUFFER_ = NBUFFER_ + 1 * 1294 *112 ENDDO * 1295 *113 ..IF IT IS OK TO SEND COMMANDS FROM THE REAL-TIME BUFFER (NONE OF THE STORED * 1297 * COMMAND BUFFERS WERE COMPLETELY LOADED) * *114 IF (NSEQPT_ .EQ. 0) * 1298 *115 ..PROCESS THE REAL-TIME COMMAND BUFFER * 1299 *116 ..CALL * 1300 16 *117 NFLOADED(NBUFFER_) * 1301 *118 ..IF LOADING IS COMPLETE FOR REAL-TIME COMMAND BUFFER * 1302 *119 IF (NLODFLAG_ .EQ. 1) * 1303 *120 ..ONLY PROCESS THE REAL-TIME BUFFER IF THE NFMACRO RTCS IS NOT IN USE * 1304 *121 ..IF THE NICMOS UNIQUE NFMACRO AP RTCS IS NOT IN USE * 1305 *122 IF ( IAND(IXTABLE_(NMSWOFST_), HIBACNST_) .EQ. 0) * 1306 *123 ..UNLOAD REAL-TIME COMMAND BUFFER * 1307 *124 ..CALL * 1308 17 *125 NFUNLOAD(NBUFFER_) * 1309 *126 ELSE ..THE NFMACRO RTCS WAS NOT AVAILABLE * 1310 *127 ..THE CURRENT CHOICE FOR AN ACTION IS DO NOTHING * 1311 *128 ..CALL * 1312 6 *129 NFACTION(306, 0, NMRTSARB_, NMAPNUM_) * 1313 *130 ENDIF ..REAL-TIME COMMAND BUFFER LOADED * 1314 *131 ENDIF * 1315 *132 ENDIF * 1316 *133 ENDIF * 1317 * * 1318 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 14.003 01 JAN 95 MACRO COMMAND PROCESSOR NFMACRO (PROCESSOR #22) (continued) * * *134 ..IF THE NFMACRO RTCS HAS COMMANDS TO GO OUT AND SOFTWARE IS NOT SUSPENDED * *135 IF ( (NSEQPT_ .GT. 0) .AND. (NSUSTATE_ .EQ. 0) ) * 1319 *136 ..COPY NOOP COMMAND WITH A 25 MILLISECOND TIME TAG TO SEQUENCE * 1320 *137 NMACSKEL_(NSEQPT_) = NOOPCMD_(1) * 1321 *138 NMACSKEL_(NSEQPT_ + 1) = NOOPCMD_(2) * 1322 *139 NMACSKEL_(NSEQPT_ + 2) = NOOPCMD_(3) * 1323 *140 ..UPDATE RUNNING COUNT OF TOTAL NUMBER OF COMMANDS SENT FROM THE NFMACRO AP TO * 1325 * THE INSTRUMENT (OVERFLOW REGISTER WILL NEED TO BE RESET) * *141 NMACCNT_ = MOD( (NMACCNT_ + NSEQPT_/3), 2**18) * 1326 *142 ..COPY HIGH BYTE INTO NSSC-I MEMORY BUFFER FOR REPORTING IN REGULAR TELEMETRY * 1328 * (LOW BYTE WILL BE THERE BY DEFAULT) * *143 NMACCNTH_ = ISHFT(NMACCNT_,-8) ..COPY HIGH BYTE OF NFMACRO COMMAND COUNTER * 1330 *144 ..INCREASE THE SEQUENCE POINTER BY THE NUMBER OF WORDS FOR 1 NOOP COMMAND * 1331 *145 NSEQPT_ = NSEQPT_ + 3 * 1332 *146 .. PUT LENGTH OF NICMOS NFMACRO SEQUENCE INTO INDEX TABLE * 1333 *147 ..CALL ..RELATIVE TIME COMMAND INDEX MAINTENANCE * 1334 24 *148 ZIDELT(2, NFNICMOS_, NSEQPT_, 3, NMAPNUM_, IRET_) * 1335 *149 ..IF THE RETURN CODE INDICATES AN ERROR * 1336 *150 IF (IRET_ .NE. 0) * 1337 *151 ..POST ESB 302 WITH PARAMETER IRET_: THE RETURN CODE FROM THE NSSC-I * 1341 * EXECUTIVE SERVICE TO MODIFY THE INDEX TABLE ENTRY FOR THE * * NICMOS-UNIQUE NFMACRO SEQUENCE DOES NOT INDICATE SUCCESS * *152 ..CALL ..POST ESB AND SUSPEND THE INSTRUMENT * 1342 6 *153 NFACTION(302, IRET_, NIDXMAC_, NMAPNUM_) * 1343 *154 ELSE * 1344 *155 ..ACTIVATE NICMOS NFMACRO SEQUENCE * 1345 *156 ..CALL * 1346 27 *157 ZIRTCC(2, 1, NFNICMOS_, NFNICMOS_, IRET_, NMAPNUM_) * 1347 *158 ..IF THE RETURN CODE INDICATES AN ERROR * 1348 *159 IF (IRET_ .NE. 0) * 1349 *160 ..POST ESB 303 WITH PARAMETER IRET_: THE RETURN CODE FROM THE NSSC-I * 1352 * EXECUTIVE SERVICE TO ACTIVATE THE NICMOS-UNIQUE NFMACRO * * SEQUENCE DOES NOT INDICATE SUCCESS * *161 ..REQUEST SUSPEND SEQUENCE EXECUTION * 1353 *162 ..CALL ..REQUEST NSSC-1 FLIGHT EXECUTIVE TO ACTIVATE THE NICMOS SUSPEND * 1355 * SEQUENCE * 6 *163 NFACTION(303, IRET_, NMACRTSE_, NMAPNUM_) * 1356 *164 ENDIF * 1357 *165 ENDIF * 1358 *166 ENDIF * 1359 *167 ENDIF ..BOOT OR OPERATE MODE * 1360 *168 ENDIF * 1361 *169 RETURN * 1362 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 15 01 JAN 95 MACRO COMMAND PROCESSOR NFTIMECU REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = NFTIMECU * 1364 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1365 * 3 ..ENGLISH NAME = TIME CODE UPDATE * 1366 * 4 ..LANGUAGE = CFG PDL * 1367 * 5 ..PURPOSE = CREATE THE TIME CODE UPDATE COMMANDS FOR THE NFMACRO RTCS * 1368 * 6 ..NOTES = THE TIME CODE UPDATE MACRO COMMAND IS A NORMAL MACRO ACTIVATE COMMAND WITH TWO * 1375 * PARAMETERS. THE 1ST PARAMETER IS THE HIGH 16 BITS OF THE SPACECRAFT CLOCK AND THE * * 2ND PARAMETER IS THE LOW 16 BITS OF THE SPACECRAFT CLOCK. EACH PARAMETER IS A DATA * * LOAD COMMAND. THE RTCS IS CONSTRUCTED BY FIRST SENDING THE TWO DATA LOAD COMMANDS * * FOLLOWED BY THE NORMAL MACRO ACTIVATE COMMAND FOR THE TIME CODE UPDATE MACRO, EACH * * COMMAND WILL HAVE A 25 MS TIME TAG. * * 7 ..CALLING SEQUENCE = INCLUDE NFTIMECU * 1376 * 8 ..GLOBAL INPUTS = HIBACNST_, NFTIMEHI_, NFTIMELO_, NFTIMEHH_, NFTIMEML_, NLINETAB_, * 1379 * NMACSKEL_, NMRTSATU_, SI2USEQT_, SSMTIMEL_, SSMTIMEH_ * * 9 ..GLOBAL OUTPUTS = NMACSKEL_ * 1380 * 10 ..SUBRS CALLED = NONE * 1381 * 11 ..-------------------------------------------------------------------- * 1382 * 12 ..IF THE NICMOS UNIQUE NFMACRO AP RTCS IS NOT IN USE * 1383 * 13 IF ( IAND(IXTABLE_(NMSWOFST_), HIBACNST_) .EQ. 0) * 1384 * 14 ..CLEAR TIME CODE UPDATE REQUEST * 1385 * 15 NFTCUFLG_ = 0 * 1386 * 16 ..ALWAYS SEND THE NICMOS CLEAR ALL QUEUES MACRO BEFORE THE * 1387 * 17 ..TIME CODE UPDATE MACRO * 1388 * 18 ..MAKE THE THIRD WORD OF THE CLEAR ALL QUEUES MACRO AN OPERATE MACRO * 1389 * 19 NCLRCMD_(3) = NCLROPER_ * 1390 * 20 ..WRITE THE NICMOS CLEAR ALL QUEUES SERIAL MAGNITUDE COMMAND WITH A 25 MS TIMETAG INTO * 1393 * THE FIRST LOCATION IN THE NICMOS-UNIQUE NFMACRO AP RTCS. * * 21 NMACSKEL_(NSEQPT_) = NCLRCMD_(1) * 1394 * 22 NMACSKEL_(NSEQPT_ + 1) = NCLRCMD_(2) * 1395 * 23 NMACSKEL_(NSEQPT_ + 2) = NCLRCMD_(3) * 1396 * 24 ..INCREASE THE SEQUENCE POINTER BY THE NUMBER OF WORDS FOR 1 COMMAND * 1397 * 25 NSEQPT_ = NSEQPT_ + 3 * 1398 * 26 ..PROCESS A TIME CODE UPDATE REQUEST FROM THE GROUND * 1399 * 27 ..COMPUTE SPACECRAFT TIME AT START OF NEXT MAJOR FRAME * 1400 * 28 ..TIME AT NEXT MAJOR FRAME = TIME AT LAST MAJOR FRAME + 60 SECONDS * 1401 * 29 ..COMPUTE LOW 16 BITS FIRST * 1402 * 30 NFTIMELO_ = SSMTIMEL_ + 60000/125 .. 60000 MS (LSB = 125 MS) * 1403 * 31 ..SAVE MIDDLE LOW BYTE OF 32 BIT SPACECRAFT CLOCK SENT IN TIME CODE UPDATE FOR * 1405 * REPORTING IN ENGINEERING DATA * * 32 NFTIMEML_ = ISHFT(NFTIMELO_, -8) * 1406 * 33 ..CHECK FOR A CLOCK ROLL OVER INTO THE HIGH 16 BITS * 1407 * 34 ..IF BIT 17 OF NFTIMELO_ IS SET * 1408 * 35 IF ( IAND(NFTIMELO_, "0200000) .NE. 0) * 1409 * 36 ..ADD 1 TO HIGH 16 BITS FOR CLOCK ROLL OVER * 1410 * 37 NFTIMEHI_ = SSMTIMEH_ + 1 * 1411 * 38 ELSE ..NO CLOCK ROLL OVER USE TIME AS REPORTED IN THE PIT * 1412 * 39 NFTIMEHI_ = SSMTIMEH_ * 1413 * 40 ENDIF * 1414 * * 1416 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 15.001 01 JAN 95 MACRO COMMAND PROCESSOR NFTIMECU (continued) * * * 41 ..SAVE HIGH BYTE OF 32 BIT SPACECRAFT CLOCK SENT IN TIME CODE UPDATE FOR REPORTING IN * * ENGINEERING DATA * * 42 NFTIMEHH_ = ISHFT(NFTIMEHI_, -8) * 1417 * 43 ..CREATE MACRO RTCS CONTAINING TIME CODE UPDATE MACRO * 1418 * 44 ..CREATE A DATA LOAD COMMAND WITH LOW 16 BITS OF SPACECRAFT TIME, * 1419 * 45 ..A DATA LOAD COMMAND WITH HIGH 16 BITS OF SPACECRAFT TIME, AND * 1420 * 46 ..A NORMAL MACRO ACTIVATE COMMAND FOR TIME CODE UPDATE MACRO * 1421 * 47 ..FOR EACH OF THE THREE COMMANDS ABOVE CONSTRUCT THE COMMAND BITS * 1422 * 48 DO FOR I_= 0, 2 * 1423 * 49 ..COPY (CONTROL BITS, HI-ORDER TIME CODE BITS) * 1424 * 50 NMACSKEL_(NSEQPT_) = "040000 * 1425 * 51 .. * 1426 * 52 ..IF THE COMMAND IS A DATA LOAD COMMAND * 1427 * 53 IF (I_ .LT. 2) * 1428 * 54 ..LOOKUP LINE NUMBER IN TABLE FOR A DATA LOAD COMMAND * 1429 * 55 NLINENUM_ = NLINETAB_(0) ..DATA LOAD COMMAND LINE NUMBER * 1430 * 56 ELSE ..THE COMMAND IS A NORMAL MACRO ACTIVATE COMMAND * 1431 * 57 ..LOOKUP LINE NUMBER IN TABLE FOR A NORMAL MACRO ACTIVATE COMMAND * 1432 * 58 NLINENUM_ = NLINETAB_(1) ..NORMAL MACRO ACTIVATE COMMAND LINE NUMBER * 1433 * 59 ENDIF * 1434 * 60 .. * 1435 * 61 ..COPY (HI-ORDER COMMAND BITS) * 1436 * 62 ..H-O BITS: 9 8 7 6 5 4 3 2 1 * 1437 * 63 ..CONTENTS: 0 0 R R R R R L L * 1438 * 64 ..R = RIU NUMBER, L = LINE NUMBER (2 HIGH BITS) * 1439 * 65 NMACSKEL_(NSEQPT_ + 1) = IOR(NRIUNUM_, ISHFT(NLINENUM_,-1)) * 1440 * 66 .. * 1441 * 67 ..COPY (LO-ORDER COMMAND BITS) * 1442 * 68 ..L-O BITS: 1 1 1 1 1 1 1 1 1 * 1443 * 69 ..L-O BITS: 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 * 1444 * 70 ..CONTENTS: L D D D D D D D D D D D D D D D D P * 1445 * 71 ..L = LINE NUMBER (LOW BIT), D = DATA BITS, P = ODD PARITY (27 BITS) * 1446 * 72 IF ( I_ .EQ. 0) ..COPY HIGH ORDER SPACECRAFT TIME TO COMMAND * 1447 * 73 NMACSKEL_(NSEQPT_ + 2) = IOR(ISHFT(NLINENUM_, 17), ISHFT(IAND(NFTIMEHI_, * 1449 * "0177777), 1)) * * 74 ELSEIF (I_ .EQ. 1) .. COPY LOW ORDER SPACECRAFT TIME TO COMMAND * 1450 * 75 NMACSKEL_(NSEQPT_ + 2) = IOR(ISHFT(NLINENUM_, 17), ISHFT(IAND(NFTIMELO_, * 1452 * "0177777), 1)) * * 76 ELSE ..COPY TIME CODE UPDATE MACRO COMMAND * 1453 * 77 NMACSKEL_(NSEQPT_ + 2) = IOR(ISHFT(NLINENUM_, 17),NTIMEMAC_) * 1454 * 78 ENDIF * 1455 * 79 .. * 1456 * 80 ..GENERATE THE PARITY BIT ON THE 27 COMMAND BITS * 1457 * 81 TEMP_ = ADDRESS OF NMACSKEL(NSEQPT_ + 1) * 1458 * 82 ..CALL * 1459 7 * 83 NFPARITY(TEMP_) * 1460 * 84 .. * 1461 * 85 ..COPY (LO-ORDER TIME CODE BITS) * 1462 * 86 NMACSKEL_(NSEQPT_ + 1)= IOR(NFTTAG25_, NMACSKEL_(NSEQPT_ + 1)) * 1463 * * 1464 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 15.002 01 JAN 95 MACRO COMMAND PROCESSOR NFTIMECU (continued) * * * 87 ..INCREASE SEQUENCE POINTER TO ACCOUNT FOR A 27 BIT COMMAND * * 88 NSEQPT_ = NSEQPT_ + 3 * 1465 * 89 ENDDO * 1466 * 90 ELSE ..THE NFMACRO RTCS IS CURRENTLY IN USE AND THE NEXT SCHEDULED EXECUTION OF NFMACRO * 1468 * WILL RETRY THE TIME CODE UPDATE * * 91 ..CALL * 1469 6 * 92 NFACTION(307, 0, NMRTSATU_, NMAPNUM_) * 1470 * 93 ENDIF ..CHECK FOR NFMACRO RTCS IN USE * 1471 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 16 01 JAN 95 MACRO COMMAND PROCESSOR NFLOADED (NBUFFNUM) REF PAGE ***************************************************************************************************** * * * 1 ..SUBROUTINE NAME = NFLOADED * 1473 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1474 * 3 ..ENGLISH NAME = LOADED BUFFER * 1475 * 4 ..LANGUAGE = CFG PDL * 1476 * 5 ..PURPOSE = CHECK TO SEE IF A BUFFER IS COMPLETELY LOADED * 1477 * 6 ..NOTES = COMPLETELY LOADED IMPLIES THAT AN IMMEDIATE MACRO ACTIVATE COMMAND WAS FOUND OR A * 1480 * NORMAL MACRO ACTIVATE WAS FOUND PRECEDED BY 0 TO 47 DATA LOAD COMMANDS. * * 7 ..CALLING SEQUENCE = CALL NFLOADED (NBUFFNUM) * 1481 * 8 ..GLOBAL INPUTS = NBADIMED_, NBADLWD_, NBUFFNUM_, NINPBUF_, NLODFLAG_, NLBUFWRD_, NNEPMSK_, * 1483 * NSUSTATE_ * * 9 ..GLOBAL OUTPUTS = NFBUFILL_, NLODFLAG_ * 1484 * 10 ..SUBRS CALLED = NFACTION * 1485 * 11 ..---------------------------------------------------------------------- * 1486 * 12 DATA GLOBAL (FORMAL PARAMETERS) * 1487 * 13 NBUFFNUM_ = THE BUFFER NUMBER * 1488 * 14 ENDDATA * 1489 * 15 DATA LOCAL * 1490 * 16 NDLCDMSK_[0] = MASK FOR RECOGNIZING DATA LOAD COMMAND * 1491 * 17 NMACDMSK_["0200000] = MASK FOR RECOGNIZING NORMAL MACRO ACTIVATE COMMAND * 1492 * 18 TEMP_ = TEMPORARY VARIABLE * 1493 * 19 ENDDATA * 1494 * 20 .. * 1495 * 21 ..POLL COMMAND INPUT BUFFER * 1496 * 22 ..START WITH THE FIRST BUFFER WORD * 1497 * 23 NBUFWORD_ = 0 * 1498 * 24 ..CHECK ALL WORDS UNTIL A MACRO ACTIVATE COMMAND IS FOUND OR END OF BUFFER AND THE SOFTWARE * 1500 * HAS NOT BEEN SUSPENDED * * 25 DO WHILE ( (NBUFWORD_ .LT. NLBUFWRD_) .AND. (NLODFLAG_ .EQ. 0) .AND. (NSUSTATE_ .EQ. 0) ) * 1502 * 26 ..IF THERE IS A VALID ENTRY PRESENT (THE TWO HIGH BITS ARE NOT BOTH SET) * 1503 * 27 IF ( IAND(NINPBUF_(NBUFFNUM_, NBUFWORD_), NNEPMSK_ ) .NE. NNEPMSK_ ) * 1504 * 28 ..IF THE BUFFER WORD IS A DATA LOAD WORD * 1505 * 29 IF ( IAND(NINPBUF_(NBUFFNUM_, NBUFWORD_), NNEPMSK_) .EQ. NDLCDMSK_) * 1506 * 30 ..A DATA LOAD WORD SHOULD NOT BE THE LAST WORD IN THE BUFFER * 1507 * 31 ..IF THIS IS THE LAST WORD IN THE BUFFER * 1508 * 32 IF (NBUFWORD_ .EQ. (NLBUFWRD_-1)) * 1509 * 33 ..POST ESB MESSAGE 301 * 1510 * 34 ..CALL ..POST ESB AND SUSPEND THE INSTRUMENT * 1511 6 * 35 NFACTION(301, NBUFFNUM_, NBADLWD_, NMAPNUM_) * 1512 * 36 ENDIF * 1513 * 37 ELSE ..IF THE BUFFER WORD IS A NORMAL MACRO ACTIVATE COMMAND * 1514 * 38 IF ( IAND(NINPBUF_(NBUFFNUM_, NBUFWORD_), NNEPMSK_) .EQ. NMACDMSK_ ) * 1515 * 39 ..THE BUFFER IS COMPLETELY LOADED * 1516 * 40 NLODFLAG_ = 1 * 1517 * 41 ELSE ..BUFFER WORD IS AN IMMEDIATE MACRO ACTIVATE COMMAND * 1518 * 42 ..IF THIS IS THE FIRST WORD IN THE BUFFER * 1519 * 43 IF (NBUFWORD_ .EQ. 0) * 1520 * 44 ..THE BUFFER IS COMPLETELY LOADED * 1521 * 45 NLODFLAG_ = 1 * 1522 * * 1523 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 16.001 01 JAN 95 MACRO COMMAND PROCESSOR NFLOADED (NBUFFNUM) (continued) * * * 46 ELSE ..IMMEDIATE COMMAND NOT IN THE FIRST LOCATION OF THE BUFFER * * 47 ..POST ESB MESSAGE 300 WITH THE PARAMETER INDICATING THE * 1524 * 48 LOCATION IN THE BUFFER THAT HAD THE IMMEDIATE COMMAND * 1525 * 49 TEMP_ = IOR(ISHFT(NBUFFNUM_, 6), NBUFWORD_) * 1526 * 50 ..CALL ..POST ESB AND SUSPEND THE INSTRUMENT * 1527 6 * 51 NFACTION(300, TEMP_, NBADIMED_, NMAPNUM_) * 1528 * 52 ENDIF * 1529 * 53 ENDIF * 1530 * 54 ENDIF * 1531 * 55 ELSE ..THERE IS NO ENTRY PRESENT * 1532 * 56 ..EXIT SEARCHING THIS BUFFER * 1533 * 57 UNDO * 1534 * 58 ENDIF * 1535 * 59 NBUFWORD_ = NBUFWORD_ + 1 * 1536 * 60 ENDDO * 1537 * 61 ..IF A BUFFER IS PARTIALLY OR COMPLETELY LOADED * 1538 * 62 IF (NBUFWORD_ .GT. 0) * 1539 * 63 ..SET A FLAG TO INDICATE THAT A BUFFER IS PARTIALLY LOADED BY SETTING THE BIT IN THE * 1542 * NFBUFILL_ WORD CORRESPONDING TO THE CURRENT BUFFER NUMBER * * 64 NFBUFILL_ = IOR(ISHFT(1,NBUFFNUM_), NFBUFILL_) * 1543 * 65 ENDIF * 1544 * 66 RETURN * 1545 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 17 01 JAN 95 MACRO COMMAND PROCESSOR NFUNLOAD (NBUFFNUM) REF PAGE ***************************************************************************************************** * * * 1 ..SUBROUTINE NAME = NFUNLOAD * 1547 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1548 * 3 ..ENGLISH NAME = UNLOAD BUFFER * 1549 * 4 ..LANGUAGE = CFG PDL * 1550 * 5 ..PURPOSE = UNLOAD A BUFFER AND BUILD THE NFMACRO UNIQUE RTCS * 1551 * 6 ..NOTES = NONE * 1552 * 7 ..CALLING SEQUENCE = CALL NFUNLOAD (NBUFFNUM) * 1553 * 8 ..GLOBAL INPUTS = NBOTMODE_, NBUFFNUM_, NCLRBOOT_, NCLRCMD_, NCLRQFLG_, NCLROPER_, * 1556 * NCMDCNT_, NFSWMODE_, NINPBUF_, NINVDENT_, NLBUFWRD_, NLINETAB_, NNEPMSK_ * * 9 ..GLOBAL OUTPUTS = NCLRQFLG_, NCMDCNT_, NCLRCMD_, NFBUFILL_, NINPBUF_, NMACSKEL_ * 1557 * 10 ..SUBRS CALLED = NONE * 1558 * 11 ..---------------------------------------------------------------------- * 1559 * 12 DATA GLOBAL (FORMAL PARAMETERS) * 1560 * 13 NBUFFNUM_ = THE BUFFER NUMBER * 1561 * 14 ENDDATA * 1562 * 15 DATA LOCAL * 1563 * 16 NCMDCTMX_[5] = NUMBER OF COMMANDS TO GO OUT EACH 25 MS CYCLE * 1564 * 17 NFTTAG0_[0] = 0 MS TIME TAG STARTING AT BIT 10 (LSB 1) * 1565 * 18 NWORD_ = LOOP COUNTER TO GO THROUGH EACH WORD IN A BUFFER * 1566 * 19 TEMP_ = TEMPORARY VARIABLE * 1567 * 20 ENDDATA * 1568 * 21 ..CLEAR THE FLAG INDICATING THAT A BUFFER IS PARTIALLY/COMPLETELY LOADED BY CLEARING THE * 1571 * BIT IN THE NFBUFILL_ WORD CORRESPONDING TO THE CURRENT BUFFER NUMBER ( .NOT. IS A * * BITWIZE COMPLEMENT ) * * 22 NFBUFILL_ = IAND(.NOT.(ISHFT(1,NBUFFNUM_)),NFBUFILL_) * 1572 * 23 ..TO SAFEGUARD AGAINST THE POSSIBILITY THAT AN ABORTED REAL-TIME COMMANDING * 1573 * 24 ..ATTEMPT MAY LEAVE EXTRANEOUS DATA LOAD WORDS IN THE NICMOS DATA LOAD CHANNEL, * 1574 * 25 ..IN THE PATH OF UPCOMING STORED COMMANDING, REAL-TIME COMMANDING SHOULD LOAD * 1575 * 26 ..THE NICMOS CLEAR ALL QUEUES FLAG WITH A NONZERO VALUE. BEFORE THE * 1576 * 27 ..FIRST STORED COMMAND BUFFER IS UNLOADED DURING AN EXECUTION OF THIS AP * 1577 * 28 ..THE NICMOS CLEAR ALL QUEUES FLAG SHOULD BE CHECKED * 1578 * 29 ..IF THIS IS THE FIRST STORED COMMAND BUFFER BEING USED TO CREATE THE NFMACRO RTCS DURING * 1580 * THIS EXECUTION OF THIS AP * * 30 IF (NSEQPT_ .EQ. 0) * 1581 * 31 ..IF THIS IS A STORED COMMAND BUFFER * 1582 * 32 IF (NBUFFNUM_ .LT. 4) * 1583 * 33 ..INTERROGATE THE NICMOS CLEAR ALL QUEUES FLAG * 1584 * 34 ..IF THE CLEAR ALL QUEUES MACRO COMMAND SHOULD BE SENT * 1585 * 35 IF (NCLRQFLG_ .NE. 0) * 1586 * 36 ..DETERMINE WHETHER THIS SHOULD BE A BOOT MACRO OR AN OPERATE MACRO * 1587 * 37 ..IF THE SOFTWARE MODE IN SPECIAL ED SHOWS BOOT MODE * 1588 * 38 IF (NFSWMODE_ .EQ. NBOTMODE_) * 1589 * 39 ..COPY THE BOOT VERSION OF THE MACRO TO WORD THREE OF NCLRCMD_ * 1590 * 40 NCLRCMD_(3) = NCLRBOOT_ * 1591 * 41 ELSE ..SPECIAL ED INDICATES OPERATE MODE * 1592 * 42 ..COPY THE OPERATE VERSION OF THE MACRO TO WORD THREE OF NCLRCMD_ * 1593 * 43 NCLRCMD_(3) = NCLROPER_ * 1594 * 44 ENDIF * 1595 * * 1598 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 17.001 01 JAN 95 MACRO COMMAND PROCESSOR NFUNLOAD (NBUFFNUM) (continued) * * * 45 ..WRITE THE NICMOS CLEAR ALL QUEUES SERIAL MAGNITUDE COMMAND WITH A 25 MS * * TIMETAG INTO THE FIRST LOCATION IN THE NICMOS-UNIQUE NFMACRO AP RTCS. * * 46 NMACSKEL_(NSEQPT_) = NCLRCMD_(1) * 1599 * 47 NMACSKEL_(NSEQPT_ + 1) = NCLRCMD_(2) * 1600 * 48 NMACSKEL_(NSEQPT_ + 2) = NCLRCMD_(3) * 1601 * 49 ..INCREASE THE SEQUENCE POINTER BY THE NUMBER OF WORDS FOR 1 COMMAND * 1602 * 50 NSEQPT_ = NSEQPT_ + 3 * 1603 * 51 ..ZERO THE NICMOS CLEAR ALL QUEUES FLAG * 1604 * 52 NCLRQFLG_ = 0 * 1605 * 53 ENDIF * 1606 * 54 ENDIF * 1607 * 55 ENDIF * 1608 * 56 ..BUILD THE STORED COMMANDS INTO THE NICMOS NFMACRO SKELETON * 1609 * 57 DO FOR NWORD_ = 0, NBUFWORD_ - 1 ..FOR EACH COMMAND TO BE UNLOADED * 1610 * 58 ..BUILD COMMAND * 1611 * 59 ..LOOKUP LINE NUMBER IN TABLE * 1612 * 60 NLINENUM_ = NLINETAB_(ISHFT(NINPBUF_(NBUFFNUM_, NWORD_), -16)) * 1613 * 61 .. * 1614 * 62 ..COPY (CONTROL BITS, HI-ORDER TIME CODE BITS) * 1615 * 63 NMACSKEL_(NSEQPT_) = "040000 * 1616 * 64 .. * 1617 * 65 ..COPY (HI-ORDER COMMAND BITS) * 1618 * 66 ..H-O BITS: 9 8 7 6 5 4 3 2 1 * 1619 * 67 ..CONTENTS: 0 0 R R R R R L L * 1620 * 68 ..R = RIU NUMBER, L = LINE NUMBER (2 HIGH BITS) * 1621 * 69 NMACSKEL_(NSEQPT_ + 1) = IOR(NRIUNUM_, ISHFT(NLINENUM_,-1)) * 1622 * 70 .. * 1623 * 71 ..COPY (LO-ORDER COMMAND BITS) * 1624 * 72 ..L-O BITS: 1 1 1 1 1 1 1 1 1 * 1625 * 73 ..L-O BITS: 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 * 1626 * 74 ..CONTENTS: L D D D D D D D D D D D D D D D D P * 1627 * 75 ..L = LINE NUMBER (LOW BIT), D = DATA BITS, P = ODD PARITY (27 BITS) * 1628 * 76 NMACSKEL_(NSEQPT_ + 2) = IOR(ISHFT(NLINENUM_, 17), ISHFT(IAND(NINPBUF_(NBUFFNUM_, * 1630 * NWORD_), "0177777), 1)) * * 77 .. * 1631 * 78 ..GENERATE THE PARITY BIT ON THE 27 COMMAND BITS * 1632 * 79 TEMP_ = ADDRESS OF NMACSKEL(NSEQPT_ + 1) * 1633 * 80 ..CALL * 1634 7 * 81 NFPARITY(TEMP_) * 1635 * 82 .. * 1636 * 83 ..IN ORDER TO GUARANTEE THAT THE NFMACRO UNIQUE SEQUENCE EXECUTES WITHIN ONE SECOND, * 1640 * THE FIRST COMMAND OF A GROUP WILL HAVE A 25 MS TIME TAG, THE REST OF THE GROUP * * WILL HAVE A ZERO TIME TAG. THE SIZE OF THE GROUP IS DETERMINED BY THE VALUE OF * * NCMDCTMX_. * * 84 ..TEST FOR 25 MS TIME TAG OR ZERO TIME TAG * 1641 * 85 ..IF THE COMMAND COUNT IS ZERO * 1642 * 86 IF ( NCMDCNT_ .EQ. 0) * 1643 * 87 ..USE THE 25 MS TIME TAG * 1644 * 88 ..COPY (LO-ORDER TIME CODE BITS) * 1645 * * 1646 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 17.002 01 JAN 95 MACRO COMMAND PROCESSOR NFUNLOAD (NBUFFNUM) (continued) * * * 89 NMACSKEL_(NSEQPT_ + 1)= IOR(NFTTAG25_, NMACSKEL_(NSEQPT_ + 1)) * * 90 ELSE ..USE THE ZERO TIME TAG * 1647 * 91 ..COPY (LO-ORDER TIME CODE BITS) * 1648 * 92 NMACSKEL_(NSEQPT_ + 1)= IOR(NFTTAG0_, NMACSKEL_(NSEQPT_ + 1)) * 1649 * 93 ENDIF * 1650 * 94 .. * 1651 * 95 ..INCREMENT COMMAND COUNTER FOR 25 MS TIME TAG OR ZERO TIME TAG * 1652 * 96 NCMDCNT_ = NCMDCNT_ + 1 * 1653 * 97 ..IF THE COMMAND COUNT IS GREATER THAN THE COMMAND MAXIMUM (GROUP SIZE) * 1654 * 98 IF (NCMDCNT_ .GE. NCMDCTMX_) * 1655 * 99 ..RESET THE COMMAND COUNT SO NEXT COMMAND WILL HAVE A 25 MS TIME TAG * 1656 *100 NCMDCNT_ = 0 * 1657 *101 ENDIF * 1658 *102 .. * 1659 *103 ..INCREASE THE SEQUENCE POINTER TO ACCOUNT FOR ONE 27 BIT COMMAND * 1660 *104 NSEQPT_ = NSEQPT_ + 3 * 1661 *105 ..SET CURRENT WORD IN THIS BUFFER TO NO ENTRY PRESENT * 1662 *106 NINPBUF_(NBUFFNUM_, NWORD_) = NNEPMSK_ * 1663 *107 ENDDO * 1664 *108 ..CHECK THE UNUSED ENTRIES OF AN INPUT BUFFER FOR ENTRIES OTHER THAN NO ENTRY * 1665 *109 ..PRESENT * 1666 *110 DO FOR NWORD_ = NBUFWORD_, NLBUFWRD_ - 1 ..FOR THE REST OF THE BUFFER * 1667 *111 ..IF CURRENT WORD IS OTHER THAN NO ENTRY PRESENT * 1668 *112 IF ( IAND(NINPBUF_(NBUFFNUM_, NWORD_),NNEPMSK_) .NE. NNEPMSK_) * 1669 *113 ..INDICATE BUFFER NUMBER AND BUFFER WORD IN ESB PARAMETER * 1670 *114 TEMP_ = IOR(ISHFT(NBUFFNUM_, 6), NWORD_) * 1671 *115 ..CALL ..POST ESB 305 AND SUSPEND THE INSTRUMENT * 1672 6 *116 NFACTION(305, TEMP_, NINVDENT_, NMAPNUM_) * 1673 *117 UNDO * 1674 *118 ENDIF * 1675 *119 ENDDO * 1676 *120 RETURN * 1677 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 18 01 JAN 95 ******************** * * * SAFING PROCESSOR * * * ******************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 19 01 JAN 95 SAFING PROCESSOR NFSAFING (PROCESSOR #23) REF PAGE ***************************************************************************************************** * * * 1 ..PROCESSOR NAME = NFSAFING ******** APPLICATION PROCESSOR NUMBER 23 ******** * 1680 * 2 ..IDENTIFICATION = NICMOS FLIGHT S/W * 1681 * 3 ..ENGLISH NAME = SAFING * 1682 * 4 ..LANGUAGE = CFG PDL * 1683 * 5 ..PURPOSE = MONITOR CRITICAL ED FROM INSTRUMENT VIA FLAGS SET BY FLIGHT EXECUTIVE, REQUEST * 1686 * ACTIVATION OF THE NICMOS SAFING SEQUENCE WHEN NECESSARY. * * 6 ..NOTES = THIS PROCESSOR DETECTS ED OUT-OF-LIMITS CONDITIONS VIA FLAGS SET BY THE FLIGHT * 1696 * EXECUTIVE, FOR NICMOS ED ITEMS IN ONE OF THREE EXECUTIVE LIMIT CHECK TABLES. THIS * * PROCESSOR MAINTAINS COUNTS OF THE NUMBER OF CONSECUTIVE OUT-OF-LIMITS REPORTS FOR * * EACH ED ITEM IN THE CURRENT EXECUTIVE LIMIT CHECK TABLE. THE ACTIVATION OF THE * * NICMOS SAFING SEQUENCE IS REQUESTED WHEN ANY OF THESE CONSECUTIVE OUT-OF-LIMITS * * COUNTS EXCEEDS A SPECIFIED MAXIMUM VALUE, OR WHEN THE FLIGHT EXECUTIVE REFUSES TO * * CHOOSE A LIMIT-CHECK TABLE. THE APPROPRIATE LIMIT-CHECK TABLE (1 OF 3) IS CHOSEN * * DEPENDING ON THE INSTRUMENT MODE OF THE NICMOS: HOLD, OPER1, OR OPER2, AS REFLECTED * * IN THE NICMOS BILEVEL ED ITEMS NOPERON1 AND NOPERON2. * * 7 ..CALLING SEQUENCE = SYNCHRONOUS, ONCE EVERY MINUTE, WITH INITIALIZATION AT THE INITIAL * 1698 * ENABLING FOR EXECUTION. * * 8 ..GLOBAL INPUTS = NCVT_, NDREF_, NFNICMOS_, NLFLGS_, NSAPNUM_ * 1699 * 9 ..GLOBAL OUTPUTS = NONE * 1700 * 10 ..SUBRS CALLED = ZILIM, ZISAFE, ZISTAT * 1701 * 11 ..--------------------------------------------------------------------------- * 1702 * 12 .. * 1703 * 13 DATA LOCAL * 1704 * 14 BADE_ (32) = THE NUMBER OF CONSECUTIVE BAD (I.E.. OUT-OF-LIMITS) REPORTS FOR EACH ITEM IN * 1706 * THE CURRENT EXECUTIVE LIMIT-CHECK TABLE * * 15 FLAGNUM_ = NUMBER OF THE FLAG BEING CHECKED (1-32) * 1707 * 16 FLAGWD_ = LOCAL FLAG WORD (32-BIT QUANTITY) * 1708 * 17 IRET_ = RETURN CODE FROM FLIGHT EXEC SUBROUTINES * 1709 * 18 ITEMNUM_ = ITEM NUMBER LOOP INDEX * 1710 * 19 NFMXBADE_ (3,32) = THE MAXIMUM NUMBER OF CONSECUTIVE BAD (I.E.. OUT-OF-LIMITS) REPORTS * 1713 * BEFORE REQUESTING THE SAFING OF THE NICMOS INSTRUMENT, FOR ALL ITEMS IN EACH * * LIMIT-CHECK TABLE * * 20 .. DATA NFMXBADE: * 1714 * 21 .. NFMXBAD1_ = 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 * 1715 * 22 .. NFMXBAD2_ = 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 * 1716 * 23 .. NFMXBAD3_ = 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 * 1717 * 24 NLIMCHKT_ = LIMIT-CHECK TABLE * 1718 * 25 .. 1 = HOLD TABLE * 1719 * 26 .. 2 = OPER1 TABLE * 1720 * 27 .. 3 = OPER2 TABLE * 1721 * 28 NLLIMTAB_ = HOLDS LAST LIMIT CHECK TABLE SELECTION * 1722 * 29 .. -1 = INITIALIZED VALUE * 1723 * 30 .. 1 = HOLD TABLE * 1724 * 31 .. 2 = OPER1 TABLE * 1725 * 32 .. 3 = OPER2 TABLE * 1726 * 33 SAFJUST_ = SAFING JUSTIFICATION * 1727 * 34 .. 0 = SAFING IS NOT JUSTIFIED * 1728 * 35 .. 1 = SAFING IS JUSTIFIED * 1729 * * 1730 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 19.001 01 JAN 95 SAFING PROCESSOR NFSAFING (PROCESSOR #23) (continued) * * * 36 TEMP_ = TEMPORARY VARIABLE * * 37 ENDDATA * 1731 * 38 .. * 1732 * 39 .. * 1733 * 40 IF INITIALIZATION IS REQUIRED * 1734 * 41 NLLIMTAB_ = -1 ..SET SO THAT A LIMIT TABLE WILL BE SELECTED * 1735 * 42 SAFJUST_ = 0 ..INDICATE THAT NICMOS SAFING IS NOT JUSTIFIED * 1736 * 43 ENDIF * 1737 * 44 ..FIND CURRENT VALUE OF NLIMCHKT_ * 1738 * 45 ..ASSUME INSTRUMENT IS IN HOLD * 1739 * 46 NLIMCHKT_ = 1 * 1740 * 47 ..IF NOPERON1 IS ON * 1741 * 48 IF ( IAND(NCVT_(NDREF_(NOPERONS_, NFNICMOS_)),NOPERON1_) .EQ. 1) * 1742 * 49 NLIMCHKT_ = 2 ..CHOOSE LIMIT-CHECK TABLE 2 (OPER1) * 1743 * 50 ..IF NOPERON2 IS ON ALSO * 1744 * 51 IF ( IAND(NCVT_(NDREF_(NOPERONS_, NFNICMOS_)),NOPERON2_) .EQ. 1) * 1745 * 52 SAFJUST_ = 1 ..INDICATE THAT SAFING IS JUSTIFIED * 1746 * 53 ..CALL ..REQUEST FLIGHT EXEC TO MAKE APPROPRIATE STATUS BUFFER ENTRY * 1747 33 * 54 ZISTAT (NFNICMOS_, 400, 0, IRET_) ..BOTH NOPERON1 AND NOPERON2 ARE ON * 1748 * 55 ENDIF * 1749 * 56 ELSE * 1750 * 57 ..IF NOPERON2 IS ON * 1751 * 58 IF ( IAND(NCVT_(NDREF_(NOPERONS_, NFNICMOS_)),NOPERON2_) .EQ. 1) * 1752 * 59 NLIMCHKT_ = 3 ..CHOSE LIMIT-CHECK TABLE 3 (OPER2) * 1753 * 60 ENDIF * 1754 * 61 ENDIF * 1755 * 62 ..IF INSTRUMENT MODE HAS CHANGED SINCE LAST INVOCATION OF THE SAFING PROCESSOR * 1757 * 63 IF (NLIMCHKT_ .NE. NLLIMTAB_) * 1758 * 64 ..RESET BAD REPORTS * 1759 * 65 DO FOR ITEMNUM_ = 1, 32 ..FOR EACH OF THE 32 ITEMS IN THE CURRENT EXECUTIVE LIMIT-CHECK * 1761 * TABLE * * 66 BADE_(ITEMNUM_) = 0 ..RESET NUMBER OF CONSECUTIVE BAD REPORTS * 1762 * 67 ENDDO * 1763 * 68 ..CALL ..REQUEST NSSC-1 FLIGHT EXECUTIVE TO USE THE LIMIT-CHECK TABLE NLIMCHKT_ * 1765 25 * 69 ZILIM (NFNICMOS_, NLIMCHKT_, IRET_) * 1766 * 70 IF NSSC-1 FLIGHT EXECUTIVE REFUSED THE REQUEST (IRET_ .NE. 0) * 1767 * 71 ..CALL ..REQUEST FLIGHT EXEC TO MAKE APPROPRIATE STATUS BUFFER ENTRY * 1768 33 * 72 ZISTAT (NFNICMOS_, 401, NLIMCHKT_, IRET_) ..INCLUDE REQUESTED LIMIT-CHECK TABLE * 1770 * NUMBER NLIMCHKT_ * * 73 SAFJUST_ = 1 ..INDICATE THAT SAFING IS JUSTIFIED * 1771 * 74 ENDIF * 1772 * 75 .. COPY CURRENT LIMIT-CHECK TABLE TO LAST LIMIT-CHECK TABLE FOR NEXT INVOCATION OF THE * 1774 * SAFING PROCESSOR * * 76 NLLIMTAB_ = NLIMCHKT_ * 1775 * 77 ELSE NO LIMIT-CHECK TABLE REQUEST DURING THIS INVOCATION - INSPECT THE LIMIT-CHECK FLAGS * 1777 * SET BY THE NSSC-1 FLIGHT EXECUTIVE LIMIT-CHECKER * * 78 .. * 1778 * 79 FLAGWD_ = NLFLGS_ ..GET LIMIT-CHECK FLAG WORD FROM NSSC-1 FLIGHT EXECUTIVE * 1779 * 80 FLAGNUM_ = 32 ..LOOK AT FLAG 32 FIRST, THEN COUNT DOWN * 1780 * * 1781 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 19.002 01 JAN 95 SAFING PROCESSOR NFSAFING (PROCESSOR #23) (continued) * * * 81 DO WHILE (FLAGNUM_ .GE. 1) ..FLAG NUMS ARE BETWEEN 1 AND 32 * * 82 IF FLAG INDICATES ED ITEM IS OUT-OF-LIMITS (FLAGWD_ .LT. 0) * 1782 * 83 BADE_(FLAGNUM_) = BADE_(FLAGNUM_) + 1 ..BUMP # CONSECUTIVE BAD REPORTS FOR THIS * 1784 * ITEM * * 84 IF TOO MANY CONSECUTIVE BAD REPORTS FOR THIS ITEM IN THIS LIMIT-CHECK TABLE * 1786 * (BADE_(FLAGNUM_) .GE. NFMXBADE_(NLIMCHKT_, FLAGNUM_)) * * 85 ..REQUEST FLIGHT EXEC TO MAKE APPROPRIATE STATUS BUFFER ENTRY. THE DATA * 1789 * WORD CONTAINS THE LIMIT-CHECK TABLE NUMBER IN BITS 10 AND 11 AND * * THE NUMBER OF THE OFFENDING ENGINEERING DATA ITEM IN THE LOWER 8 * * BITS. * * 86 TEMP_ = IOR(ISHFT(NLIMCHKT_, 9), FLAGNUM_) * 1790 * 87 ..CALL * 1791 33 * 88 ZISTAT (NFNICMOS_, 402, TEMP_, IRET_) * 1792 * 89 SAFJUST_ = 1 ..INDICATE THAT SAFING IS JUSTIFIED * 1793 * 90 UNDO ..EXIT FROM THE DO WHILE * 1794 * 91 ENDIF * 1795 * 92 ELSE ED ITEM IS WITHIN LIMITS * 1796 * 93 BADE_(FLAGNUM_) = 0 ..RESET # OF CONSECUTIVE BAD REPORTS FOR THIS ED ITEM * 1797 * 94 ENDIF * 1798 * 95 FLAGWD_ = ISHFT(FLAGWD_, 1) ..SHIFT FLAG WORD 1 BIT LEFT * 1799 * 96 FLAGNUM_ = FLAGNUM_ - 1 ..DECREMENT NUMBER OF FLAG NOW TO BE CONSIDERED * 1800 * 97 ENDDO * 1801 * 98 ENDIF * 1802 * 99 .. * 1803 *100 .. * 1804 *101 IF NICMOS SAFING IS JUSTIFIED (SAFJUST_ .GT. 0) * 1805 *102 ..CALL ..REQUEST NSSC-1 FLIGHT EXECUTIVE TO INITIATE THE NICMOS SAFING SEQUENCE * 1807 28 *103 ZISAFE (NFNICMOS_, NSAPNUM_) * 1808 *104 ENDIF * 1809 *105 RETURN * 1810 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 20 01 JAN 95 **************************************************** * * * DELAYED COMMAND SEQUENCE STORED IN NICMOS MEMORY * * * **************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 21 01 JAN 95 DELAYED COMMAND SEQUENCE STORED IN NICMOS MEMORY NCOMSKEL (UNIQUE SEQUENCE 1) REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = NCOMSKEL * 1813 * 2 ..IDENTIFICATION = NICMOS CONTROL SECTION COMMUNICATION SKELETON COMMAND SEQUENCE * 1815 * 3 ..ENGLISH NAME = SKELETON COMMAND * 1816 * 4 ..LANGUAGE = CAINE, FARBER, & GORDON (PDL) * 1817 * 5 ..PURPOSE = LOCATION WHERE COMMANDS TO SEND SLEW CONFIRMATION AND FORWARD TAKE DATA FLAG * 1819 * ARE BUILT * * 6 ..NOTES = THE SKELETON COMMANDS ARE COMPOSED OF THE ACTUAL 27 COMMAND BITS AND A 22 BIT * 1822 * TIME CODE. VALUES ARE SUPPLIED BY NFCSCOMM USING THE COMMAND SKELETON. * * 7 ..--------------------------------------------------------------------------- * 1823 * 8 NCOMSKEL_(9) ..CAN HOLD A MAXIMUM OF 3 COMMANDS * 1824 * 9 .. EACH COMMAND NEEDS THREE WORDS IN THE NCOMSKEL_ TABLE * 1825 * 10 .. COMMAND WORD 1 (CONTROL BITS, HI-ORDER TIME CODE BITS) * 1826 * 11 .. COMMAND WORD 2 (LOW-ORDER TIME CODE BITS, HI-ORDER COMMAND BITS) * 1827 * 12 .. H-O BITS: 9 8 7 6 5 4 3 2 1 * 1828 * 13 .. CONTENTS: 0 0 R R R R R L L * 1829 * 14 .. R = RIU NUMBER, L = LINE NUMBER (2 HIGH BITS) * 1830 * 15 .. COMMAND WORD 3 (LOW-ORDER COMMAND BITS) * 1831 * 16 .. L-O BITS: 1 1 1 1 1 1 1 1 1 * 1832 * 17 .. L-O BITS: 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 * 1833 * 18 .. CONTENTS: L D D D D D D D D D D D D D D D D P * 1834 * 19 .. L = LINE NUMBER (LOW BIT), D = DATA BITS, P = ODD PARITY (27 BITS) * 1835 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 22 01 JAN 95 DELAYED COMMAND SEQUENCE STORED IN NICMOS MEMORY NMACSKEL (UNIQUE SEQUENCE 2) REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = NMACSKEL * 1837 * 2 ..IDENTIFICATION = NICMOS NFMACRO AP SKELETON COMMAND SEQUENCE * 1838 * 3 ..ENGLISH NAME = SKELETON COMMAND * 1839 * 4 ..LANGUAGE = CAINE, FARBER, & GORDON (PDL) * 1840 * 5 ..PURPOSE = LOCATION WHERE MACRO COMMANDS ARE BUILT * 1841 * 6 ..NOTES = THE SKELETON COMMANDS ARE COMPOSED OF THE ACTUAL 27 COMMAND BITS AND A 22 BIT * 1844 * TIME CODE. VALUES ARE SUPPLIED BY NFMACRO USING THE COMMAND SKELETON. THE TOTAL * * NUMBER OF COMMANDS IS (48*3)+ 2. * * 7 ..--------------------------------------------------------------------------- * 1845 * 8 NMACSKEL_(438) ..CAN HOLD A MAXIMUM OF 146 COMMANDS * 1846 * 9 .. EACH COMMAND NEEDS THREE WORDS IN THE NMACSKEL_ TABLE * 1847 * 10 .. COMMAND WORD 1 (CONTROL BITS, HI-ORDER TIME CODE BITS) * 1848 * 11 .. COMMAND WORD 2 (LOW-ORDER TIME CODE BITS, HI-ORDER COMMAND BITS) * 1849 * 12 .. H-O BITS: 9 8 7 6 5 4 3 2 1 * 1850 * 13 .. CONTENTS: 0 0 R R R R R L L * 1851 * 14 .. R = RIU NUMBER, L = LINE NUMBER (2 HIGH BITS) * 1852 * 15 .. COMMAND WORD 3 (LOW-ORDER COMMAND BITS) * 1853 * 16 .. L-O BITS: 1 1 1 1 1 1 1 1 1 * 1854 * 17 .. L-O BITS: 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 * 1855 * 18 .. CONTENTS: L D D D D D D D D D D D D D D D D P * 1856 * 19 .. L = LINE NUMBER (LOW BIT), D = DATA BITS, P = ODD PARITY (27 BITS) * 1857 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 23 01 JAN 95 **************************************************************************** * * * SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) * * * **************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 24 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZIDELT REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZIDELT * 1860 * 2 ..IDENTIFICATION SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1861 * 3 ..PURPOSE = RELATIVE TIME COMMAND INDEX MAINTENANCE * 1862 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 25 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZILIM REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZILIM * 1864 * 2 ..IDENTIFICATION SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1865 * 3 ..PURPOSE = LIMIT CHECK SELECTION * 1866 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 26 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZIREF REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZIREF * 1868 * 2 ..IDENTIFICATION SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1869 * 3 ..PURPOSE = RESET EVENT FLAGS * 1870 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 27 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZIRTCC REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZIRTCC * 1872 * 2 ..IDENTIFICATION = SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1873 * 3 ..PURPOSE = CONTROL RELATIVE TIME COMMAND SEQUENCE * 1874 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 28 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZISAFE REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZISAFE * 1876 * 2 ..IDENTIFICATION = SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1877 * 3 ..PURPOSE = REQUEST THE ACTIVATION OF THE SAFING SEQUENCE * 1878 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 29 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZISEF REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZISEF * 1880 * 2 ..IDENTIFICATION SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1881 * 3 ..PURPOSE = SET EVENT FLAGS * 1882 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 30 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZISLEW REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZISLEW * 1884 * 2 ..IDENTIFICATION = SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1885 * 3 ..PURPOSE = COORDINATE TRANSFORMATION AND SSM SLEW REQUEST * 1886 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 31 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZISPED REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZISPED * 1888 * 2 ..IDENTIFICATION = SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1889 * 3 ..PURPOSE = CONTROLS THE COLLECTION OF SPECIAL ENGINEERING DATA * 1890 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 32 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZIPITR REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZIPITR * 1892 * 2 ..IDENTIFICATION = SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1893 * 3 ..PURPOSE = READS ANY OF THE WORDS IN THE MOST RECENT SSM PIT * 1894 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 33 01 JAN 95 SI C&DH SYSTEM SIMULATOR SUBROUTINES (FOR CROSS-REFERENCE PURPOSES ONLY) ZISTAT REF PAGE ***************************************************************************************************** * * * 1 ..MODULE NAME = ZISTAT * 1896 * 2 ..IDENTIFICATION = SI C&DH SYSTEM SIMULATOR SUBROUTINE * 1897 * 3 ..PURPOSE = ENTER MESSAGE IN STATUS BUFFER * 1898 * * ***************************************************************************************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 34 01 JAN 95 *************************** * * * SEGMENT REFERENCE TREES * * * *************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 34.001 01 JAN 95 SEGMENT REFERENCE TREES NFCSCOMM -------- LN DEFN SEGMENT ---- ---- ------- 1 9 NFCSCOMM 2 31 ZISPED 3 6 NFACTION 4 28 ZISAFE 5 27 ZIRTCC 6 33 ZISTAT 7 10 NFALIVE 8 6 -NFACTION (3) 9 11 NFSLEW 10 6 -NFACTION (3) 11 30 ZISLEW 12 29 ZISEF 13 26 ZIREF 14 32 ZIPITR 15 12 NFCSSEND 16 24 ZIDELT 17 6 -NFACTION (3) 18 27 ZIRTCC NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 34.002 01 JAN 95 SEGMENT REFERENCE TREES NFMACRO ------- LN DEFN SEGMENT ---- ---- ------- 1 14 NFMACRO 2 15 NFTIMECU 3 7 NFPARITY 4 6 NFACTION 5 28 ZISAFE 6 27 ZIRTCC 7 33 ZISTAT 8 16 NFLOADED 9 6 -NFACTION (4) 10 6 -NFACTION (4) 11 17 NFUNLOAD 12 7 NFPARITY 13 6 -NFACTION (4) 14 24 ZIDELT 15 27 ZIRTCC NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 34.003 01 JAN 95 SEGMENT REFERENCE TREES NFSAFING -------- LN DEFN SEGMENT ---- ---- ------- 1 19 NFSAFING 2 33 ZISTAT 3 25 ZILIM 4 28 ZISAFE NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35 01 JAN 95 *********************** * * * INDEX TO DATA ITEMS * * * *********************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.001 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS ------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 6 13 ID ACTION_ 6 NFACTION 13 14 14 ID ALLBUFWD_ 14 NFMACRO 14 55 6 18 ID APNUM_ 6 NFACTION 18 33 39 43 19 14 ID BADE_ 19 NFSAFING 14 66 83 84 93 6 19 ID ESBNUM_ 6 NFACTION 19 53 56 6 20 ID ESBPAR_ 6 NFACTION 20 56 19 15 ID FLAGNUM_ 19 NFSAFING 15 80 83 84 86 93 96 19 16 ID FLAGWD_ 19 NFSAFING 16 79 82 95 14 13 ID HIBACNST_ 14 NFMACRO 13 4 8 DI INDXROW_ 14 NFMACRO 67 6 23 ID IRET_ 6 NFACTION 23 39 46 56 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.002 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 9 NFCSCOMM 16 177 331 337 354 12 NFCSSEND 59 64 68 73 14 NFMACRO 16 148 153 157 163 19 NFSAFING 17 54 69 70 72 88 11 NFSLEW 65 71 19 18 ID ITEMNUM_ 19 NFSAFING 18 65 66 4 9 DI IXTABLE_ 9 15 ID I_ 9 NFCSCOMM 15 185 186 14 NFMACRO 15 55 56 15 NFTIMECU 48 5 172 DI LOW13BTS_ 6 NFACTION 53 4 13 DI MINFRMNO_ 10 NFALIVE 29 5 156 DI NBADCKSM_ 9 NFCSCOMM 340 5 146 DI NBADIMED_ 16 NFLOADED 51 5 147 DI NBADLWD_ 16 NFLOADED 35 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.003 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 5 103 DI NBADMDCT_ 9 NFCSCOMM 165 194 202 211 9 17 ID NBADMDMX_ 9 NFCSCOMM 17 5 157 DI NBADMOD1_ 9 NFCSCOMM 200 5 158 DI NBADMOD2_ 9 NFCSCOMM 206 5 173 DI NBOTMODE_ 14 17 ID NBUFFER_ 14 NFMACRO 17 87 95 107 111 117 125 16 13 ID NBUFFNUM_ 16 NFLOADED 13 35 49 64 17 NFUNLOAD 13 22 60 76 106 114 14 23 ID NBUFWORD_ 16 NFLOADED 23 49 59 14 NFMACRO 23 17 NFUNLOAD 57 110 5 174 DI NCAPNUM_ 9 18 ID NCKSMEFL_ 9 NFCSCOMM 18 331 337 5 60 DI NCKSMIND_ NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.004 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 9 NFCSCOMM 340 409 14 26 ID NCLRBOOT_ 14 NFMACRO 26 17 NFUNLOAD 40 14 27 ID NCLRCMD_ 14 NFMACRO 27 15 NFTIMECU 19 21 22 23 17 NFUNLOAD 40 43 46 47 48 14 28 ID NCLROPER_ 14 NFMACRO 28 15 NFTIMECU 19 17 NFUNLOAD 43 5 104 DI NCLRQFLG_ 14 NFMACRO 61 17 NFUNLOAD 52 14 29 ID NCMDCNT_ 14 NFMACRO 29 86 17 NFUNLOAD 96 100 17 16 ID NCMDCTMX_ 17 NFUNLOAD 16 5 107 DI NCOMCNT_ 9 NFCSCOMM 167 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.005 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 12 NFCSSEND 54 5 159 DI NCOMRTSE_ 12 NFCSSEND 73 12 23 ID NCOMSKEL_ 21 NCOMSKEL 8 12 NFCSSEND 23 24 25 35 36 37 40 41 42 50 51 52 4 10 DI NCVT_ 5 160 DI NDETINVD_ 11 NFSLEW 42 16 16 ID NDLCDMSK_ 16 NFLOADED 16 4 11 DI NDREF_ 5 26 DI NESBMSGH_ 9 NFCSCOMM 254 5 25 DI NESBMSGL_ 9 NFCSCOMM 254 9 19 ID NESBMSGT_ 9 NFCSCOMM 19 254 259 9 20 ID NESBOFST_ 9 NFCSCOMM 20 254 5 28 DI NESBPARH_ 9 NFCSCOMM 256 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.006 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 5 27 DI NESBPARL_ 9 NFCSCOMM 256 9 21 ID NESBPARM_ 9 NFCSCOMM 21 256 259 5 108 DI NFBUFILL_ 16 NFLOADED 64 14 NFMACRO 53 17 NFUNLOAD 22 5 116 DI NFCKSMFL_ 9 NFCSCOMM 342 9 22 ID NFLMODE_ 9 NFCSCOMM 22 169 192 379 5 119 DI NFLVMODE_ 9 NFCSCOMM 170 203 380 19 19 ID NFMXBADE_ 19 NFSAFING 19 84 5 175 DI NFNICMOS_ 6 NFACTION 33 39 43 46 56 9 NFCSCOMM 177 331 337 12 NFCSSEND 59 68 14 NFMACRO 148 157 19 NFSAFING 54 69 72 88 103 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.007 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 11 15 ID NFSLMAT1_ 11 NFSLEW 15 54 11 21 ID NFSLMAT2_ 11 NFSLEW 21 58 11 27 ID NFSLMAT3_ 11 NFSLEW 27 61 5 64 DI NFSPARE_ 5 12 DI NFSPEDIN_ 9 NFCSCOMM 177 186 5 68 DI NFSPEDTA_ 9 NFCSCOMM 177 5 42 DI NFSWMODE_ 9 NFCSCOMM 200 206 379 380 404 14 NFMACRO 70 14 30 ID NFTCUFLG_ 14 NFMACRO 30 15 NFTIMECU 15 5 123 DI NFTIMEHH_ 15 NFTIMECU 42 5 124 DI NFTIMEHI_ 15 NFTIMECU 37 39 42 73 5 126 DI NFTIMELO_ NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.008 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 15 NFTIMECU 30 32 75 5 125 DI NFTIMEML_ 15 NFTIMECU 32 17 17 ID NFTTAG0_ 17 NFUNLOAD 17 92 14 31 ID NFTTAG25_ 14 NFMACRO 31 15 NFTIMECU 86 17 NFUNLOAD 89 9 26 ID NHARDMX_ 9 NFCSCOMM 26 9 27 ID NHWRESET_ 9 NFCSCOMM 27 290 5 161 DI NHWRSOTR_ 9 NFCSCOMM 293 9 283 ID NHWRSPTR_ 9 NFCSCOMM 283 287 290 9 52 ID NHWRSUSP_ 9 NFCSCOMM 52 287 5 162 DI NIDXCOMM_ 12 NFCSSEND 64 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.009 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 5 148 DI NIDXMAC_ 14 NFMACRO 153 14 33 ID NINPBUF_ 14 NFMACRO 33 56 17 NFUNLOAD 60 76 106 5 149 DI NINVDENT_ 17 NFUNLOAD 116 14 39 ID NLBUFWRD_ 14 NFMACRO 39 17 NFUNLOAD 110 4 12 DI NLFLGS_ 19 NFSAFING 79 19 24 ID NLIMCHKT_ 19 NFSAFING 24 46 49 59 69 72 76 84 86 14 40 ID NLINENUM_ 14 NFMACRO 40 15 NFTIMECU 55 58 65 73 75 77 17 NFUNLOAD 60 69 76 5 77 DI NLINETAB_ 15 NFTIMECU 55 58 17 NFUNLOAD 60 19 28 ID NLLIMTAB_ NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.010 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 19 NFSAFING 28 41 76 5 127 DI NLMNFRCT_ 10 NFALIVE 50 9 NFCSCOMM 163 14 41 ID NLODFLAG_ 16 NFLOADED 40 45 14 NFMACRO 41 92 9 76 ID NLRESET_ 9 NFCSCOMM 76 171 315 5 128 DI NMACCNTH_ 14 NFMACRO 143 5 129 DI NMACCNT_ 14 NFMACRO 141 143 16 17 ID NMACDMSK_ 16 NFLOADED 17 5 150 DI NMACRTSE_ 14 NFMACRO 163 14 137 ID NMACSKEL_ 14 NFMACRO 137 138 139 15 NFTIMECU 21 22 23 50 65 73 75 77 86 17 NFUNLOAD 46 47 48 63 69 76 89 92 22 NMACSKEL 8 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.011 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 5 176 DI NMAPNUM_ 16 NFLOADED 35 51 14 NFMACRO 103 129 148 153 157 163 15 NFTIMECU 92 17 NFUNLOAD 116 11 33 ID NMATXADR_ 11 NFSLEW 33 54 58 61 65 10 14 ID NMFAILMX_ 10 NFALIVE 14 5 130 DI NMFAIL_ 10 NFALIVE 25 38 48 9 NFCSCOMM 166 5 164 DI NMFCFLBT_ 10 NFALIVE 43 5 163 DI NMFCFLOP_ 10 NFALIVE 35 10 15 ID NMFCHECK_ 10 NFALIVE 15 5 41 DI NMINFRCT_ 10 NFALIVE 29 50 9 NFCSCOMM 402 5 151 DI NMRTSARB_ NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.012 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 14 NFMACRO 129 5 152 DI NMRTSASB_ 14 NFMACRO 103 5 153 DI NMRTSATU_ 15 NFTIMECU 92 14 42 ID NMSWOFST_ 14 NFMACRO 42 67 14 44 ID NNEPMSK_ 14 NFMACRO 44 56 17 NFUNLOAD 106 5 177 DI NOOPCMD_ 12 NFCSSEND 50 51 52 14 NFMACRO 137 138 139 5 178 DI NOPRMODE_ 7 16 ID NPARBIT_ 7 NFPARITY 16 23 25 29 31 35 5 46 DI NRESET_ 9 NFCSCOMM 283 301 304 311 315 406 14 45 ID NRIUNUM_ 14 NFMACRO 45 15 NFTIMECU 65 17 NFUNLOAD 69 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.013 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 9 77 ID NRSACTN_ 9 NFCSCOMM 77 287 290 293 301 304 307 311 9 78 ID NRTCWDCT_ 9 NFCSCOMM 78 181 12 NFCSSEND 23 24 25 27 35 36 37 40 41 42 45 50 51 52 54 56 59 5 31 DI NSAFMSGH_ 9 NFCSCOMM 226 5 32 DI NSAFMSGL_ 9 NFCSCOMM 226 9 79 ID NSAFMSGT_ 9 NFCSCOMM 79 226 231 9 80 ID NSAFOFST_ 9 NFCSCOMM 80 226 5 34 DI NSAFPARH_ 9 NFCSCOMM 228 5 33 DI NSAFPARL_ 9 NFCSCOMM 228 9 81 ID NSAFPARM_ 9 NFCSCOMM 81 228 231 5 165 DI NSAFREQ_ 9 NFCSCOMM 231 5 179 DI NSAPNUM_ NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.014 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 19 NFSAFING 103 14 46 ID NSEQPT_ 14 NFMACRO 46 73 137 138 139 141 145 148 15 NFTIMECU 21 22 23 25 50 65 73 75 77 81 86 88 17 NFUNLOAD 46 47 48 50 63 69 76 79 89 92 104 5 17 DI NSLEWDET_ 9 NFCSCOMM 398 11 NFSLEW 42 12 15 ID NSLEWMAC_ 12 NFCSSEND 15 23 24 25 9 82 ID NSLEWREQ_ 9 NFCSCOMM 82 164 11 NFSLEW 46 76 11 34 ID NSLEWVEC_ 11 NFSLEW 34 48 49 65 9 85 ID NSLWCONF_ 9 NFCSCOMM 85 179 11 NFSLEW 45 5 166 DI NSLWFAIL_ 11 NFSLEW 71 9 88 ID NSOFTMX_ 9 NFCSCOMM 88 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.015 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 5 180 DI NSUSEQNM_ 6 NFACTION 39 5 38 DI NSUSMSGH_ 9 NFCSCOMM 240 5 37 DI NSUSMSGL_ 9 NFCSCOMM 240 9 90 ID NSUSMSGT_ 9 NFCSCOMM 90 240 245 9 89 ID NSUSOFST_ 9 NFCSCOMM 89 240 5 40 DI NSUSPARH_ 9 NFCSCOMM 242 5 39 DI NSUSPARL_ 9 NFCSCOMM 242 9 91 ID NSUSPARM_ 9 NFCSCOMM 91 242 245 5 167 DI NSUSREQ_ 9 NFCSCOMM 245 5 131 DI NSUSTATE_ 6 NFACTION 48 9 92 ID NSWRESET_ 9 NFCSCOMM 92 304 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.016 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 5 168 DI NSWRSOTR_ 9 NFCSCOMM 307 9 121 ID NSWRSUSP_ 9 NFCSCOMM 121 301 5 134 DI NSWSPARE_ 5 90 DI NSWSPED_ 9 NFCSCOMM 386 389 392 395 398 402 404 406 409 9 150 ID NTDFCUR_ 9 NFCSCOMM 150 355 360 12 16 ID NTDFDMAC_ 12 NFCSSEND 16 35 36 37 9 151 ID NTDFFWD_ 9 NFCSCOMM 151 180 361 9 154 ID NTDFSAVE_ 9 NFCSCOMM 154 168 360 12 17 ID NTDFUMAC_ 12 NFCSSEND 17 40 41 42 14 47 ID NTIMEMAC_ 14 NFMACRO 47 15 NFTIMECU 77 14 48 ID NUMCMDBF_ 14 NFMACRO 48 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.017 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 17 18 ID NWORD_ 17 NFUNLOAD 18 57 60 76 106 110 114 5 14 DI NXSLEWHI_ 9 NFCSCOMM 389 11 NFSLEW 48 5 13 DI NXSLEWLO_ 9 NFCSCOMM 386 11 NFSLEW 48 5 16 DI NYSLEWHI_ 9 NFCSCOMM 395 11 NFSLEW 49 5 15 DI NYSLEWLO_ 9 NFCSCOMM 392 11 NFSLEW 49 9 158 ID PITWRD2_ 9 NFCSCOMM 158 354 355 5 181 DI REPLYMSK_ 9 NFCSCOMM 186 14 NFMACRO 70 7 13 ID RTCSADR_ 7 NFPARITY 13 35 14 49 ID RTCSLEN_ NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 35.018 01 JAN 95 INDEX TO DATA ITEMS INDEX TO DATA ITEMS (continued) -------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 14 NFMACRO 49 4 14 DI SAFING_ 6 NFACTION 33 19 33 ID SAFJUST_ 19 NFSAFING 33 42 52 73 89 101 4 15 DI SI2USEQT_ 14 NFMACRO 67 4 16 DI SSMTIMEH_ 15 NFTIMECU 37 39 4 17 DI SSMTIMEL_ 15 NFTIMECU 30 9 159 ID TDFMASK_ 9 NFCSCOMM 159 355 10 18 ID TEMP_ 10 NFALIVE 18 29 35 43 16 NFLOADED 18 49 51 19 NFSAFING 36 86 88 15 NFTIMECU 81 83 17 NFUNLOAD 19 79 81 114 116 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 36 01 JAN 95 ************************** * * * INDEX TO FLOW SEGMENTS * * * ************************** NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 36.001 01 JAN 95 INDEX TO FLOW SEGMENTS INDEX TO FLOW SEGMENTS ---------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 21 FS NCOMSKEL 6 FS NFACTION 10 NFALIVE 35 43 9 NFCSCOMM 200 206 231 245 259 311 340 12 NFCSSEND 64 73 16 NFLOADED 35 51 14 NFMACRO 103 129 153 163 11 NFSLEW 42 71 15 NFTIMECU 92 17 NFUNLOAD 116 10 FS NFALIVE 9 NFCSCOMM 216 9 FS NFCSCOMM 12 FS NFCSSEND 9 NFCSCOMM 373 16 FS NFLOADED 14 NFMACRO 95 117 14 FS NFMACRO 7 FS NFPARITY 15 NFTIMECU 83 17 NFUNLOAD 81 19 FS NFSAFING NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 36.002 01 JAN 95 INDEX TO FLOW SEGMENTS INDEX TO FLOW SEGMENTS (continued) ----------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 11 FS NFSLEW 9 NFCSCOMM 322 15 FS NFTIMECU 14 NFMACRO 83 17 FS NFUNLOAD 14 NFMACRO 107 125 22 FS NMACSKEL 24 FS ZIDELT 12 NFCSSEND 59 14 NFMACRO 148 25 FS ZILIM 19 NFSAFING 69 32 FS ZIPITR 9 NFCSCOMM 354 26 FS ZIREF 9 NFCSCOMM 337 27 FS ZIRTCC 6 NFACTION 39 12 NFCSSEND 68 14 NFMACRO 157 28 FS ZISAFE 6 NFACTION 33 43 NEAR INFRARED CAMERA AND MULTI-OBJECT SPECTROMETER (NICMOS) PAGE 36.003 01 JAN 95 INDEX TO FLOW SEGMENTS INDEX TO FLOW SEGMENTS (continued) ----------------------------------- PAGE LINE TYPE NAME AND REFERENCES ---- ---- ---- ------------------- 19 NFSAFING 103 29 FS ZISEF 9 NFCSCOMM 331 30 FS ZISLEW 11 NFSLEW 65 31 FS ZISPED 9 NFCSCOMM 177 33 FS ZISTAT 6 NFACTION 46 56 19 NFSAFING 54 72 88 ************************** * * * END OF DESIGN DOCUMENT * * * **************************