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

"finite state machine' for ascent and alta-g cameras. use the fms lightly, because this isn't a true state machine. More...

#include <CamGen2ModeFsm.h>

Inheritance diagram for CamGen2ModeFsm:
Inheritance graph
Collaboration diagram for CamGen2ModeFsm:
Collaboration graph

Public Member Functions

 CamGen2ModeFsm (std::shared_ptr< CameraIo > &io, std::shared_ptr< CApnCamData > &camData, uint16_t rev)
 
virtual ~CamGen2ModeFsm ()
 
bool IsTdiAvailable ()
 
bool IsKineticsAvailable ()
 
bool IsContinuousImagingAvailable ()
 
bool IsTriggerNormEachOn ()
 
bool IsTriggerNormGroupOn ()
 
bool IsTriggerTdiKinEachOn ()
 
bool IsTriggerTdiKinGroupOn ()
 
bool IsTriggerExternalShutterOn ()
 
bool IsTriggerExternalReadoutOn ()
 
- Public Member Functions inherited from ModeFsm
 ModeFsm (std::shared_ptr< CameraIo > &io, std::shared_ptr< CApnCamData > &camData, uint16_t rev)
 
virtual ~ModeFsm ()
 
Apg::CameraMode GetMode ()
 
void SetMode (Apg::CameraMode newMode)
 
void SetBulkDownload (bool TurnOn)
 
bool IsBulkDownloadOn ()
 
void SetPipelineDownload (bool TurnOn)
 
bool IsPipelineDownloadOn ()
 
void SetExternalTrigger (bool TurnOn, Apg::TriggerMode trigMode, Apg::TriggerType trigType)
 
std::vector< std::pair< Apg::TriggerMode, Apg::TriggerType > > GetTrigsThatAreOn ()
 
void SetFastSequence (bool TurnOn)
 
bool IsFastSequenceOn ()
 
void UpdateApnCamData (std::shared_ptr< CApnCamData > &newCamData)
 
void SetTdiRows (uint16_t rows)
 
uint16_t GetTdiRows ()
 

Private Member Functions

bool IsExternalTriggerAvailable (Apg::TriggerMode trigMode)
 
 CamGen2ModeFsm (const CamGen2ModeFsm &)
 
CamGen2ModeFsmoperator= (CamGen2ModeFsm &)
 

Private Attributes

std::string m_fileName
 

Additional Inherited Members

- Protected Member Functions inherited from ModeFsm
bool IsModeValid (Apg::CameraMode newMode)
 
void ExitOldMode ()
 
void EnterNewMode (Apg::CameraMode newMode)
 
uint16_t GetNormTrigMask (Apg::TriggerType trigType)
 
uint16_t GetTdiKinTrigMask (Apg::TriggerType trigType)
 
void TurnTrigOn (uint16_t mask)
 
void TurnTrigOff (uint16_t mask)
 
void EnableIoPortBit ()
 
void DisableIoPortBit ()
 
bool IsInterlineCcd ()
 
void SetNormTdiKinTriggers (bool TurnOn, Apg::TriggerMode trigMode, Apg::TriggerType trigType)
 
void SetShutterTrigger (bool TurnOn)
 
void SetReadoutIoTrigger (bool TurnOn)
 
void SetNormTrigger (const bool TurnOn, const Apg::TriggerType trigType)
 
void SetTdiKinTrigger (const bool TurnOn, const Apg::TriggerType trigType)
 
- Protected Attributes inherited from ModeFsm
Apg::CameraMode m_mode
 
std::shared_ptr< CameraIom_CamIo
 
std::shared_ptr< CApnCamDatam_CamData
 
uint16_t m_FirmwareVersion
 
bool m_IsBulkDownloadOn
 
bool m_IsPipelineDownloadOn
 
bool m_IsFastSequeceOn
 

Detailed Description

"finite state machine' for ascent and alta-g cameras. use the fms lightly, because this isn't a true state machine.

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

◆ CamGen2ModeFsm() [1/2]

CamGen2ModeFsm::CamGen2ModeFsm ( std::shared_ptr< CameraIo > &  io,
std::shared_ptr< CApnCamData > &  camData,
uint16_t  rev 
)

◆ ~CamGen2ModeFsm()

CamGen2ModeFsm::~CamGen2ModeFsm ( )
virtual

◆ CamGen2ModeFsm() [2/2]

CamGen2ModeFsm::CamGen2ModeFsm ( const CamGen2ModeFsm )
private

Member Function Documentation

◆ IsContinuousImagingAvailable()

bool CamGen2ModeFsm::IsContinuousImagingAvailable ( )
virtual

Implements ModeFsm.

◆ IsExternalTriggerAvailable()

bool CamGen2ModeFsm::IsExternalTriggerAvailable ( Apg::TriggerMode  trigMode)
privatevirtual

Implements ModeFsm.

◆ IsKineticsAvailable()

bool CamGen2ModeFsm::IsKineticsAvailable ( )
virtual

Implements ModeFsm.

◆ IsTdiAvailable()

bool CamGen2ModeFsm::IsTdiAvailable ( )
virtual

Implements ModeFsm.

◆ IsTriggerExternalReadoutOn()

bool CamGen2ModeFsm::IsTriggerExternalReadoutOn ( )
virtual

Implements ModeFsm.

◆ IsTriggerExternalShutterOn()

bool CamGen2ModeFsm::IsTriggerExternalShutterOn ( )
virtual

Implements ModeFsm.

◆ IsTriggerNormEachOn()

bool CamGen2ModeFsm::IsTriggerNormEachOn ( )
virtual

Implements ModeFsm.

◆ IsTriggerNormGroupOn()

bool CamGen2ModeFsm::IsTriggerNormGroupOn ( )
virtual

Implements ModeFsm.

◆ IsTriggerTdiKinEachOn()

bool CamGen2ModeFsm::IsTriggerTdiKinEachOn ( )
virtual

Implements ModeFsm.

◆ IsTriggerTdiKinGroupOn()

bool CamGen2ModeFsm::IsTriggerTdiKinGroupOn ( )
virtual

Implements ModeFsm.

◆ operator=()

CamGen2ModeFsm& CamGen2ModeFsm::operator= ( CamGen2ModeFsm )
private

Member Data Documentation

◆ m_fileName

std::string CamGen2ModeFsm::m_fileName
private

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