TwiceAsNice  2019-02-18
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
CamGen2CcdAcqParams Class Reference

derived class for managing the Ascent and Aspen camera's ADCs, horizontal pattern files, and roi parameters More...

#include <CamGen2CcdAcqParams.h>

Inheritance diagram for CamGen2CcdAcqParams:
Inheritance graph
Collaboration diagram for CamGen2CcdAcqParams:
Collaboration graph

Classes

struct  AdcParams
 

Public Member Functions

 CamGen2CcdAcqParams (std::shared_ptr< CApnCamData > &camData, std::shared_ptr< CameraIo > &camIo, std::shared_ptr< PlatformData > &platformData)
 
virtual ~CamGen2CcdAcqParams ()
 
void Init ()
 
void SetResolution (Apg::Resolution res)
 
void SetSpeed (Apg::AdcSpeed speed)
 
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)
 
bool IsAdsSimModeOn ()
 
uint16_t GetPixelShift ()
 
uint16_t GetOddColsAdjust ()
 
- Public Member Functions inherited from CcdAcqParams
virtual ~CcdAcqParams ()
 
Apg::Resolution GetResolution ()
 
Apg::AdcSpeed GetSpeed ()
 
void SetRoiStartRow (uint16_t row)
 
void SetRoiStartCol (uint16_t col)
 
void SetRoiNumRows (uint16_t rows)
 
void SetRoiNumCols (uint16_t cols)
 
uint16_t GetRoiStartRow ()
 
uint16_t GetRoiStartCol ()
 
uint16_t GetRoiNumRows ()
 
uint16_t GetRoiNumCols ()
 
uint16_t GetNumCols2Bin ()
 
uint16_t GetNumRows2Bin ()
 
uint16_t GetMaxBinCols ()
 
uint16_t GetMaxBinRows ()
 
void SetNumCols2Bin (uint16_t bin)
 
void SetNumRows2Bin (uint16_t bin)
 
void SetImagingRegs (const uint16_t FirmwareVer)
 
void UpdateApnCamData (std::shared_ptr< CApnCamData > &newCamData)
 
void SetAdsSimMode (bool TurnOn)
 
bool IsOverscanDigitized ()
 
void SetDigitizeOverscan (const bool TurnOn)
 

Protected Member Functions

uint16_t GetCcdImgRows ()
 
uint16_t GetCcdImgCols ()
 
uint16_t GetCcdImgBinRows ()
 
uint16_t GetCcdImgBinCols ()
 
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)
 
- Protected Member Functions inherited from CcdAcqParams
CcdAcqParams::CcdReadoutType GetReadoutType ()
 
 CcdAcqParams (std::shared_ptr< CApnCamData > &camData, std::shared_ptr< CameraIo > &camIo, std::shared_ptr< PlatformData > &platformData)
 
void SetRoiPattern (uint16_t binning)
 
void LoadHorizontalPatterns (Apg::AdcSpeed speed, uint16_t binning)
 
void LoadRoiPattern (Apg::AdcSpeed speed, uint16_t binning)
 
CamCfg::APN_HPATTERN_FILE DefaultGetHPattern (Apg::AdcSpeed speed, CcdAcqParams::HPatternType ptype)
 
void LoadAllPatternFiles (Apg::AdcSpeed speed, uint16_t binning)
 
void GetPostVer11Settings (std::vector< std::pair< uint16_t, uint16_t > > &settings, uint16_t pixelShift)
 
void GetPreVer11Settings (std::vector< std::pair< uint16_t, uint16_t > > &settings, uint16_t pixelShift)
 
void AppendCommonHorizontals (std::vector< std::pair< uint16_t, uint16_t > > &settings, uint16_t pixelShift)
 
void CalcVerticalValues (uint16_t &A2_RoiRows, uint16_t &A2_RoiBinRows, uint16_t &A5_RoiRows, uint16_t &A5_RoiBinRows)
 
void CalcVerticalValues (uint16_t &A1_RoiRows, uint16_t &A1_RoiBinRows, uint16_t &A2_RoiRows, uint16_t &A2_RoiBinRows, uint16_t &A4_RoiRows, uint16_t &A4_RoiBinRows, uint16_t &A5_RoiRows, uint16_t &A5_RoiBinRows)
 
void BalanceSections (const uint16_t BottomMaxRows, const uint16_t TopMaxBin, uint16_t &TopRoiRows, uint16_t &TopRoiBinRows, uint16_t &BottomRoiRows, uint16_t &BottomRoiBinRows)
 
uint16_t GetMaxFastBinCols ()
 
uint16_t GetMaxNormalBinCols ()
 

Private Member Functions

CamGen2CcdAcqParams::AdcParams GetAdcParams (int32_t ad, int32_t channel)
 
void SetAdcParams (int32_t ad, int32_t channel, const CamGen2CcdAcqParams::AdcParams &params)
 
void SetAdcCfgAndMux (int32_t ad, int32_t channel)
 
void Write2AdcReg (uint16_t value2Write)
 
uint16_t SelectAd (int32_t ad, int32_t channel)
 
void RestoreAdSelect (const uint16_t value)
 
 CamGen2CcdAcqParams (const CamGen2CcdAcqParams &)
 
CamGen2CcdAcqParamsoperator= (CamGen2CcdAcqParams &)
 

Private Attributes

std::string m_fileName
 
std::map< std::pair< int32_t, int32_t >, CamGen2CcdAcqParams::AdcParamsm_adcParamMap
 

Additional Inherited Members

- Protected Types inherited from CcdAcqParams
enum  CcdReadoutType { UNKNOWN_READOUT, SINGLE_READOUT, DUAL_READOUT, QUAD_READOUT }
 
enum  HPatternType { CLAMP, SKIP, ROI }
 
- Protected Attributes inherited from CcdAcqParams
std::string m_fileName
 
std::shared_ptr< CApnCamDatam_CamData
 
std::shared_ptr< CameraIom_CamIo
 
std::shared_ptr< PlatformDatam_PlatformData
 
Apg::Resolution m_AdcRes
 
Apg::AdcSpeed m_speed
 
uint16_t m_RoiStartRow
 
uint16_t m_RoiStartCol
 
uint16_t m_RoiNumRows
 
uint16_t m_RoiNumCols
 
uint16_t m_NumCols2Bin
 
uint16_t m_NumRows2Bin
 
bool m_DigitizeOverScan
 

Detailed Description

derived class for managing the Ascent and Aspen camera's ADCs, horizontal pattern files, and roi parameters

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.

Constructor & Destructor Documentation

◆ CamGen2CcdAcqParams() [1/2]

CamGen2CcdAcqParams::CamGen2CcdAcqParams ( std::shared_ptr< CApnCamData > &  camData,
std::shared_ptr< CameraIo > &  camIo,
std::shared_ptr< PlatformData > &  platformData 
)

◆ ~CamGen2CcdAcqParams()

CamGen2CcdAcqParams::~CamGen2CcdAcqParams ( )
virtual

◆ CamGen2CcdAcqParams() [2/2]

CamGen2CcdAcqParams::CamGen2CcdAcqParams ( const CamGen2CcdAcqParams )
private

Member Function Documentation

◆ CalcHPostRoiSkip()

uint16_t CamGen2CcdAcqParams::CalcHPostRoiSkip ( uint16_t  HPreRoiSkip,
uint16_t  UnbinnedRoiCols 
)
protectedvirtual

Implements CcdAcqParams.

◆ GetAdcGain()

uint16_t CamGen2CcdAcqParams::GetAdcGain ( int32_t  ad,
int32_t  channel 
)
virtual

Implements CcdAcqParams.

◆ GetAdcOffset()

uint16_t CamGen2CcdAcqParams::GetAdcOffset ( int32_t  ad,
int32_t  channel 
)
virtual

Implements CcdAcqParams.

◆ GetAdcParams()

CamGen2CcdAcqParams::AdcParams CamGen2CcdAcqParams::GetAdcParams ( int32_t  ad,
int32_t  channel 
)
private

◆ GetCcdImgBinCols()

uint16_t CamGen2CcdAcqParams::GetCcdImgBinCols ( )
protectedvirtual

Implements CcdAcqParams.

◆ GetCcdImgBinRows()

uint16_t CamGen2CcdAcqParams::GetCcdImgBinRows ( )
protectedvirtual

Implements CcdAcqParams.

◆ GetCcdImgCols()

uint16_t CamGen2CcdAcqParams::GetCcdImgCols ( )
protectedvirtual

Implements CcdAcqParams.

◆ GetCcdImgRows()

uint16_t CamGen2CcdAcqParams::GetCcdImgRows ( )
protectedvirtual

Implements CcdAcqParams.

◆ GetHPattern()

CamCfg::APN_HPATTERN_FILE CamGen2CcdAcqParams::GetHPattern ( Apg::AdcSpeed  speed,
CcdAcqParams::HPatternType  ptype 
)
protectedvirtual

Implements CcdAcqParams.

◆ GetOddColsAdjust()

uint16_t CamGen2CcdAcqParams::GetOddColsAdjust ( )

◆ GetPixelShift()

uint16_t CamGen2CcdAcqParams::GetPixelShift ( )
virtual

Implements CcdAcqParams.

◆ GetTotalCcdCols()

uint16_t CamGen2CcdAcqParams::GetTotalCcdCols ( )
protectedvirtual

Implements CcdAcqParams.

◆ Init()

void CamGen2CcdAcqParams::Init ( )
virtual

Implements CcdAcqParams.

◆ IsAdsSimModeOn()

bool CamGen2CcdAcqParams::IsAdsSimModeOn ( )
virtual

Implements CcdAcqParams.

◆ IsColCalcGood()

bool CamGen2CcdAcqParams::IsColCalcGood ( uint16_t  UnbinnedRoiCols,
uint16_t  PreRoiSkip,
uint16_t  PostRoiSkip 
)
protectedvirtual

Implements CcdAcqParams.

◆ operator=()

CamGen2CcdAcqParams& CamGen2CcdAcqParams::operator= ( CamGen2CcdAcqParams )
private

◆ RestoreAdSelect()

void CamGen2CcdAcqParams::RestoreAdSelect ( const uint16_t  value)
private

◆ SelectAd()

uint16_t CamGen2CcdAcqParams::SelectAd ( int32_t  ad,
int32_t  channel 
)
private

◆ SetAdcCfgAndMux()

void CamGen2CcdAcqParams::SetAdcCfgAndMux ( int32_t  ad,
int32_t  channel 
)
private

◆ SetAdcGain()

void CamGen2CcdAcqParams::SetAdcGain ( uint16_t  gain,
int32_t  ad,
int32_t  channel 
)
virtual

Implements CcdAcqParams.

◆ SetAdcOffset()

void CamGen2CcdAcqParams::SetAdcOffset ( uint16_t  offset,
int32_t  ad,
int32_t  channel 
)
virtual

Implements CcdAcqParams.

◆ SetAdcParams()

void CamGen2CcdAcqParams::SetAdcParams ( int32_t  ad,
int32_t  channel,
const CamGen2CcdAcqParams::AdcParams params 
)
private

◆ SetResolution()

void CamGen2CcdAcqParams::SetResolution ( Apg::Resolution  res)
virtual

Implements CcdAcqParams.

◆ SetSpeed()

void CamGen2CcdAcqParams::SetSpeed ( Apg::AdcSpeed  speed)
virtual

Implements CcdAcqParams.

◆ Write2AdcReg()

void CamGen2CcdAcqParams::Write2AdcReg ( uint16_t  value2Write)
private

Member Data Documentation

◆ m_adcParamMap

std::map< std::pair<int32_t, int32_t>, CamGen2CcdAcqParams::AdcParams > CamGen2CcdAcqParams::m_adcParamMap
private

◆ m_fileName

std::string CamGen2CcdAcqParams::m_fileName
private

The documentation for this class was generated from the following files: