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