libapogee  3.0.3234
Alta.h
1 
13 #ifndef ALTA_INCLUDE_H__
14 #define ALTA_INCLUDE_H__
15 
16 #include <string>
17 #include <map>
18 #include "ApogeeCam.h"
19 
20 
21 class DLL_EXPORT Alta : public ApogeeCam
22 {
23  public:
24  Alta();
25 
26  virtual ~Alta();
27 
28  void OpenConnection( const std::string & ioType,
29  const std::string & DeviceAddr,
30  const uint16_t FirmwareRev,
31  const uint16_t Id );
32 
33  void CloseConnection();
34 
35  void Init();
36 
37  void StartExposure( double Duration, bool IsLight );
38 
41 
42  void GetImage( std::vector<uint16_t> & out );
43 
44  void StopExposure( bool Digitize );
45 
46  uint32_t GetAvailableMemory();
47 
55  void SetCcdAdc12BitGain( uint16_t gain );
56 
64  void SetCcdAdc12BitOffset( uint16_t offset );
65 
72  uint16_t GetCcdAdc12BitGain();
73 
80  uint16_t GetCcdAdc12BitOffset();
81 
88  double GetCcdAdc16BitGain();
89 
90  int32_t GetNumAds();
91  int32_t GetNumAdChannels();
92 
93  double GetCoolerDrive();
94 
99  void SetFanMode( Apg::FanMode mode, bool PreCondCheck = true );
100 
106 
107  double GetTempHeatsink();
108 
115  std::string GetMacAddress();
116 
123  void OpenSerial( uint16_t PortId );
124 
130  void CloseSerial( uint16_t PortId );
131 
139  void SetSerialBaudRate( uint16_t PortId , uint32_t BaudRate );
140 
147  uint32_t GetSerialBaudRate( uint16_t PortId );
148 
155  Apg::SerialFC GetSerialFlowControl( uint16_t PortId );
156 
163  void SetSerialFlowControl( uint16_t PortId,
164  Apg::SerialFC FlowControl );
165 
172  Apg::SerialParity GetSerialParity( uint16_t PortId );
173 
180  void SetSerialParity( uint16_t PortId, Apg::SerialParity Parity );
181 
187  std::string ReadSerial( uint16_t PortId );
188 
195  void WriteSerial( uint16_t PortId, const std::string & buffer );
196 
197  protected:
198  Alta(const std::string & ioType,
199  const std::string & DeviceAddr);
200 
201  void ExposureAndGetImgRC(uint16_t & r, uint16_t & c);
202  uint16_t ExposureZ();
203  uint16_t GetImageZ();
204  uint16_t GetIlluminationMask();
205  void CreateCamIo(const std::string & ioType,
206  const std::string & DeviceAddr);
207 
208  void FixImgFromCamera( const std::vector<uint16_t> & data,
209  std::vector<uint16_t> & out, int32_t rows, int32_t cols);
210 
211  private:
212 
213  void VerifyCamId();
214  void CfgCamFromId( uint16_t CameraId );
215  uint16_t GetPixelShift();
216 
217  void Init12BitCcdAdc();
218  void StopExposureImageReady( bool Digitize );
219  void StopExposureModeTdiKinetics( bool Digitize );
220 
221  bool IsSerialPortOpen( uint16_t PortId );
222  const std::string m_fileName;
223 
224 
225  std::map<uint16_t , bool> m_serialPortOpenStatus;
226 
227  //disabling the copy ctor and assignment operator
228  //generated by the compiler - don't want them
229  //Effective C++ Item 6
230  Alta(const Alta&);
231  Alta& operator=(Alta&);
232 };
233 
234 #endif
Base class for apogee cameras.
Definition: ApogeeCam.h:41
virtual int32_t GetNumAds()=0
virtual uint32_t GetAvailableMemory()=0
virtual double GetCoolerDrive()=0
virtual void OpenConnection(const std::string &ioType, const std::string &DeviceAddr, const uint16_t FirmwareRev, const uint16_t Id)=0
SerialFC
Definition: CameraInfo.h:390
FanMode
Definition: CameraInfo.h:264
virtual int32_t GetNumAdChannels()=0
virtual void CloseConnection()=0
virtual Apg::Status GetImagingStatus()=0
virtual void SetFanMode(Apg::FanMode mode, bool PreCondCheck=true)=0
virtual void Init()=0
virtual double GetTempHeatsink()=0
SerialParity
Definition: CameraInfo.h:377
virtual void StartExposure(double Duration, bool IsLight)=0
virtual Apg::FanMode GetFanMode()=0
virtual void GetImage(std::vector< uint16_t > &out)=0
virtual CameraStatusRegs GetStatus()=0
Class that wrapps the basic and advanced status structs.
Definition: CameraStatusRegs.h:20
virtual void StopExposure(bool Digitize)=0
Derived class for the alta apogee cameras.
Definition: Alta.h:21
Status
Definition: CameraInfo.h:155