• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdeedu
  • Sitemap
  • Contact Us
 

kstars

ApnCamData_CCD5520B.cpp

Go to the documentation of this file.
00001 
00002 //
00003 // ApnCamData_CCD5520B.cpp:  Implementation file for the CApnCamData_CCD5520B class.
00004 //
00005 // Copyright (c) 2003, 2004 Apogee Instruments, Inc.
00006 //
00008 
00009 #include "ApnCamData_CCD5520B.h"
00010 
00011 #include <stdlib.h>
00012 #include <string.h>
00013 
00014 
00016 // Construction/Destruction
00018 
00019 
00020 CApnCamData_CCD5520B::CApnCamData_CCD5520B()
00021 {
00022 }
00023 
00024 
00025 CApnCamData_CCD5520B::~CApnCamData_CCD5520B()
00026 {
00027 }
00028 
00029 
00030 void CApnCamData_CCD5520B::Initialize()
00031 {
00032     strcpy( m_Sensor, "CCD5520B" );
00033     strcpy( m_CameraModel, "55" );
00034     m_CameraId = 19;
00035     m_InterlineCCD = false;
00036     m_SupportsSerialA = true;
00037     m_SupportsSerialB = true;
00038     m_SensorTypeCCD = true;
00039     m_TotalColumns = 804;
00040     m_ImagingColumns = 770;
00041     m_ClampColumns = 17;
00042     m_PreRoiSkipColumns = 0;
00043     m_PostRoiSkipColumns = 0;
00044     m_OverscanColumns = 17;
00045     m_TotalRows = 1152;
00046     m_ImagingRows = 1152;
00047     m_UnderscanRows = 0;
00048     m_OverscanRows = 0;
00049     m_VFlushBinning = 1;
00050     m_EnableSingleRowOffset = false;
00051     m_RowOffsetBinning = 1;
00052     m_HFlushDisable = false;
00053     m_ShutterCloseDelay = 300;
00054     m_PixelSizeX = 22.5;
00055     m_PixelSizeY = 22.5;
00056     m_Color = false;
00057     m_ReportedGainSixteenBit = 2;
00058     m_MinSuggestedExpTime = 20.0;
00059     m_CoolingSupported = true;
00060     m_RegulatedCoolingSupported = true;
00061     m_TempSetPoint = -20.0;
00062     m_TempRampRateOne = 700;
00063     m_TempRampRateTwo = 4000;
00064     m_TempBackoffPoint = 2.0;
00065     m_PrimaryADType = ApnAdType_Alta_Sixteen;
00066     m_AlternativeADType = ApnAdType_Alta_Twelve;
00067     m_DefaultGainTwelveBit = 400;
00068     m_DefaultOffsetTwelveBit = 200;
00069     m_DefaultRVoltage = 1000;
00070 
00071     set_vpattern();
00072 
00073     set_hpattern_clamp_sixteen();
00074     set_hpattern_skip_sixteen();
00075     set_hpattern_roi_sixteen();
00076 
00077     set_hpattern_clamp_twelve();
00078     set_hpattern_skip_twelve();
00079     set_hpattern_roi_twelve();
00080 }
00081 
00082 
00083 void CApnCamData_CCD5520B::set_vpattern()
00084 {
00085     const unsigned short Mask = 0xE;
00086     const unsigned short NumElements = 247;
00087     unsigned short Pattern[NumElements] = 
00088     {
00089         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00090         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00091         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00092         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00093         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00094         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00095         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00096         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 
00097         0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 
00098         0x000A, 0x000A, 0x000A, 0x000A, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00099         0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00100         0x0002, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00101         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00102         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00103         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0004, 0x0004, 
00104         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 
00105         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00106         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00107         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00108         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00109         0x000C, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00110         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00111         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00112         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000, 
00113         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000
00114     };
00115 
00116     m_VerticalPattern.Mask = Mask;
00117     m_VerticalPattern.NumElements = NumElements;
00118     m_VerticalPattern.PatternData = 
00119         (unsigned short *)malloc(NumElements * sizeof(unsigned short));
00120 
00121     for ( int i=0; i<NumElements; i++ )
00122     {
00123         m_VerticalPattern.PatternData[i] = Pattern[i];
00124     }
00125 }
00126 
00127 
00128 void CApnCamData_CCD5520B::set_hpattern_skip_sixteen()
00129 {
00130     const unsigned short Mask = 0x2;
00131     const unsigned short BinningLimit = 1;
00132     const unsigned short RefNumElements = 22;
00133     const unsigned short SigNumElements = 8;
00134 
00135     unsigned short RefPatternData[RefNumElements] = 
00136     {
00137         0x006C, 0x0068, 0x006A, 0x006A, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8, 
00138         0x00D8, 0x00D8, 0x00D8, 0x00D8, 0x00D0, 0x00D0, 0x00D0, 0x00D0, 0x00D4, 0x00D4, 
00139         0x00D4, 0x00D4
00140     };
00141 
00142     unsigned short SigPatternData[SigNumElements] = 
00143     {
00144         0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004, 0x0005, 0x0004
00145     };
00146 
00147     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00148     {
00149         0x0002
00150     };
00151 
00152     unsigned short BinPatternData[1][256] = {
00153     {
00154         0x0054, 0x0044
00155     } };
00156 
00157     set_hpattern(   &m_SkipPatternSixteen,
00158                     Mask,
00159                     BinningLimit,
00160                     RefNumElements,
00161                     SigNumElements,
00162                     BinNumElements,
00163                     RefPatternData,
00164                     SigPatternData,
00165                     BinPatternData );
00166 }
00167 
00168 
00169 void CApnCamData_CCD5520B::set_hpattern_clamp_sixteen()
00170 {
00171     const unsigned short Mask = 0x2;
00172     const unsigned short BinningLimit = 1;
00173     const unsigned short RefNumElements = 22;
00174     const unsigned short SigNumElements = 8;
00175 
00176     unsigned short RefPatternData[RefNumElements] = 
00177     {
00178         0x006C, 0x0068, 0x006A, 0x006A, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8, 
00179         0x00D8, 0x00D8, 0x00D8, 0x00D8, 0x00D0, 0x00D0, 0x00D0, 0x00D0, 0x00D4, 0x00D4, 
00180         0x00D4, 0x00D4
00181     };
00182 
00183     unsigned short SigPatternData[SigNumElements] = 
00184     {
00185         0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004, 0x0005, 0x0004
00186     };
00187 
00188     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00189     {
00190         0x0002
00191     };
00192 
00193     unsigned short BinPatternData[1][256] = {
00194     {
00195         0x0054, 0x0044
00196     } };
00197 
00198     set_hpattern(   &m_ClampPatternSixteen,
00199                     Mask,
00200                     BinningLimit,
00201                     RefNumElements,
00202                     SigNumElements,
00203                     BinNumElements,
00204                     RefPatternData,
00205                     SigPatternData,
00206                     BinPatternData );
00207 }
00208 
00209 
00210 void CApnCamData_CCD5520B::set_hpattern_roi_sixteen()
00211 {
00212     const unsigned short Mask = 0x2;
00213     const unsigned short BinningLimit = 6;
00214     const unsigned short RefNumElements = 59;
00215     const unsigned short SigNumElements = 35;
00216 
00217     unsigned short RefPatternData[RefNumElements] = 
00218     {
00219         0x006C, 0x006C, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0078, 0x0078, 0x0078, 
00220         0x0078, 0x0078, 0x0070, 0x0070, 0x0074, 0x0074, 0x0076, 0x0076, 0x0076, 0x0074, 
00221         0x0074, 0x0074, 0x0074, 0x0074, 0x0074, 0x1074, 0x1074, 0x0074, 0x0074, 0x0074, 
00222         0x0074, 0x0074, 0x00F4, 0x00F4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 
00223         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 
00224         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4
00225     };
00226 
00227     unsigned short SigPatternData[SigNumElements] = 
00228     {
00229         0x0044, 0x0044, 0x0044, 0x0144, 0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00230         0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00231         0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x8104, 
00232         0x8104, 0x0004, 0x0004, 0x0405, 0x0404
00233     };
00234 
00235     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00236     {
00237         0x0002, 0x0024, 0x0048, 0x006C, 0x0090, 0x00B4
00238     };
00239 
00240     unsigned short BinPatternData[6][256] = {
00241     {
00242         0x00C4, 0x0044
00243     },
00244     {
00245         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00246         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00247         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00248         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044
00249     },
00250     {
00251         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00252         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00253         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00254         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00255         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00256         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00257         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00258         0x0044, 0x0044
00259     },
00260     {
00261         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00262         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00263         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00264         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00265         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00266         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00267         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00268         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 
00269         0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 
00270         0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 
00271         0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044
00272     },
00273     {
00274         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00275         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00276         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00277         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00278         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00279         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00280         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00281         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 
00282         0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 
00283         0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 
00284         0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00285         0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 
00286         0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 
00287         0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 
00288         0x0044, 0x0044, 0x0044, 0x0044
00289     },
00290     {
00291         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00292         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00293         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00294         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00295         0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 
00296         0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 
00297         0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 
00298         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 
00299         0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 
00300         0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 
00301         0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00302         0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 
00303         0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 
00304         0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 
00305         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 
00306         0x004C, 0x004C, 0x004C, 0x004C, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00307         0x0058, 0x0058, 0x0058, 0x0058, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 
00308         0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00309     } };
00310 
00311     set_hpattern(   &m_RoiPatternSixteen,
00312                     Mask,
00313                     BinningLimit,
00314                     RefNumElements,
00315                     SigNumElements,
00316                     BinNumElements,
00317                     RefPatternData,
00318                     SigPatternData,
00319                     BinPatternData );
00320 }
00321 
00322 
00323 void CApnCamData_CCD5520B::set_hpattern_skip_twelve()
00324 {
00325     const unsigned short Mask = 0x0;
00326     const unsigned short BinningLimit = 1;
00327     const unsigned short RefNumElements = 0;
00328     const unsigned short SigNumElements = 0;
00329 
00330     unsigned short *RefPatternData = NULL;
00331 
00332     unsigned short *SigPatternData = NULL;
00333 
00334     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00335     {
00336         0x0017
00337     };
00338 
00339     unsigned short BinPatternData[1][256] = {
00340     {
00341         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00342         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00343         0x0004, 0x0005, 0x0004
00344     } };
00345 
00346     set_hpattern(   &m_SkipPatternTwelve,
00347                     Mask,
00348                     BinningLimit,
00349                     RefNumElements,
00350                     SigNumElements,
00351                     BinNumElements,
00352                     RefPatternData,
00353                     SigPatternData,
00354                     BinPatternData );
00355 }
00356 
00357 
00358 void CApnCamData_CCD5520B::set_hpattern_clamp_twelve()
00359 {
00360     const unsigned short Mask = 0x0;
00361     const unsigned short BinningLimit = 3;
00362     const unsigned short RefNumElements = 0;
00363     const unsigned short SigNumElements = 0;
00364 
00365     unsigned short *RefPatternData = NULL;
00366 
00367     unsigned short *SigPatternData = NULL;
00368 
00369     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00370     {
00371         0x0017, 0x002E, 0x0044
00372     };
00373 
00374     unsigned short BinPatternData[3][256] = {
00375     {
00376         0x080C, 0x0808, 0x0A0A, 0x080A, 0x0808, 0x0808, 0x0818, 0x0818, 0x0818, 0x0818, 
00377         0x0810, 0x0810, 0x2810, 0x0810, 0x0814, 0x0814, 0x0804, 0x0804, 0x0804, 0x0804, 
00378         0x4804, 0x0805, 0x0804
00379     },
00380     {
00381         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00382         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00383         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00384         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00385         0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00386     },
00387     {
00388         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00389         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00390         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00391         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00392         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 
00393         0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 
00394         0x0014, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00395     } };
00396 
00397     set_hpattern(   &m_ClampPatternTwelve,
00398                     Mask,
00399                     BinningLimit,
00400                     RefNumElements,
00401                     SigNumElements,
00402                     BinNumElements,
00403                     RefPatternData,
00404                     SigPatternData,
00405                     BinPatternData );
00406 }
00407 
00408 
00409 void CApnCamData_CCD5520B::set_hpattern_roi_twelve()
00410 {
00411     const unsigned short Mask = 0x6802;
00412     const unsigned short BinningLimit = 3;
00413     const unsigned short RefNumElements = 0;
00414     const unsigned short SigNumElements = 0;
00415 
00416     unsigned short *RefPatternData = NULL;
00417 
00418     unsigned short *SigPatternData = NULL;
00419 
00420     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00421     {
00422         0x0017, 0x002E, 0x0044
00423     };
00424 
00425     unsigned short BinPatternData[3][256] = {
00426     {
00427         0x000C, 0x0008, 0x020A, 0x000A, 0x0008, 0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 
00428         0x0010, 0x0010, 0x2010, 0x2010, 0x0014, 0x0014, 0x0004, 0x0004, 0x0004, 0x0004, 
00429         0x0004, 0xC005, 0xC004
00430     },
00431     {
00432         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00433         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00434         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00435         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00436         0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00437     },
00438     {
00439         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00440         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00441         0x0004, 0x0004, 0x0004, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0018, 
00442         0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x0014, 0x0004, 
00443         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0008, 0x0008, 0x0008, 0x0008, 
00444         0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 
00445         0x0014, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x8005, 0x8004
00446     } };
00447 
00448     set_hpattern(   &m_RoiPatternTwelve,
00449                     Mask,
00450                     BinningLimit,
00451                     RefNumElements,
00452                     SigNumElements,
00453                     BinNumElements,
00454                     RefPatternData,
00455                     SigPatternData,
00456                     BinPatternData );
00457 }
00458 
00459 
00460 void CApnCamData_CCD5520B::set_hpattern(    APN_HPATTERN_FILE   *Pattern,
00461                                             unsigned short  Mask,
00462                                             unsigned short  BinningLimit,
00463                                             unsigned short  RefNumElements,
00464                                             unsigned short  SigNumElements,
00465                                             unsigned short  BinNumElements[],
00466                                             unsigned short  RefPatternData[],
00467                                             unsigned short  SigPatternData[],
00468                                             unsigned short  BinPatternData[][APN_MAX_PATTERN_ENTRIES] )
00469 {
00470     int i, j;
00471 
00472     Pattern->Mask = Mask;
00473     Pattern->BinningLimit = BinningLimit;
00474     Pattern->RefNumElements = RefNumElements;
00475     Pattern->SigNumElements = SigNumElements;
00476 
00477     if ( RefNumElements > 0 )
00478     {
00479         Pattern->RefPatternData = 
00480             (unsigned short *)malloc(RefNumElements * sizeof(unsigned short));
00481 
00482         for ( i=0; i<RefNumElements; i++ )
00483         {
00484             Pattern->RefPatternData[i] = RefPatternData[i];
00485         }
00486     }
00487 
00488     if ( SigNumElements > 0 )
00489     {
00490         Pattern->SigPatternData = 
00491             (unsigned short *)malloc(SigNumElements * sizeof(unsigned short));
00492 
00493         for ( i=0; i<SigNumElements; i++ )
00494         {
00495             Pattern->SigPatternData[i] = SigPatternData[i];
00496         }
00497     }
00498 
00499     if ( BinningLimit > 0 )
00500     {
00501         for ( i=0; i<BinningLimit; i++ )
00502         {
00503             Pattern->BinNumElements[i] = BinNumElements[i];
00504 
00505             Pattern->BinPatternData[i] = 
00506                 (unsigned short *)malloc(BinNumElements[i] * sizeof(unsigned short));
00507 
00508             for ( j=0; j<BinNumElements[i]; j++ )
00509             {
00510                 Pattern->BinPatternData[i][j] = BinPatternData[i][j];
00511             }
00512         }
00513     }
00514 }

kstars

Skip menu "kstars"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdeedu

Skip menu "kdeedu"
  • kalzium
  • kanagram
  • kig
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  •   docs
  •   src
  • parley
Generated for kdeedu by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal