1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/*!
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Copyright(c) 2010 Apogee Instruments, Inc.
*
* \class AltaCcdAcqParams
* \brief derived class for managing the Alta's ADCs,
* horizontal pattern files, and roi parameters
*
*/
#ifndef ALTACCDACQPARAMS_INCLUDE_H__
#define ALTACCDACQPARAMS_INCLUDE_H__
#include "CcdAcqParams.h"
#include <string>
class AltaCcdAcqParams : public CcdAcqParams
{
public:
AltaCcdAcqParams(std::shared_ptr<CApnCamData> & camData,
std::shared_ptr<CameraIo> & camIo,
std::shared_ptr<PlatformData> & platformData);
virtual ~AltaCcdAcqParams();
void Init();
void SetResolution( Apg::Resolution res );
void SetSpeed( Apg::AdcSpeed speed );
void Set12BitGain(uint16_t gain);
uint16_t Get12BitGain() {return m_Adc12BitGain;}
void Set12BitOffset(uint16_t offset);
uint16_t Get12BitOffset() {return m_Adc12BitOffset;}
double Get16bitGain();
bool IsAdsSimModeOn();
void SetAdcGain( uint16_t gain, int32_t ad, int32_t channel );
uint16_t GetAdcGain( int32_t ad, int32_t channel );
void SetAdcOffset( uint16_t offset, int32_t ad, int32_t channel );
uint16_t GetAdcOffset( int32_t ad, int32_t channel );
uint16_t GetPixelShift();
protected:
uint16_t GetCcdImgRows() { return m_RoiNumRows; }
uint16_t GetCcdImgCols() { return m_RoiNumCols; }
uint16_t GetCcdImgBinRows() { return m_NumRows2Bin; }
uint16_t GetCcdImgBinCols() { return m_NumCols2Bin;}
uint16_t GetTotalCcdCols();
uint16_t CalcHPostRoiSkip(uint16_t HPreRoiSkip,
uint16_t UnbinnedRoiCols );
bool IsColCalcGood( uint16_t UnbinnedRoiCols, uint16_t PreRoiSkip,
uint16_t PostRoiSkip);
CamCfg::APN_HPATTERN_FILE GetHPattern( Apg::AdcSpeed speed,
CcdAcqParams::HPatternType ptype );
private:
std::string m_fileName;
uint16_t m_Adc12BitGain;
uint16_t m_Adc12BitOffset;
void PrimeAdc();
//disabling the copy ctor and assignment operator
//generated by the compiler - don't want them
//Effective C++ Item 6
AltaCcdAcqParams(const AltaCcdAcqParams&);
AltaCcdAcqParams& operator=(AltaCcdAcqParams&);
};
#endif
|