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

class for the F serise cameras More...

#include <AltaF.h>

Inheritance diagram for AltaF:
Inheritance graph
Collaboration diagram for AltaF:
Collaboration graph

Public Member Functions

 AltaF ()
 
virtual ~AltaF ()
 
void OpenConnection (const std::string &ioType, const std::string &DeviceAddr, const uint16_t FirmwareRev, const uint16_t Id)
 
void CloseConnection ()
 
void StartExposure (double Duration, bool IsLight)
 
int32_t GetNumAdChannels ()
 
void Init ()
 
Apg::FanMode GetFanMode ()
 
void SetFanMode (Apg::FanMode mode, bool PreCondCheck=true)
 
- Public Member Functions inherited from CamGen2Base
virtual ~CamGen2Base ()
 
CameraStatusRegs GetStatus ()
 
Apg::Status GetImagingStatus ()
 
void GetImage (std::vector< uint16_t > &out)
 
void StopExposure (bool Digitize)
 
uint32_t GetAvailableMemory ()
 
int32_t GetNumAds ()
 
double GetCoolerDrive ()
 
double GetTempHeatsink ()
 
- Public Member Functions inherited from ApogeeCam
virtual ~ApogeeCam ()
 
void Reset ()
 
uint16_t ReadReg (uint16_t reg)
 
void WriteReg (uint16_t reg, uint16_t value)
 
void SetRoiNumRows (uint16_t rows)
 
void SetRoiNumCols (uint16_t cols)
 
uint16_t GetRoiNumRows ()
 
uint16_t GetRoiNumCols ()
 
void SetRoiStartRow (uint16_t row)
 
void SetRoiStartCol (uint16_t col)
 
uint16_t GetRoiStartRow ()
 
uint16_t GetRoiStartCol ()
 
void SetRoiBinRow (uint16_t bin)
 
uint16_t GetRoiBinRow ()
 
void SetRoiBinCol (uint16_t bin)
 
uint16_t GetRoiBinCol ()
 
uint16_t GetFirmwareRev ()
 
void SetImageCount (uint16_t count)
 
uint16_t GetImageCount ()
 
uint16_t GetImgSequenceCount ()
 
void SetSequenceDelay (double delay)
 
double GetSequenceDelay ()
 
void SetVariableSequenceDelay (bool variable)
 
bool GetVariableSequenceDelay ()
 
void SetTdiRate (double TdiRate)
 
double GetTdiRate ()
 
void SetTdiRows (uint16_t TdiRows)
 
uint16_t GetTdiRows ()
 
uint16_t GetTdiCounter ()
 
void SetTdiBinningRows (uint16_t bin)
 
uint16_t GetTdiBinningRows ()
 
void SetKineticsSectionHeight (uint16_t height)
 
uint16_t GetKineticsSectionHeight ()
 
void SetKineticsSections (uint16_t sections)
 
uint16_t GetKineticsSections ()
 
void SetKineticsShiftInterval (double interval)
 
double GetKineticsShiftInterval ()
 
void SetShutterStrobePosition (double position)
 
double GetShutterStrobePosition ()
 
void SetShutterStrobePeriod (double period)
 
double GetShutterStrobePeriod ()
 
void SetShutterCloseDelay (double delay)
 
double GetShutterCloseDelay ()
 
void SetCoolerBackoffPoint (double point)
 
double GetCoolerBackoffPoint ()
 
void SetCoolerSetPoint (double point)
 
double GetCoolerSetPoint ()
 
Apg::CameraMode GetCameraMode ()
 
void SetCameraMode (Apg::CameraMode mode)
 
void SetFastSequence (bool TurnOn)
 
bool IsFastSequenceOn ()
 
void SetBulkDownload (bool TurnOn)
 
bool IsBulkDownloadOn ()
 
void SetPipelineDownload (bool TurnOn)
 
bool IsPipelineDownloadOn ()
 
void SetIoPortAssignment (uint16_t assignment)
 
uint16_t GetIoPortAssignment ()
 
void SetIoPortBlankingBits (uint16_t blankingBits)
 
uint16_t GetIoPortBlankingBits ()
 
void SetIoPortDirection (uint16_t direction)
 
uint16_t GetIoPortDirection ()
 
void SetIoPortData (uint16_t data)
 
uint16_t GetIoPortData ()
 
void SetPreFlash (bool TurnOn)
 
bool GetPreFlash ()
 
void SetExternalTrigger (bool TurnOn, Apg::TriggerMode trigMode, Apg::TriggerType trigType)
 
bool IsTriggerNormEachOn ()
 
bool IsTriggerNormGroupOn ()
 
bool IsTriggerTdiKinEachOn ()
 
bool IsTriggerTdiKinGroupOn ()
 
bool IsTriggerExternalShutterOn ()
 
bool IsTriggerExternalReadoutOn ()
 
void SetShutterState (Apg::ShutterState state)
 
Apg::ShutterState GetShutterState ()
 
bool IsShutterForcedOpen ()
 
bool IsShutterForcedClosed ()
 
bool IsShutterOpen ()
 
void SetShutterAmpCtrl (bool TurnOn)
 
bool IsShutterAmpCtrlOn ()
 
void SetCooler (bool TurnOn)
 
Apg::CoolerStatus GetCoolerStatus ()
 
bool IsCoolerOn ()
 
double GetTempCcd ()
 
void SetCcdAdcResolution (Apg::Resolution res)
 
Apg::Resolution GetCcdAdcResolution ()
 
void SetCcdAdcSpeed (Apg::AdcSpeed speed)
 
Apg::AdcSpeed GetCcdAdcSpeed ()
 
uint16_t GetMaxBinCols ()
 
uint16_t GetMaxBinRows ()
 
uint16_t GetMaxImgCols ()
 
uint16_t GetMaxImgRows ()
 
uint16_t GetTotalRows ()
 
uint16_t GetTotalCols ()
 
uint16_t GetNumOverscanCols ()
 
bool IsInterline ()
 
CamModel::PlatformType GetPlatformType ()
 
void SetLedAState (Apg::LedState state)
 
Apg::LedState GetLedAState ()
 
void SetLedBState (Apg::LedState state)
 
Apg::LedState GetLedBState ()
 
void SetLedMode (Apg::LedMode mode)
 
Apg::LedMode GetLedMode ()
 
std::string GetInfo ()
 
std::string GetModel ()
 
std::string GetSensor ()
 
void SetFlushCommands (bool Disable)
 
bool AreFlushCmdsDisabled ()
 
void SetPostExposeFlushing (bool Disable)
 
bool IsPostExposeFlushingDisabled ()
 
double GetPixelWidth ()
 
double GetPixelHeight ()
 
double GetMinExposureTime ()
 
double GetMaxExposureTime ()
 
bool IsColor ()
 
bool IsCoolingSupported ()
 
bool IsCoolingRegulated ()
 
double GetInputVoltage ()
 
CamModel::InterfaceType GetInterfaceType ()
 
void GetUsbVendorInfo (uint16_t &VendorId, uint16_t &ProductId, uint16_t &DeviceId)
 
bool IsCCD ()
 
void PauseTimer (bool TurnOn)
 
bool IsSerialASupported ()
 
bool IsSerialBSupported ()
 
void SetFlushBinningRows (uint16_t bin)
 
uint16_t GetFlushBinningRows ()
 
bool IsOverscanDigitized ()
 
void SetDigitizeOverscan (const bool TurnOn)
 
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 IsInitialized ()
 
bool IsConnected ()
 
void SetAdSimMode (bool TurnOn)
 
bool IsAdSimModeOn ()
 
void SetLedBrightness (double PercentIntensity)
 
double GetLedBrightness ()
 
std::string GetDriverVersion ()
 
std::string GetUsbFirmwareVersion ()
 
std::string GetSerialNumber ()
 
CamInfo::StrDb ReadStrDatabase ()
 
void WriteStrDatabase (CamInfo::StrDb &info)
 
void UpdateAlta (const std::string FilenameCamCon, const std::string FilenameBufCon, const std::string FilenameFx2, const std::string FilenameGpifCamCon, const std::string FilenameGpifBufCon, const std::string FilenameGpifFifo)
 
void UpdateAscentOrAltaF (const std::string FilenameFpga, const std::string FilenameFx2, const std::string FilenameDescriptor)
 
void UpdateAspen (const std::string FilenameFpga, const std::string FilenameFx2, const std::string FilenameDescriptor, const std::string FilenameWebPage, const std::string FilenameWebServer, const std::string FilenameWebCfg)
 

Protected Member Functions

void FixImgFromCamera (const std::vector< uint16_t > &data, std::vector< uint16_t > &out, int32_t rows, int32_t cols)
 
void ExposureAndGetImgRC (uint16_t &r, uint16_t &c)
 
void CreateCamIo (const std::string &ioType, const std::string &DeviceAddr)
 
void CfgCamFromId (uint16_t CameraId)
 
void VerifyCamId ()
 
void WriteId2CamReg ()
 
void SetIsInterlineBit ()
 
bool AreColsCentered ()
 
- Protected Member Functions inherited from CamGen2Base
 CamGen2Base (const uint16_t FirmwareRev, const uint16_t Id, CamModel::PlatformType platform)
 
 CamGen2Base (CamModel::PlatformType platform)
 
uint16_t ExposureZ ()
 
uint16_t GetImageZ ()
 
uint16_t GetIlluminationMask ()
 
void DefaultStartExposure (double Duration, bool IsLight, bool IssueReset=true)
 
- Protected Member Functions inherited from ApogeeCam
 ApogeeCam (CamModel::PlatformType platform)
 
void VerifyFrmwrRev ()
 
void LogConnectAndDisconnect (bool Connect)
 
void ExectuePreFlash ()
 
void SetExpsoureTime (double Duration)
 
void IssueExposeCmd (bool IsLight)
 
void IsThereAStatusError (uint16_t statusReg)
 
bool IsImgDone (const CameraStatusRegs &statusObj)
 
Apg::Status LogAndReturnStatus (Apg::Status status, const CameraStatusRegs &statusObj)
 
void SupsendCooler (bool &resume)
 
void ResumeCooler ()
 
void WaitForCoolerSuspendBit (const uint16_t mask, const bool IsHigh)
 
void InitShutterCloseDelay ()
 
void StopExposureModeNorm (bool Digitize)
 
void Reset (bool Flush)
 
void HardStopExposure (const std::string &msg)
 
void GrabImageAndThrowItAway ()
 
void AdcParamCheck (const int32_t ad, const int32_t channel, const std::string &fxName)
 
void SetNumAdOutputs (const uint16_t num)
 
bool CheckAndWaitForStatus (Apg::Status desired, Apg::Status &acutal)
 
void CancelExposureNoThrow ()
 
double DefaultGetTempHeatsink ()
 
void DefaultInit ()
 
void ClearAllRegisters ()
 
void DefaultCfgCamFromId (uint16_t CameraId)
 
void DefaultSetFanMode (Apg::FanMode mode, bool PreCondCheck)
 
Apg::FanMode DefaultGetFanMode ()
 
void DefaultCloseConnection ()
 

Protected Attributes

const std::string m_fileName
 
- Protected Attributes inherited from ApogeeCam
std::shared_ptr< CameraIom_CamIo
 
std::shared_ptr< PlatformDatam_CameraConsts
 
std::shared_ptr< CApnCamDatam_CamCfgData
 
std::shared_ptr< ModeFsmm_CamMode
 
std::shared_ptr< CcdAcqParamsm_CcdAcqSettings
 
std::shared_ptr< ApgTimerm_ExposureTimer
 
CamModel::PlatformType m_PlatformType
 
const std::string m_fileName
 
uint16_t m_FirmwareVersion
 
uint16_t m_Id
 
uint16_t m_NumImgsDownloaded
 
bool m_ImageInProgress
 
bool m_IsPreFlashOn
 
bool m_IsInitialized
 
bool m_IsConnected
 
double m_LastExposureTime
 

Private Member Functions

void UpdateCfgWithStrDbInfo ()
 
 AltaF (const AltaF &)
 
AltaFoperator= (AltaF &)
 

Detailed Description

class for the F serise cameras

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) 2011 Apogee Imaging Systems, Inc.

Constructor & Destructor Documentation

◆ AltaF() [1/2]

AltaF::AltaF ( )

◆ ~AltaF()

AltaF::~AltaF ( )
virtual

◆ AltaF() [2/2]

AltaF::AltaF ( const AltaF )
private

Member Function Documentation

◆ AreColsCentered()

bool AltaF::AreColsCentered ( )
protected

◆ CfgCamFromId()

void AltaF::CfgCamFromId ( uint16_t  CameraId)
protectedvirtual

Implements ApogeeCam.

◆ CloseConnection()

void AltaF::CloseConnection ( )
virtual

Closes the IO connection to the camera. IMPORTANT: If this call is made if camera is in an error condition, then the function will try to reset the interface. Thus it is not guaranteed that the address for the camera will be the same after this function is called.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ CreateCamIo()

void AltaF::CreateCamIo ( const std::string &  ioType,
const std::string &  DeviceAddr 
)
protected

◆ ExposureAndGetImgRC()

void AltaF::ExposureAndGetImgRC ( uint16_t r,
uint16_t c 
)
protectedvirtual

Implements ApogeeCam.

◆ FixImgFromCamera()

void AltaF::FixImgFromCamera ( const std::vector< uint16_t > &  data,
std::vector< uint16_t > &  out,
int32_t  rows,
int32_t  cols 
)
protectedvirtual

Implements ApogeeCam.

◆ GetFanMode()

Apg::FanMode AltaF::GetFanMode ( )
virtual

Retruns current fan mode. Ascents always return Apg::FanMode_Off.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetNumAdChannels()

int32_t AltaF::GetNumAdChannels ( )
virtual

Returns the number of channels on the camera's AD converters.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ Init()

void AltaF::Init ( )
virtual

Method for initializing the Apogee camera system. Must be called once before image acquisition.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ OpenConnection()

void AltaF::OpenConnection ( const std::string &  ioType,
const std::string &  DeviceAddr,
const uint16_t  FirmwareRev,
const uint16_t  Id 
)
virtual

Opens a connection from the PC to the camera. The results strings from the FindDeviceUsb::Find() and the FindDeviceEthernet::Find() functions. provide the input into this function.

Parameters
[in]ioTypespecifies camera IO interface 'usb' or 'ethernet'
[in]DeviceAddrspecifies the address of the camera on the interface
[in]FirmwareRevCamera's firmware revision. Used to verify interface connection.
[in]IdCamera's ID. Used to verify interface connection and setup camera specfic parameters.
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ operator=()

AltaF& AltaF::operator= ( AltaF )
private

◆ SetFanMode()

void AltaF::SetFanMode ( Apg::FanMode  mode,
bool  PreCondCheck = true 
)
virtual

Sets the current fan speed. The default value of this variable after initialization is Apg::FanMode_Low. Ascent cameras do not support programmable fan speed, thus writes using this property have no effect.

Parameters
[in]modeDesired fan mode
[in]PreCondCheckSetting PreCondCheck to false results in the pre-condition checking to be skipped.
PreCondCheck should ALWAYS be set to true.
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ SetIsInterlineBit()

void AltaF::SetIsInterlineBit ( )
protected

◆ StartExposure()

void AltaF::StartExposure ( double  Duration,
bool  IsLight 
)
virtual

This method begins the imaging process. The type of exposure taken is depends on various state variables including the CameraMode and TriggerMode.

Parameters
[in]DurationLength of the exposure(s), in seconds. The valid range for this parameter is GetMinExposureTime() to GetMaxExposureTime().
[in]Determineswhether the exposure is a light or dark/bias frame. A light frame requires this parameter to be set to true, while a dark frame requires this parameter to be false.
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ UpdateCfgWithStrDbInfo()

void AltaF::UpdateCfgWithStrDbInfo ( )
private

◆ VerifyCamId()

void AltaF::VerifyCamId ( )
protected

◆ WriteId2CamReg()

void AltaF::WriteId2CamReg ( )
protected

AltaF's do not have dip switches on them any more because of space constriants on the PCB. Thus we now save the ID in the StrDb. But the camcom firmware still needs to know the id, because there is information about how to drive the camera embedded in the bits of the ID itself. Thus after verifying the id we need to write this value to the ID_FROM_PROM register.

Exceptions
std::runtime_error

Member Data Documentation

◆ m_fileName

const std::string AltaF::m_fileName
protected

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