00001 00013 #ifndef QUAD_INCLUDE_H__ 00014 #define QUAD_INCLUDE_H__ 00015 00016 00017 #include "CamGen2Base.h" 00018 #include "CameraInfo.h" 00019 #include <string> 00020 00021 class DLL_EXPORT Quad: public CamGen2Base 00022 { 00023 public: 00024 Quad(); 00025 00026 virtual ~Quad(); 00027 00028 void OpenConnection( const std::string & ioType, 00029 const std::string & DeviceAddr, 00030 const uint16_t FirmwareRev, 00031 const uint16_t Id ); 00032 00033 void StartExposure( double Duration, bool IsLight ); 00034 00035 bool IsPixelReorderOn() { return m_DoPixelReorder; } 00036 00037 void SetPixelReorder( const bool TurnOn ) { m_DoPixelReorder = TurnOn; } 00038 00039 int32_t GetNumAdChannels(); 00040 00041 double GetTempHeatsink(); 00042 00043 protected: 00044 Quad(const std::string & ioType, 00045 const std::string & DeviceAddr); 00046 00047 void FixImgFromCamera( const std::vector<uint16_t> & data, 00048 std::vector<uint16_t> & out, int32_t rows, int32_t cols ); 00049 00050 void CreateCamIo(const std::string & ioType, 00051 const std::string & DeviceAddr); 00052 00053 bool IsRoiCenteredAndSymmetric(uint16_t ccdLen, uint16_t startingPos, uint16_t roiLen ); 00054 00055 void ExposureAndGetImgRC(uint16_t & r, uint16_t & c); 00056 00057 private: 00058 void FullCtorInit( const std::string & ioType, 00059 const std::string & DeviceAddr ); 00060 00061 void CfgCamFromId( uint16_t CameraId ); 00062 void VerifyCamId(); 00063 00064 const std::string m_fileName; 00065 bool m_DoPixelReorder; 00066 00067 Quad(const Quad&); 00068 Quad& operator=(Quad&); 00069 }; 00070 00071 #endif