00001
00002
00003
00004
00006
00007 #include "ApnCamData_KAF3200E.h"
00008
00009 #include <stdlib.h>
00010 #include <malloc.h>
00011 #include <string.h>
00012
00013
00015
00017
00018
00019 CApnCamData_KAF3200E::CApnCamData_KAF3200E()
00020 {
00021 }
00022
00023
00024 CApnCamData_KAF3200E::~CApnCamData_KAF3200E()
00025 {
00026 }
00027
00028
00029 void CApnCamData_KAF3200E::Initialize()
00030 {
00031 strcpy( m_Sensor, "KAF3200E" );
00032 strcpy( m_CameraModel, "32" );
00033 m_CameraId = 6;
00034 m_InterlineCCD = false;
00035 m_SupportsSerialA = true;
00036 m_SupportsSerialB = true;
00037 m_SensorTypeCCD = true;
00038 m_TotalColumns = 2267;
00039 m_ImagingColumns = 2184;
00040 m_ClampColumns = 46;
00041 m_PreRoiSkipColumns = 0;
00042 m_PostRoiSkipColumns = 0;
00043 m_OverscanColumns = 37;
00044 m_TotalRows = 1510;
00045 m_ImagingRows = 1472;
00046 m_UnderscanRows = 34;
00047 m_OverscanRows = 4;
00048 m_VFlushBinning = 4;
00049 m_EnableSingleRowOffset = false;
00050 m_RowOffsetBinning = 1;
00051 m_HFlushDisable = false;
00052 m_ShutterCloseDelay = 20;
00053 m_PixelSizeX = 6.8;
00054 m_PixelSizeY = 6.8;
00055 m_Color = false;
00056 m_ReportedGainSixteenBit = 1;
00057 m_MinSuggestedExpTime = 10.0;
00058 m_CoolingSupported = true;
00059 m_RegulatedCoolingSupported = true;
00060 m_TempSetPoint = -20.0;
00061 m_TempRampRateOne = 1000;
00062 m_TempRampRateTwo = 2000;
00063 m_TempBackoffPoint = 2.0;
00064 m_DefaultGainTwelveBit = 100;
00065 m_DefaultOffsetTwelveBit = 255;
00066 m_DefaultRVoltage = 1000;
00067
00068 set_vpattern();
00069
00070 set_hpattern_clamp_sixteen();
00071 set_hpattern_skip_sixteen();
00072 set_hpattern_roi_sixteen();
00073
00074 set_hpattern_clamp_twelve();
00075 set_hpattern_skip_twelve();
00076 set_hpattern_roi_twelve();
00077 }
00078
00079
00080 void CApnCamData_KAF3200E::set_vpattern()
00081 {
00082 const unsigned short Mask = 0x0;
00083 const unsigned short NumElements = 39;
00084 unsigned short Pattern[NumElements] =
00085 {
00086 0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
00087 0x0004, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
00088 0x0002, 0x0204, 0x0204, 0x0204, 0x0204, 0x0204, 0x0204, 0x0204, 0x0204, 0x0204,
00089 0x0204, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000
00090 };
00091
00092 m_VerticalPattern.Mask = Mask;
00093 m_VerticalPattern.NumElements = NumElements;
00094 m_VerticalPattern.PatternData =
00095 (unsigned short *)malloc(NumElements * sizeof(unsigned short));
00096
00097 for ( int i=0; i<NumElements; i++ )
00098 {
00099 m_VerticalPattern.PatternData[i] = Pattern[i];
00100 }
00101 }
00102
00103
00104 void CApnCamData_KAF3200E::set_hpattern_skip_sixteen()
00105 {
00106 const unsigned short Mask = 0x2;
00107 const unsigned short BinningLimit = 1;
00108 const unsigned short RefNumElements = 11;
00109 const unsigned short SigNumElements = 12;
00110
00111 unsigned short RefPatternData[RefNumElements] =
00112 {
00113 0x0064, 0x006A, 0x006A, 0x0068, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8,
00114 0x00C8
00115 };
00116
00117 unsigned short SigPatternData[SigNumElements] =
00118 {
00119 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0144, 0x0104, 0x0004,
00120 0x0005, 0x0004
00121 };
00122
00123 unsigned short BinNumElements[APN_MAX_HBINNING] =
00124 {
00125 0x0002
00126 };
00127
00128 unsigned short BinPatternData[1][256] = {
00129 {
00130 0x0048, 0x0044
00131 } };
00132
00133 set_hpattern( &m_SkipPatternSixteen,
00134 Mask,
00135 BinningLimit,
00136 RefNumElements,
00137 SigNumElements,
00138 BinNumElements,
00139 RefPatternData,
00140 SigPatternData,
00141 BinPatternData );
00142 }
00143
00144
00145 void CApnCamData_KAF3200E::set_hpattern_clamp_sixteen()
00146 {
00147 const unsigned short Mask = 0x2;
00148 const unsigned short BinningLimit = 1;
00149 const unsigned short RefNumElements = 25;
00150 const unsigned short SigNumElements = 24;
00151
00152 unsigned short RefPatternData[RefNumElements] =
00153 {
00154 0x0064, 0x006A, 0x006A, 0x0068, 0x0068, 0x1068, 0x1068, 0x1068, 0x1068, 0x1048,
00155 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8,
00156 0x10C8, 0x10C8, 0x10C8, 0x10C8, 0x10C8
00157 };
00158
00159 unsigned short SigPatternData[SigNumElements] =
00160 {
00161 0x0044, 0x0044, 0x0004, 0x0004, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104,
00162 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004,
00163 0x0404, 0x0004, 0x0005, 0x0064
00164 };
00165
00166 unsigned short BinNumElements[APN_MAX_HBINNING] =
00167 {
00168 0x0002
00169 };
00170
00171 unsigned short BinPatternData[1][256] = {
00172 {
00173 0x0048, 0x0044
00174 } };
00175
00176 set_hpattern( &m_ClampPatternSixteen,
00177 Mask,
00178 BinningLimit,
00179 RefNumElements,
00180 SigNumElements,
00181 BinNumElements,
00182 RefPatternData,
00183 SigPatternData,
00184 BinPatternData );
00185 }
00186
00187
00188 void CApnCamData_KAF3200E::set_hpattern_roi_sixteen()
00189 {
00190 const unsigned short Mask = 0x2;
00191 const unsigned short BinningLimit = 10;
00192 const unsigned short RefNumElements = 25;
00193 const unsigned short SigNumElements = 27;
00194
00195 unsigned short RefPatternData[RefNumElements] =
00196 {
00197 0x0064, 0x006A, 0x006A, 0x0068, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8,
00198 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8,
00199 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8
00200 };
00201
00202 unsigned short SigPatternData[SigNumElements] =
00203 {
00204 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0144, 0x0104, 0x0104,
00205 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104,
00206 0x0104, 0x0104, 0x0104, 0x0104, 0x8004, 0x8005, 0x0404
00207 };
00208
00209 unsigned short BinNumElements[APN_MAX_HBINNING] =
00210 {
00211 0x0002, 0x002A, 0x0052, 0x007A, 0x00A2, 0x00CA, 0x00B6, 0x00C6, 0x00A2, 0x00B6
00212 };
00213
00214 unsigned short BinPatternData[10][256] = {
00215 {
00216 0x0048, 0x0044
00217 },
00218 {
00219 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00220 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00221 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00222 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00223 0x0048, 0x0044
00224 },
00225 {
00226 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00227 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00228 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00229 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00230 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00231 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00232 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00233 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00234 0x0048, 0x0044
00235 },
00236 {
00237 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00238 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00239 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00240 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00241 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00242 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00243 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00244 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00245 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00246 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00247 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00248 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00249 0x0048, 0x0044
00250 },
00251 {
00252 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00253 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00254 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00255 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00256 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00257 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00258 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00259 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00260 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00261 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00262 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00263 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00264 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00265 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00266 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00267 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00268 0x0048, 0x0044
00269 },
00270 {
00271 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00272 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00273 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00274 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00275 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00276 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00277 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00278 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00279 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00280 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00281 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00282 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00283 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00284 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00285 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00286 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00287 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00288 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00289 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00290 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00291 0x0048, 0x0044
00292 },
00293 {
00294 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00295 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048,
00296 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00297 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00298 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048,
00299 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00300 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00301 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048,
00302 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00303 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00304 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048,
00305 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00306 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00307 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048,
00308 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00309 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00310 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048,
00311 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00312 0x0048, 0x0044
00313 },
00314 {
00315 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00316 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00317 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044,
00318 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00319 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00320 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044,
00321 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00322 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00323 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00324 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048,
00325 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00326 0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00327 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048,
00328 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00329 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00330 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00331 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044,
00332 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00333 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00334 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044
00335 },
00336 {
00337 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00338 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00339 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00340 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00341 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00342 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00343 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00344 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00345 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00346 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00347 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00348 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00349 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00350 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00351 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00352 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00353 0x0048, 0x0044
00354 },
00355 {
00356 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00357 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00358 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00359 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00360 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00361 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00362 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00363 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00364 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00365 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00366 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00367 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00368 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00369 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00370 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00371 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00372 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044,
00373 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
00374 0x0048, 0x0044
00375 } };
00376
00377 set_hpattern( &m_RoiPatternSixteen,
00378 Mask,
00379 BinningLimit,
00380 RefNumElements,
00381 SigNumElements,
00382 BinNumElements,
00383 RefPatternData,
00384 SigPatternData,
00385 BinPatternData );
00386 }
00387
00388
00389 void CApnCamData_KAF3200E::set_hpattern_skip_twelve()
00390 {
00391 const unsigned short Mask = 0x0;
00392 const unsigned short BinningLimit = 1;
00393 const unsigned short RefNumElements = 0;
00394 const unsigned short SigNumElements = 0;
00395
00396 unsigned short *RefPatternData = NULL;
00397
00398 unsigned short *SigPatternData = NULL;
00399
00400 unsigned short BinNumElements[APN_MAX_HBINNING] =
00401 {
00402 0x000B
00403 };
00404
00405 unsigned short BinPatternData[1][256] = {
00406 {
00407 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2008, 0x0004, 0x0004, 0x0004, 0x0005,
00408 0x4004
00409 } };
00410
00411 set_hpattern( &m_SkipPatternTwelve,
00412 Mask,
00413 BinningLimit,
00414 RefNumElements,
00415 SigNumElements,
00416 BinNumElements,
00417 RefPatternData,
00418 SigPatternData,
00419 BinPatternData );
00420 }
00421
00422
00423 void CApnCamData_KAF3200E::set_hpattern_clamp_twelve()
00424 {
00425 const unsigned short Mask = 0x0;
00426 const unsigned short BinningLimit = 1;
00427 const unsigned short RefNumElements = 0;
00428 const unsigned short SigNumElements = 0;
00429
00430 unsigned short *RefPatternData = NULL;
00431
00432 unsigned short *SigPatternData = NULL;
00433
00434 unsigned short BinNumElements[APN_MAX_HBINNING] =
00435 {
00436 0x000C
00437 };
00438
00439 unsigned short BinPatternData[1][256] = {
00440 {
00441 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x2004, 0x0004, 0x0004,
00442 0x0005, 0x4004
00443 } };
00444
00445 set_hpattern( &m_ClampPatternTwelve,
00446 Mask,
00447 BinningLimit,
00448 RefNumElements,
00449 SigNumElements,
00450 BinNumElements,
00451 RefPatternData,
00452 SigPatternData,
00453 BinPatternData );
00454 }
00455
00456
00457 void CApnCamData_KAF3200E::set_hpattern_roi_twelve()
00458 {
00459 const unsigned short Mask = 0x0;
00460 const unsigned short BinningLimit = 10;
00461 const unsigned short RefNumElements = 0;
00462 const unsigned short SigNumElements = 0;
00463
00464 unsigned short *RefPatternData = NULL;
00465
00466 unsigned short *SigPatternData = NULL;
00467
00468 unsigned short BinNumElements[APN_MAX_HBINNING] =
00469 {
00470 0x000A, 0x0011, 0x0019, 0x0021, 0x0029, 0x0031, 0x0039, 0x0041, 0x0049, 0x0051
00471 };
00472
00473 unsigned short BinPatternData[10][256] = {
00474 {
00475 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x8005, 0xC004
00476 },
00477 {
00478 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00479 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x8005, 0xC004
00480 },
00481 {
00482 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00483 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00484 0x0008, 0x0004, 0x0004, 0x8005, 0xC004
00485 },
00486 {
00487 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00488 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00489 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00490 0x0004, 0x8005, 0xC004
00491 },
00492 {
00493 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00494 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00495 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00496 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x8005,
00497 0xC004
00498 },
00499 {
00500 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00501 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00502 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00503 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004,
00504 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x8005, 0xC004
00505 },
00506 {
00507 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00508 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00509 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00510 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004,
00511 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008,
00512 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x8005, 0xC004
00513 },
00514 {
00515 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00516 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00517 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00518 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004,
00519 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008,
00520 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00521 0x0008, 0x0004, 0x0004, 0x8005, 0xC004
00522 },
00523 {
00524 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00525 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00526 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00527 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004,
00528 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008,
00529 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00530 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00531 0x0004, 0x8005, 0xC004
00532 },
00533 {
00534 0x0004, 0x020A, 0x0008, 0x0008, 0x0008, 0x2004, 0x0004, 0x0004, 0x0004, 0x0008,
00535 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00536 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00537 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004,
00538 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008,
00539 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008,
00540 0x0008, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004,
00541 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 0x0004, 0x0004, 0x8005,
00542 0xC004
00543 } };
00544
00545 set_hpattern( &m_RoiPatternTwelve,
00546 Mask,
00547 BinningLimit,
00548 RefNumElements,
00549 SigNumElements,
00550 BinNumElements,
00551 RefPatternData,
00552 SigPatternData,
00553 BinPatternData );
00554 }
00555
00556
00557 void CApnCamData_KAF3200E::set_hpattern( APN_HPATTERN_FILE *Pattern,
00558 unsigned short Mask,
00559 unsigned short BinningLimit,
00560 unsigned short RefNumElements,
00561 unsigned short SigNumElements,
00562 unsigned short BinNumElements[],
00563 unsigned short RefPatternData[],
00564 unsigned short SigPatternData[],
00565 unsigned short BinPatternData[][APN_MAX_PATTERN_ENTRIES] )
00566 {
00567 int i, j;
00568
00569 Pattern->Mask = Mask;
00570 Pattern->BinningLimit = BinningLimit;
00571 Pattern->RefNumElements = RefNumElements;
00572 Pattern->SigNumElements = SigNumElements;
00573
00574 if ( RefNumElements > 0 )
00575 {
00576 Pattern->RefPatternData =
00577 (unsigned short *)malloc(RefNumElements * sizeof(unsigned short));
00578
00579 for ( i=0; i<RefNumElements; i++ )
00580 {
00581 Pattern->RefPatternData[i] = RefPatternData[i];
00582 }
00583 }
00584
00585 if ( SigNumElements > 0 )
00586 {
00587 Pattern->SigPatternData =
00588 (unsigned short *)malloc(SigNumElements * sizeof(unsigned short));
00589
00590 for ( i=0; i<SigNumElements; i++ )
00591 {
00592 Pattern->SigPatternData[i] = SigPatternData[i];
00593 }
00594 }
00595
00596 if ( BinningLimit > 0 )
00597 {
00598 for ( i=0; i<BinningLimit; i++ )
00599 {
00600 Pattern->BinNumElements[i] = BinNumElements[i];
00601
00602 Pattern->BinPatternData[i] =
00603 (unsigned short *)malloc(BinNumElements[i] * sizeof(unsigned short));
00604
00605 for ( j=0; j<BinNumElements[i]; j++ )
00606 {
00607 Pattern->BinPatternData[i][j] = BinPatternData[i][j];
00608 }
00609 }
00610 }
00611 }