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

This is class is the implementation of the finite state machine (fsm) for camera modes. More...

#include <ModeFsm.h>

Inheritance diagram for ModeFsm:
Inheritance graph
Collaboration diagram for ModeFsm:
Collaboration graph

Public Member Functions

 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 ()
 
virtual bool IsTdiAvailable ()=0
 
virtual bool IsKineticsAvailable ()=0
 
virtual bool IsContinuousImagingAvailable ()=0
 
virtual bool IsTriggerNormEachOn ()=0
 
virtual bool IsTriggerNormGroupOn ()=0
 
virtual bool IsTriggerTdiKinEachOn ()=0
 
virtual bool IsTriggerTdiKinGroupOn ()=0
 
virtual bool IsTriggerExternalShutterOn ()=0
 
virtual bool IsTriggerExternalReadoutOn ()=0
 

Protected Member Functions

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)
 
virtual bool IsExternalTriggerAvailable (Apg::TriggerMode trigMode)=0
 

Protected Attributes

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
 

Private Member Functions

 ModeFsm (const ModeFsm &)
 
ModeFsmoperator= (ModeFsm &)
 

Private Attributes

std::string m_fileName
 
uint16_t m_TdiRows
 

Detailed Description

This is class is the implementation of the finite state machine (fsm) for camera modes.

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

◆ ModeFsm() [1/2]

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

◆ ~ModeFsm()

ModeFsm::~ModeFsm ( )
virtual

◆ ModeFsm() [2/2]

ModeFsm::ModeFsm ( const ModeFsm )
private

Member Function Documentation

◆ DisableIoPortBit()

void ModeFsm::DisableIoPortBit ( )
protected

◆ EnableIoPortBit()

void ModeFsm::EnableIoPortBit ( )
protected

◆ EnterNewMode()

void ModeFsm::EnterNewMode ( Apg::CameraMode  newMode)
protected

◆ ExitOldMode()

void ModeFsm::ExitOldMode ( )
protected

◆ GetMode()

Apg::CameraMode ModeFsm::GetMode ( )
inline

◆ GetNormTrigMask()

uint16_t ModeFsm::GetNormTrigMask ( Apg::TriggerType  trigType)
protected

◆ GetTdiKinTrigMask()

uint16_t ModeFsm::GetTdiKinTrigMask ( Apg::TriggerType  trigType)
protected

◆ GetTdiRows()

uint16_t ModeFsm::GetTdiRows ( )
inline

◆ GetTrigsThatAreOn()

std::vector< std::pair< Apg::TriggerMode, Apg::TriggerType > > ModeFsm::GetTrigsThatAreOn ( )

◆ IsBulkDownloadOn()

bool ModeFsm::IsBulkDownloadOn ( )
inline

◆ IsContinuousImagingAvailable()

virtual bool ModeFsm::IsContinuousImagingAvailable ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsExternalTriggerAvailable()

virtual bool ModeFsm::IsExternalTriggerAvailable ( Apg::TriggerMode  trigMode)
protectedpure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsFastSequenceOn()

bool ModeFsm::IsFastSequenceOn ( )

◆ IsInterlineCcd()

bool ModeFsm::IsInterlineCcd ( )
protected

◆ IsKineticsAvailable()

virtual bool ModeFsm::IsKineticsAvailable ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsModeValid()

bool ModeFsm::IsModeValid ( Apg::CameraMode  newMode)
protected

◆ IsPipelineDownloadOn()

bool ModeFsm::IsPipelineDownloadOn ( )
inline

◆ IsTdiAvailable()

virtual bool ModeFsm::IsTdiAvailable ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsTriggerExternalReadoutOn()

virtual bool ModeFsm::IsTriggerExternalReadoutOn ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsTriggerExternalShutterOn()

virtual bool ModeFsm::IsTriggerExternalShutterOn ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsTriggerNormEachOn()

virtual bool ModeFsm::IsTriggerNormEachOn ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsTriggerNormGroupOn()

virtual bool ModeFsm::IsTriggerNormGroupOn ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsTriggerTdiKinEachOn()

virtual bool ModeFsm::IsTriggerTdiKinEachOn ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ IsTriggerTdiKinGroupOn()

virtual bool ModeFsm::IsTriggerTdiKinGroupOn ( )
pure virtual

Implemented in AltaModeFsm, and CamGen2ModeFsm.

◆ operator=()

ModeFsm& ModeFsm::operator= ( ModeFsm )
private

◆ SetBulkDownload()

void ModeFsm::SetBulkDownload ( bool  TurnOn)

◆ SetExternalTrigger()

void ModeFsm::SetExternalTrigger ( bool  TurnOn,
Apg::TriggerMode  trigMode,
Apg::TriggerType  trigType 
)

◆ SetFastSequence()

void ModeFsm::SetFastSequence ( bool  TurnOn)

◆ SetMode()

void ModeFsm::SetMode ( Apg::CameraMode  newMode)

◆ SetNormTdiKinTriggers()

void ModeFsm::SetNormTdiKinTriggers ( bool  TurnOn,
Apg::TriggerMode  trigMode,
Apg::TriggerType  trigType 
)
protected

◆ SetNormTrigger()

void ModeFsm::SetNormTrigger ( const bool  TurnOn,
const Apg::TriggerType  trigType 
)
protected

◆ SetPipelineDownload()

void ModeFsm::SetPipelineDownload ( bool  TurnOn)

◆ SetReadoutIoTrigger()

void ModeFsm::SetReadoutIoTrigger ( bool  TurnOn)
protected

◆ SetShutterTrigger()

void ModeFsm::SetShutterTrigger ( bool  TurnOn)
protected

◆ SetTdiKinTrigger()

void ModeFsm::SetTdiKinTrigger ( const bool  TurnOn,
const Apg::TriggerType  trigType 
)
protected

◆ SetTdiRows()

void ModeFsm::SetTdiRows ( uint16_t  rows)

◆ TurnTrigOff()

void ModeFsm::TurnTrigOff ( uint16_t  mask)
protected

◆ TurnTrigOn()

void ModeFsm::TurnTrigOn ( uint16_t  mask)
protected

◆ UpdateApnCamData()

void ModeFsm::UpdateApnCamData ( std::shared_ptr< CApnCamData > &  newCamData)

Member Data Documentation

◆ m_CamData

std::shared_ptr<CApnCamData> ModeFsm::m_CamData
protected

◆ m_CamIo

std::shared_ptr<CameraIo> ModeFsm::m_CamIo
protected

◆ m_fileName

std::string ModeFsm::m_fileName
private

◆ m_FirmwareVersion

uint16_t ModeFsm::m_FirmwareVersion
protected

◆ m_IsBulkDownloadOn

bool ModeFsm::m_IsBulkDownloadOn
protected

◆ m_IsFastSequeceOn

bool ModeFsm::m_IsFastSequeceOn
protected

◆ m_IsPipelineDownloadOn

bool ModeFsm::m_IsPipelineDownloadOn
protected

◆ m_mode

Apg::CameraMode ModeFsm::m_mode
protected

◆ m_TdiRows

uint16_t ModeFsm::m_TdiRows
private

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