MagAO-X standard camera interface. More...
#include <stdCamera.hpp>

Classes | |
| struct | roi |
Public Member Functions | |
| ~stdCamera () noexcept | |
| Destructor. | |
| int | setupConfig (mx::app::appConfigurator &config) |
| Setup the configuration system. | |
| int | loadConfig (mx::app::appConfigurator &config) |
| load the configuration system results | |
| int | appStartup () |
| Startup function. | |
| int | appLogic () |
| Application logic. | |
| int | onPowerOff () |
| Actions on power off. | |
| int | whilePowerOff () |
| Actions while powered off. | |
| int | appShutdown () |
| Application shutdown. | |
Focus Control | |
| bool | checkFocusSwitchState () |
| Evaluate the configured focus-state switch helper as an in-focus boolean. | |
| int | sendGotoFocusCommand () |
| Format and send the configured goto-focus switch command. | |
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) |
| int | createFanSpeed (const mx::meta::trueFalseT< true > &t) |
| int | createFanSpeed (const mx::meta::trueFalseT< false > &f) |
| void | updateFocusStateProperty () |
| Refresh the published focus.state property from the current helper or derived focus implementation. | |
Protected Attributes | |
Configurable Parameters | |
| cameraConfigMap | m_cameraModes |
| Map holding the possible camera mode configurations. | |
| std::string | m_startupMode |
| The camera mode to load during first init after a power-on. | |
| float | m_startupTemp { -999 } |
| The temperature to set after a power-on. Set to <= -999 to not use [default]. | |
| std::string | m_defaultReadoutSpeed |
| The default readout speed of the camera. | |
| std::string | m_defaultVShiftSpeed |
| The default readout speed of the camera. | |
| bool | m_fanSpeedControlEnabled { true } |
| Whether or not fan-speed control is published through INDI. | |
| std::string | m_defaultFanSpeed |
| The default fan speed to apply after power on. | |
| bool | m_defaultLEDState { true } |
| The default LED state to apply after power on. | |
Temperature Control Interface | |
| float | m_minTemp { -60 } |
| float | m_maxTemp { 30 } |
| float | m_stepTemp { 0 } |
| float | m_ccdTemp { -999 } |
| The current temperature, in C. | |
| float | m_ccdTempSetpt { -999 } |
| The desired temperature, in C. | |
| bool | m_tempControlStatus { false } |
| Whether or not temperature control is active. | |
| bool | m_tempControlStatusSet { false } |
| Desired state of temperature control. | |
| bool | m_tempControlOnTarget { false } |
| Whether or not the temperature control system is on its target temperature. | |
| std::string | m_tempControlStatusStr |
| Camera specific description of temperature control status. | |
| 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. | |
| std::string | m_readoutSpeedNameSet |
| The user requested readout speed name, to be set by derived() | |
| std::vector< std::string > | m_vShiftSpeedNames |
| std::vector< std::string > | m_vShiftSpeedNameLabels |
| std::string | m_vShiftSpeedName |
| The current vshift speed name. | |
| std::string | m_vShiftSpeedNameSet |
| The user requested vshift speed name, to be set by derived() | |
| float | m_adcSpeed { 0 } |
| float | m_vshiftSpeed { 0 } |
| float | m_emGain { 1 } |
| The camera's current EM gain (if available). | |
| float | m_emGainSet { 1 } |
| The camera's EM gain, as set by the user. | |
| float | m_maxEMGain { 1 } |
| The configurable maximum EM gain. To be enforced in derivedT. | |
| 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. | |
| float | m_maxExpTime { std::numeric_limits<float>::max() } |
| The maximum exposure time, used for INDI attributes. | |
| float | m_stepExpTime { 0 } |
| The maximum exposure time stepsize, used for INDI attributes. | |
| float | m_expTime { 0 } |
| The current exposure time, in seconds. | |
| float | m_expTimeSet { 0 } |
| The exposure time, in seconds, as set by user. | |
| float | m_minFPS { 0 } |
| The minimum FPS, used for INDI attributes. | |
| float | m_maxFPS { std::numeric_limits<float>::max() } |
| The maximum FPS, used for INDI attributes. | |
| float | m_stepFPS { 0 } |
| The FPS step size, used for INDI attributes. | |
| float | m_fps { 0 } |
| The current FPS. | |
| float | m_fpsSet { 0 } |
| The commanded fps, as set by user. | |
| pcf::IndiProperty | m_indiP_exptime |
| pcf::IndiProperty | m_indiP_fps |
Fan Control | |
| std::vector< std::string > | m_fanSpeedNames |
| Valid fan-control option names for the INDI selection switch. | |
| std::vector< std::string > | m_fanSpeedNameLabels |
| Optional GUI labels for the fan-control options. | |
| std::string | m_fanSpeedName { "" } |
| Current fan-control option name. | |
| std::string | m_fanSpeedNameSet { "" } |
| Requested fan-control option name. | |
| bool | m_fanSpeedValid { false } |
| True once the current fan-control state is known. | |
| pcf::IndiProperty | m_indiP_fanSpeed |
| Property used to select the fan-speed mode. | |
Analog Gain | |
| std::vector< std::string > | m_analogGainNames |
| Valid analog-gain option names for the INDI selection switch. | |
| std::vector< std::string > | m_analogGainNameLabels |
| Optional GUI labels for the analog-gain options. | |
| std::string | m_analogGainName { "" } |
| Current analog-gain option name. | |
| std::string | m_analogGainNameSet { "" } |
| Requested analog-gain option name. | |
| bool | m_analogGainValid { false } |
| True once the current analog-gain state is known. | |
| pcf::IndiProperty | m_indiP_analogGain |
| Property used to select the analog-gain mode. | |
LED Control | |
| bool | m_ledState { false } |
| Current status LED state. | |
| bool | m_ledStateSet { false } |
| Requested status LED state. | |
| bool | m_ledStateValid { false } |
| True once the current LED state is known. | |
| pcf::IndiProperty | m_indiP_led |
| Property used to control the status LED state. | |
External Synchronization | |
| bool | m_synchroSet { false } |
| Target status of m_synchro. | |
| bool | m_synchro { false } |
| Status of synchronization, true is on, false is off. | |
| pcf::IndiProperty | m_indiP_synchro |
Modes | |
| std::string | m_modeName |
| The current mode name. | |
| std::string | m_nextMode |
| The mode to be set by the next reconfiguration. | |
| pcf::IndiProperty | m_indiP_mode |
| Property used to report the current mode. | |
| pcf::IndiProperty | m_indiP_reconfig |
| Request switch which forces the framegrabber to go through the reconfigure process. | |
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. | |
| float | m_default_y { 0 } |
| Power-on ROI center y coordinate. | |
| int | m_default_w { 0 } |
| Power-on ROI width. | |
| int | m_default_h { 0 } |
| Power-on ROI height. | |
| int | m_default_bin_x { 1 } |
| Power-on ROI x binning. | |
| int | m_default_bin_y { 1 } |
| Power-on ROI y binning. | |
| float | m_full_x { 0 } |
| The full ROI center x coordinate. | |
| float | m_full_y { 0 } |
| The full ROI center y coordinate. | |
| int | m_full_w { 0 } |
| The full ROI width. | |
| int | m_full_h { 0 } |
| The full ROI height. | |
| int | m_full_bin_x { 1 } |
| The x-binning in the full ROI. | |
| int | m_full_bin_y { 1 } |
| The y-binning in the full ROI. | |
| float | m_full_currbin_x { 0 } |
| The current-binning full ROI center x coordinate. | |
| float | m_full_currbin_y { 0 } |
| The current-binning full ROI center y coordinate. | |
| int | m_full_currbin_w { 0 } |
| The current-binning full ROI width. | |
| int | m_full_currbin_h { 0 } |
| The current-binning full ROI height. | |
| pcf::IndiProperty | m_indiP_roi_x |
| Property used to set the ROI x center coordinate. | |
| pcf::IndiProperty | m_indiP_roi_y |
| Property used to set the ROI x center coordinate. | |
| pcf::IndiProperty | m_indiP_roi_w |
| Property used to set the ROI width. | |
| pcf::IndiProperty | m_indiP_roi_h |
| Property used to set the ROI height. | |
| pcf::IndiProperty | m_indiP_roi_bin_x |
| Property used to set the ROI x binning. | |
| pcf::IndiProperty | m_indiP_roi_bin_y |
| Property used to set the ROI y binning. | |
| pcf::IndiProperty | m_indiP_fullROI |
| Property used to preset the full ROI dimensions. | |
| pcf::IndiProperty | m_indiP_roi_check |
| Property used to trigger checking the target ROI. | |
| pcf::IndiProperty | m_indiP_roi_set |
| Property used to trigger setting the ROI. | |
| pcf::IndiProperty | m_indiP_roi_full |
| Property used to trigger setting the full ROI. | |
| pcf::IndiProperty | m_indiP_roi_fullbin |
| Property used to trigger setting the full in current binning ROI. | |
| pcf::IndiProperty | m_indiP_roi_loadlast |
| Property used to trigger loading the last ROI as the target. | |
| pcf::IndiProperty | m_indiP_roi_last |
| Property used to trigger setting the last ROI. | |
| pcf::IndiProperty | m_indiP_roi_default |
| Property used to trigger setting the default and startup ROI. | |
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. | |
| bool | m_cropModeSet { false } |
| Desired status of crop mode ROIs, if enabled for this camera. | |
| pcf::IndiProperty | m_indiP_cropMode |
| Property used to toggle crop mode on and off. | |
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. | |
| pcf::IndiProperty | m_indiP_shutter |
| Property used to control the shutter, a switch. | |
Focus Control - Data | |
Focus controls are exposed if the derived camera supports focus and m_hasFocus is true. | |
| bool | m_hasFocus { false } |
| Runtime flag enabling focus-state reporting and goto-focus control publication. | |
| bool | m_focusStateHelperConfigured |
| True when stdCamera should evaluate focus state from an external switch property. | |
| std::string | m_focusStateSource |
INDI key (device.property) of the switch property used by checkFocusSwitchState. | |
| std::string | m_focusStateElement { "toggle" } |
| bool | m_focusStateOnMeansInFocus { false } |
| int | m_focusStateSourceIndex |
Index of m_focusStateSource within m_indiP_focusMonitoredProperties, or -1 when unused. | |
| bool | m_focusGotoHelperConfigured |
| True when stdCamera should derive goto-focus commands from external switch properties. | |
| std::vector< std::string > | m_focusGotoSourceProperties |
| std::vector< int > | m_focusGotoSourceIndices |
| Indices of m_focusGotoSourceProperties within m_indiP_focusMonitoredProperties. | |
| std::string | m_focusGotoFormat |
Literal {} placeholder format used to build the goto-focus preset name. | |
| std::string | m_focusGotoTargetProperty |
INDI key (device.property) of the switch property commanded by gotoFocus(). | |
| std::string | m_focusGotoTargetDevice |
| Device portion parsed from m_focusGotoTargetProperty. | |
| std::string | m_focusGotoTargetName |
| Property-name portion parsed from m_focusGotoTargetProperty. | |
| std::vector< std::string > | m_focusMonitoredPropertyKeys |
| Unique INDI keys monitored for the focus-state and goto-focus helpers. | |
| std::vector< pcf::IndiProperty > | m_indiP_focusMonitoredProperties |
| Cached external switch properties monitored for the focus helpers. | |
| pcf::IndiProperty | m_indiP_focus |
| Read-only switch property reporting whether the current state is in focus. | |
| pcf::IndiProperty | m_indiP_gotoFocus |
| Request switch property used to command the current focus target. | |
State String | |
The State string is exposed if derivedT::c_stdCamera_usesStateString is true. | |
| pcf::IndiProperty | m_indiP_stateString |
Static Protected Attributes | |
| static constexpr bool | c_hasFanSpeed |
| True when the derived camera exposes fan-speed control. | |
| static constexpr bool | c_hasLED |
| True when the derived camera exposes LED control. | |
| static constexpr bool | c_hasAnalogGain |
| True when the derived camera exposes analog-gain control. | |
| static constexpr bool | c_hasFocus = stdCameraHasFocus<derivedT>::value |
Private Member Functions | |
| derivedT & | derived () |
INDI | |
| int | newCallBack_stdCamera (const pcf::IndiProperty &ipRecv) |
| The callback function for stdCamera properties. | |
| int | setTempSetPt (const mx::meta::trueFalseT< true > &t) |
| Interface to setTempSetPt when the derivedT has temperature control. | |
| int | setTempSetPt (const mx::meta::trueFalseT< false > &f) |
| Interface to setTempSetPt when the derivedT does not have temperature control. | |
| int | newCallBack_temp (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW CCD temp request. | |
| int | setTempControl (const mx::meta::trueFalseT< true > &t) |
| Interface to setTempControl when the derivedT has temperature control. | |
| int | setTempControl (const mx::meta::trueFalseT< false > &f) |
| Interface to setTempControl when the derivedT does not have temperature control. | |
| int | newCallBack_temp_controller (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW CCD temp control request. | |
| int | setReadoutSpeed (const mx::meta::trueFalseT< true > &t) |
| Interface to setReadoutSpeed when the derivedT has readout speed control. | |
| int | setReadoutSpeed (const mx::meta::trueFalseT< false > &f) |
| Interface to setReadoutSpeed when the derivedT does not have readout speed control. | |
| int | newCallBack_readoutSpeed (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW readout speed request. | |
| int | setVShiftSpeed (const mx::meta::trueFalseT< true > &t) |
| Interface to setVShiftSpeed when the derivedT has vshift speed control. | |
| int | setVShiftSpeed (const mx::meta::trueFalseT< false > &f) |
| Interface to setVShiftSpeed when the derivedT does not have vshift speed control. | |
| int | newCallBack_vShiftSpeed (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW vshift speed request. | |
| int | setEMGain (const mx::meta::trueFalseT< true > &t) |
| Interface to setEMGain when the derivedT has EM Gain. | |
| int | setEMGain (const mx::meta::trueFalseT< false > &f) |
| Interface to setEMGain when the derivedT does not have EM Gain. | |
| int | newCallBack_emgain (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW EM gain request. | |
| int | setExpTime (const mx::meta::trueFalseT< true > &t) |
| Interface to setExpTime when the derivedT uses exposure time controls. | |
| int | setExpTime (const mx::meta::trueFalseT< false > &f) |
| Interface to setExptime when the derivedT does not use exposure time controls. | |
| int | newCallBack_exptime (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW exposure time request. | |
| int | setFPS (const mx::meta::trueFalseT< true > &t) |
| Interface to setFPS when the derivedT uses FPS controls. | |
| int | setFPS (const mx::meta::trueFalseT< false > &f) |
| Interface to setFPS when the derivedT does not use FPS controls. | |
| int | newCallBack_fps (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW fps request. | |
| int | setFanSpeed (const mx::meta::trueFalseT< true > &t) |
| Interface to setFanSpeed when the derivedT exposes fan controls. | |
| int | setFanSpeed (const mx::meta::trueFalseT< false > &f) |
| Interface to setFanSpeed when the derivedT does not expose fan controls. | |
| int | newCallBack_fanSpeed (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW fan speed request. | |
| int | setAnalogGain (const mx::meta::trueFalseT< true > &t) |
| Interface to setAnalogGain when the derivedT exposes analog-gain controls. | |
| int | setAnalogGain (const mx::meta::trueFalseT< false > &f) |
| Interface to setAnalogGain when the derivedT does not expose analog-gain controls. | |
| int | newCallBack_analogGain (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW analog-gain request. | |
| int | setLED (const mx::meta::trueFalseT< true > &t) |
| Interface to setLED when the derivedT exposes LED controls. | |
| int | setLED (const mx::meta::trueFalseT< false > &f) |
| Interface to setLED when the derivedT does not expose LED controls. | |
| int | newCallBack_led (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW LED request. | |
| int | setSynchro (const mx::meta::trueFalseT< true > &t) |
| Interface to setSynchro when the derivedT has synchronization. | |
| int | setSynchro (const mx::meta::trueFalseT< false > &f) |
| Interface to setSynchro when the derivedT does not have synchronization. | |
| int | newCallBack_synchro (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW synchro request. | |
| int | newCallBack_mode (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW mode request. | |
| int | newCallBack_reconfigure (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW reconfigure request. | |
| int | setCropMode (const mx::meta::trueFalseT< true > &t) |
| Interface to setCropMode when the derivedT has crop mode. | |
| int | setCropMode (const mx::meta::trueFalseT< false > &f) |
| Interface to setCropMode when the derivedT does not have crop mode. | |
| int | newCallBack_cropMode (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW cropMode request. | |
| int | newCallBack_roi_x (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_x request. | |
| int | newCallBack_roi_y (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_y request. | |
| int | newCallBack_roi_w (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_w request. | |
| int | newCallBack_roi_h (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_h request. | |
| int | newCallBack_roi_bin_x (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW bin_x request. | |
| int | newCallBack_roi_bin_y (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW bin_y request. | |
| int | checkNextROI (const mx::meta::trueFalseT< true > &t) |
| Interface to checkNextROI when the derivedT uses ROIs. | |
| int | checkNextROI (const mx::meta::trueFalseT< false > &f) |
| Interface to checkNextROI when the derivedT does not use ROIs. | |
| int | newCallBack_roi_check (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_check request. | |
| int | setNextROI (const mx::meta::trueFalseT< true > &t) |
| Interface to setNextROI when the derivedT uses ROIs. | |
| int | setNextROI (const mx::meta::trueFalseT< false > &f) |
| Interface to setNextROI when the derivedT does not use ROIs. | |
| int | newCallBack_roi_set (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_set request. | |
| int | newCallBack_roi_full (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_full request. | |
| int | newCallBack_roi_fullbin (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_fullbin request. | |
| int | newCallBack_roi_loadlast (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_loadlast request. | |
| int | newCallBack_roi_last (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_last request. | |
| int | newCallBack_roi_default (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW roi_default request. | |
| int | setShutter (int ss, const mx::meta::trueFalseT< true > &t) |
| Interface to setShutter when the derivedT has a shutter. | |
| int | setShutter (int ss, const mx::meta::trueFalseT< false > &f) |
| Interface to setShutter when the derivedT does not have a shutter. | |
| int | newCallBack_shutter (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW shutter request. | |
| bool | checkFocus (const mx::meta::trueFalseT< true > &t) |
| Interface to checkFocus when the derivedT exposes focus support. | |
| bool | checkFocus (const mx::meta::trueFalseT< false > &f) |
| Interface to checkFocus when the derivedT does not expose focus support. | |
| int | gotoFocus (const mx::meta::trueFalseT< true > &t) |
| Interface to gotoFocus when the derivedT exposes focus support. | |
| int | gotoFocus (const mx::meta::trueFalseT< false > &f) |
| Interface to gotoFocus when the derivedT does not expose focus support. | |
| int | newCallBack_gotoFocus (const pcf::IndiProperty &ipRecv) |
| Callback to process a NEW goto-focus request. | |
| int | setCallBack_focusMonitored (const pcf::IndiProperty &ipRecv) |
| The callback which caches external focus-helper switch-property updates. | |
| std::string | stateString (const mx::meta::trueFalseT< true > &t) |
| Interface to stateString when the derivedT provides it. | |
| std::string | stateString (const mx::meta::trueFalseT< false > &f) |
| Interface to stateString when the derivedT does not provide it. | |
| bool | stateStringValid (const mx::meta::trueFalseT< true > &t) |
| Interface to stateStringValid when the derivedT provides it. | |
| bool | stateStringValid (const mx::meta::trueFalseT< false > &f) |
| Interface to stateStringValid when the derivedT does not provide it. | |
| int | updateINDI () |
| Update the INDI properties for this device controller. | |
| static int | st_newCallBack_stdCamera (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for stdCamera properties. | |
| static int | st_setCallBack_focusMonitored (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function registered for external focus-helper switch properties. | |
MagAO-X standard camera interface.
Implements the standard interface to a MagAO-X camera. The derived class derivedT must meet the following requirements:
derivedT must be a MagAOXApp\<true\>static constexpr flags to manage static compile-time configuration. Each of these flags must be defined in derivedT to be either true or false.(c_stdCamera_tempControl == true) then the derived class must implement the following interfaces (c_stdCamera_tempControl == true), then the behavior is as if c_stdCamera_temp == true, but thus constexpr must still be defined.(c_stdCamera_tempControl == true) or c_stdCamera_temp == true then the INDI property "temp_ccd" will be updated from the value of m_ccdTemp.- If used (and true) then the following interface must be implemented:
\code
int setReadoutSpeed(); // configures camera using m_readoutSpeedNameSet
\endcode
This configures the camera according to \ref m_readoutSpeedNameSet.
The implementation must also manage \ref m_readoutSpeedName, keeping it up to date with the current setting.
- If true, the configuration setting "camera.defaultReadoutSpeed"
is also exposed, and \ref m_defaultReadoutSpeed will be set according to it. The implementation can
set a sensible default on construction.
camera.fanSpeedControl and camera.defaultFanSpeed are exposed. camera.fanSpeedControl controls whether the INDI fan-speed property is published and defaults to true. camera.defaultFanSpeed sets the default fan speed applied after power-on and must match one of the configured entries in m_fanSpeedNames.c_stdCamera_fpsCtrl == true or c_stdCamera_fps == true then derivedT must also keep m_fps up to date.camera.startupLED is exposed for LED-capable cameras and sets the default LED state applied after power-on.derivedT must also maintain the value of m_cropMode.focus.state, which is On when checkFocus returns true, and the request switch goto_focus.request, which dispatches to gotoFocus when pressed.On means "out of focus", and focus.stateElementOnMeansInFocus=true flips the interpretation so On means "in focus".focus.gotoFocus.numSwitches, focus.gotoFocus.property1...propertyN, focus.gotoFocus.format, and focus.gotoFocus.targetProperty.Definition at line 455 of file stdCamera.hpp.
| struct MagAOX::app::dev::stdCamera::roi |
Definition at line 630 of file stdCamera.hpp.

| Class Members | ||
|---|---|---|
| int | bin_x { 0 } | |
| int | bin_y { 0 } | |
| int | h { 0 } | |
| int | w { 0 } | |
| float | x { 0 } | |
| float | y { 0 } | |
|
noexcept |
Destructor.
Definition at line 1424 of file stdCamera.hpp.
| 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.
Definition at line 2746 of file stdCamera.hpp.
References INDI_BUSY, INDI_IDLE, INDI_OK, MagAOX::app::stateCodes::NOTCONNECTED, MagAOX::app::stateCodes::OPERATING, MagAOX::app::stateCodes::POWERON, MagAOX::app::stateCodes::READY, and MagAOX::app::indi::updateSelectionSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::appShutdown | ( | ) |
Application shutdown.
Shuts down the stdCamera thread
with appropriate error checking.
Definition at line 3077 of file stdCamera.hpp.
Referenced by MagAOX::app::cameraSim::appShutdown(), MagAOX::app::ocam2KCtrl::appShutdown(), MagAOX::app::qhyCtrl::appShutdown(), and MagAOX::app::zylaCtrl::appShutdown().
| 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.
Definition at line 2249 of file stdCamera.hpp.
References MagAOX::app::it, and MagAOX::app::indi::parseIndiKey().
| bool MagAOX::app::dev::stdCamera< derivedT >::checkFocus | ( | const mx::meta::trueFalseT< false > & | f | ) |
Interface to checkFocus when the derivedT does not expose focus support.
Definition at line 4328 of file stdCamera.hpp.
| bool MagAOX::app::dev::stdCamera< derivedT >::checkFocus | ( | const mx::meta::trueFalseT< true > & | t | ) |
Interface to checkFocus when the derivedT exposes focus support.
Definition at line 4321 of file stdCamera.hpp.
| bool MagAOX::app::dev::stdCamera< derivedT >::checkFocusSwitchState | ( | ) |
Evaluate the configured focus-state switch helper as an in-focus boolean.
Definition at line 2022 of file stdCamera.hpp.
| 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 4000 of file stdCamera.hpp.
| 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 3993 of file stdCamera.hpp.
|
protected |
|
protected |
Definition at line 2221 of file stdCamera.hpp.
|
protected |
|
protected |
Definition at line 2166 of file stdCamera.hpp.
|
protected |
|
protected |
Definition at line 2194 of file stdCamera.hpp.
|
inlineprivate |
Definition at line 1417 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::gotoFocus | ( | const mx::meta::trueFalseT< false > & | f | ) |
Interface to gotoFocus when the derivedT does not expose focus support.
Definition at line 4342 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::gotoFocus | ( | const mx::meta::trueFalseT< true > & | t | ) |
Interface to gotoFocus when the derivedT exposes focus support.
Definition at line 4335 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::loadConfig | ( | mx::app::appConfigurator & | config | ) |
load the configuration system results
This should be called in derivedT::loadConfig as
with appropriate error checking.
| [in] | config | the derived classes configurator |
Definition at line 1690 of file stdCamera.hpp.
References CAMCTRL_E_NOCONFIGS, MagAOX::app::dev::loadCameraConfig(), flatlogs::logPrio::LOG_CRITICAL, MagAOX::app::indi::parseIndiKey(), and MagAOX::app::dev::stripQuotedWhitespace().
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().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_analogGain | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW analog-gain request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3591 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and flatlogs::logPrio::LOG_ERROR.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_cropMode | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW cropMode request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3823 of file stdCamera.hpp.
References MagAOX::app::ipRecv, and MagAOX::app::lock().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_emgain | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW EM gain request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3403 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_exptime | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW exposure time request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3445 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_fanSpeed | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW fan speed request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3529 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and flatlogs::logPrio::LOG_ERROR.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_fps | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW fps request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3487 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_gotoFocus | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW goto-focus request.
| [in] | ipRecv | the INDI property sent with the new property request. |
Definition at line 4349 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_led | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW LED request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3653 of file stdCamera.hpp.
References MagAOX::app::ipRecv, and MagAOX::app::lock().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_mode | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW mode request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3731 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::it, MagAOX::app::lock(), and flatlogs::logPrio::LOG_ERROR.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_readoutSpeed | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW readout speed request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3281 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and flatlogs::logPrio::LOG_ERROR.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_reconfigure | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW reconfigure request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3784 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_bin_x | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW bin_x request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3947 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_bin_y | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW bin_y request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3970 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_check | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_check request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4007 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_default | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_default request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4241 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_full | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_full request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4081 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_fullbin | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_fullbin request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4117 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), flatlogs::logPrio::LOG_WARNING, and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_h | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_h request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3924 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_last | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_last request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4211 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_loadlast | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_loadlast request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4182 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_set | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_set request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4050 of file stdCamera.hpp.
References INDI_IDLE, MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::indi::updateSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_w | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_w request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3901 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_x | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_x request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3855 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_roi_y | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW roi_y request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3878 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_shutter | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW shutter request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 4292 of file stdCamera.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_stdCamera | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback function for stdCamera properties.
Dispatches to the relevant handler
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3090 of file stdCamera.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_synchro | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW synchro request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3700 of file stdCamera.hpp.
References MagAOX::app::ipRecv, and MagAOX::app::lock().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_temp | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW CCD temp request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3187 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and MagAOX::app::target.
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_temp_controller | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW CCD temp control request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3231 of file stdCamera.hpp.
References INDI_BUSY, MagAOX::app::ipRecv, and MagAOX::app::lock().
| int MagAOX::app::dev::stdCamera< derivedT >::newCallBack_vShiftSpeed | ( | const pcf::IndiProperty & | ipRecv | ) |
Callback to process a NEW vshift speed request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3342 of file stdCamera.hpp.
References MagAOX::app::ipRecv, MagAOX::app::lock(), and flatlogs::logPrio::LOG_ERROR.
| 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.
Definition at line 2907 of file stdCamera.hpp.
References INDI_BUSY, INDI_IDLE, INDI_OK, MagAOX::app::it, MagAOX::app::indi::updateIfChanged(), and MagAOX::app::indi::updateSelectionSwitchIfChanged().
| int MagAOX::app::dev::stdCamera< derivedT >::recordCamera | ( | bool | force = false | ) |
Definition at line 4628 of file stdCamera.hpp.
References MagAOX::app::dev::stdCamera< derivedT >::roi::bin_x, MagAOX::app::dev::stdCamera< derivedT >::roi::bin_y, MagAOX::app::dev::stdCamera< derivedT >::roi::h, MagAOX::app::dev::stdCamera< derivedT >::roi::w, MagAOX::app::dev::stdCamera< derivedT >::roi::x, and MagAOX::app::dev::stdCamera< derivedT >::roi::y.
| int MagAOX::app::dev::stdCamera< derivedT >::sendGotoFocusCommand | ( | ) |
Format and send the configured goto-focus switch command.
Definition at line 2075 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setAnalogGain | ( | const mx::meta::trueFalseT< false > & | f | ) |
Interface to setAnalogGain when the derivedT does not expose analog-gain controls.
Tag-dispatch resolution of analog-gain control availability will call this function. This prevents requiring derivedT to have its own setAnalogGain().
Definition at line 3584 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setAnalogGain | ( | const mx::meta::trueFalseT< true > & | t | ) |
Interface to setAnalogGain when the derivedT exposes analog-gain controls.
Tag-dispatch resolution of analog-gain control availability will call this function. Calls derivedT::setAnalogGain.
Definition at line 3577 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setCallBack_focusMonitored | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback which caches external focus-helper switch-property updates.
| [in] | ipRecv | the INDI property sent with the set-property update. |
Definition at line 4384 of file stdCamera.hpp.
References MagAOX::app::ipRecv, and MagAOX::app::lock().
| 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 3816 of file stdCamera.hpp.
| 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 3809 of file stdCamera.hpp.
| 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 3396 of file stdCamera.hpp.
| 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 3389 of file stdCamera.hpp.
| 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 3438 of file stdCamera.hpp.
| 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 3431 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setFanSpeed | ( | const mx::meta::trueFalseT< false > & | f | ) |
Interface to setFanSpeed when the derivedT does not expose fan controls.
Tag-dispatch resolution of fan control availability will call this function. This prevents requiring derivedT to have its own setFanSpeed().
Definition at line 3522 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setFanSpeed | ( | const mx::meta::trueFalseT< true > & | t | ) |
Interface to setFanSpeed when the derivedT exposes fan controls.
Tag-dispatch resolution of fan control availability will call this function. Calls derivedT::setFanSpeed.
Definition at line 3515 of file stdCamera.hpp.
| 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 3480 of file stdCamera.hpp.
| 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 3473 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setLED | ( | const mx::meta::trueFalseT< false > & | f | ) |
Interface to setLED when the derivedT does not expose LED controls.
Tag-dispatch resolution of LED control availability will call this function. This prevents requiring derivedT to have its own setLED().
Definition at line 3646 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setLED | ( | const mx::meta::trueFalseT< true > & | t | ) |
Interface to setLED when the derivedT exposes LED controls.
Tag-dispatch resolution of LED control availability will call this function. Calls derivedT::setLED.
Definition at line 3639 of file stdCamera.hpp.
| 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 4043 of file stdCamera.hpp.
| 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 4036 of file stdCamera.hpp.
| 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 3274 of file stdCamera.hpp.
| 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 3267 of file stdCamera.hpp.
| 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 4284 of file stdCamera.hpp.
| 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 4277 of file stdCamera.hpp.
| 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 3693 of file stdCamera.hpp.
| 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 3686 of file stdCamera.hpp.
| 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 3224 of file stdCamera.hpp.
| 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 3217 of file stdCamera.hpp.
| 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 3180 of file stdCamera.hpp.
| 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 3173 of file stdCamera.hpp.
| int MagAOX::app::dev::stdCamera< derivedT >::setupConfig | ( | mx::app::appConfigurator & | config | ) |
Setup the configuration system.
This should be called in derivedT::setupConfig as
with appropriate error checking.
| [out] | config | the derived classes configurator |
Definition at line 1430 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().
| 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 3335 of file stdCamera.hpp.
| 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 3328 of file stdCamera.hpp.
|
static |
The static callback function to be registered for stdCamera properties.
Calls newCallback_stdCamera
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3083 of file stdCamera.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function registered for external focus-helper switch properties.
| [in] | app | a pointer to this, which will be static_cast-ed to derivedT |
| [in] | ipRecv | the INDI property sent with the set-property update |
Definition at line 4378 of file stdCamera.hpp.
References MagAOX::app::ipRecv.
| 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 4414 of file stdCamera.hpp.
| 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 4407 of file stdCamera.hpp.
| 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 4428 of file stdCamera.hpp.
| 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 4421 of file stdCamera.hpp.
|
protected |
Refresh the published focus.state property from the current helper or derived focus implementation.
Definition at line 2045 of file stdCamera.hpp.
| 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.
Definition at line 4435 of file stdCamera.hpp.
References INDI_BUSY, INDI_IDLE, INDI_OK, MagAOX::app::it, and MagAOX::app::indi::updateSelectionSwitchIfChanged().
| 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.
Definition at line 3017 of file stdCamera.hpp.
References INDI_BUSY, INDI_IDLE, INDI_OK, and MagAOX::app::indi::updateSelectionSwitchIfChanged().
|
staticconstexprprotected |
True when the derived camera exposes analog-gain control.
Definition at line 462 of file stdCamera.hpp.
|
staticconstexprprotected |
True when the derived camera exposes fan-speed control.
Definition at line 458 of file stdCamera.hpp.
|
staticconstexprprotected |
True when the derived camera exposes focus-state and goto-focus support.
Definition at line 464 of file stdCamera.hpp.
|
staticconstexprprotected |
True when the derived camera exposes LED control.
Definition at line 460 of file stdCamera.hpp.
|
protected |
Definition at line 526 of file stdCamera.hpp.
|
protected |
Current analog-gain option name.
Definition at line 581 of file stdCamera.hpp.
|
protected |
Optional GUI labels for the analog-gain options.
Definition at line 580 of file stdCamera.hpp.
|
protected |
Valid analog-gain option names for the INDI selection switch.
Definition at line 579 of file stdCamera.hpp.
|
protected |
Requested analog-gain option name.
Definition at line 582 of file stdCamera.hpp.
|
protected |
True once the current analog-gain state is known.
Definition at line 583 of file stdCamera.hpp.
|
protected |
Map holding the possible camera mode configurations.
Definition at line 471 of file stdCamera.hpp.
|
protected |
The current temperature, in C.
Definition at line 493 of file stdCamera.hpp.
|
protected |
The desired temperature, in C.
Definition at line 495 of file stdCamera.hpp.
|
protected |
Status of crop mode ROIs, if enabled for this camera.
Definition at line 712 of file stdCamera.hpp.
|
protected |
Desired status of crop mode ROIs, if enabled for this camera.
Definition at line 713 of file stdCamera.hpp.
|
protected |
Definition at line 640 of file stdCamera.hpp.
|
protected |
Power-on ROI x binning.
Definition at line 672 of file stdCamera.hpp.
|
protected |
Power-on ROI y binning.
Definition at line 673 of file stdCamera.hpp.
|
protected |
Power-on ROI height.
Definition at line 671 of file stdCamera.hpp.
|
protected |
Power-on ROI width.
Definition at line 670 of file stdCamera.hpp.
|
protected |
Power-on ROI center x coordinate.
Definition at line 668 of file stdCamera.hpp.
|
protected |
Power-on ROI center y coordinate.
Definition at line 669 of file stdCamera.hpp.
|
protected |
The default fan speed to apply after power on.
Definition at line 480 of file stdCamera.hpp.
|
protected |
The default LED state to apply after power on.
Definition at line 481 of file stdCamera.hpp.
|
protected |
The default readout speed of the camera.
Definition at line 477 of file stdCamera.hpp.
|
protected |
The default readout speed of the camera.
Definition at line 478 of file stdCamera.hpp.
|
protected |
The camera's current EM gain (if available).
Definition at line 529 of file stdCamera.hpp.
|
protected |
The camera's EM gain, as set by the user.
Definition at line 530 of file stdCamera.hpp.
|
protected |
The current exposure time, in seconds.
Definition at line 547 of file stdCamera.hpp.
|
protected |
The exposure time, in seconds, as set by user.
Definition at line 548 of file stdCamera.hpp.
|
protected |
Whether or not fan-speed control is published through INDI.
Definition at line 479 of file stdCamera.hpp.
|
protected |
Current fan-control option name.
Definition at line 568 of file stdCamera.hpp.
|
protected |
Optional GUI labels for the fan-control options.
Definition at line 567 of file stdCamera.hpp.
|
protected |
Valid fan-control option names for the INDI selection switch.
Definition at line 566 of file stdCamera.hpp.
|
protected |
Requested fan-control option name.
Definition at line 569 of file stdCamera.hpp.
|
protected |
True once the current fan-control state is known.
Definition at line 570 of file stdCamera.hpp.
|
protected |
Literal {} placeholder format used to build the goto-focus preset name.
Definition at line 760 of file stdCamera.hpp.
|
protected |
True when stdCamera should derive goto-focus commands from external switch properties.
Definition at line 751 of file stdCamera.hpp.
|
protected |
Indices of m_focusGotoSourceProperties within m_indiP_focusMonitoredProperties.
Definition at line 758 of file stdCamera.hpp.
|
protected |
INDI keys (device.property) of the switch properties combined for gotoFocus().
Definition at line 754 of file stdCamera.hpp.
|
protected |
Device portion parsed from m_focusGotoTargetProperty.
Definition at line 765 of file stdCamera.hpp.
|
protected |
Property-name portion parsed from m_focusGotoTargetProperty.
Definition at line 767 of file stdCamera.hpp.
|
protected |
INDI key (device.property) of the switch property commanded by gotoFocus().
Definition at line 763 of file stdCamera.hpp.
|
protected |
Unique INDI keys monitored for the focus-state and goto-focus helpers.
Definition at line 770 of file stdCamera.hpp.
|
protected |
Element within m_focusStateSource whose On state is interpreted according to m_focusStateOnMeansInFocus.
Definition at line 742 of file stdCamera.hpp.
|
protected |
True when stdCamera should evaluate focus state from an external switch property.
Definition at line 736 of file stdCamera.hpp.
|
protected |
True when m_focusStateElement being On means "in focus". Default false means On is interpreted as "out of focus".
Definition at line 745 of file stdCamera.hpp.
|
protected |
INDI key (device.property) of the switch property used by checkFocusSwitchState.
Definition at line 740 of file stdCamera.hpp.
|
protected |
Index of m_focusStateSource within m_indiP_focusMonitoredProperties, or -1 when unused.
Definition at line 748 of file stdCamera.hpp.
|
protected |
The current FPS.
Definition at line 554 of file stdCamera.hpp.
|
protected |
The commanded fps, as set by user.
Definition at line 555 of file stdCamera.hpp.
|
protected |
The x-binning in the full ROI.
Definition at line 679 of file stdCamera.hpp.
|
protected |
The y-binning in the full ROI.
Definition at line 680 of file stdCamera.hpp.
|
protected |
The current-binning full ROI height.
Definition at line 685 of file stdCamera.hpp.
|
protected |
The current-binning full ROI width.
Definition at line 684 of file stdCamera.hpp.
|
protected |
The current-binning full ROI center x coordinate.
Definition at line 682 of file stdCamera.hpp.
|
protected |
The current-binning full ROI center y coordinate.
Definition at line 683 of file stdCamera.hpp.
|
protected |
The full ROI height.
Definition at line 678 of file stdCamera.hpp.
|
protected |
The full ROI width.
Definition at line 677 of file stdCamera.hpp.
|
protected |
The full ROI center x coordinate.
Definition at line 675 of file stdCamera.hpp.
|
protected |
The full ROI center y coordinate.
Definition at line 676 of file stdCamera.hpp.
|
protected |
Runtime flag enabling focus-state reporting and goto-focus control publication.
Definition at line 734 of file stdCamera.hpp.
|
protected |
Property used to select the analog-gain mode.
Definition at line 585 of file stdCamera.hpp.
|
protected |
Property used to toggle crop mode on and off.
Definition at line 715 of file stdCamera.hpp.
|
protected |
Definition at line 536 of file stdCamera.hpp.
|
protected |
Definition at line 557 of file stdCamera.hpp.
|
protected |
Property used to select the fan-speed mode.
Definition at line 572 of file stdCamera.hpp.
|
protected |
Read-only switch property reporting whether the current state is in focus.
Definition at line 775 of file stdCamera.hpp.
|
protected |
Cached external switch properties monitored for the focus helpers.
Definition at line 773 of file stdCamera.hpp.
|
protected |
Definition at line 559 of file stdCamera.hpp.
|
protected |
Property used to preset the full ROI dimensions.
Definition at line 694 of file stdCamera.hpp.
|
protected |
Request switch property used to command the current focus target.
Definition at line 777 of file stdCamera.hpp.
|
protected |
Property used to control the status LED state.
Definition at line 596 of file stdCamera.hpp.
|
protected |
Property used to report the current mode.
Definition at line 619 of file stdCamera.hpp.
|
protected |
Definition at line 533 of file stdCamera.hpp.
|
protected |
Request switch which forces the framegrabber to go through the reconfigure process.
Definition at line 622 of file stdCamera.hpp.
|
protected |
Property used to set the ROI x binning.
Definition at line 691 of file stdCamera.hpp.
|
protected |
Property used to set the ROI y binning.
Definition at line 692 of file stdCamera.hpp.
|
protected |
Property used to trigger checking the target ROI.
Definition at line 696 of file stdCamera.hpp.
|
protected |
Property used to trigger setting the default and startup ROI.
Definition at line 704 of file stdCamera.hpp.
|
protected |
Property used to trigger setting the full ROI.
Definition at line 700 of file stdCamera.hpp.
|
protected |
Property used to trigger setting the full in current binning ROI.
Definition at line 701 of file stdCamera.hpp.
|
protected |
Property used to set the ROI height.
Definition at line 690 of file stdCamera.hpp.
|
protected |
Property used to trigger setting the last ROI.
Definition at line 703 of file stdCamera.hpp.
|
protected |
Property used to trigger loading the last ROI as the target.
Definition at line 702 of file stdCamera.hpp.
|
protected |
Property used to trigger setting the ROI.
Definition at line 698 of file stdCamera.hpp.
|
protected |
Property used to set the ROI width.
Definition at line 689 of file stdCamera.hpp.
|
protected |
Property used to set the ROI x center coordinate.
Definition at line 687 of file stdCamera.hpp.
|
protected |
Property used to set the ROI x center coordinate.
Definition at line 688 of file stdCamera.hpp.
|
protected |
Property used to control the shutter, a switch.
Definition at line 726 of file stdCamera.hpp.
|
protected |
State of the shutter. 0 = shut, 1 = open, -1 = unknown.
Property to report shutter status
Definition at line 725 of file stdCamera.hpp.
|
protected |
Definition at line 785 of file stdCamera.hpp.
|
protected |
Definition at line 607 of file stdCamera.hpp.
|
protected |
Definition at line 504 of file stdCamera.hpp.
|
protected |
Definition at line 505 of file stdCamera.hpp.
|
protected |
Definition at line 506 of file stdCamera.hpp.
|
protected |
Definition at line 534 of file stdCamera.hpp.
|
protected |
Definition at line 642 of file stdCamera.hpp.
|
protected |
Current status LED state.
Definition at line 592 of file stdCamera.hpp.
|
protected |
Requested status LED state.
Definition at line 593 of file stdCamera.hpp.
|
protected |
True once the current LED state is known.
Definition at line 594 of file stdCamera.hpp.
|
protected |
The configurable maximum EM gain. To be enforced in derivedT.
Definition at line 531 of file stdCamera.hpp.
|
protected |
The maximum exposure time, used for INDI attributes.
Definition at line 544 of file stdCamera.hpp.
|
protected |
The maximum FPS, used for INDI attributes.
Definition at line 551 of file stdCamera.hpp.
|
protected |
Definition at line 661 of file stdCamera.hpp.
|
protected |
Definition at line 665 of file stdCamera.hpp.
|
protected |
Definition at line 657 of file stdCamera.hpp.
|
protected |
Definition at line 653 of file stdCamera.hpp.
|
protected |
Definition at line 645 of file stdCamera.hpp.
|
protected |
Definition at line 649 of file stdCamera.hpp.
|
protected |
Definition at line 490 of file stdCamera.hpp.
|
protected |
The minimum exposure time, used for INDI attributes.
Definition at line 543 of file stdCamera.hpp.
|
protected |
The minimum FPS, used for INDI attributes.
Definition at line 550 of file stdCamera.hpp.
|
protected |
Definition at line 660 of file stdCamera.hpp.
|
protected |
Definition at line 664 of file stdCamera.hpp.
|
protected |
Definition at line 656 of file stdCamera.hpp.
|
protected |
Definition at line 652 of file stdCamera.hpp.
|
protected |
Definition at line 644 of file stdCamera.hpp.
|
protected |
Definition at line 648 of file stdCamera.hpp.
|
protected |
Definition at line 489 of file stdCamera.hpp.
|
protected |
The current mode name.
Definition at line 615 of file stdCamera.hpp.
|
protected |
The mode to be set by the next reconfiguration.
Definition at line 617 of file stdCamera.hpp.
|
protected |
Definition at line 641 of file stdCamera.hpp.
|
protected |
The current readout speed name.
Definition at line 517 of file stdCamera.hpp.
|
protected |
Definition at line 515 of file stdCamera.hpp.
|
protected |
Definition at line 514 of file stdCamera.hpp.
|
protected |
The user requested readout speed name, to be set by derived()
Definition at line 518 of file stdCamera.hpp.
|
protected |
Definition at line 723 of file stdCamera.hpp.
|
protected |
Definition at line 722 of file stdCamera.hpp.
|
protected |
The camera mode to load during first init after a power-on.
Definition at line 473 of file stdCamera.hpp.
|
protected |
The temperature to set after a power-on. Set to <= -999 to not use [default].
Definition at line 475 of file stdCamera.hpp.
|
protected |
The maximum exposure time stepsize, used for INDI attributes.
Definition at line 545 of file stdCamera.hpp.
|
protected |
The FPS step size, used for INDI attributes.
Definition at line 552 of file stdCamera.hpp.
|
protected |
Definition at line 662 of file stdCamera.hpp.
|
protected |
Definition at line 666 of file stdCamera.hpp.
|
protected |
Definition at line 658 of file stdCamera.hpp.
|
protected |
Definition at line 654 of file stdCamera.hpp.
|
protected |
Definition at line 646 of file stdCamera.hpp.
|
protected |
Definition at line 650 of file stdCamera.hpp.
|
protected |
Definition at line 491 of file stdCamera.hpp.
|
protected |
Status of synchronization, true is on, false is off.
Definition at line 605 of file stdCamera.hpp.
|
protected |
Target status of m_synchro.
Definition at line 603 of file stdCamera.hpp.
|
protected |
Whether or not the temperature control system is on its target temperature.
Definition at line 500 of file stdCamera.hpp.
|
protected |
Whether or not temperature control is active.
Definition at line 497 of file stdCamera.hpp.
|
protected |
Desired state of temperature control.
Definition at line 498 of file stdCamera.hpp.
|
protected |
Camera specific description of temperature control status.
Definition at line 502 of file stdCamera.hpp.
|
protected |
Definition at line 527 of file stdCamera.hpp.
|
protected |
The current vshift speed name.
Definition at line 523 of file stdCamera.hpp.
|
protected |
Definition at line 521 of file stdCamera.hpp.
|
protected |
Definition at line 520 of file stdCamera.hpp.
|
protected |
The user requested vshift speed name, to be set by derived()
Definition at line 524 of file stdCamera.hpp.