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 *
* *
**************************