ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/JSOC/proj/lev0/apps/quallev0.h
Revision: 1.9
Committed: Fri Oct 11 22:22:28 2013 UTC (9 years, 11 months ago) by prodtest
Content type: text/plain
Branch: MAIN
CVS Tags: Ver_8-8, Ver_8-2, Ver_8-3, Ver_8-6, Ver_8-7, Ver_8-4, Ver_8-5, Ver_8-10, Ver_8-11
Changes since 1.8: +2 -0 lines
Log Message:
Added camera anomaly bit 0x00008000 - Hao

File Contents

# Content
1 #ifndef __QUALLEV0_H
2 #define __QUALLEV0_H
3 //These are the meaning of the bits put into the QUALLEV0 keyword for a drms
4 //record from the ingest_lev0 processing.
5
6 //Bit0 is the low bit (0x01)
7 //The first 4 bits are determined from the Img sturct passed back by
8 //imgdecode()
9 #define Q_OVFL 0x01 //overflow flag set
10 #define Q_HDRERR 0x02 //header error flag set
11 #define Q_CMPERR 0x04 //compression error in image
12 #define Q_LPXERR 0x08 //last pixel error
13
14 //image status packet is missing if FSN != HSQFGSN
15 #define Q_NOISP 0x10 //no ISP
16 #define Q_MISSI 0x20 //missing image
17 #define Q_CORRUPT 0x40 //corrupt image (FSN=469769216 0x1c001c00)
18 #define Q_INVALTIME 0x80//HOBITSEC = 0 (T_OBS = 1958.01.01_00:00:00_UTC)
19
20 //missvals is from Img struct totalvals-datavals
21 #define Q_MISS0 0x100 //missvals > 0
22 #define Q_MISS1 0x200 //missvals > 0.01*totalvals
23 #define Q_MISS2 0x400 //missvals > 0.05*totalvals
24 #define Q_MISS3 0x800 //missvals > 0.25*totalvals
25 #define Q_CAM_ANOM 0x8000 //Camera Anomaly - Entered by hand - Hao QUALITY=0x00008000
26
27 //HMI sepecific
28 #define Q_DARK 0x10000 //dark image (bit 16)
29 //#define Q_SEQERR 0x10000 //sequencer error HSEQERR != 'SUCCESS'
30 #define Q_ISSOPEN 0x20000 //ISS loop open HWLTNSET = 'OPEN'
31 #define Q_HCF1ENCD 0x40000 //Focus/Cal Motor 1 Error
32 //HCF1ENCD ne HCF1POS +/- 1
33 #define Q_HCF2ENCD 0x80000 //Focus/Cal Motor 2 Error
34 //HCF2ENCD ne HCF2POS +/- 1
35 #define Q_HPS1ENCD 0x100000 //Polarization MTR 1 Error
36 //HPS1ENCD ne HPL1POS +/- 1 %240
37 #define Q_HPS2ENCD 0x200000 //Polarization MTR 2 Error
38 //HPS2ENCD ne HPL2POS +/- 1 %240
39 #define Q_HPS3ENCD 0x400000 //Polarization MTR 3 Error
40 //HPS3ENCD ne HPL3POS +/- 1 %240
41 #define Q_HWT1ENCD 0x800000 //Wavelength Motor 1 Error
42 //HWT1ENCD ne HWL1POS +/- 1 %240
43 #define Q_HWT2ENCD 0x1000000 //Wavelength Motor 2 Error
44 //HWT2ENCD ne HWL2POS +/- 1 %240
45 #define Q_HWT3ENCD 0x2000000 //Wavelength Motor 3 Error
46 //HWT3ENCD ne HWL3POS +/- 1 %240
47 #define Q_HWT4ENCD 0x4000000 //Wavelength Motor 4 Error
48 //HWT4ENCD ne HWL4POS +/- 1 %240
49
50 #define Q_GPREGBIT0 0x10000000
51 #define Q_GPREGBIT1 0x20000000
52 #define Q_REOPENED 0x40000000 // image reopened during reconstruction; NPACKETS value may be incorrect
53 #define Q_MISSALL 0x80000000 //data is completely missing. high bit
54
55 //Fits keyword and Image Status Packet (ISP) keyword translation:
56 //HWLTNSET = HMI_IMG_ISS_LOOP
57 //HSEQERR = HMI_SEQ_ERROR
58 //
59 //HCF1ENCD = HMI_CF1_ENCODER
60 //HCF2ENCD = HMI_CF1_ENCODER
61 //HPS1ENCD = HMI_PL1_ENCODER
62 //HPS2ENCD = HMI_PL2_ENCODER
63 //HPS3ENCD = HMI_PL3_ENCODER
64 //HWT1ENCD = HMI_WT1_ENCODER
65 //HWT2ENCD = HM2_WT1_ENCODER
66 //HWT3ENCD = HM3_WT1_ENCODER
67 //HWT4ENCD = HM4_WT1_ENCODER
68 //
69 //HCF1POS = HMI_FSW_CF1_CMDED_TARGET
70 //HCF2POS = HMI_FSW_CF2_CMDED_TARGET
71 //HPL1POS = HMI_FSW_PL1_CMDED_TARGET
72 //HPL2POS = HMI_FSW_PL2_CMDED_TARGET
73 //HPL3POS = HMI_FSW_PL3_CMDED_TARGET
74 //HWL1POS = HMI_FSW_WT1_CMDED_TARGET
75 //HWL2POS = HMI_FSW_WT2_CMDED_TARGET
76 //HWL3POS = HMI_FSW_WT3_CMDED_TARGET
77 //HWL4POS = HMI_FSW_WT4_CMDED_TARGET
78
79 //AIA sepecific
80 #define AQ_ISSOPEN 0x20000 //ISS loop open AISTATE = 'OPEN'
81 #define A94Mech_Err 0x40000 //AIAWVLEN == 94 &&
82 //{(AIFILTYP == 0 && AIFWEN != 269 && AIFWEN != 270)
83 //|| (AIFILTYP == 1 && AIFWEN != 11 && AIFWEN != 12)
84 //|| (AIFILTYP == 2 && AIFWEN != 74 && AIFWEN != 75)
85 #define A131Mech_Err 0x80000 //AIAWVLEN == 131 &&
86 //{(AIFILTYP == 0 && AIFWEN != 269 && AIFWEN != 270)
87 //|| (AIFILTYP == 1 && AIFWEN != 11 && AIFWEN != 12)
88 //|| (AIFILTYP == 2 && AIFWEN != 74 && AIFWEN != 75)
89 #define A171Mech_Err 0x100000 //AIAWVLEN == 171 &&
90 //{(AIFILTYP == 0 && AIFWEN != 203 && AIFWEN != 204)
91 //|| (AIFILTYP == 1 && AIFWEN != 11 && AIFWEN != 12)
92 #define A193Mech_Err 0x200000 //AIAWVLEN == 193 && {AIASEN != 6
93 //|| (AIFILTYP == 0 && AIFWEN != 269 && AIFWEN != 270)
94 //|| (AIFILTYP == 1 && AIFWEN != 11 && AIFWEN != 12)
95 //|| (AIFILTYP == 2 && AIFWEN != 74 && AIFWEN != 75)
96 #define A211Mech_Err 0x400000 //AIAWVLEN == 211 && {AIASEN != 24
97 //|| (AIFILTYP == 0 && AIFWEN != 203 && AIFWEN != 204)
98 //|| (AIFILTYP == 1 && AIFWEN != 137 && AIFWEN != 138)
99 //|| (AIFILTYP == 2 && AIFWEN != 74 && AIFWEN != 75)
100 #define A304Mech_Err 0x800000 //AIAWVLEN == 304 &&
101 // {(AIFILTYP == 0 && AIFWEN != 203 && AIFWEN != 204)
102 //|| (AIFILTYP == 1 && AIFWEN != 137 && AIFWEN != 138)
103 //|| (AIFILTYP == 2 && AIFWEN != 74 && AIFWEN != 75)
104 #define A335Mech_Err 0x1000000 //AIAWVLEN == 335 &&
105 // {(AIFILTYP == 0 && AIFWEN != 203 && AIFWEN != 204)
106 //|| (AIFILTYP == 1 && AIFWEN != 137 && AIFWEN != 138)
107 //|| (AIFILTYP == 2 && AIFWEN != 74 && AIFWEN != 75)
108 #define A160Mech_Err 0x2000000 //AIAWVLEN == 1600 && AIFWEN != 269 &&
109 // AIFWEN != 270
110 #define A170Mech_Err 0x4000000 //AIAWVLEN == 1700 && AIFWEN != 137 &&
111 // AIFWEN != 138
112 #define A450Mech_Err 0x8000000 //AIAWVLEN == 4500 && AIFWEN != 74 &&
113 // AIFWEN != 75
114
115 #define AQ_INVAL_WL 0x10000000 //invalid wavelength WAVE_STR == "UNKNOWN"
116
117 //AIA Mechanism position definitions from Paul Boerner
118 //WAVELEN FILTER_TYPE FW_ENCODER AS_ENCODER"
119 //1600 "Don't check" "269 or 270" "Don't check"
120 // "Don't check" "269 or 270" "Don't check"
121 // "Don't check" "269 or 270" "Don't check"
122 //
123 //1700 "Don't check" "137 or 138" "Don't check"
124 // "Don't check" "137 or 138" "Don't check"
125 // "Don't check" "137 or 138" "Don't check"
126 //
127 //4500 "Don't check" "74 or 75" "Don't check"
128 // "Don't check" "74 or 75" "Don't check"
129 // "Don't check" "74 or 75" "Don't check"
130 //
131 //WAVELEN FILTER_TYPE FW_ENCODER AS_ENCODER"
132 //94 0 "269 or 270" "Don't check"
133 // 1 "11 or 12" "Don't check"
134 // 2 "74 or 75" "Don't check"
135 //
136 //133 0 "269 or 270" "Don't check"
137 // 1 "11 or 12" "Don't check"
138 // 2 "74 or 75" "Don't check"
139 //
140 //171 0 "203 or 204" "Don't check"
141 // 1 "11 or 12" "Don't check"
142 // 2 "Don't Check" "Don't check"
143 //
144 //304 0 "203 or 204" "Don't check"
145 // 1 "137 or 138" "Don't check"
146 // 2 "74 or 75" "Don't check"
147 //
148 //335 0 "203 or 204" "Don't check"
149 // 1 "137 or 138" "Don't check"
150 // 2 "74 or 75" "Don't check"
151 //
152 //WAVELEN FILTER_TYPE FW_ENCODER AS_ENCODER"
153 //193 0 "269 or 270" 6
154 // 1 "11 or 12" 6
155 // 2 "74 or 75" 6
156 //
157 //211 0 "203 or 204" 24
158 // 1 "137 or 138" 24
159 // 2 "74 or 75" 24
160 //
161 // ***************************************************************
162 //
163 //Fits keyword and Image Status Packet (ISP) keyword translation:
164 //
165 //ASQFSN AIA_SEQ_FRAME_SN longlong
166 //AISTATE AIA_IMG_ISS_LOOP string
167 //AIAWVLEN AIA_IMG_WAVELENGTH int
168 //AIASEN AIA_IMG_AS_ENCODER int
169 //AIFILTYP AIA_IMG_FILTER_TYPE short
170 //AIFWEN AIA_IMG_FW_ENCODE int
171 //AIFOENFL AIA_IMG_FOCUS_ENA_FLAG short
172 //
173 #endif
174