moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kstars / kstars / indi / apogee / ApnCamData.h
blob2dec8bf2b6e8752af54f78c7eda1a457baaf25a1
1 // ApnCamData.h: interface for the CApnCamData class.
2 //
3 //////////////////////////////////////////////////////////////////////
5 #if !defined(AFX_APNCAMDATA_H__32231556_A1FD_421B_94F8_295D4148E195__INCLUDED_)
6 #define AFX_APNCAMDATA_H__32231556_A1FD_421B_94F8_295D4148E195__INCLUDED_
8 #define APN_MAX_HBINNING 10
9 #define APN_MAX_PATTERN_ENTRIES 256
12 typedef struct _APN_VPATTERN_FILE {
13 unsigned short Mask;
14 unsigned short NumElements;
15 unsigned short *PatternData;
16 } APN_VPATTERN_FILE;
18 typedef struct _APN_HPATTERN_FILE {
19 unsigned short Mask;
20 unsigned short BinningLimit;
21 unsigned short RefNumElements;
22 unsigned short BinNumElements[APN_MAX_HBINNING];
23 unsigned short SigNumElements;
24 unsigned short *RefPatternData;
25 unsigned short *BinPatternData[APN_MAX_HBINNING];
26 unsigned short *SigPatternData;
27 } APN_HPATTERN_FILE;
30 class CApnCamData
32 public:
33 CApnCamData();
34 virtual ~CApnCamData();
36 virtual void Initialize() = 0;
39 char m_Sensor[20];
40 char m_CameraModel[20];
42 unsigned short m_CameraId;
44 bool m_InterlineCCD;
45 bool m_SupportsSerialA;
46 bool m_SupportsSerialB;
47 bool m_SensorTypeCCD;
49 unsigned short m_TotalColumns;
50 unsigned short m_ImagingColumns;
52 unsigned short m_ClampColumns;
53 unsigned short m_PreRoiSkipColumns;
54 unsigned short m_PostRoiSkipColumns;
55 unsigned short m_OverscanColumns;
57 unsigned short m_TotalRows;
58 unsigned short m_ImagingRows;
60 unsigned short m_UnderscanRows;
61 unsigned short m_OverscanRows;
63 unsigned short m_VFlushBinning;
65 bool m_EnableSingleRowOffset;
66 unsigned short m_RowOffsetBinning;
68 bool m_HFlushDisable;
70 unsigned short m_ShutterCloseDelay;
72 double m_PixelSizeX;
73 double m_PixelSizeY;
75 bool m_Color;
77 double m_ReportedGainSixteenBit;
79 double m_MinSuggestedExpTime;
81 bool m_CoolingSupported;
82 bool m_RegulatedCoolingSupported;
84 double m_TempSetPoint;
85 unsigned short m_TempRampRateOne;
86 unsigned short m_TempRampRateTwo;
87 double m_TempBackoffPoint;
89 unsigned short m_DefaultGainTwelveBit;
90 unsigned short m_DefaultOffsetTwelveBit;
91 unsigned short m_DefaultRVoltage;
94 // Pattern Files
95 APN_VPATTERN_FILE m_VerticalPattern;
97 APN_HPATTERN_FILE m_ClampPatternSixteen;
98 APN_HPATTERN_FILE m_SkipPatternSixteen;
99 APN_HPATTERN_FILE m_RoiPatternSixteen;
101 APN_HPATTERN_FILE m_ClampPatternTwelve;
102 APN_HPATTERN_FILE m_SkipPatternTwelve;
103 APN_HPATTERN_FILE m_RoiPatternTwelve;
106 private:
108 void init_vpattern( );
109 void clear_vpattern( );
111 void init_hpattern( APN_HPATTERN_FILE *Pattern );
112 void clear_hpattern( APN_HPATTERN_FILE *Pattern );
116 #endif // !defined(AFX_APNCAMDATA_H__32231556_A1FD_421B_94F8_295D4148E195__INCLUDED_)