kstars
ApnCamData.h
Go to the documentation of this file.00001 00002 // 00003 // ApnCamData.h: Interface file for the CApnCamData class. 00004 // 00005 // Copyright (c) 2003, 2004 Apogee Instruments, Inc. 00006 // 00008 00009 #if !defined(AFX_APNCAMDATA_H__32231556_A1FD_421B_94F8_295D4148E195__INCLUDED_) 00010 #define AFX_APNCAMDATA_H__32231556_A1FD_421B_94F8_295D4148E195__INCLUDED_ 00011 00012 #define APN_MAX_HBINNING 10 00013 #define APN_MAX_PATTERN_ENTRIES 256 00014 00015 00016 typedef struct _APN_VPATTERN_FILE { 00017 unsigned short Mask; 00018 unsigned short NumElements; 00019 unsigned short *PatternData; 00020 } APN_VPATTERN_FILE; 00021 00022 typedef struct _APN_HPATTERN_FILE { 00023 unsigned short Mask; 00024 unsigned short BinningLimit; 00025 unsigned short RefNumElements; 00026 unsigned short BinNumElements[APN_MAX_HBINNING]; 00027 unsigned short SigNumElements; 00028 unsigned short *RefPatternData; 00029 unsigned short *BinPatternData[APN_MAX_HBINNING]; 00030 unsigned short *SigPatternData; 00031 } APN_HPATTERN_FILE; 00032 00033 typedef enum ApnAdType { 00034 ApnAdType_None, 00035 ApnAdType_Alta_Sixteen, 00036 ApnAdType_Alta_Twelve, 00037 ApnAdType_Alta2_Sixteen 00038 }; 00039 00040 00041 class CApnCamData 00042 { 00043 public: 00044 CApnCamData(); 00045 virtual ~CApnCamData(); 00046 00047 virtual void Initialize() = 0; 00048 00049 00050 char m_Sensor[20]; 00051 char m_CameraModel[20]; 00052 00053 unsigned short m_CameraId; 00054 00055 bool m_InterlineCCD; 00056 bool m_SupportsSerialA; 00057 bool m_SupportsSerialB; 00058 bool m_SensorTypeCCD; 00059 00060 unsigned short m_TotalColumns; 00061 unsigned short m_ImagingColumns; 00062 00063 unsigned short m_ClampColumns; 00064 unsigned short m_PreRoiSkipColumns; 00065 unsigned short m_PostRoiSkipColumns; 00066 unsigned short m_OverscanColumns; 00067 00068 unsigned short m_TotalRows; 00069 unsigned short m_ImagingRows; 00070 00071 unsigned short m_UnderscanRows; 00072 unsigned short m_OverscanRows; 00073 00074 unsigned short m_VFlushBinning; 00075 00076 bool m_EnableSingleRowOffset; 00077 unsigned short m_RowOffsetBinning; 00078 00079 bool m_HFlushDisable; 00080 00081 unsigned short m_ShutterCloseDelay; 00082 00083 double m_PixelSizeX; 00084 double m_PixelSizeY; 00085 00086 bool m_Color; 00087 00088 double m_ReportedGainSixteenBit; 00089 00090 double m_MinSuggestedExpTime; 00091 00092 bool m_CoolingSupported; 00093 bool m_RegulatedCoolingSupported; 00094 00095 double m_TempSetPoint; 00096 unsigned short m_TempRampRateOne; 00097 unsigned short m_TempRampRateTwo; 00098 double m_TempBackoffPoint; 00099 00100 ApnAdType m_PrimaryADType; 00101 ApnAdType m_AlternativeADType; 00102 00103 unsigned short m_DefaultGainTwelveBit; 00104 unsigned short m_DefaultOffsetTwelveBit; 00105 unsigned short m_DefaultRVoltage; 00106 00107 00108 // Pattern Files 00109 APN_VPATTERN_FILE m_VerticalPattern; 00110 00111 APN_HPATTERN_FILE m_ClampPatternSixteen; 00112 APN_HPATTERN_FILE m_SkipPatternSixteen; 00113 APN_HPATTERN_FILE m_RoiPatternSixteen; 00114 00115 APN_HPATTERN_FILE m_ClampPatternTwelve; 00116 APN_HPATTERN_FILE m_SkipPatternTwelve; 00117 APN_HPATTERN_FILE m_RoiPatternTwelve; 00118 00119 00120 private: 00121 00122 void init_vpattern( ); 00123 void clear_vpattern( ); 00124 00125 void init_hpattern( APN_HPATTERN_FILE *Pattern ); 00126 void clear_hpattern( APN_HPATTERN_FILE *Pattern ); 00127 00128 }; 00129 00130 #endif // !defined(AFX_APNCAMDATA_H__32231556_A1FD_421B_94F8_295D4148E195__INCLUDED_)
KDE 4.0 API Reference