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

kstars

ApnCamData_CCD3011HS.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *                                                                         *
00003  *   This program is free software; you can redistribute it and/or modify  *
00004  *   it under the terms of the GNU General Public License as published by  *
00005  *   the Free Software Foundation; either version 2 of the License, or     *
00006  *   (at your option) any later version.                                   *
00007  *                                                                         *
00008  ***************************************************************************/
00009 
00010 
00012 //
00013 // ApnCamData_CCD3011HS.cpp:  Implementation file for the CApnCamData_CCD3011HS class.
00014 //
00016 
00017 #include "ApnCamData_CCD3011HS.h"
00018 
00019 #include <stdlib.h>
00020 #include <malloc.h>
00021 #include <string.h>
00022 
00023 
00025 // Construction/Destruction
00027 
00028 
00029 CApnCamData_CCD3011HS::CApnCamData_CCD3011HS()
00030 {
00031 }
00032 
00033 
00034 CApnCamData_CCD3011HS::~CApnCamData_CCD3011HS()
00035 {
00036 }
00037 
00038 
00039 void CApnCamData_CCD3011HS::Initialize()
00040 {
00041     strcpy( m_Sensor, "CCD3011HS" );
00042     strcpy( m_CameraModel, "30" );
00043     m_CameraId = 21;
00044     m_InterlineCCD = false;
00045     m_SupportsSerialA = true;
00046     m_SupportsSerialB = true;
00047     m_SensorTypeCCD = true;
00048     m_TotalColumns = 1040;
00049     m_ImagingColumns = 1024;
00050     m_ClampColumns = 8;
00051     m_PreRoiSkipColumns = 0;
00052     m_PostRoiSkipColumns = 0;
00053     m_OverscanColumns = 8;
00054     m_TotalRows = 256;
00055     m_ImagingRows = 256;
00056     m_UnderscanRows = 0;
00057     m_OverscanRows = 0;
00058     m_VFlushBinning = 4;
00059     m_EnableSingleRowOffset = false;
00060     m_RowOffsetBinning = 1;
00061     m_HFlushDisable = false;
00062     m_ShutterCloseDelay = 20;
00063     m_PixelSizeX = 26;
00064     m_PixelSizeY = 26;
00065     m_Color = false;
00066     m_ReportedGainSixteenBit = 2;
00067     m_MinSuggestedExpTime = 20.0;
00068     m_CoolingSupported = true;
00069     m_RegulatedCoolingSupported = true;
00070     m_TempSetPoint = -20.0;
00071     m_TempRampRateOne = 1000;
00072     m_TempRampRateTwo = 2000;
00073     m_TempBackoffPoint = 2.0;
00074     m_DefaultGainTwelveBit = 300;
00075     m_DefaultOffsetTwelveBit = 100;
00076     m_DefaultRVoltage = 1000;
00077 
00078     set_vpattern();
00079 
00080     set_hpattern_clamp_sixteen();
00081     set_hpattern_skip_sixteen();
00082     set_hpattern_roi_sixteen();
00083 
00084     set_hpattern_clamp_twelve();
00085     set_hpattern_skip_twelve();
00086     set_hpattern_roi_twelve();
00087 }
00088 
00089 
00090 void CApnCamData_CCD3011HS::set_vpattern()
00091 {
00092     const unsigned short Mask = 0x0;
00093     const unsigned short NumElements = 247;
00094     unsigned short Pattern[NumElements] = 
00095     {
00096         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00097         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00098         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00099         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00100         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00101         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00102         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00103         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 
00104         0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 0x000A, 
00105         0x000A, 0x000A, 0x000A, 0x000A, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00106         0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 
00107         0x0002, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00108         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00109         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 
00110         0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0004, 0x0004, 
00111         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 
00112         0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00113         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00114         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00115         0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 
00116         0x000C, 0x000C, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00117         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00118         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 
00119         0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000, 
00120         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000
00121     };
00122 
00123     m_VerticalPattern.Mask = Mask;
00124     m_VerticalPattern.NumElements = NumElements;
00125     m_VerticalPattern.PatternData = 
00126         (unsigned short *)malloc(NumElements * sizeof(unsigned short));
00127 
00128     for ( int i=0; i<NumElements; i++ )
00129     {
00130         m_VerticalPattern.PatternData[i] = Pattern[i];
00131     }
00132 }
00133 
00134 
00135 void CApnCamData_CCD3011HS::set_hpattern_skip_sixteen()
00136 {
00137     const unsigned short Mask = 0x0;
00138     const unsigned short BinningLimit = 1;
00139     const unsigned short RefNumElements = 22;
00140     const unsigned short SigNumElements = 8;
00141 
00142     unsigned short RefPatternData[RefNumElements] = 
00143     {
00144         0x006C, 0x0068, 0x006A, 0x006A, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8, 
00145         0x00D8, 0x00D8, 0x00D8, 0x00D8, 0x00D0, 0x00D0, 0x00D0, 0x00D0, 0x00D4, 0x00D4, 
00146         0x00D4, 0x00D4
00147     };
00148 
00149     unsigned short SigPatternData[SigNumElements] = 
00150     {
00151         0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004, 0x0005, 0x0004
00152     };
00153 
00154     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00155     {
00156         0x0002
00157     };
00158 
00159     unsigned short BinPatternData[1][256] = {
00160     {
00161         0x0054, 0x0044
00162     } };
00163 
00164     set_hpattern(   &m_SkipPatternSixteen,
00165                     Mask,
00166                     BinningLimit,
00167                     RefNumElements,
00168                     SigNumElements,
00169                     BinNumElements,
00170                     RefPatternData,
00171                     SigPatternData,
00172                     BinPatternData );
00173 }
00174 
00175 
00176 void CApnCamData_CCD3011HS::set_hpattern_clamp_sixteen()
00177 {
00178     const unsigned short Mask = 0x0;
00179     const unsigned short BinningLimit = 1;
00180     const unsigned short RefNumElements = 22;
00181     const unsigned short SigNumElements = 8;
00182 
00183     unsigned short RefPatternData[RefNumElements] = 
00184     {
00185         0x006C, 0x0068, 0x006A, 0x006A, 0x1068, 0x1068, 0x1068, 0x0068, 0x00E8, 0x00C8, 
00186         0x00D8, 0x00D8, 0x00D8, 0x00D8, 0x00D0, 0x00D0, 0x00D0, 0x00D0, 0x00D4, 0x00D4, 
00187         0x00D4, 0x00D4
00188     };
00189 
00190     unsigned short SigPatternData[SigNumElements] = 
00191     {
00192         0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0004, 0x0005, 0x0004
00193     };
00194 
00195     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00196     {
00197         0x0002
00198     };
00199 
00200     unsigned short BinPatternData[1][256] = {
00201     {
00202         0x0054, 0x0044
00203     } };
00204 
00205     set_hpattern(   &m_ClampPatternSixteen,
00206                     Mask,
00207                     BinningLimit,
00208                     RefNumElements,
00209                     SigNumElements,
00210                     BinNumElements,
00211                     RefPatternData,
00212                     SigPatternData,
00213                     BinPatternData );
00214 }
00215 
00216 
00217 void CApnCamData_CCD3011HS::set_hpattern_roi_sixteen()
00218 {
00219     const unsigned short Mask = 0x0;
00220     const unsigned short BinningLimit = 10;
00221     const unsigned short RefNumElements = 48;
00222     const unsigned short SigNumElements = 65;
00223 
00224     unsigned short RefPatternData[RefNumElements] = 
00225     {
00226         0x006C, 0x006C, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0078, 0x0078, 0x0078, 
00227         0x0078, 0x0078, 0x0070, 0x0070, 0x0074, 0x0074, 0x0076, 0x0076, 0x0076, 0x0074, 
00228         0x0074, 0x0074, 0x0074, 0x0074, 0x0074, 0x1074, 0x1074, 0x0074, 0x0074, 0x0074, 
00229         0x00F4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 
00230         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4
00231     };
00232 
00233     unsigned short SigPatternData[SigNumElements] = 
00234     {
00235         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 
00236         0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00237         0x0044, 0x0144, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00238         0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00239         0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 
00240         0x0104, 0x0104, 0x0104, 0x8104, 0x8104, 0x0004, 0x0004, 0x0004, 0x0004, 0x0404, 
00241         0x0404, 0x0004, 0x0004, 0x0005, 0x0004
00242     };
00243 
00244     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00245     {
00246         0x0002, 0x0024, 0x0058, 0x007A, 0x00A2, 0x00CA, 0x00B6, 0x00C6, 0x00A2, 0x00B6
00247     };
00248 
00249     unsigned short BinPatternData[10][256] = {
00250     {
00251         0x00D4, 0x00D4
00252     },
00253     {
00254         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x004C, 0x004C, 0x004C, 0x004C, 0x004C, 
00255         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0058, 0x0058, 0x0058, 0x0058, 
00256         0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0054, 0x0054, 0x0054, 0x0054, 0x0054, 
00257         0x0054, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044
00258     },
00259     {
00260         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 0x0048, 0x0044, 0x0044, 0x0044, 
00261         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00262         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 
00263         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00264         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044, 
00265         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00266         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 
00267         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00268         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 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
00284     },
00285     {
00286         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00287         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00288         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00289         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00290         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00291         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00292         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00293         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00294         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00295         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00296         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00297         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00298         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00299         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00300         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00301         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00302         0x0048, 0x0044
00303     },
00304     {
00305         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00306         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00307         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 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, 0x0044, 0x0044, 0x0044, 0x0044, 
00311         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00312         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00313         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00314         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00315         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00316         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00317         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00318         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00319         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00320         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00321         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00322         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00323         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00324         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00325         0x0048, 0x0044
00326     },
00327     {
00328         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00329         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 
00330         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00331         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00332         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 
00333         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00334         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00335         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 
00336         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00337         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00338         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 
00339         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00340         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00341         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 
00342         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00343         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00344         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 
00345         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00346         0x0048, 0x0044
00347     },
00348     {
00349         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00350         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00351         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 
00352         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00353         0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00354         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044, 
00355         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00356         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00357         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00358         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 
00359         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00360         0x0048, 0x0048, 0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00361         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 
00362         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00363         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00364         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00365         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044, 
00366         0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00367         0x0044, 0x0044, 0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00368         0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0044
00369     },
00370     {
00371         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00372         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00373         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00374         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00375         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00376         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00377         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00378         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00379         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00380         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00381         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00382         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00383         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00384         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00385         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00386         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00387         0x0048, 0x0044
00388     },
00389     {
00390         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00391         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00392         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00393         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00394         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00395         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00396         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00397         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00398         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00399         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00400         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00401         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00402         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00403         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00404         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00405         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00406         0x0048, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 
00407         0x0044, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 
00408         0x0048, 0x0044
00409     } };
00410 
00411     set_hpattern(   &m_RoiPatternSixteen,
00412                     Mask,
00413                     BinningLimit,
00414                     RefNumElements,
00415                     SigNumElements,
00416                     BinNumElements,
00417                     RefPatternData,
00418                     SigPatternData,
00419                     BinPatternData );
00420 }
00421 
00422 
00423 void CApnCamData_CCD3011HS::set_hpattern_skip_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         0x0017
00437     };
00438 
00439     unsigned short BinPatternData[1][256] = {
00440     {
00441         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00442         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00443         0x0004, 0x0005, 0x0004
00444     } };
00445 
00446     set_hpattern(   &m_SkipPatternTwelve,
00447                     Mask,
00448                     BinningLimit,
00449                     RefNumElements,
00450                     SigNumElements,
00451                     BinNumElements,
00452                     RefPatternData,
00453                     SigPatternData,
00454                     BinPatternData );
00455 }
00456 
00457 
00458 void CApnCamData_CCD3011HS::set_hpattern_clamp_twelve()
00459 {
00460     const unsigned short Mask = 0x0;
00461     const unsigned short BinningLimit = 1;
00462     const unsigned short RefNumElements = 0;
00463     const unsigned short SigNumElements = 0;
00464 
00465     unsigned short *RefPatternData = NULL;
00466 
00467     unsigned short *SigPatternData = NULL;
00468 
00469     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00470     {
00471         0x0017
00472     };
00473 
00474     unsigned short BinPatternData[1][256] = {
00475     {
00476         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00477         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00478         0x0004, 0x0005, 0x0004
00479     } };
00480 
00481     set_hpattern(   &m_ClampPatternTwelve,
00482                     Mask,
00483                     BinningLimit,
00484                     RefNumElements,
00485                     SigNumElements,
00486                     BinNumElements,
00487                     RefPatternData,
00488                     SigPatternData,
00489                     BinPatternData );
00490 }
00491 
00492 
00493 void CApnCamData_CCD3011HS::set_hpattern_roi_twelve()
00494 {
00495     const unsigned short Mask = 0x0;
00496     const unsigned short BinningLimit = 1;
00497     const unsigned short RefNumElements = 0;
00498     const unsigned short SigNumElements = 0;
00499 
00500     unsigned short *RefPatternData = NULL;
00501 
00502     unsigned short *SigPatternData = NULL;
00503 
00504     unsigned short BinNumElements[APN_MAX_HBINNING] = 
00505     {
00506         0x0017
00507     };
00508 
00509     unsigned short BinPatternData[1][256] = {
00510     {
00511         0x000C, 0x0008, 0x400A, 0x000A, 0x0008, 0x0008, 0x0218, 0x0018, 0x0018, 0x0018, 
00512         0x0010, 0x0010, 0x0010, 0x0010, 0x0014, 0x2014, 0x0004, 0x0004, 0x0004, 0x0004, 
00513         0x0004, 0x8005, 0x8004
00514     } };
00515 
00516     set_hpattern(   &m_RoiPatternTwelve,
00517                     Mask,
00518                     BinningLimit,
00519                     RefNumElements,
00520                     SigNumElements,
00521                     BinNumElements,
00522                     RefPatternData,
00523                     SigPatternData,
00524                     BinPatternData );
00525 }
00526 
00527 
00528 void CApnCamData_CCD3011HS::set_hpattern(   APN_HPATTERN_FILE   *Pattern,
00529                                             unsigned short  Mask,
00530                                             unsigned short  BinningLimit,
00531                                             unsigned short  RefNumElements,
00532                                             unsigned short  SigNumElements,
00533                                             unsigned short  BinNumElements[],
00534                                             unsigned short  RefPatternData[],
00535                                             unsigned short  SigPatternData[],
00536                                             unsigned short  BinPatternData[][APN_MAX_PATTERN_ENTRIES] )
00537 {
00538     int i, j;
00539 
00540     Pattern->Mask = Mask;
00541     Pattern->BinningLimit = BinningLimit;
00542     Pattern->RefNumElements = RefNumElements;
00543     Pattern->SigNumElements = SigNumElements;
00544 
00545     if ( RefNumElements > 0 )
00546     {
00547         Pattern->RefPatternData = 
00548             (unsigned short *)malloc(RefNumElements * sizeof(unsigned short));
00549 
00550         for ( i=0; i<RefNumElements; i++ )
00551         {
00552             Pattern->RefPatternData[i] = RefPatternData[i];
00553         }
00554     }
00555 
00556     if ( SigNumElements > 0 )
00557     {
00558         Pattern->SigPatternData = 
00559             (unsigned short *)malloc(SigNumElements * sizeof(unsigned short));
00560 
00561         for ( i=0; i<SigNumElements; i++ )
00562         {
00563             Pattern->SigPatternData[i] = SigPatternData[i];
00564         }
00565     }
00566 
00567     if ( BinningLimit > 0 )
00568     {
00569         for ( i=0; i<BinningLimit; i++ )
00570         {
00571             Pattern->BinNumElements[i] = BinNumElements[i];
00572 
00573             Pattern->BinPatternData[i] = 
00574                 (unsigned short *)malloc(BinNumElements[i] * sizeof(unsigned short));
00575 
00576             for ( j=0; j<BinNumElements[i]; j++ )
00577             {
00578                 Pattern->BinPatternData[i][j] = BinPatternData[i][j];
00579             }
00580         }
00581     }
00582 }

kstars

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

API Reference

Skip menu "API Reference"
  • keduca
  • kstars
Generated for API Reference by doxygen 1.5.9
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