API
MagAOX::app::dev::stdCamera< derivedT > Class Template Reference

MagAO-X standard camera interface. More...

#include <stdCamera.hpp>

Collaboration diagram for MagAOX::app::dev::stdCamera< derivedT >:
Collaboration graph

Classes

struct  roi
 

Public Member Functions

 ~stdCamera () noexcept
 Destructor. More...
 
void setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system. More...
 
void loadConfig (mx::app::appConfigurator &config)
 load the configuration system results More...
 
int appStartup ()
 Startup function. More...
 
int appLogic ()
 Application logic. More...
 
int onPowerOff ()
 Actions on power off. More...
 
int whilePowerOff ()
 Actions while powered off. More...
 
int appShutdown ()
 Application shutdown. More...
 
Telemeter Interface
int recordCamera (bool force=false)
 

Protected Member Functions

int createReadoutSpeed (const mx::meta::trueFalseT< true > &t)
 
int createReadoutSpeed (const mx::meta::trueFalseT< false > &f)
 
int createVShiftSpeed (const mx::meta::trueFalseT< true > &t)
 
int createVShiftSpeed (const mx::meta::trueFalseT< false > &f)
 

Protected Attributes

Configurable Parameters
cameraConfigMap m_cameraModes
 Map holding the possible camera mode configurations. More...
 
std::string m_startupMode
 The camera mode to load during first init after a power-on. More...
 
float m_startupTemp {-999}
 The temperature to set after a power-on. Set to <= -999 to not use [default]. More...
 
std::string m_defaultReadoutSpeed
 The default readout speed of the camera. More...
 
std::string m_defaultVShiftSpeed
 The default readout speed of the camera. More...
 
Temperature Control Interface
float m_minTemp {-60}
 
float m_maxTemp {30}
 
float m_stepTemp {0}
 
float m_ccdTemp {-999}
 The current temperature, in C. More...
 
float m_ccdTempSetpt {-999}
 The desired temperature, in C. More...
 
bool m_tempControlStatus {false}
 Whether or not temperature control is active. More...
 
bool m_tempControlStatusSet {false}
 Desired state of temperature control. More...
 
bool m_tempControlOnTarget {false}
 Whether or not the temperature control system is on its target temperature. More...
 
std::string m_tempControlStatusStr
 Camera specific description of temperature control status. More...
 
pcf::IndiProperty m_indiP_temp
 
pcf::IndiProperty m_indiP_tempcont
 
pcf::IndiProperty m_indiP_tempstat
 
Readout Control
std::vector< std::string > m_readoutSpeedNames
 
std::vector< std::string > m_readoutSpeedNameLabels
 
std::string m_readoutSpeedName
 The current readout speed name. More...
 
std::string m_readoutSpeedNameSet
 The user requested readout speed name, to be set by derived() More...
 
std::vector< std::string > m_vShiftSpeedNames
 
std::vector< std::string > m_vShiftSpeedNameLabels
 
std::string m_vShiftSpeedName
 The current vshift speed name. More...
 
std::string m_vShiftSpeedNameSet
 The user requested vshift speed name, to be set by derived() More...
 
float m_adcSpeed {0}
 
float m_vshiftSpeed {0}
 
float m_emGain {1}
 The camera's current EM gain (if available). More...
 
float m_emGainSet {1}
 The camera's EM gain, as set by the user. More...
 
float m_maxEMGain {1}
 The configurable maximum EM gain. To be enforced in derivedT. More...
 
pcf::IndiProperty m_indiP_readoutSpeed
 
pcf::IndiProperty m_indiP_vShiftSpeed
 
pcf::IndiProperty m_indiP_emGain
 
Exposure Control
float m_minExpTime {0}
 The minimum exposure time, used for INDI attributes. More...
 
float m_maxExpTime {std::numeric_limits<float>::max()}
 The maximum exposure time, used for INDI attributes. More...
 
float m_stepExpTime {0}
 The maximum exposure time stepsize, used for INDI attributes. More...
 
float m_expTime {0}
 The current exposure time, in seconds. More...
 
float m_expTimeSet {0}
 The exposure time, in seconds, as set by user. More...
 
float m_minFPS {0}
 The minimum FPS, used for INDI attributes. More...
 
float m_maxFPS {std::numeric_limits<float>::max()}
 The maximum FPS, used for INDI attributes. More...
 
float m_stepFPS {0}
 The FPS step size, used for INDI attributes. More...
 
float m_fps {0}
 The current FPS. More...
 
float m_fpsSet {0}
 The commanded fps, as set by user. More...
 
pcf::IndiProperty m_indiP_exptime
 
pcf::IndiProperty m_indiP_fps
 
External Synchronization
bool m_synchroSet {false}
 Target status of m_synchro. More...
 
bool m_synchro {false}
 Status of synchronization, true is on, false is off. More...
 
pcf::IndiProperty m_indiP_synchro
 
Modes
std::string m_modeName
 The current mode name. More...
 
std::string m_nextMode
 The mode to be set by the next reconfiguration. More...
 
pcf::IndiProperty m_indiP_mode
 Property used to report the current mode. More...
 
pcf::IndiProperty m_indiP_reconfig
 Request switch which forces the framegrabber to go through the reconfigure process. More...
 
ROIs

ROI controls are exposed if derivedT::c_stdCamera_usesROI==true

roi m_currentROI
 
roi m_nextROI
 
roi m_lastROI
 
float m_minROIx {0}
 
float m_maxROIx {1023}
 
float m_stepROIx {0}
 
float m_minROIy {0}
 
float m_maxROIy {1023}
 
float m_stepROIy {0}
 
int m_minROIWidth {1}
 
int m_maxROIWidth {1024}
 
int m_stepROIWidth {1}
 
int m_minROIHeight {1}
 
int m_maxROIHeight {1024}
 
int m_stepROIHeight {1}
 
int m_minROIBinning_x {1}
 
int m_maxROIBinning_x {4}
 
int m_stepROIBinning_x {1}
 
int m_minROIBinning_y {1}
 
int m_maxROIBinning_y {4}
 
int m_stepROIBinning_y {1}
 
float m_default_x {0}
 Power-on ROI center x coordinate. More...
 
float m_default_y {0}
 Power-on ROI center y coordinate. More...
 
int m_default_w {0}
 Power-on ROI width. More...
 
int m_default_h {0}
 Power-on ROI height. More...
 
int m_default_bin_x {1}
 Power-on ROI x binning. More...
 
int m_default_bin_y {1}
 Power-on ROI y binning. More...
 
float m_full_x {0}
 The full ROI center x coordinate. More...
 
float m_full_y {0}
 The full ROI center y coordinate. More...
 
int m_full_w {0}
 The full ROI width. More...
 
int m_full_h {0}
 The full ROI height. More...
 
int m_full_bin_x {1}
 The x-binning in the full ROI. More...
 
int m_full_bin_y {1}
 The y-binning in the full ROI. More...
 
float m_full_currbin_x {0}
 The current-binning full ROI center x coordinate. More...
 
float m_full_currbin_y {0}
 The current-binning full ROI center y coordinate. More...
 
int m_full_currbin_w {0}
 The current-binning full ROI width. More...
 
int m_full_currbin_h {0}
 The current-binning full ROI height. More...
 
pcf::IndiProperty m_indiP_roi_x
 Property used to set the ROI x center coordinate. More...
 
pcf::IndiProperty m_indiP_roi_y
 Property used to set the ROI x center coordinate. More...
 
pcf::IndiProperty m_indiP_roi_w
 Property used to set the ROI width. More...
 
pcf::IndiProperty m_indiP_roi_h
 Property used to set the ROI height. More...
 
pcf::IndiProperty m_indiP_roi_bin_x
 Property used to set the ROI x binning. More...
 
pcf::IndiProperty m_indiP_roi_bin_y
 Property used to set the ROI y binning. More...
 
pcf::IndiProperty m_indiP_fullROI
 Property used to preset the full ROI dimensions. More...
 
pcf::IndiProperty m_indiP_roi_check
 Property used to trigger checking the target ROI. More...
 
pcf::IndiProperty m_indiP_roi_set
 Property used to trigger setting the ROI. More...
 
pcf::IndiProperty m_indiP_roi_full
 Property used to trigger setting the full ROI. More...
 
pcf::IndiProperty m_indiP_roi_fullbin
 Property used to trigger setting the full in current binning ROI. More...
 
pcf::IndiProperty m_indiP_roi_loadlast
 Property used to trigger loading the last ROI as the target. More...
 
pcf::IndiProperty m_indiP_roi_last
 Property used to trigger setting the last ROI. More...
 
pcf::IndiProperty m_indiP_roi_default
 Property used to trigger setting the default and startup ROI. More...
 
Crop Mode

Crop mode controls are exposed if derivedT::c_stdCamera_cropMode==true

bool m_cropMode {false}
 Status of crop mode ROIs, if enabled for this camera. More...
 
bool m_cropModeSet {false}
 Desired status of crop mode ROIs, if enabled for this camera. More...
 
pcf::IndiProperty m_indiP_cropMode
 Property used to toggle crop mode on and off. More...
 
Shutter Control

Shutter controls are exposed if derivedT::c_stdCamera_hasShutter == true.

std::string m_shutterStatus {"UNKNOWN"}
 
int m_shutterState {-1}
 
pcf::IndiProperty m_indiP_shutterStatus
 State of the shutter. 0 = shut, 1 = open, -1 = unknown. More...
 
pcf::IndiProperty m_indiP_shutter
 Property used to control the shutter, a switch. More...
 
State String

The State string is exposed if derivedT::c_stdCamera_usesStateString is true.

pcf::IndiProperty m_indiP_stateString
 

Private Member Functions

derivedT & derived ()
 

INDI

int newCallBack_stdCamera (const pcf::IndiProperty &ipRecv)
 The callback function for stdCamera properties. More...
 
int setTempSetPt (const mx::meta::trueFalseT< true > &t)
 Interface to setTempSetPt when the derivedT has temperature control. More...
 
int setTempSetPt (const mx::meta::trueFalseT< false > &f)
 Interface to setTempSetPt when the derivedT does not have temperature control. More...
 
int newCallBack_temp (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW CCD temp request. More...
 
int setTempControl (const mx::meta::trueFalseT< true > &t)
 Interface to setTempControl when the derivedT has temperature control. More...
 
int setTempControl (const mx::meta::trueFalseT< false > &f)
 Interface to setTempControl when the derivedT does not have temperature control. More...
 
int newCallBack_temp_controller (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW CCD temp control request. More...
 
int setReadoutSpeed (const mx::meta::trueFalseT< true > &t)
 Interface to setReadoutSpeed when the derivedT has readout speed control. More...
 
int setReadoutSpeed (const mx::meta::trueFalseT< false > &f)
 Interface to setReadoutSpeed when the derivedT does not have readout speed control. More...
 
int newCallBack_readoutSpeed (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW readout speed request. More...
 
int setVShiftSpeed (const mx::meta::trueFalseT< true > &t)
 Interface to setVShiftSpeed when the derivedT has vshift speed control. More...
 
int setVShiftSpeed (const mx::meta::trueFalseT< false > &f)
 Interface to setVShiftSpeed when the derivedT does not have vshift speed control. More...
 
int newCallBack_vShiftSpeed (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW vshift speed request. More...
 
int setEMGain (const mx::meta::trueFalseT< true > &t)
 Interface to setEMGain when the derivedT has EM Gain. More...
 
int setEMGain (const mx::meta::trueFalseT< false > &f)
 Interface to setEMGain when the derivedT does not have EM Gain. More...
 
int newCallBack_emgain (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW EM gain request. More...
 
int setExpTime (const mx::meta::trueFalseT< true > &t)
 Interface to setExpTime when the derivedT uses exposure time controls. More...
 
int setExpTime (const mx::meta::trueFalseT< false > &f)
 Interface to setExptime when the derivedT does not use exposure time controls. More...
 
int newCallBack_exptime (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW exposure time request. More...
 
int setFPS (const mx::meta::trueFalseT< true > &t)
 Interface to setFPS when the derivedT uses FPS controls. More...
 
int setFPS (const mx::meta::trueFalseT< false > &f)
 Interface to setFPS when the derivedT does not use FPS controls. More...
 
int newCallBack_fps (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW fps request. More...
 
int setSynchro (const mx::meta::trueFalseT< true > &t)
 Interface to setSynchro when the derivedT has synchronization. More...
 
int setSynchro (const mx::meta::trueFalseT< false > &f)
 Interface to setSynchro when the derivedT does not have synchronization. More...
 
int newCallBack_synchro (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW synchro request. More...
 
int newCallBack_mode (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW mode request. More...
 
int newCallBack_reconfigure (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW reconfigure request. More...
 
int setCropMode (const mx::meta::trueFalseT< true > &t)
 Interface to setCropMode when the derivedT has crop mode. More...
 
int setCropMode (const mx::meta::trueFalseT< false > &f)
 Interface to setCropMode when the derivedT does not have crop mode. More...
 
int newCallBack_cropMode (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW cropMode request. More...
 
int newCallBack_roi_x (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_x request. More...
 
int newCallBack_roi_y (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_y request. More...
 
int newCallBack_roi_w (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_w request. More...
 
int newCallBack_roi_h (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_h request. More...
 
int newCallBack_roi_bin_x (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW bin_x request. More...
 
int newCallBack_roi_bin_y (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW bin_y request. More...
 
int checkNextROI (const mx::meta::trueFalseT< true > &t)
 Interface to checkNextROI when the derivedT uses ROIs. More...
 
int checkNextROI (const mx::meta::trueFalseT< false > &f)
 Interface to checkNextROI when the derivedT does not use ROIs. More...
 
int newCallBack_roi_check (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_check request. More...
 
int setNextROI (const mx::meta::trueFalseT< true > &t)
 Interface to setNextROI when the derivedT uses ROIs. More...
 
int setNextROI (const mx::meta::trueFalseT< false > &f)
 Interface to setNextROI when the derivedT does not use ROIs. More...
 
int newCallBack_roi_set (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_set request. More...
 
int newCallBack_roi_full (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_full request. More...
 
int newCallBack_roi_fullbin (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_fullbin request. More...
 
int newCallBack_roi_loadlast (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_loadlast request. More...
 
int newCallBack_roi_last (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_last request. More...
 
int newCallBack_roi_default (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW roi_default request. More...
 
int setShutter (int ss, const mx::meta::trueFalseT< true > &t)
 Interface to setShutter when the derivedT has a shutter. More...
 
int setShutter (int ss, const mx::meta::trueFalseT< false > &f)
 Interface to setShutter when the derivedT does not have a shutter. More...
 
int newCallBack_shutter (const pcf::IndiProperty &ipRecv)
 Callback to process a NEW shutter request. More...
 
std::string stateString (const mx::meta::trueFalseT< true > &t)
 Interface to stateString when the derivedT provides it. More...
 
std::string stateString (const mx::meta::trueFalseT< false > &f)
 Interface to stateString when the derivedT does not provide it. More...
 
bool stateStringValid (const mx::meta::trueFalseT< true > &t)
 Interface to stateStringValid when the derivedT provides it. More...
 
bool stateStringValid (const mx::meta::trueFalseT< false > &f)
 Interface to stateStringValid when the derivedT does not provide it. More...
 
int updateINDI ()
 Update the INDI properties for this device controller. More...
 
static int st_newCallBack_stdCamera (void *app, const pcf::IndiProperty &ipRecv)
 The static callback function to be registered for stdCamera properties. More...
 

Detailed Description

template<class derivedT>
class MagAOX::app::dev::stdCamera< derivedT >

MagAO-X standard camera interface.

Implements the standard interface to a MagAO-X camera. The derived class derivedT must meet the following requirements:

  • The derived class derivedT must be a MagAOXApp\<true\>
  • Must declare this class a friend like so:
    friend class dev::stdCamera<DERIVEDNAME>; //replace DERIVEDNAME with derivedT class name
  • Must declare the following typedef:
    typedef dev::stdCamera<DERIVEDNAME> stdCameraT; //replace DERIVEDNAME with derivedT class name
  • Must declare a series of static constexpr flags to manage static compile-time configuration. Each of these flags must be defined in derivedT to be either true or false.
    • Temperature Control and Status:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_tempControl = true; //or: false
        which determines whether or not temperature controls are exposed.
      • If (c_stdCamera_tempControl == true) then the derived class must implement the following interfaces
        int setTempControl(); // set temp control status according to m_tempControlStatusSet
        int setTempSetPt(); // set the temperature set point accordin to m_ccdTempSetpt
        int setTempControl(const mx::meta::trueFalseT< true > &t)
        Interface to setTempControl when the derivedT has temperature control.
        Definition: stdCamera.hpp:1851
        int setTempSetPt(const mx::meta::trueFalseT< true > &t)
        Interface to setTempSetPt when the derivedT has temperature control.
        Definition: stdCamera.hpp:1807
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_temp = true; //or: false
        which determines whether or not temperature reporting is exposed. Note that if (c_stdCamera_tempControl == true), then the behavior is as if c_stdCamera_temp == true, but thus constexpr must still be defined.
      • If either (c_stdCamera_tempControl == true) or c_stdCamera_temp == true then the INDI property "temp_ccd" will be updated from the value of m_ccdTemp.
    • Readout Speed:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_readoutSpeed = true; //or: false
        which determines whether or not readout speed controls are exposed. If true, then the implementation should populate m_readoutSpeedNames and m_readoutSpeedNameLabels (vectors of strings) on construction to the allowed values. This facility is normally used to control both amplifier and readout/adc speed with names like "ccd_1MHz" and "emccd_17MHz".
      • If used (and true) then the following interface must be implemented:
        int setReadoutSpeed(); // configures camera using m_readoutSpeedNameSet
        int setReadoutSpeed(const mx::meta::trueFalseT< true > &t)
        Interface to setReadoutSpeed when the derivedT has readout speed control.
        Definition: stdCamera.hpp:1900
        This configures the camera according to m_readoutSpeedNameSet. The implementation must also manage m_readoutSpeedName, keeping it up to date with the current setting.
      • If true, the configuration setting "camera.defaultReadoutSpeed" is also exposed, and m_defaultReadoutSpeed will be set according to it. The implementation can set a sensible default on construction.
    • Vertical Shift Speed:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_vShiftSpeed = true; //or: false
        which determines whether or not vertical shift speed controls are exposed.
      • If true, then the implementation should populate m_vShiftSpeedNames and m_vShiftSpeedLabels (vectors of strings) on construction to the allowed values. This facility is normally used with names like "0_3us" and "1_3us".
      • If true then the following interface must be defined:
        int setVShiftSpeed(); // configures camera according to m_vShiftSpeedNameSet
        int setVShiftSpeed(const mx::meta::trueFalseT< true > &t)
        Interface to setVShiftSpeed when the derivedT has vshift speed control.
        Definition: stdCamera.hpp:1960
        function must be defined which sets the camera according to m_vShiftSpeedNameSet. The implementation must also manage m_vShiftSpeedName, keeping it up to date.
      • The configuration setting "camera.defaultVShiftSpeed" is also exposed, and m_defaultVShiftSpeed will be set accordingly. derivedT can set a sensible default on constuction.
    • Exposure Time:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_exptimeCtrl = true; //or: false
      • If true, the following interface must be implemented:
        int setExpTime(); // set camera exposure time according to m_expTimeSet.
        int setExpTime(const mx::meta::trueFalseT< true > &t)
        Interface to setExpTime when the derivedT uses exposure time controls.
        Definition: stdCamera.hpp:2062
        to configure the camera according to m_expTimeSet. derivedT must also keep m_expTime up to date.
    • Frames per Second (FPS) Control and Status:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_fpsCtrl = true; //or: false
      • If that is set to true the derivedT must implement
        int setFPS(); // set camera FS according to m_fps
        int setFPS(const mx::meta::trueFalseT< true > &t)
        Interface to setFPS when the derivedT uses FPS controls.
        Definition: stdCamera.hpp:2104
        to configure the camera according to m_fpsSet.
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_fps = true; //or: false
        Note that the value of c_stdCamera_fps does not matter if c_stdCamera_fpsCtrl == true.
      • If either c_stdCamera_fpsCtrl == true or c_stdCamera_fps == true then derivedT must also keep m_fps up to date.
    • Synchro Control:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_synchro = true; //or: false
      • If that is set to true the derivedT must implement
        int setSynchro(); // configure the camera based m_synchroSet.
        int setSynchro(const mx::meta::trueFalseT< true > &t)
        Interface to setSynchro when the derivedT has synchronization.
        Definition: stdCamera.hpp:2146
        to configure the camera based on m_synchroSet. The implementation should also keep m_synchro up to date.
    • EM Gain:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_emGain = true; //or: false
        which determines whether or not EM gain controls are exposed.
      • If the camera uses EM Gain, then a function
        int setEMGain(); // set EM gain based on m_emGainSet.
        int setEMGain(const mx::meta::trueFalseT< true > &t)
        Interface to setEMGain when the derivedT has EM Gain.
        Definition: stdCamera.hpp:2020
        must be defined which sets the camera EM Gain to m_emGainSet.
      • If true the implementation must keep m_emGain up to date.
      • If true the value of m_maxEMGain should be set by the implementation and managed as needed. Additionally the configuration setting "camera.maxEMGain" is exposed.
    • Camera Modes:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_usesModes= true; //or: false
      • If true, then modes are read from the configuration file. See loadCameraConfig()
      • If true, then the configuration setting "camera.startupMode" is exposed, which sets the mode at startup by its name.
    • Regions of Interest
    • Crop Mode ROIs:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_cropMode = true; //or: false
      • If true the derived class must implement
        int setCropMode(); // set crop mode according to m_cropModeSet
        int setCropMode(const mx::meta::trueFalseT< true > &t)
        Interface to setCropMode when the derivedT has crop mode.
        Definition: stdCamera.hpp:2265
        which changes the crop mode according to m_cropModeSet.
      • derivedT must also maintain the value of m_cropMode.
    • Shutters:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_hasShutter = true; //or: false
      • If true the following interface must be implemented:
        int setShutter(int); // shut the shutter if 0, open the shutter otherwise.
        int setShutter(int ss, const mx::meta::trueFalseT< true > &t)
        Interface to setShutter when the derivedT has a shutter.
        Definition: stdCamera.hpp:2719
        which shuts the shutter if the argument is 0, opens it otherwise.
    • State:
      • A static configuration variable must be defined in derivedT as
        static constexpr bool c_stdCamera_usesStateString = true; //or: false
        which determines whether the class provides a state string for dark management.
      • If true, the following functions must be defined in derivedT:
        std::string stateString(); //String capturing the current state. Must not include "__T".
        bool stateStringValid(); //Whether or not the current state string is valid, i.e. not changing.
        bool stateStringValid(const mx::meta::trueFalseT< true > &t)
        Interface to stateStringValid when the derivedT provides it.
        Definition: stdCamera.hpp:2780
        std::string stateString(const mx::meta::trueFalseT< true > &t)
        Interface to stateString when the derivedT provides it.
        Definition: stdCamera.hpp:2766
  • The derived class must implement:
    int powerOnDefaults(); // called on power-on after powerOnWaitElapsed has occurred.
  • Calls to this class's setupConfig(), loadConfig(), appStartup(), appLogic(), appShutdown() onPowerOff(), and whilePowerOff(), must be placed in the derived class's functions of the same name.

Definition at line 286 of file stdCamera.hpp.


Class Documentation

◆ MagAOX::app::dev::stdCamera::roi

struct MagAOX::app::dev::stdCamera::roi

template<class derivedT>
struct MagAOX::app::dev::stdCamera< derivedT >::roi

Definition at line 412 of file stdCamera.hpp.

Collaboration diagram for MagAOX::app::dev::stdCamera< derivedT >::roi:
Collaboration graph
Class Members
int bin_x
int bin_y
int h
int w
float x
float y

Constructor & Destructor Documentation

◆ ~stdCamera()

template<class derivedT >
MagAOX::app::dev::stdCamera< derivedT >::~stdCamera
noexcept

Destructor.

Definition at line 1027 of file stdCamera.hpp.

Member Function Documentation

◆ appLogic()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::appLogic

Application logic.

Checks the stdCamera thread

This should be called from the derived's appLogic() as in

with appropriate error checking.

Returns
0 on success
-1 on error, which is logged.

Definition at line 1539 of file stdCamera.hpp.

◆ appShutdown()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::appShutdown

Application shutdown.

Shuts down the stdCamera thread

with appropriate error checking.

Returns
0 on success
-1 on error, which is logged.

Definition at line 1742 of file stdCamera.hpp.

Referenced by MagAOX::app::cameraSim::appShutdown(), MagAOX::app::ocam2KCtrl::appShutdown(), MagAOX::app::qhyCtrl::appShutdown(), and MagAOX::app::zylaCtrl::appShutdown().

◆ appStartup()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::appStartup

Startup function.

This should be called in derivedT::appStartup as

with appropriate error checking.

You should set the default/startup values of m_currentROI as well as the min/max/step values for the ROI parameters before calling this function.

Returns
0 on success
-1 on error, which is logged.

Definition at line 1175 of file stdCamera.hpp.

◆ checkNextROI() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::checkNextROI ( const mx::meta::trueFalseT< false > &  f)

Interface to checkNextROI when the derivedT does not use ROIs.

Tag-dispatch resolution of c_stdCamera_usesROI==false will call this function. This prevents requiring derivedT to have its own checkNextROI().

Definition at line 2455 of file stdCamera.hpp.

◆ checkNextROI() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::checkNextROI ( const mx::meta::trueFalseT< true > &  t)

Interface to checkNextROI when the derivedT uses ROIs.

Tag-dispatch resolution of c_stdCamera_usesROI==true will call this function. Calls derivedT::checkNextROI.

Definition at line 2448 of file stdCamera.hpp.

◆ createReadoutSpeed() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::createReadoutSpeed ( const mx::meta::trueFalseT< false > &  f)
protected

◆ createReadoutSpeed() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::createReadoutSpeed ( const mx::meta::trueFalseT< true > &  t)
protected

Definition at line 1124 of file stdCamera.hpp.

◆ createVShiftSpeed() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::createVShiftSpeed ( const mx::meta::trueFalseT< false > &  f)
protected

◆ createVShiftSpeed() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::createVShiftSpeed ( const mx::meta::trueFalseT< true > &  t)
protected

Definition at line 1150 of file stdCamera.hpp.

◆ derived()

template<class derivedT >
derivedT& MagAOX::app::dev::stdCamera< derivedT >::derived ( )
inlineprivate

Definition at line 1020 of file stdCamera.hpp.

◆ loadConfig()

template<class derivedT >
void MagAOX::app::dev::stdCamera< derivedT >::loadConfig ( mx::app::appConfigurator &  config)

load the configuration system results

This should be called in derivedT::loadConfig as

void loadConfig(mx::app::appConfigurator &config)
load the configuration system results
Definition: stdCamera.hpp:1074

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 1074 of file stdCamera.hpp.

Referenced by MagAOX::app::andorCtrl::loadConfig(), MagAOX::app::ocam2KCtrl::loadConfig(), MagAOX::app::picamCtrl::loadConfig(), MagAOX::app::qhyCtrl::loadConfig(), MagAOX::app::zylaCtrl::loadConfig(), and MagAOX::app::cameraSim::loadConfigImpl().

◆ newCallBack_cropMode()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_cropMode ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW cropMode request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2279 of file stdCamera.hpp.

◆ newCallBack_emgain()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_emgain ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW EM gain request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2034 of file stdCamera.hpp.

◆ newCallBack_exptime()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_exptime ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW exposure time request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2076 of file stdCamera.hpp.

◆ newCallBack_fps()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_fps ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW fps request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2118 of file stdCamera.hpp.

◆ newCallBack_mode()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_mode ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW mode request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2190 of file stdCamera.hpp.

◆ newCallBack_readoutSpeed()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_readoutSpeed ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW readout speed request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 1914 of file stdCamera.hpp.

◆ newCallBack_reconfigure()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_reconfigure ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW reconfigure request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2242 of file stdCamera.hpp.

◆ newCallBack_roi_bin_x()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_bin_x ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW bin_x request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2402 of file stdCamera.hpp.

◆ newCallBack_roi_bin_y()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_bin_y ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW bin_y request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2425 of file stdCamera.hpp.

◆ newCallBack_roi_check()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_check ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_check request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2462 of file stdCamera.hpp.

◆ newCallBack_roi_default()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_default ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_default request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2685 of file stdCamera.hpp.

◆ newCallBack_roi_full()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_full ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_full request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2532 of file stdCamera.hpp.

◆ newCallBack_roi_fullbin()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_fullbin ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_fullbin request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2566 of file stdCamera.hpp.

◆ newCallBack_roi_h()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_h ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_h request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2379 of file stdCamera.hpp.

◆ newCallBack_roi_last()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_last ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_last request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2657 of file stdCamera.hpp.

◆ newCallBack_roi_loadlast()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_loadlast ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_loadlast request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2630 of file stdCamera.hpp.

◆ newCallBack_roi_set()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_set ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_set request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2503 of file stdCamera.hpp.

◆ newCallBack_roi_w()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_w ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_w request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2356 of file stdCamera.hpp.

◆ newCallBack_roi_x()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_x ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_x request.

Returns
0 on success.
-1 on error.
Todo:
why don't these check if usesROI is true?
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2310 of file stdCamera.hpp.

◆ newCallBack_roi_y()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_y ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW roi_y request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2333 of file stdCamera.hpp.

◆ newCallBack_shutter()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_shutter ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW shutter request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2738 of file stdCamera.hpp.

◆ newCallBack_stdCamera()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_stdCamera ( const pcf::IndiProperty &  ipRecv)

The callback function for stdCamera properties.

Dispatches to the relevant handler

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 1758 of file stdCamera.hpp.

◆ newCallBack_synchro()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_synchro ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW synchro request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 2160 of file stdCamera.hpp.

◆ newCallBack_temp()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_temp ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW CCD temp request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 1821 of file stdCamera.hpp.

◆ newCallBack_temp_controller()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_temp_controller ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW CCD temp control request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 1865 of file stdCamera.hpp.

◆ newCallBack_vShiftSpeed()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_vShiftSpeed ( const pcf::IndiProperty &  ipRecv)

Callback to process a NEW vshift speed request.

Returns
0 on success.
-1 on error.
Parameters
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 1974 of file stdCamera.hpp.

◆ onPowerOff()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::onPowerOff

Actions on power off.

This should be called from the derived's onPowerOff() as in

with appropriate error checking.

The INDI mutex should be locked before calling.

Returns
0 on success
-1 on error, which is logged.

Definition at line 1647 of file stdCamera.hpp.

◆ recordCamera()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::recordCamera ( bool  force = false)

Definition at line 2953 of file stdCamera.hpp.

◆ setCropMode() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setCropMode ( const mx::meta::trueFalseT< false > &  f)

Interface to setCropMode when the derivedT does not have crop mode.

Tag-dispatch resolution of c_stdCamera_cropMode==false will call this function. This prevents requiring derivedT to have its own setCropMode().

Definition at line 2272 of file stdCamera.hpp.

◆ setCropMode() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setCropMode ( const mx::meta::trueFalseT< true > &  t)

Interface to setCropMode when the derivedT has crop mode.

Tag-dispatch resolution of c_stdCamera_cropMode==true will call this function. Calls derivedT::setCropMode.

Definition at line 2265 of file stdCamera.hpp.

◆ setEMGain() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setEMGain ( const mx::meta::trueFalseT< false > &  f)

Interface to setEMGain when the derivedT does not have EM Gain.

Tag-dispatch resolution of c_stdCamera_emGain==false will call this function. This prevents requiring derivedT to have its own setEMGain().

Definition at line 2027 of file stdCamera.hpp.

◆ setEMGain() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setEMGain ( const mx::meta::trueFalseT< true > &  t)

Interface to setEMGain when the derivedT has EM Gain.

Tag-dispatch resolution of c_stdCamera_emGain==true will call this function. Calls derivedT::setEMGain.

Definition at line 2020 of file stdCamera.hpp.

◆ setExpTime() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setExpTime ( const mx::meta::trueFalseT< false > &  f)

Interface to setExptime when the derivedT does not use exposure time controls.

Tag-dispatch resolution of c_stdCamera_exptimeCtrl==false will call this function. This prevents requiring derivedT to have its own setExpTime().

Definition at line 2069 of file stdCamera.hpp.

◆ setExpTime() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setExpTime ( const mx::meta::trueFalseT< true > &  t)

Interface to setExpTime when the derivedT uses exposure time controls.

Tag-dispatch resolution of c_stdCamera_exptimeCtrl==true will call this function. Calls derivedT::setExpTime.

Definition at line 2062 of file stdCamera.hpp.

◆ setFPS() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setFPS ( const mx::meta::trueFalseT< false > &  f)

Interface to setFPS when the derivedT does not use FPS controls.

Tag-dispatch resolution of c_stdCamera_hasFPS==false will call this function. This prevents requiring derivedT to have its own setFPS().

Definition at line 2111 of file stdCamera.hpp.

◆ setFPS() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setFPS ( const mx::meta::trueFalseT< true > &  t)

Interface to setFPS when the derivedT uses FPS controls.

Tag-dispatch resolution of c_stdCamera_fpsCtrl==true will call this function. Calls derivedT::setFPS.

Definition at line 2104 of file stdCamera.hpp.

◆ setNextROI() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setNextROI ( const mx::meta::trueFalseT< false > &  f)

Interface to setNextROI when the derivedT does not use ROIs.

Tag-dispatch resolution of c_stdCamera_usesROI==false will call this function. This prevents requiring derivedT to have its own setNextROI().

Definition at line 2496 of file stdCamera.hpp.

◆ setNextROI() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setNextROI ( const mx::meta::trueFalseT< true > &  t)

Interface to setNextROI when the derivedT uses ROIs.

Tag-dispatch resolution of c_stdCamera_usesROI==true will call this function. Calls derivedT::setNextROI.

Definition at line 2489 of file stdCamera.hpp.

◆ setReadoutSpeed() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setReadoutSpeed ( const mx::meta::trueFalseT< false > &  f)

Interface to setReadoutSpeed when the derivedT does not have readout speed control.

Tag-dispatch resolution of c_stdCamera_readoutSpeed==false will call this function. Just returns 0.

Definition at line 1907 of file stdCamera.hpp.

◆ setReadoutSpeed() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setReadoutSpeed ( const mx::meta::trueFalseT< true > &  t)

Interface to setReadoutSpeed when the derivedT has readout speed control.

Tag-dispatch resolution of c_stdCamera_readoutSpeed==true will call this function. Calls derivedT::setReadoutSpeed.

Definition at line 1900 of file stdCamera.hpp.

◆ setShutter() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setShutter ( int  ss,
const mx::meta::trueFalseT< false > &  f 
)

Interface to setShutter when the derivedT does not have a shutter.

Tag-dispatch resolution of c_stdCamera_hasShutter==false will call this function. This prevents requiring derivedT to have its own setShutter().

Definition at line 2728 of file stdCamera.hpp.

◆ setShutter() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setShutter ( int  ss,
const mx::meta::trueFalseT< true > &  t 
)

Interface to setShutter when the derivedT has a shutter.

Tag-dispatch resolution of c_stdCamera_hasShutter==true will call this function. Calls derivedT::setShutter.

Definition at line 2719 of file stdCamera.hpp.

◆ setSynchro() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setSynchro ( const mx::meta::trueFalseT< false > &  f)

Interface to setSynchro when the derivedT does not have synchronization.

Tag-dispatch resolution of c_stdCamera_ynchro==false will call this function. This prevents requiring derivedT to have its own setSynchro().

Definition at line 2153 of file stdCamera.hpp.

◆ setSynchro() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setSynchro ( const mx::meta::trueFalseT< true > &  t)

Interface to setSynchro when the derivedT has synchronization.

Tag-dispatch resolution of c_stdCamera_synchro==true will call this function. Calls derivedT::setSynchro.

Definition at line 2146 of file stdCamera.hpp.

◆ setTempControl() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setTempControl ( const mx::meta::trueFalseT< false > &  f)

Interface to setTempControl when the derivedT does not have temperature control.

Tag-dispatch resolution of c_stdCamera_tempControl==false will call this function. Prevents requiring derivedT::setTempControl.

Definition at line 1858 of file stdCamera.hpp.

◆ setTempControl() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setTempControl ( const mx::meta::trueFalseT< true > &  t)

Interface to setTempControl when the derivedT has temperature control.

Tag-dispatch resolution of c_stdCamera_tempControl==true will call this function. Calls derivedT::setTempControl.

Definition at line 1851 of file stdCamera.hpp.

◆ setTempSetPt() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setTempSetPt ( const mx::meta::trueFalseT< false > &  f)

Interface to setTempSetPt when the derivedT does not have temperature control.

Tag-dispatch resolution of c_stdCamera_tempControl==false will call this function. Prevents requiring derivedT::setTempSetPt.

Definition at line 1814 of file stdCamera.hpp.

◆ setTempSetPt() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setTempSetPt ( const mx::meta::trueFalseT< true > &  t)

Interface to setTempSetPt when the derivedT has temperature control.

Tag-dispatch resolution of c_stdCamera_tempControl==true will call this function. Calls derivedT::setTempSetPt.

Definition at line 1807 of file stdCamera.hpp.

◆ setupConfig()

template<class derivedT >
void MagAOX::app::dev::stdCamera< derivedT >::setupConfig ( mx::app::appConfigurator &  config)

Setup the configuration system.

This should be called in derivedT::setupConfig as

void setupConfig(mx::app::appConfigurator &config)
Setup the configuration system.
Definition: stdCamera.hpp:1035

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 1035 of file stdCamera.hpp.

Referenced by MagAOX::app::andorCtrl::setupConfig(), MagAOX::app::cameraSim::setupConfig(), MagAOX::app::ocam2KCtrl::setupConfig(), MagAOX::app::picamCtrl::setupConfig(), MagAOX::app::qhyCtrl::setupConfig(), and MagAOX::app::zylaCtrl::setupConfig().

◆ setVShiftSpeed() [1/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setVShiftSpeed ( const mx::meta::trueFalseT< false > &  f)

Interface to setVShiftSpeed when the derivedT does not have vshift speed control.

Tag-dispatch resolution of c_stdCamera_vShiftSpeed==false will call this function. Just returns 0.

Definition at line 1967 of file stdCamera.hpp.

◆ setVShiftSpeed() [2/2]

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::setVShiftSpeed ( const mx::meta::trueFalseT< true > &  t)

Interface to setVShiftSpeed when the derivedT has vshift speed control.

Tag-dispatch resolution of c_stdCamera_vShiftSpeed==true will call this function. Calls derivedT::setVShiftSpeed.

Definition at line 1960 of file stdCamera.hpp.

◆ st_newCallBack_stdCamera()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::st_newCallBack_stdCamera ( void *  app,
const pcf::IndiProperty &  ipRecv 
)
static

The static callback function to be registered for stdCamera properties.

Calls newCallback_stdCamera

Returns
0 on success.
-1 on error.
Parameters
[in]appa pointer to this, will be static_cast-ed to derivedT.
[in]ipRecvthe INDI property sent with the the new property request.

Definition at line 1749 of file stdCamera.hpp.

◆ stateString() [1/2]

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::stateString ( const mx::meta::trueFalseT< false > &  f)

Interface to stateString when the derivedT does not provide it.

Tag-dispatch resolution of c_stdCamera_usesStateString==false will call this function. returns "".

Definition at line 2773 of file stdCamera.hpp.

◆ stateString() [2/2]

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::stateString ( const mx::meta::trueFalseT< true > &  t)

Interface to stateString when the derivedT provides it.

Tag-dispatch resolution of c_stdCamera_usesStateString==true will call this function. Calls derivedT::stateString.

Definition at line 2766 of file stdCamera.hpp.

◆ stateStringValid() [1/2]

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::stateStringValid ( const mx::meta::trueFalseT< false > &  f)

Interface to stateStringValid when the derivedT does not provide it.

Tag-dispatch resolution of c_stdCamera_usesStateString==false will call this function. returns false.

Definition at line 2787 of file stdCamera.hpp.

◆ stateStringValid() [2/2]

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::stateStringValid ( const mx::meta::trueFalseT< true > &  t)

Interface to stateStringValid when the derivedT provides it.

Tag-dispatch resolution of c_stdCamera_usesStateString==true will call this function. Calls derivedT::stateStringValid.

Definition at line 2780 of file stdCamera.hpp.

◆ updateINDI()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::updateINDI

Update the INDI properties for this device controller.

You should call this once per main loop. It is not called automatically.

Returns
0 on success.
-1 on error.

Definition at line 2794 of file stdCamera.hpp.

◆ whilePowerOff()

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::whilePowerOff

Actions while powered off.

This should be called from the derived's whilePowerOff() as in

with appropriate error checking.

Returns
0 on success
-1 on error, which is logged.

Definition at line 1710 of file stdCamera.hpp.

Member Data Documentation

◆ m_adcSpeed

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_adcSpeed {0}
protected

Definition at line 346 of file stdCamera.hpp.

◆ m_cameraModes

template<class derivedT >
cameraConfigMap MagAOX::app::dev::stdCamera< derivedT >::m_cameraModes
protected

Map holding the possible camera mode configurations.

Definition at line 294 of file stdCamera.hpp.

◆ m_ccdTemp

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_ccdTemp {-999}
protected

The current temperature, in C.

Definition at line 313 of file stdCamera.hpp.

◆ m_ccdTempSetpt

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_ccdTempSetpt {-999}
protected

The desired temperature, in C.

Definition at line 315 of file stdCamera.hpp.

◆ m_cropMode

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_cropMode {false}
protected

Status of crop mode ROIs, if enabled for this camera.

Definition at line 494 of file stdCamera.hpp.

◆ m_cropModeSet

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_cropModeSet {false}
protected

Desired status of crop mode ROIs, if enabled for this camera.

Definition at line 495 of file stdCamera.hpp.

◆ m_currentROI

template<class derivedT >
roi MagAOX::app::dev::stdCamera< derivedT >::m_currentROI
protected

Definition at line 422 of file stdCamera.hpp.

◆ m_default_bin_x

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_default_bin_x {1}
protected

Power-on ROI x binning.

Definition at line 454 of file stdCamera.hpp.

◆ m_default_bin_y

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_default_bin_y {1}
protected

Power-on ROI y binning.

Definition at line 455 of file stdCamera.hpp.

◆ m_default_h

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_default_h {0}
protected

Power-on ROI height.

Definition at line 453 of file stdCamera.hpp.

◆ m_default_w

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_default_w {0}
protected

Power-on ROI width.

Definition at line 452 of file stdCamera.hpp.

◆ m_default_x

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_default_x {0}
protected

Power-on ROI center x coordinate.

Definition at line 450 of file stdCamera.hpp.

◆ m_default_y

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_default_y {0}
protected

Power-on ROI center y coordinate.

Definition at line 451 of file stdCamera.hpp.

◆ m_defaultReadoutSpeed

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_defaultReadoutSpeed
protected

The default readout speed of the camera.

Definition at line 300 of file stdCamera.hpp.

◆ m_defaultVShiftSpeed

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_defaultVShiftSpeed
protected

The default readout speed of the camera.

Definition at line 301 of file stdCamera.hpp.

◆ m_emGain

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_emGain {1}
protected

The camera's current EM gain (if available).

Definition at line 349 of file stdCamera.hpp.

◆ m_emGainSet

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_emGainSet {1}
protected

The camera's EM gain, as set by the user.

Definition at line 350 of file stdCamera.hpp.

◆ m_expTime

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_expTime {0}
protected

The current exposure time, in seconds.

Definition at line 367 of file stdCamera.hpp.

◆ m_expTimeSet

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_expTimeSet {0}
protected

The exposure time, in seconds, as set by user.

Definition at line 368 of file stdCamera.hpp.

◆ m_fps

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_fps {0}
protected

The current FPS.

Definition at line 374 of file stdCamera.hpp.

◆ m_fpsSet

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_fpsSet {0}
protected

The commanded fps, as set by user.

Definition at line 375 of file stdCamera.hpp.

◆ m_full_bin_x

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_full_bin_x {1}
protected

The x-binning in the full ROI.

Definition at line 461 of file stdCamera.hpp.

◆ m_full_bin_y

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_full_bin_y {1}
protected

The y-binning in the full ROI.

Definition at line 462 of file stdCamera.hpp.

◆ m_full_currbin_h

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_full_currbin_h {0}
protected

The current-binning full ROI height.

Definition at line 467 of file stdCamera.hpp.

◆ m_full_currbin_w

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_full_currbin_w {0}
protected

The current-binning full ROI width.

Definition at line 466 of file stdCamera.hpp.

◆ m_full_currbin_x

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_full_currbin_x {0}
protected

The current-binning full ROI center x coordinate.

Definition at line 464 of file stdCamera.hpp.

◆ m_full_currbin_y

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_full_currbin_y {0}
protected

The current-binning full ROI center y coordinate.

Definition at line 465 of file stdCamera.hpp.

◆ m_full_h

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_full_h {0}
protected

The full ROI height.

Definition at line 460 of file stdCamera.hpp.

◆ m_full_w

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_full_w {0}
protected

The full ROI width.

Definition at line 459 of file stdCamera.hpp.

◆ m_full_x

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_full_x {0}
protected

The full ROI center x coordinate.

Definition at line 457 of file stdCamera.hpp.

◆ m_full_y

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_full_y {0}
protected

The full ROI center y coordinate.

Definition at line 458 of file stdCamera.hpp.

◆ m_indiP_cropMode

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_cropMode
protected

Property used to toggle crop mode on and off.

Definition at line 497 of file stdCamera.hpp.

◆ m_indiP_emGain

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_emGain
protected

Definition at line 356 of file stdCamera.hpp.

◆ m_indiP_exptime

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_exptime
protected

Definition at line 377 of file stdCamera.hpp.

◆ m_indiP_fps

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_fps
protected

Definition at line 379 of file stdCamera.hpp.

◆ m_indiP_fullROI

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_fullROI
protected

Property used to preset the full ROI dimensions.

Definition at line 476 of file stdCamera.hpp.

◆ m_indiP_mode

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_mode
protected

Property used to report the current mode.

Definition at line 402 of file stdCamera.hpp.

◆ m_indiP_readoutSpeed

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_readoutSpeed
protected

Definition at line 353 of file stdCamera.hpp.

◆ m_indiP_reconfig

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_reconfig
protected

Request switch which forces the framegrabber to go through the reconfigure process.

Definition at line 404 of file stdCamera.hpp.

◆ m_indiP_roi_bin_x

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_bin_x
protected

Property used to set the ROI x binning.

Definition at line 473 of file stdCamera.hpp.

◆ m_indiP_roi_bin_y

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_bin_y
protected

Property used to set the ROI y binning.

Definition at line 474 of file stdCamera.hpp.

◆ m_indiP_roi_check

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_check
protected

Property used to trigger checking the target ROI.

Definition at line 478 of file stdCamera.hpp.

◆ m_indiP_roi_default

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_default
protected

Property used to trigger setting the default and startup ROI.

Definition at line 486 of file stdCamera.hpp.

◆ m_indiP_roi_full

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_full
protected

Property used to trigger setting the full ROI.

Definition at line 482 of file stdCamera.hpp.

◆ m_indiP_roi_fullbin

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_fullbin
protected

Property used to trigger setting the full in current binning ROI.

Definition at line 483 of file stdCamera.hpp.

◆ m_indiP_roi_h

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_h
protected

Property used to set the ROI height.

Definition at line 472 of file stdCamera.hpp.

◆ m_indiP_roi_last

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_last
protected

Property used to trigger setting the last ROI.

Definition at line 485 of file stdCamera.hpp.

◆ m_indiP_roi_loadlast

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_loadlast
protected

Property used to trigger loading the last ROI as the target.

Definition at line 484 of file stdCamera.hpp.

◆ m_indiP_roi_set

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_set
protected

Property used to trigger setting the ROI.

Definition at line 480 of file stdCamera.hpp.

◆ m_indiP_roi_w

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_w
protected

Property used to set the ROI width.

Definition at line 471 of file stdCamera.hpp.

◆ m_indiP_roi_x

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_x
protected

Property used to set the ROI x center coordinate.

Definition at line 469 of file stdCamera.hpp.

◆ m_indiP_roi_y

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_roi_y
protected

Property used to set the ROI x center coordinate.

Definition at line 470 of file stdCamera.hpp.

◆ m_indiP_shutter

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_shutter
protected

Property used to control the shutter, a switch.

Definition at line 508 of file stdCamera.hpp.

◆ m_indiP_shutterStatus

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_shutterStatus
protected

State of the shutter. 0 = shut, 1 = open, -1 = unknown.

Property to report shutter status

Definition at line 507 of file stdCamera.hpp.

◆ m_indiP_stateString

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_stateString
protected

Definition at line 516 of file stdCamera.hpp.

◆ m_indiP_synchro

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_synchro
protected

Definition at line 390 of file stdCamera.hpp.

◆ m_indiP_temp

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_temp
protected

Definition at line 324 of file stdCamera.hpp.

◆ m_indiP_tempcont

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_tempcont
protected

Definition at line 325 of file stdCamera.hpp.

◆ m_indiP_tempstat

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_tempstat
protected

Definition at line 326 of file stdCamera.hpp.

◆ m_indiP_vShiftSpeed

template<class derivedT >
pcf::IndiProperty MagAOX::app::dev::stdCamera< derivedT >::m_indiP_vShiftSpeed
protected

Definition at line 354 of file stdCamera.hpp.

◆ m_lastROI

template<class derivedT >
roi MagAOX::app::dev::stdCamera< derivedT >::m_lastROI
protected

Definition at line 424 of file stdCamera.hpp.

◆ m_maxEMGain

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_maxEMGain {1}
protected

The configurable maximum EM gain. To be enforced in derivedT.

Definition at line 351 of file stdCamera.hpp.

◆ m_maxExpTime

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_maxExpTime {std::numeric_limits<float>::max()}
protected

The maximum exposure time, used for INDI attributes.

Definition at line 364 of file stdCamera.hpp.

◆ m_maxFPS

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_maxFPS {std::numeric_limits<float>::max()}
protected

The maximum FPS, used for INDI attributes.

Definition at line 371 of file stdCamera.hpp.

◆ m_maxROIBinning_x

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_maxROIBinning_x {4}
protected

Definition at line 443 of file stdCamera.hpp.

◆ m_maxROIBinning_y

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_maxROIBinning_y {4}
protected

Definition at line 447 of file stdCamera.hpp.

◆ m_maxROIHeight

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_maxROIHeight {1024}
protected

Definition at line 439 of file stdCamera.hpp.

◆ m_maxROIWidth

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_maxROIWidth {1024}
protected

Definition at line 435 of file stdCamera.hpp.

◆ m_maxROIx

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_maxROIx {1023}
protected

Definition at line 427 of file stdCamera.hpp.

◆ m_maxROIy

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_maxROIy {1023}
protected

Definition at line 431 of file stdCamera.hpp.

◆ m_maxTemp

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_maxTemp {30}
protected

Definition at line 310 of file stdCamera.hpp.

◆ m_minExpTime

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_minExpTime {0}
protected

The minimum exposure time, used for INDI attributes.

Definition at line 363 of file stdCamera.hpp.

◆ m_minFPS

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_minFPS {0}
protected

The minimum FPS, used for INDI attributes.

Definition at line 370 of file stdCamera.hpp.

◆ m_minROIBinning_x

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_minROIBinning_x {1}
protected

Definition at line 442 of file stdCamera.hpp.

◆ m_minROIBinning_y

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_minROIBinning_y {1}
protected

Definition at line 446 of file stdCamera.hpp.

◆ m_minROIHeight

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_minROIHeight {1}
protected

Definition at line 438 of file stdCamera.hpp.

◆ m_minROIWidth

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_minROIWidth {1}
protected

Definition at line 434 of file stdCamera.hpp.

◆ m_minROIx

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_minROIx {0}
protected

Definition at line 426 of file stdCamera.hpp.

◆ m_minROIy

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_minROIy {0}
protected

Definition at line 430 of file stdCamera.hpp.

◆ m_minTemp

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_minTemp {-60}
protected

Definition at line 309 of file stdCamera.hpp.

◆ m_modeName

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_modeName
protected

The current mode name.

Definition at line 398 of file stdCamera.hpp.

◆ m_nextMode

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_nextMode
protected

The mode to be set by the next reconfiguration.

Definition at line 400 of file stdCamera.hpp.

◆ m_nextROI

template<class derivedT >
roi MagAOX::app::dev::stdCamera< derivedT >::m_nextROI
protected

Definition at line 423 of file stdCamera.hpp.

◆ m_readoutSpeedName

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_readoutSpeedName
protected

The current readout speed name.

Definition at line 337 of file stdCamera.hpp.

◆ m_readoutSpeedNameLabels

template<class derivedT >
std::vector<std::string> MagAOX::app::dev::stdCamera< derivedT >::m_readoutSpeedNameLabels
protected

Definition at line 335 of file stdCamera.hpp.

◆ m_readoutSpeedNames

template<class derivedT >
std::vector<std::string> MagAOX::app::dev::stdCamera< derivedT >::m_readoutSpeedNames
protected

Definition at line 334 of file stdCamera.hpp.

◆ m_readoutSpeedNameSet

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_readoutSpeedNameSet
protected

The user requested readout speed name, to be set by derived()

Definition at line 338 of file stdCamera.hpp.

◆ m_shutterState

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_shutterState {-1}
protected

Definition at line 505 of file stdCamera.hpp.

◆ m_shutterStatus

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_shutterStatus {"UNKNOWN"}
protected

Definition at line 504 of file stdCamera.hpp.

◆ m_startupMode

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_startupMode
protected

The camera mode to load during first init after a power-on.

Definition at line 296 of file stdCamera.hpp.

◆ m_startupTemp

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_startupTemp {-999}
protected

The temperature to set after a power-on. Set to <= -999 to not use [default].

Definition at line 298 of file stdCamera.hpp.

◆ m_stepExpTime

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_stepExpTime {0}
protected

The maximum exposure time stepsize, used for INDI attributes.

Definition at line 365 of file stdCamera.hpp.

◆ m_stepFPS

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_stepFPS {0}
protected

The FPS step size, used for INDI attributes.

Definition at line 372 of file stdCamera.hpp.

◆ m_stepROIBinning_x

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_stepROIBinning_x {1}
protected

Definition at line 444 of file stdCamera.hpp.

◆ m_stepROIBinning_y

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_stepROIBinning_y {1}
protected

Definition at line 448 of file stdCamera.hpp.

◆ m_stepROIHeight

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_stepROIHeight {1}
protected

Definition at line 440 of file stdCamera.hpp.

◆ m_stepROIWidth

template<class derivedT >
int MagAOX::app::dev::stdCamera< derivedT >::m_stepROIWidth {1}
protected

Definition at line 436 of file stdCamera.hpp.

◆ m_stepROIx

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_stepROIx {0}
protected

Definition at line 428 of file stdCamera.hpp.

◆ m_stepROIy

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_stepROIy {0}
protected

Definition at line 432 of file stdCamera.hpp.

◆ m_stepTemp

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_stepTemp {0}
protected

Definition at line 311 of file stdCamera.hpp.

◆ m_synchro

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_synchro {false}
protected

Status of synchronization, true is on, false is off.

Definition at line 388 of file stdCamera.hpp.

◆ m_synchroSet

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_synchroSet {false}
protected

Target status of m_synchro.

Definition at line 386 of file stdCamera.hpp.

◆ m_tempControlOnTarget

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_tempControlOnTarget {false}
protected

Whether or not the temperature control system is on its target temperature.

Definition at line 320 of file stdCamera.hpp.

◆ m_tempControlStatus

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_tempControlStatus {false}
protected

Whether or not temperature control is active.

Definition at line 317 of file stdCamera.hpp.

◆ m_tempControlStatusSet

template<class derivedT >
bool MagAOX::app::dev::stdCamera< derivedT >::m_tempControlStatusSet {false}
protected

Desired state of temperature control.

Definition at line 318 of file stdCamera.hpp.

◆ m_tempControlStatusStr

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_tempControlStatusStr
protected

Camera specific description of temperature control status.

Definition at line 322 of file stdCamera.hpp.

◆ m_vshiftSpeed

template<class derivedT >
float MagAOX::app::dev::stdCamera< derivedT >::m_vshiftSpeed {0}
protected

Definition at line 347 of file stdCamera.hpp.

◆ m_vShiftSpeedName

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_vShiftSpeedName
protected

The current vshift speed name.

Definition at line 343 of file stdCamera.hpp.

◆ m_vShiftSpeedNameLabels

template<class derivedT >
std::vector<std::string> MagAOX::app::dev::stdCamera< derivedT >::m_vShiftSpeedNameLabels
protected

Definition at line 341 of file stdCamera.hpp.

◆ m_vShiftSpeedNames

template<class derivedT >
std::vector<std::string> MagAOX::app::dev::stdCamera< derivedT >::m_vShiftSpeedNames
protected

Definition at line 340 of file stdCamera.hpp.

◆ m_vShiftSpeedNameSet

template<class derivedT >
std::string MagAOX::app::dev::stdCamera< derivedT >::m_vShiftSpeedNameSet
protected

The user requested vshift speed name, to be set by derived()

Definition at line 344 of file stdCamera.hpp.


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