API
 
Loading...
Searching...
No Matches
MagAOX::app::modalGainOpt Class Reference

The MagAO-X PSD-based gain optimizer. More...

#include <modalGainOpt.hpp>

Inheritance diagram for MagAOX::app::modalGainOpt:
Inheritance graph
Collaboration diagram for MagAOX::app::modalGainOpt:
Collaboration graph

Public Types

typedef dev::shmimMonitor< modalGainOpt, psdShmimTpsdShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, freqShmimTfreqShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, gainFactShmimTgainFactShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, multFactShmimTmultFactShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, pcGainFactShmimTpcGainFactShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, pcMultFactShmimTpcMultFactShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, numpccoeffShmimTnumpccoeffShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, acoeffShmimTacoeffShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, bcoeffShmimTbcoeffShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, gainCalShmimTgainCalShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, gainCalFactShmimTgainCalFactShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, tauShmimTtauShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, noiseShmimTnoiseShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, wfsavgShmimTwfsavgShmimMonitorT
 
typedef dev::shmimMonitor< modalGainOpt, wfsmaskShmimTwfsmaskShmimMonitorT
 
typedef std::chrono::time_point< std::chrono::steady_clock > timePointT
 
typedef std::chrono::duration< doubledurationT
 
typedef XWC_DEFAULT_VERBOSITY verboseT
 
typedef logger::logManager< MagAOXApp< _useINDI >, logFileRaw< verboseT > > logManagerT
 The log manager type.
 
typedef XWC_DEFAULT_VERBOSITY verboseT
 
typedef logger::logManager< modalGainOpt, logFileRaw< verboseT > > logManagerT
 The log manager type.
 

Public Member Functions

 modalGainOpt ()
 Default c'tor.
 
 ~modalGainOpt () noexcept
 D'tor, declared and defined for noexcept.
 
virtual void setupConfig ()
 
int loadConfigImpl (mx::app::appConfigurator &_config)
 Implementation of loadConfig logic, separated for testing.
 
virtual void loadConfig ()
 
virtual int appStartup ()
 Startup function.
 
virtual int appLogic ()
 Implementation of the FSM for modalGainOpt.
 
virtual int appShutdown ()
 Shutdown the app.
 
int allocatePCShmims ()
 
int allocate (const psdShmimT &)
 
int processImage (void *curr_src, const psdShmimT &)
 
int allocate (const freqShmimT &)
 
int processImage (void *curr_src, const freqShmimT &)
 
int allocate (const gainFactShmimT &)
 
int processImage (void *curr_src, const gainFactShmimT &)
 
int allocate (const multFactShmimT &)
 
int processImage (void *curr_src, const multFactShmimT &)
 
int allocate (const pcGainFactShmimT &)
 
int processImage (void *curr_src, const pcGainFactShmimT &)
 
int allocate (const pcMultFactShmimT &)
 
int processImage (void *curr_src, const pcMultFactShmimT &)
 
int allocate (const numpccoeffShmimT &)
 
int processImage (void *curr_src, const numpccoeffShmimT &)
 
int allocate (const acoeffShmimT &)
 
int processImage (void *curr_src, const acoeffShmimT &)
 
int allocate (const bcoeffShmimT &)
 
int processImage (void *curr_src, const bcoeffShmimT &)
 
int allocate (const gainCalShmimT &)
 
int processImage (void *curr_src, const gainCalShmimT &)
 
int allocate (const gainCalFactShmimT &)
 
int processImage (void *curr_src, const gainCalFactShmimT &)
 
int allocate (const tauShmimT &)
 
int processImage (void *curr_src, const tauShmimT &)
 
int allocate (const noiseShmimT &)
 
int processImage (void *curr_src, const noiseShmimT &)
 
int allocate (const wfsavgShmimT &)
 
int processImage (void *curr_src, const wfsavgShmimT &)
 
int allocate (const wfsmaskShmimT &)
 
int processImage (void *curr_src, const wfsmaskShmimT &)
 
int checkSizes ()
 Check that all sizes and allocations have occurred.
 
virtual void setDefaults (int argc, char **argv)
 Set the paths for config files.
 
virtual void setupBasicConfig ()
 The basic MagAO-X configuration setup method. Should not normally be overridden.
 
virtual void loadBasicConfig ()
 The basic MagAO-X configuration processing method. Should not normally be overridden.
 
virtual void checkConfig ()
 Check for unused and unrecognized config options and settings.
 
virtual int execute ()
 The execute method implementing the standard main loop. Should not normally be overridden.
 
int telem (const typename telT::messageT &msg)
 Make a telemetry recording.
 
int setupConfig (appConfigurator &config)
 Setup an application configurator for the device section.
 
int loadConfig (appConfigurator &config)
 Load the device section from an application configurator.
 
int checkRecordTimes (const telT &tel, telTs... tels)
 Check the time of the last record for each telemetry type and make an entry if needed.
 
int checkRecordTimes (timespec &ts, const telT &tel, telTs... tels)
 Worker function to actually perform the record time checking logic.
 
int checkRecordTimes (timespec &ts)
 Empty function called at the end of the template list.
 
Telemeter Interface
int checkRecordTimes ()
 
int recordTelem (const telem_modalgainopt *)
 
int recordModalGainOpt (bool force=false)
 
Threads
int threadStart (std::thread &thrd, bool &thrdInit, pid_t &tpid, pcf::IndiProperty &thProp, int thrdPrio, const std::string &cpuset, const std::string &thrdName, thisPtr *thrdThis, Function &&thrdStart)
 Start a thread, using this class's privileges to set priority, etc.
 
Member Accessors
std::string basePath ()
 Get the.
 
std::string configName ()
 Get the config name.
 
std::string configDir ()
 Get the config directory.
 
std::string configBase ()
 Get the config base file.
 
std::string calibDir ()
 Get the calibration directory.
 
std::string sysPath ()
 Get the system path.
 
std::string secretsPath ()
 Get the secrets path.
 
std::string cpusetPath ()
 Get the cpuset path.
 
unsigned long loopPause ()
 Get the loop pause time.
 
int shutdown ()
 Get the value of the shutdown flag.
 
std::string driverInName ()
 Get the INDI input FIFO file name.
 
std::string driverOutName ()
 Get the INDI output FIFO file name.
 
std::string driverCtrlName ()
 Get the INDI control FIFO file name.
 

Public Attributes

logManagerT m_tel
 
double m_maxInterval
 The maximum interval, in seconds, between telemetry records. Default is 10.0 seconds.
 

Protected Member Functions

void destroyImageStream (IMAGE *&stream)
 Destroy an owned ImageStreamIO output stream and clear its pointer.
 
int createImageStream (IMAGE *&stream, const std::string &name, uint32_t size0, uint32_t size1, uint32_t size2, uint8_t dataType)
 Allocate and create an owned ImageStreamIO output stream.
 
void writePublishedGainArrays (float *currentData, float *siRawData, float *siData, float *maxSiData, float *lpData, float *maxLpData, float *modeVarData)
 
void writePublishedPredictorArrays (float *pcGainData, float *aCoeffData, uint32_t aWidth, float *bCoeffData, uint32_t bWidth, bool blend)
 Populate the published predictive-control gain and coefficient arrays.
 
int countEnabledGainFactors (const std::vector< float > &gainFacts) const
 Count how many modes are enabled by a gain-factor vector.
 
void updateAppliedModeCount (const std::vector< float > &gainFacts, bool predictorPath)
 
bool applyGainFactorUpdate (std::vector< float > &gainFacts, const float *incoming, uint32_t width, bool predictorPath)
 Apply an incoming gain-factor frame to one of the stored gain vectors.
 
bool applyMultiplierUpdate (std::vector< float > &multFacts, const float *incoming, uint32_t width, bool predictorPath)
 
bool applyFrequencyUpdate (const float *incoming, size_t size)
 Apply an incoming frequency frame to the stored frequency scale.
 
bool refreshGoptStructures ()
 
void syncSiGainStateFromAppliedGains ()
 Synchronize the integrated SI gain state from the applied gain-factor stream.
 
void updateIntegratedSiGain (size_t modeIndex)
 Apply one SI leaky-integrator update from the raw optimal gain.
 
template<typename valueT >
int handleExtrapNumberProperty (pcf::IndiProperty &localProperty, valueT &localTarget, const pcf::IndiProperty &ipRecv, const std::string &label)
 Handle a standard target/current numeric extrapolation property update.
 
int handleExtrapToggleProperty (pcf::IndiProperty &localProperty, bool &localTarget, const pcf::IndiProperty &ipRecv, const std::string &label)
 Handle a boolean extrapolation toggle property update.
 
int handleExtrapMethodProperty (const pcf::IndiProperty &ipRecv)
 Handle the extrapolation-method selection switch property.
 
int handleExtrapNoiseEstimateDomainProperty (const pcf::IndiProperty &ipRecv)
 Handle the noise-estimation-domain selection switch property.
 
int handleExtrapNoiseEstimateRangeProperty (const pcf::IndiProperty &ipRecv)
 Handle the noise-estimation-range selection switch property.
 
int handleExtrapNoiseEstimateStatisticProperty (const pcf::IndiProperty &ipRecv)
 Handle the noise-estimation-statistic selection switch property.
 
int handleExtrapClosedLoopOlEstimateMethodProperty (const pcf::IndiProperty &ipRecv)
 Handle the closed-loop OL-estimation-method selection switch property.
 
int handleExtrapPowerLawCrossoverModeProperty (const pcf::IndiProperty &ipRecv)
 Handle the power-law crossover-mode selection switch property.
 

Protected Attributes

uint32_t m_nFreq { 0 }
 
uint32_t m_nModes { 0 }
 
bool m_updateOnce { false }
 Flag to trigger a single update with gain.
 
bool m_dump { false }
 Flag to trigger a single update with no gain.
 
bool m_zeroGains { false }
 Flag requesting the SI gain integrator state be zeroed.
 
float m_fps { 0 }
 
std::vector< mx::AO::analysis::clGainOpt< float > > m_goptCurrent
 Each mode gets its own gain optimizer.
 
std::vector< mx::AO::analysis::clGainOpt< float > > m_goptSI
 
std::vector< mx::AO::analysis::clGainOpt< float > > m_goptLP
 
std::vector< mx::AO::analysis::clAOLinearPredictor< float > > m_linPred
 
bool m_goptUpdated { true }
 
bool m_pcgoptUpdated { true }
 
bool m_freqUpdated { true }
 
float m_psdTime { 1 }
 
float m_psdAvgTime { 10 }
 
float m_psdOverlapFraction { 0.5 }
 
std::vector< floatm_freq
 
mx::improc::eigenImage< floatm_clPSDs
 
mx::improc::eigenImage< floatm_clXferCurrent
 
mx::improc::eigenImage< floatm_clNtfCurrent
 
mx::improc::eigenImage< floatm_clXferSI
 
mx::improc::eigenImage< floatm_clNtfSI
 
mx::improc::eigenImage< floatm_clXferLP
 Published predictive closed-loop error transfer function.
 
mx::improc::eigenImage< floatm_clNtfLP
 Published predictive closed-loop noise transfer function.
 
std::vector< std::vector< float > > m_olPSDs
 
std::vector< std::vector< float > > m_rawOlPSDs
 
std::vector< std::vector< float > > m_smoothOlPSDs
 
std::vector< std::vector< float > > m_nPSDs
 
std::vector< floatm_modeVarCL
 
std::vector< floatm_modeVarOL
 
int m_modesOn
 
std::vector< floatm_optGainSIRaw
 The raw SI optimal gains before leaky integration.
 
std::vector< floatm_optGainSI
 The leaky-integrated SI optimal gains.
 
std::vector< floatm_gmaxSI
 The previously calculated maximum gains for SI.
 
std::vector< floatm_modeVarSI
 
std::vector< intm_timesOnSI
 
int m_modesOnSI
 
bool m_siGainStateNeedsSync { true }
 
std::vector< floatm_optGainLP
 
std::vector< floatm_gmaxLP
 The previously calculated maximum gains for LP.
 
std::vector< floatm_modeVarLP
 
std::vector< intm_timesOnLP
 
int m_modesOnLP
 
bool m_loop { false }
 
float m_opticalGain { 1 }
 
float m_opticalGainSource { 1 }
 
float m_gain { 0 }
 
float m_mult { 1 }
 
float m_siGain { 0 }
 
float m_siMult { 1 }
 
bool m_doPCCalcs { true }
 
float m_pcGain { 0 }
 
float m_pcMult { 0 }
 
bool m_pcOn { false }
 
std::vector< floatm_gainFacts
 
std::vector< floatm_multFacts
 
std::vector< floatm_pcGainFacts
 
std::vector< floatm_pcMultFacts
 
std::vector< uint32_tm_Na
 
std::vector< uint32_tm_NaCurrent
 
std::vector< uint32_tm_Nb
 
std::vector< uint32_tm_NbCurrent
 
eigenImage< floatm_as
 
eigenImage< floatm_bs
 
int m_nRegCycles { 60 }
 How often to regularize each mode.
 
std::vector< intm_regCounter
 Counters to track when this mode was last regularized.
 
std::vector< floatm_regScale
 The regularization scale factors for each mode.
 
std::vector< floatm_gainCals
 
std::vector< floatm_gainCalFacts
 
std::vector< floatm_taus
 
eigenImage< floatm_noiseParams
 
eigenImage< floatm_wfsavg
 
eigenImage< floatm_wfsmask
 
float m_counts { 0 }
 
float m_emg { 1 }
 
int m_npix { 0 }
 
int m_sinceChange { -1 }
 
std::string m_olPSDShmimName
 
std::string m_rawOlPSDShmimName
 
std::string m_smoothOlPSDShmimName
 
std::string m_noisePSDShmimName
 
std::string m_clXferCurrentShmimName
 
std::string m_clNtfCurrentShmimName
 
std::string m_clXferSIShmimName
 
std::string m_clNtfSIShmimName
 
std::string m_clXferLPShmimName
 
std::string m_clNtfLPShmimName
 
std::string m_optGainShmimName
 
std::string m_optGainSIRawShmimName
 
std::string m_optGainSIShmimName
 
std::string m_maxGainSIShmimName
 
std::string m_optGainLPShmimName
 
std::string m_maxGainLPShmimName
 
std::string m_modevarShmimName
 
IMAGEm_olPSDStream { nullptr }
 
IMAGEm_rawOlPSDStream { nullptr }
 
IMAGEm_smoothOlPSDStream { nullptr }
 
IMAGEm_noisePSDStream { nullptr }
 
IMAGEm_clXferCurrentStream { nullptr }
 
IMAGEm_clNtfCurrentStream { nullptr }
 
IMAGEm_clXferSIStream { nullptr }
 
IMAGEm_clNtfSIStream { nullptr }
 
IMAGEm_clXferLPStream { nullptr }
 
IMAGEm_clNtfLPStream { nullptr }
 
IMAGEm_optGainStream { nullptr }
 
IMAGEm_optGainSIRawStream { nullptr }
 
IMAGEm_optGainSIStream { nullptr }
 
IMAGEm_maxGainSIStream { nullptr }
 
IMAGEm_optGainLPStream { nullptr }
 
IMAGEm_maxGainLPStream { nullptr }
 
IMAGEm_modevarStream { nullptr }
 
std::mutex m_goptMutex
 Mutex for synchronizing updates.
 
std::atomic< boolm_updating { false }
 
std::string m_basePath
 The base path of the MagAO-X system.
 
std::string m_configName
 The name of the configuration file (minus .conf).
 
std::string m_configDir
 The path to configuration files for MagAOX.
 
std::string m_configBase
 The name of a base config class for this app (minus .conf).
 
std::string m_calibDir
 The path to calibration files for MagAOX.
 
std::string m_sysPath
 The path to the system directory, for PID file, etc.
 
std::string m_secretsPath
 Path to the secrets directory, where passwords, etc, are stored.
 
std::string m_cpusetPath
 Path to the cpusets mount.
 
unsigned long m_loopPause
 
int m_shutdown
 Flag to signal it's time to shutdown. When not 0, the main loop exits.
 
Configurable Parameters
int m_loopNum { 1 }
 
std::string m_loopName
 The name of the loop control INDI device name.
 
std::string m_wfsDevice { "camwfs" }
 
std::string m_psdDevice { "hopsds" }
 
std::string m_opticalGainDevice { "strehl" }
 
std::string m_opticalGainProperty { "strehl_optimal" }
 
std::string m_opticalGainElement { "pyramid" }
 
bool m_autoUpdate { false }
 Flag controlling whether gains are automatically updated.
 
bool m_opticalGainUpdate { false }
 
float m_gainGain { 0.1 }
 The gain to use for SI gain correction updates. Default is 0.1.
 
float m_gainLeak { 0.9 }
 The leak factor used for SI gain integration. Default is 0.9.
 
processPsdProcessorT::processModelConfig m_extrapConfig
 Configuration of the OL PSD extrapolation model.
 
uint32_t m_maxNCoeff { 1000 }
 
uint32_t m_defaultNCoeff { 25 }
 
int m_extrapOL { c_olProcessNone }
 Which extrapolation method to use for the OL PSD.
 
int m_extrapNoiseEstimateDomain { c_extrapNoiseEstimateOpenLoop }
 
int m_extrapNoiseEstimateRange { c_extrapNoiseEstimateHighFreq }
 
int m_extrapNoiseEstimateStatistic { c_extrapNoiseEstimatePercentile }
 
int m_extrapClosedLoopOlEstimateMethod { c_extrapClosedLoopOlEstimateEtfOnly }
 
int m_extrapPowerLawCrossoverMode { c_extrapPowerLawCrossoverManual }
 

Private Types

typedef dev::telemeter< modalGainOpttelemeterT
 

Private Member Functions

int clearFSMAlert ()
 Clear the FSM alert state.
 
modalGainOptderived ()
 Access the derived class.
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 
const std::string & shmimName () const
 
const uint32_twidth () const
 
const uint32_theight () const
 
const uint32_tdepth () const
 
const uint8_tdataType () const
 
const size_ttypeSize () const
 
int setupConfig (mx::app::appConfigurator &config)
 Setup the configuration system.
 
int loadConfig (mx::app::appConfigurator &config)
 load the configuration system results
 

Private Attributes

bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
bool m_getExistingFirst
 
stateCodes::stateCodeT m_targetState
 
shmimMonitorState m_smState
 
int m_semaphoreNumber
 The image structure semaphore index.
 
uint32_t m_width
 The width of the images in the stream.
 
uint32_t m_height
 The height of the images in the stream.
 
uint32_t m_depth
 The depth of the circular buffer in the stream.
 
uint8_t m_dataType
 The ImageStreamIO type code.
 
size_t m_typeSize
 The size of the type, in bytes. Result of sizeof.
 
IMAGE m_imageStream
 The ImageStreamIO shared memory buffer.
 
ino_t m_inode
 The inode of the image stream file.
 
Configurable Parameters
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
std::string m_shmimName
 
int m_smThreadPrio
 Priority of the shmimMonitor thread, should normally be > 00.
 
std::string m_smCpuset
 The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).
 
SIGSEGV & SIGBUS signal handling

These signals occur as a result of a ImageStreamIO source server resetting (e.g. changing frame sizes). When they occur a restart of the shmim monitor thread main loops is triggered.

bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 
bool m_restart
 Flag indicating tha the shared memory should be reinitialized.
 

Friends

class modalGainOpt_test
 
class dev::telemeter< modalGainOpt >
 
class dev::shmimMonitor< modalGainOpt, psdShmimT >
 
class dev::shmimMonitor< modalGainOpt, freqShmimT >
 
class dev::shmimMonitor< modalGainOpt, gainFactShmimT >
 
class dev::shmimMonitor< modalGainOpt, multFactShmimT >
 
class dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >
 
class dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >
 
class dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >
 
class dev::shmimMonitor< modalGainOpt, acoeffShmimT >
 
class dev::shmimMonitor< modalGainOpt, bcoeffShmimT >
 
class dev::shmimMonitor< modalGainOpt, gainCalShmimT >
 
class dev::shmimMonitor< modalGainOpt, gainCalFactShmimT >
 
class dev::shmimMonitor< modalGainOpt, tauShmimT >
 
class dev::shmimMonitor< modalGainOpt, noiseShmimT >
 
class dev::shmimMonitor< modalGainOpt, wfsavgShmimT >
 
class dev::shmimMonitor< modalGainOpt, wfsmaskShmimT >
 

INDI Interface

For reference: "Get" and "New" refer to properties we own. "Set" refers to properties owned by others. So we respond to GetProperties by listing our own properties, and NewProperty is a request to change a property we own. Whereas SetProperty is a notification that someone else has changed a property.

typedef std::pair< std::string, indiCallBack > callBackValueType
 Value type of the indiCallBack map.
 
typedef std::unordered_map< std::string, indiCallBack >::iterator callBackIterator
 Iterator type of the indiCallBack map.
 
typedef std::pair< callBackIterator, boolcallBackInsertResult
 Return type of insert on the indiCallBack map.
 
std::unordered_map< std::string, indiCallBack > m_indiNewCallBacks
 Map to hold the NewProperty indiCallBacks for this App, with fast lookup by property name.
 
std::unordered_map< std::string, indiCallBack > m_indiSetCallBacks
 Map to hold the SetProperty indiCallBacks for this App, with fast lookup by property name.
 
bool m_allDefsReceived
 Flag indicating that all registered Set properties have been updated since last Get.
 
std::string m_driverInName
 Full path name of the INDI driver input FIFO.
 
std::string m_driverOutName
 Full path name of the INDI driver output FIFO.
 
std::string m_driverCtrlName
 Full path name of the INDI driver control FIFO.
 
pcf::IndiProperty m_indiP_state
 indi Property to report the application state.
 
pcf::IndiProperty m_indiP_clearFSMAlert
 indi Property to clear an FSM alert.
 
indiDriver< MagAOXApp > * m_indiDriver
 The INDI driver wrapper. Constructed and initialized by execute, which starts and stops communications.
 
std::mutex m_indiMutex
 Mutex for locking INDI communications.
 
std::mutex m_indiCallBackMutex
 Mutex for locking INDI callback maps and per-entry callback state.
 
int createINDIFIFOS ()
 Create the INDI FIFOs.
 
int startINDI ()
 Start INDI Communications.
 
void updateIfChanged (pcf::IndiProperty &p, const std::string &el, const T &newVal, pcf::IndiProperty::PropertyStateType ipState=pcf::IndiProperty::Ok)
 Update an INDI property element value if it has changed.
 
void updateIfChanged (pcf::IndiProperty &p, const std::string &el, const char *newVal, pcf::IndiProperty::PropertyStateType ipState=pcf::IndiProperty::Ok)
 Update an INDI property element value if it has changed.
 
void updateIfChanged (pcf::IndiProperty &p, const std::string &el, const std::vector< T > &newVals, pcf::IndiProperty::PropertyStateType ipState=pcf::IndiProperty::Ok)
 Update an INDI property if values have changed.
 
void updateIfChanged (pcf::IndiProperty &p, const std::vector< std::string > &els, const std::vector< T > &newVals, pcf::IndiProperty::PropertyStateType newState=pcf::IndiProperty::Ok)
 Update an INDI property if values have changed.
 
void updateSwitchIfChanged (pcf::IndiProperty &p, const std::string &el, const pcf::IndiElement::SwitchStateType &newVal, pcf::IndiProperty::PropertyStateType ipState=pcf::IndiProperty::Ok)
 Update an INDI switch element value if it has changed.
 
void updatesIfChanged (pcf::IndiProperty &p, const std::vector< const char * > &els, const std::vector< T > &newVals, pcf::IndiProperty::PropertyStateType newState=pcf::IndiProperty::Ok)
 
int indiTargetUpdate (pcf::IndiProperty &localProperty, T &localTarget, const pcf::IndiProperty &remoteProperty, bool setBusy=true)
 Get the target element value from an new property.
 
int sendNewProperty (const pcf::IndiProperty &ipSend, const std::string &el, const T &newVal)
 Send a newProperty command to another device (using the INDI Client interface)
 
int sendNewProperty (const pcf::IndiProperty &ipSend)
 Send a newProperty command to another device (using the INDI Client interface)
 
int sendNewStandardIndiToggle (const std::string &device, const std::string &property, bool onoff)
 Send a new property commmand for a standard toggle switch.
 
int newCallBack_clearFSMAlert (const pcf::IndiProperty &ipRecv)
 The callback called by the static version, to actually process the FSM Alert Clear request.
 
int createStandardIndiText (pcf::IndiProperty &prop, const std::string &propName, const std::string &label="", const std::string &group="")
 Create a standard R/W INDI Text property with target and current elements.
 
int createROIndiText (pcf::IndiProperty &prop, const std::string &propName, const std::string &elName, const std::string &propLabel="", const std::string &propGroup="", const std::string &elLabel="")
 Create a standard ReadOnly INDI Text property, with at least one element.
 
int createStandardIndiNumber (pcf::IndiProperty &prop, const std::string &name, const T &min, const T &max, const T &step, const std::string &format, const std::string &label="", const std::string &group="")
 Create a standard R/W INDI Number property with target and current elements.
 
int createROIndiNumber (pcf::IndiProperty &prop, const std::string &propName, const std::string &propLabel="", const std::string &propGroup="")
 Create a ReadOnly INDI Number property.
 
int createStandardIndiToggleSw (pcf::IndiProperty &prop, const std::string &name, const std::string &label="", const std::string &group="")
 Create a standard R/W INDI switch with a single toggle element.
 
int createStandardIndiRequestSw (pcf::IndiProperty &prop, const std::string &name, const std::string &label="", const std::string &group="")
 Create a standard R/W INDI switch with a single request element.
 
int createStandardIndiSelectionSw (pcf::IndiProperty &prop, const std::string &name, const std::vector< std::string > &elements, const std::vector< std::string > &elementLabels, const std::string &label="", const std::string &group="")
 Create a standard R/W INDI selection (one of many) switch with vector of elements and element labels.
 
int createStandardIndiSelectionSw (pcf::IndiProperty &prop, const std::string &name, const std::vector< std::string > &elements, const std::string &label="", const std::string &group="")
 
int registerIndiPropertyReadOnly (pcf::IndiProperty &prop)
 Register an INDI property which is read only.
 
int registerIndiPropertyReadOnly (pcf::IndiProperty &prop, const std::string &propName, const pcf::IndiProperty::Type &propType, const pcf::IndiProperty::PropertyPermType &propPerm, const pcf::IndiProperty::PropertyStateType &propState)
 Register an INDI property which is read only.
 
int registerIndiPropertyNew (pcf::IndiProperty &prop, int(*)(void *, const pcf::IndiProperty &))
 Register an INDI property which is exposed for others to request a New Property for.
 
int registerIndiPropertyNew (pcf::IndiProperty &prop, const std::string &propName, const pcf::IndiProperty::Type &propType, const pcf::IndiProperty::PropertyPermType &propPerm, const pcf::IndiProperty::PropertyStateType &propState, int(*)(void *, const pcf::IndiProperty &))
 Register an INDI property which is exposed for others to request a New Property for.
 
int registerIndiPropertyNew (pcf::IndiProperty &prop, const std::string &propName, const pcf::IndiProperty::Type &propType, const pcf::IndiProperty::PropertyPermType &propPerm, const pcf::IndiProperty::PropertyStateType &propState, const pcf::IndiProperty::SwitchRuleType &propRule, int(*)(void *, const pcf::IndiProperty &))
 Register an INDI property which is exposed for others to request a New Property for, with a switch rule.
 
int registerIndiPropertySet (pcf::IndiProperty &prop, const std::string &devName, const std::string &propName, int(*)(void *, const pcf::IndiProperty &))
 Register an INDI property which is monitored for updates from others.
 
void resetIndiSetPropertyRetry (indiCallBack &callBack)
 Reset retry tracking for a monitored INDI Set-property subscription.
 
bool indiSetPropertyShouldRequest (const indiCallBack &callBack, bool all, const std::chrono::steady_clock::time_point &now) const
 Determine whether an unresolved Set-property subscription should be requested now.
 
void noteIndiSetPropertyRequested (indiCallBack &callBack, const std::chrono::steady_clock::time_point &now)
 Update retry tracking after sending a GetProperties request for a monitored Set-property.
 
void sendGetPropertySetList (bool all=false)
 
void handleDefProperty (const pcf::IndiProperty &ipRecv)
 Handler for the DEF INDI properties notification.
 
void handleGetProperties (const pcf::IndiProperty &ipRecv)
 Handler for the get INDI properties request.
 
void handleNewProperty (const pcf::IndiProperty &ipRecv)
 Handler for the new INDI property request.
 
void handleSetProperty (const pcf::IndiProperty &ipRecv)
 Handler for the set INDI property request.
 
static int st_newCallBack_clearFSMAlert (void *app, const pcf::IndiProperty &ipRecv)
 The static callback function to be registered for requesting to clear the FSM alert.
 
static constexpr bool m_useINDI
 Flag controlling whether INDI is used. If false, then no INDI code executes.
 

Gain Optimization Thread

int m_goptThreadPrio { 0 }
 Priority of the gain optimization thread.
 
std::string m_goptThreadCpuset
 
std::thread m_goptThread
 The gain optimization thread.
 
bool m_goptThreadInit { true }
 Initialization flag for the gain optimization thread.
 
pid_t m_goptThreadID { 0 }
 gain optimization thread PID.
 
pcf::IndiProperty m_goptThreadProp
 
sem_t m_goptSemaphore
 
bool m_goptSemaphoreInit { false }
 Tracks whether the gain optimization semaphore needs cleanup.
 
float noisePSD (int n)
 
void goptThreadExec ()
 Gain optimization thread function.
 
static void goptThreadStart (modalGainOpt *p)
 Gain Optimization thread starter function.
 

PID Locking

Each MagAOXApp has a PID lock file in the system directory. The app will not startup if it detects that the PID is already locked, preventing duplicates. This is based on the configured name, not the invoked name (argv[0]).

std::string pidFileName
 The name of the PID file.
 
pid_t m_pid
 This process's PID.
 
int lockPID ()
 
int unlockPID ()
 Remove the PID file.
 

Power Management

For devices which have remote power management (e.g. from one of the PDUs) we implement a standard power state monitoring and management component for the FSM. This needs to be enabled in the derived app constructor. To stay enabled, m_powerDevice and m_powerChannel must be not empty strings after the configuration. These could be set in the derived app defaults.

If power management is enabled, then while power is off, appLogic will not be called. Instead a parrallel set of virtual functions is called, onPowerOff (to allow apps to perform cleanup) and whilePowerOff (to allow apps to keep variables updated, etc). Note that these could merely call appLogic if desired.

bool m_powerMgtEnabled
 
std::string m_powerDevice
 The INDI device name of the power controller.
 
std::string m_powerChannel
 The INDI property name of the channel controlling this device's power.
 
std::string m_powerElement
 The INDI element name to monitor for this device's power state.
 
std::string m_powerTargetElement
 The INDI element name to monitor for this device's power state.
 
unsigned long m_powerOnWait
 Default time in sec to wait for device to boot after power on.
 
int m_powerOnCounter
 
int m_powerState
 Current power state, 1=On, 0=Off, -1=Unk.
 
int m_powerTargetState
 Current target power state, 1=On, 0=Off, -1=Unk.
 
pcf::IndiProperty m_indiP_powerChannel
 INDI property used to communicate power state.
 
virtual int onPowerOff ()
 This method is called when the change to poweroff is detected.
 
virtual int whilePowerOff ()
 This method is called while the power is off, once per FSM loop.
 
bool powerOnWaitElapsed ()
 This method tests whether the power on wait time has elapsed.
 
int powerState ()
 Returns the current power state.
 
int powerStateTarget ()
 Returns the target power state.
 
 INDI_SETCALLBACK_DECL (MagAOXApp, m_indiP_powerChannel)
 

INDI

pcf::IndiProperty m_indiP_autoUpdate
 
pcf::IndiProperty m_indiP_updateOnce
 
pcf::IndiProperty m_indiP_dump
 
pcf::IndiProperty m_indiP_opticalGain
 
pcf::IndiProperty m_indiP_gainGain
 
pcf::IndiProperty m_indiP_gainLeak
 
pcf::IndiProperty m_indiP_zeroGains
 
pcf::IndiProperty m_indiP_extrapMethod
 
pcf::IndiProperty m_indiP_extrapNoiseEstimateDomain
 
pcf::IndiProperty m_indiP_extrapNoiseEstimateRange
 
pcf::IndiProperty m_indiP_extrapNoiseEstimateStatistic
 
pcf::IndiProperty m_indiP_extrapNoiseEstimateLowFreqMaxHz
 
pcf::IndiProperty m_indiP_extrapClosedLoopOlEstimateMethod
 
pcf::IndiProperty m_indiP_extrapPowerLawIndex
 
pcf::IndiProperty m_indiP_extrapPowerLawNormFreq
 
pcf::IndiProperty m_indiP_extrapPowerLawMatchFreq
 
pcf::IndiProperty m_indiP_extrapPowerLawMatchFallbackWindowHz
 
pcf::IndiProperty m_indiP_extrapPowerLawCrossoverMode
 
pcf::IndiProperty m_indiP_extrapPowerLawAutoSmoothWidthHz
 
pcf::IndiProperty m_indiP_extrapPowerLawAutoMaxFreqFraction
 
pcf::IndiProperty m_indiP_extrapFitPowerLawIndex
 
pcf::IndiProperty m_indiP_extrapPowerLawOnlyAboveFreq
 
pcf::IndiProperty m_indiP_extrapPowerLawFitIncludesMatchPoint
 
pcf::IndiProperty m_indiP_extrapPowerLawFitMinFreqHz
 
pcf::IndiProperty m_indiP_extrapPowerLawFitMaxFreqHz
 
pcf::IndiProperty m_indiP_extrapPowerLawFitBinWidthHz
 
pcf::IndiProperty m_indiP_extrapPowerLawBlendBins
 
pcf::IndiProperty m_indiP_extrapDropoutGapFactor
 
pcf::IndiProperty m_indiP_extrapDropoutTinyFactor
 
pcf::IndiProperty m_indiP_extrapDropoutMaxBins
 
pcf::IndiProperty m_indiP_extrapClSignificanceThreshold
 
pcf::IndiProperty m_indiP_extrapClMinSignificantFraction
 
pcf::IndiProperty m_indiP_emg
 
pcf::IndiProperty m_indiP_psdTime
 
pcf::IndiProperty m_indiP_psdAvgTime
 
pcf::IndiProperty m_indiP_loop
 
pcf::IndiProperty m_indiP_siGain
 
pcf::IndiProperty m_indiP_siMult
 
pcf::IndiProperty m_indiP_pcGain
 
pcf::IndiProperty m_indiP_pcMult
 
pcf::IndiProperty m_indiP_pcOn
 
pcf::IndiProperty m_indiP_modesOn
 
pcf::IndiProperty m_indiP_opticalGainSource
 
pcf::IndiProperty m_indiP_opticalGainUpdate
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_autoUpdate)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_updateOnce)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_dump)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_opticalGain)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_gainGain)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_gainLeak)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_zeroGains)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapMethod)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapNoiseEstimateDomain)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapNoiseEstimateRange)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapNoiseEstimateStatistic)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapNoiseEstimateLowFreqMaxHz)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapClosedLoopOlEstimateMethod)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawIndex)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawNormFreq)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawMatchFreq)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawMatchFallbackWindowHz)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawCrossoverMode)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawAutoSmoothWidthHz)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawAutoMaxFreqFraction)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapFitPowerLawIndex)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawOnlyAboveFreq)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawFitIncludesMatchPoint)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawFitMinFreqHz)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawFitMaxFreqHz)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawFitBinWidthHz)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapPowerLawBlendBins)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapDropoutGapFactor)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapDropoutTinyFactor)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapDropoutMaxBins)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapClSignificanceThreshold)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_extrapClMinSignificantFraction)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_emg)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_psdTime)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_psdAvgTime)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_loop)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_siGain)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_siMult)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_pcGain)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_pcMult)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_pcOn)
 
 INDI_SETCALLBACK_DECL (modalGainOpt, m_indiP_opticalGainSource)
 
 INDI_NEWCALLBACK_DECL (modalGainOpt, m_indiP_opticalGainUpdate)
 

Logging

void logMessage (bufferPtrT &b)
 Handle a log message from the logging system.
 
static void configLog (const std::string &name, const int &code, const std::string &value, const std::string &source)
 Callback for config system logging.
 
static logManagerT m_log
 
static int log (const typename logT::messageT &msg, logPrioT level=logPrio::LOG_DEFAULT)
 Make a log entry.
 
static int log (logPrioT level=logPrio::LOG_DEFAULT)
 Make a log entry.
 

Application State

stateCodes::stateCodeT state ()
 Get the current state code.
 
void state (const stateCodes::stateCodeT &s, bool stateAlert=false)
 Set the current state code.
 
bool stateAlert ()
 Get the value of the state alert flag.
 
bool gitAlert ()
 Get the value of the git alert flag.
 
int stateLogged ()
 Updates and returns the value of m_stateLogged. Will be 0 on first call after a state change, >0 afterwards.
 
stateCodes::stateCodeT m_state
 
bool m_stateAlert
 
bool m_gitAlert
 
int m_stateLogged
 

Signal Handling

libMagAOX/logger/types/software_log.hpp

static MagAOXAppm_self
 
int setSigTermHandler ()
 Sets the handler for SIGTERM, SIGQUIT, and SIGINT.
 
void handlerSigTerm (int signum, siginfo_t *siginf, void *ucont)
 Handles SIGTERM, SIGQUIT, and SIGINT. Sets m_shutdown to 1 and logs the signal.
 
static void _handlerSigTerm (int signum, siginfo_t *siginf, void *ucont)
 The handler called when SIGTERM, SIGQUIT, or SIGINT is received. Just a wrapper for handlerSigTerm.
 

Privilege Management

uid_t m_euidReal
 The real user id of the proces (i.e. the lower privileged id of the user)
 
uid_t m_euidCalled
 
uid_t m_suid
 The save-set user id of the process.
 
int setEuidCalled ()
 Set the effective user ID to the called value, i.e. the highest possible.
 
int setEuidReal ()
 Set the effective user ID to the real value, i.e. the file owner.
 

shmimmonitor Thread

This thread actually monitors the shared memory buffer

bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
bool m_smThreadInit
 Synchronizer for thread startup, to allow priority setting to finish.
 
pid_t m_smThreadID
 The s.m. thread PID.
 
pcf::IndiProperty m_smThreadProp
 The property to hold the s.m. thread details.
 
std::thread m_smThread
 A separate thread for the actual monitoring.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
void smThreadExec ()
 Execute the monitoring thread.
 
int create (uint32_t width, uint32_t height, uint32_t depth, uint8_t datatype, void *initData=nullptr)
 Create the image.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 
static void smThreadStart (shmimMonitor *s)
 Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.
 

INDI

pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
pcf::IndiProperty m_indiP_shmimName
 Property used to report the shmim buffer name.
 
pcf::IndiProperty m_indiP_frameSize
 Property used to report the current frame size.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 
int updateINDI ()
 Update the INDI properties for this device controller.
 

Detailed Description

The MagAO-X PSD-based gain optimizer.

Definition at line 714 of file modalGainOpt.hpp.

Member Typedef Documentation

◆ acoeffShmimMonitorT

◆ bcoeffShmimMonitorT

◆ callBackInsertResult

typedef std::pair<callBackIterator, bool> MagAOX::app::MagAOXApp< _useINDI >::callBackInsertResult
inherited

Return type of insert on the indiCallBack map.

Definition at line 701 of file MagAOXApp.hpp.

◆ callBackIterator

typedef std::unordered_map<std::string,indiCallBack>::iterator MagAOX::app::MagAOXApp< _useINDI >::callBackIterator
inherited

Iterator type of the indiCallBack map.

Definition at line 698 of file MagAOXApp.hpp.

◆ callBackValueType

typedef std::pair<std::string, indiCallBack> MagAOX::app::MagAOXApp< _useINDI >::callBackValueType
inherited

Value type of the indiCallBack map.

Definition at line 695 of file MagAOXApp.hpp.

◆ durationT

Definition at line 774 of file modalGainOpt.hpp.

◆ freqShmimMonitorT

◆ gainCalFactShmimMonitorT

◆ gainCalShmimMonitorT

◆ gainFactShmimMonitorT

◆ logManagerT [1/2]

The log manager type.

Definition at line 79 of file telemeter.hpp.

◆ logManagerT [2/2]

The log manager type.

Definition at line 185 of file MagAOXApp.hpp.

◆ multFactShmimMonitorT

◆ noiseShmimMonitorT

◆ numpccoeffShmimMonitorT

◆ pcGainFactShmimMonitorT

◆ pcMultFactShmimMonitorT

◆ psdShmimMonitorT

◆ tauShmimMonitorT

◆ telemeterT

◆ timePointT

typedef std::chrono::time_point<std::chrono::steady_clock> MagAOX::app::modalGainOpt::timePointT

Definition at line 773 of file modalGainOpt.hpp.

◆ verboseT [1/2]

Definition at line 76 of file telemeter.hpp.

◆ verboseT [2/2]

Definition at line 182 of file MagAOXApp.hpp.

◆ wfsavgShmimMonitorT

◆ wfsmaskShmimMonitorT

Constructor & Destructor Documentation

◆ modalGainOpt()

◆ ~modalGainOpt()

MagAOX::app::modalGainOpt::~modalGainOpt ( )
inlinenoexcept

D'tor, declared and defined for noexcept.

Definition at line 1126 of file modalGainOpt.hpp.

Member Function Documentation

◆ _handlerSigTerm()

void MagAOX::app::MagAOXApp< _useINDI >::_handlerSigTerm ( int  signum,
siginfo_t *  siginf,
void *  ucont 
)
staticprivateinherited

The handler called when SIGTERM, SIGQUIT, or SIGINT is received. Just a wrapper for handlerSigTerm.

Parameters
[in]signumspecifies the signal.
[in]siginfignored by MagAOXApp
[in]ucontignored by MagAOXApp

Definition at line 404 of file MagAOXApp.hpp.

◆ allocate() [1/15]

int MagAOX::app::modalGainOpt::allocate ( const acoeffShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3844 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [2/15]

int MagAOX::app::modalGainOpt::allocate ( const bcoeffShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3930 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [3/15]

int MagAOX::app::modalGainOpt::allocate ( const freqShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3462 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [4/15]

int MagAOX::app::modalGainOpt::allocate ( const gainCalFactShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4083 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [5/15]

int MagAOX::app::modalGainOpt::allocate ( const gainCalShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4018 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [6/15]

int MagAOX::app::modalGainOpt::allocate ( const gainFactShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3516 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), and MagAOX::app::dev::shmimMonitor< modalGainOpt, gainFactShmimT >::m_height.

◆ allocate() [7/15]

int MagAOX::app::modalGainOpt::allocate ( const multFactShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3575 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), and MagAOX::app::dev::shmimMonitor< modalGainOpt, multFactShmimT >::m_height.

◆ allocate() [8/15]

int MagAOX::app::modalGainOpt::allocate ( const noiseShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4211 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [9/15]

int MagAOX::app::modalGainOpt::allocate ( const numpccoeffShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3752 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), and MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::m_height.

◆ allocate() [10/15]

int MagAOX::app::modalGainOpt::allocate ( const pcGainFactShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3634 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), and MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_height.

◆ allocate() [11/15]

int MagAOX::app::modalGainOpt::allocate ( const pcMultFactShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3693 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), and MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::m_height.

◆ allocate() [12/15]

int MagAOX::app::modalGainOpt::allocate ( const psdShmimT dummy)

◆ allocate() [13/15]

int MagAOX::app::modalGainOpt::allocate ( const tauShmimT dummy)
Parameters
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4147 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

◆ allocate() [14/15]

int MagAOX::app::modalGainOpt::allocate ( const wfsavgShmimT dummy)

◆ allocate() [15/15]

int MagAOX::app::modalGainOpt::allocate ( const wfsmaskShmimT dummy)

◆ allocatePCShmims()

int MagAOX::app::modalGainOpt::allocatePCShmims ( )

Definition at line 3125 of file modalGainOpt.hpp.

References MagAOX::app::dev::connected, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::create(), MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::create(), MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::create(), MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::create(), MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::create(), MagAOX::app::MagAOXApp< true >::log(), m_defaultNCoeff, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::m_height, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_height, MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::m_height, MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::m_height, MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::m_height, m_maxNCoeff, m_nModes, MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::m_smState, MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::m_smState, MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::m_smState, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_smState, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::m_smState, MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::m_width, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_width, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::m_width, MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::m_width, MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::m_width, and MGO_BREADCRUMB.

Referenced by checkSizes().

◆ appLogic()

int MagAOX::app::modalGainOpt::appLogic ( )
virtual

Implementation of the FSM for modalGainOpt.

Returns
0 on no critical error
-1 on an error requiring shutdown

Implements MagAOX::app::MagAOXApp< true >.

Definition at line 2403 of file modalGainOpt.hpp.

References MagAOX::app::dev::telemeter< modalGainOpt >::appLogic(), MagAOX::app::extrapClosedLoopOlEstimateMethodElement(), MagAOX::app::extrapNoiseEstimateDomainElement(), MagAOX::app::extrapNoiseEstimateRangeElement(), MagAOX::app::extrapNoiseEstimateStatisticElement(), MagAOX::app::extrapPowerLawCrossoverModeElement(), INDI_IDLE, INDI_OK, MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_autoUpdate, m_dump, m_extrapClosedLoopOlEstimateMethod, m_extrapConfig, m_extrapNoiseEstimateDomain, m_extrapNoiseEstimateRange, m_extrapNoiseEstimateStatistic, m_extrapOL, m_extrapPowerLawCrossoverMode, m_gainGain, m_gainLeak, m_goptMutex, m_goptThread, MagAOX::app::MagAOXApp< true >::m_indiDriver, m_indiP_autoUpdate, m_indiP_dump, m_indiP_extrapClMinSignificantFraction, m_indiP_extrapClosedLoopOlEstimateMethod, m_indiP_extrapClSignificanceThreshold, m_indiP_extrapDropoutGapFactor, m_indiP_extrapDropoutMaxBins, m_indiP_extrapDropoutTinyFactor, m_indiP_extrapFitPowerLawIndex, m_indiP_extrapMethod, m_indiP_extrapNoiseEstimateDomain, m_indiP_extrapNoiseEstimateLowFreqMaxHz, m_indiP_extrapNoiseEstimateRange, m_indiP_extrapNoiseEstimateStatistic, m_indiP_extrapPowerLawAutoMaxFreqFraction, m_indiP_extrapPowerLawAutoSmoothWidthHz, m_indiP_extrapPowerLawBlendBins, m_indiP_extrapPowerLawCrossoverMode, m_indiP_extrapPowerLawFitBinWidthHz, m_indiP_extrapPowerLawFitIncludesMatchPoint, m_indiP_extrapPowerLawFitMaxFreqHz, m_indiP_extrapPowerLawFitMinFreqHz, m_indiP_extrapPowerLawIndex, m_indiP_extrapPowerLawMatchFallbackWindowHz, m_indiP_extrapPowerLawMatchFreq, m_indiP_extrapPowerLawNormFreq, m_indiP_extrapPowerLawOnlyAboveFreq, m_indiP_gainGain, m_indiP_gainLeak, m_indiP_modesOn, m_indiP_opticalGain, m_indiP_opticalGainUpdate, m_indiP_updateOnce, m_indiP_zeroGains, m_modesOn, m_modesOnLP, m_modesOnSI, m_opticalGain, m_opticalGainUpdate, m_updateOnce, m_zeroGains, MagAOX::app::olProcessMethodElement(), SHMIMMONITORT_APP_LOGIC, SHMIMMONITORT_UPDATE_INDI, MagAOX::app::indi::updateSelectionSwitchIfChanged(), MagAOX::app::MagAOXApp< true >::updateSwitchIfChanged(), and XWCAPP_THREAD_CHECK.

◆ applyFrequencyUpdate()

bool MagAOX::app::modalGainOpt::applyFrequencyUpdate ( const float incoming,
size_t  size 
)
protected

Apply an incoming frequency frame to the stored frequency scale.

Parameters
[in]incomingincoming frequency frame
[in]sizenumber of frequency samples in incoming

Definition at line 2977 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_fps, m_freq, m_freqUpdated, m_goptUpdated, and m_sinceChange.

Referenced by processImage(), and libXWCTest::modalGainOptTest::TEST_CASE().

◆ applyGainFactorUpdate()

bool MagAOX::app::modalGainOpt::applyGainFactorUpdate ( std::vector< float > &  gainFacts,
const float incoming,
uint32_t  width,
bool  predictorPath 
)
protected

Apply an incoming gain-factor frame to one of the stored gain vectors.

Parameters
gainFacts[in.out] stored gain factors to resize and update
[in]incomingincoming gain-factor frame
[in]widthnumber of gain factors in incoming
[in]predictorPathtrue when the values came from the predictor path

Definition at line 2891 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_loop, m_siGainStateNeedsSync, m_sinceChange, updateAppliedModeCount(), and MagAOX::app::dev::shmimMonitor< modalGainOpt, psdShmimT >::width().

Referenced by processImage(), processImage(), and libXWCTest::modalGainOptTest::TEST_CASE().

◆ applyMultiplierUpdate()

bool MagAOX::app::modalGainOpt::applyMultiplierUpdate ( std::vector< float > &  multFacts,
const float incoming,
uint32_t  width,
bool  predictorPath 
)
protected

Apply an incoming multiplier frame to one of the stored multiplier vectors.

Parameters
multFacts[in.out] stored multiplier factors to resize and update
[in]incomingincoming multiplier frame
[in]widthnumber of multiplier factors in incoming
[in]predictorPathtrue when the values came from the predictor path

Definition at line 2933 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_goptUpdated, m_loop, m_pcgoptUpdated, m_sinceChange, and MagAOX::app::dev::shmimMonitor< modalGainOpt, psdShmimT >::width().

Referenced by processImage(), processImage(), and libXWCTest::modalGainOptTest::TEST_CASE().

◆ appShutdown()

◆ appStartup()

int MagAOX::app::modalGainOpt::appStartup ( )
virtual

Startup function.

Implements MagAOX::app::MagAOXApp< true >.

Definition at line 2049 of file modalGainOpt.hpp.

References MagAOX::app::indi::addNumberElement(), MagAOX::app::dev::telemeter< modalGainOpt >::appStartup(), MagAOX::app::c_extrapClosedLoopOlEstimateEtfOnly, MagAOX::app::c_extrapClosedLoopOlEstimateNtfAware, MagAOX::app::c_extrapNoiseEstimateClosedLoopPreXfer, MagAOX::app::c_extrapNoiseEstimateHighFreq, MagAOX::app::c_extrapNoiseEstimateLowFreq, MagAOX::app::c_extrapNoiseEstimateMinimum, MagAOX::app::c_extrapNoiseEstimateOpenLoop, MagAOX::app::c_extrapNoiseEstimatePercentile, MagAOX::app::c_extrapPowerLawCrossoverAutoSmoothedCrossing, MagAOX::app::c_extrapPowerLawCrossoverManual, MagAOX::app::c_olProcessLegacy, MagAOX::app::c_olProcessMoffatPeaks, MagAOX::app::c_olProcessNone, MagAOX::app::c_olProcessPowerLawOnly, CREATE_REG_INDI_NEW_NUMBERF, CREATE_REG_INDI_NEW_NUMBERI, CREATE_REG_INDI_NEW_REQUESTSWITCH, CREATE_REG_INDI_NEW_TOGGLESWITCH, CREATE_REG_INDI_RO_NUMBER, MagAOX::app::MagAOXApp< true >::createStandardIndiSelectionSw(), MagAOX::app::MagAOXApp< true >::createStandardIndiToggleSw(), MagAOX::app::extrapClosedLoopOlEstimateMethodElement(), MagAOX::app::extrapClosedLoopOlEstimateMethodLabel(), MagAOX::app::extrapNoiseEstimateDomainElement(), MagAOX::app::extrapNoiseEstimateDomainLabel(), MagAOX::app::extrapNoiseEstimateRangeElement(), MagAOX::app::extrapNoiseEstimateRangeLabel(), MagAOX::app::extrapNoiseEstimateStatisticElement(), MagAOX::app::extrapNoiseEstimateStatisticLabel(), MagAOX::app::extrapPowerLawCrossoverModeElement(), MagAOX::app::extrapPowerLawCrossoverModeLabel(), goptThreadStart(), INDI_NEWCALLBACK, MagAOX::app::MagAOXApp< true >::log(), m_goptSemaphore, m_goptSemaphoreInit, m_goptThread, m_goptThreadCpuset, m_goptThreadID, m_goptThreadInit, m_goptThreadPrio, m_goptThreadProp, m_indiP_autoUpdate, m_indiP_dump, m_indiP_emg, m_indiP_extrapClMinSignificantFraction, m_indiP_extrapClosedLoopOlEstimateMethod, m_indiP_extrapClSignificanceThreshold, m_indiP_extrapDropoutGapFactor, m_indiP_extrapDropoutMaxBins, m_indiP_extrapDropoutTinyFactor, m_indiP_extrapFitPowerLawIndex, m_indiP_extrapMethod, m_indiP_extrapNoiseEstimateDomain, m_indiP_extrapNoiseEstimateLowFreqMaxHz, m_indiP_extrapNoiseEstimateRange, m_indiP_extrapNoiseEstimateStatistic, m_indiP_extrapPowerLawAutoMaxFreqFraction, m_indiP_extrapPowerLawAutoSmoothWidthHz, m_indiP_extrapPowerLawBlendBins, m_indiP_extrapPowerLawCrossoverMode, m_indiP_extrapPowerLawFitBinWidthHz, m_indiP_extrapPowerLawFitIncludesMatchPoint, m_indiP_extrapPowerLawFitMaxFreqHz, m_indiP_extrapPowerLawFitMinFreqHz, m_indiP_extrapPowerLawIndex, m_indiP_extrapPowerLawMatchFallbackWindowHz, m_indiP_extrapPowerLawMatchFreq, m_indiP_extrapPowerLawNormFreq, m_indiP_extrapPowerLawOnlyAboveFreq, m_indiP_gainGain, m_indiP_gainLeak, m_indiP_loop, m_indiP_modesOn, m_indiP_opticalGain, m_indiP_opticalGainSource, m_indiP_opticalGainUpdate, m_indiP_pcGain, m_indiP_pcMult, m_indiP_pcOn, m_indiP_psdAvgTime, m_indiP_psdTime, m_indiP_siGain, m_indiP_siMult, m_indiP_updateOnce, m_indiP_zeroGains, m_loopName, m_opticalGainDevice, m_opticalGainProperty, m_psdDevice, m_wfsDevice, MagAOX::app::olProcessMethodElement(), MagAOX::app::olProcessMethodLabel(), MagAOX::app::stateCodes::OPERATING, REG_INDI_SETPROP, MagAOX::app::MagAOXApp< true >::registerIndiPropertyNew(), SHMIMMONITORT_APP_STARTUP, MagAOX::app::MagAOXApp< true >::state(), and XWCAPP_THREAD_START.

◆ basePath()

std::string MagAOX::app::MagAOXApp< _useINDI >::basePath ( )
inherited

Get the.

Returns
the value of m_ *

Definition at line 1251 of file MagAOXApp.hpp.

◆ calibDir()

std::string MagAOX::app::MagAOXApp< _useINDI >::calibDir ( )
inherited

Get the calibration directory.

Returns
the value of m_calibDir

Definition at line 1273 of file MagAOXApp.hpp.

◆ checkConfig()

void MagAOX::app::MagAOXApp< _useINDI >::checkConfig ( )
virtualinherited

Check for unused and unrecognized config options and settings.

Logs the unused targets as warnings. Unrecognized and unused options are logged as critical, and m_shutdown is set. Any command line argument (not an option) will also be critical and cause shutdown.

Definition at line 278 of file MagAOXApp.hpp.

◆ checkRecordTimes() [1/4]

int MagAOX::app::modalGainOpt::checkRecordTimes ( )
inline

◆ checkRecordTimes() [2/4]

int MagAOX::app::dev::telemeter< modalGainOpt >::checkRecordTimes ( const telT &  tel,
telTs...  tels 
)
inherited

Check the time of the last record for each telemetry type and make an entry if needed.

This must be called from derivedT::checkRecordTimes(), with one template parameter for ach telemetry log type being recorded.

Returns
0 on succcess
-1 on error
Parameters
[in]tel[unused] object of the telemetry type to record
[in]tels[unused] objects of the additional telemetry types to record

Definition at line 156 of file telemeter.hpp.

◆ checkRecordTimes() [3/4]

int MagAOX::app::dev::telemeter< modalGainOpt >::checkRecordTimes ( timespec &  ts)
inherited

Empty function called at the end of the template list.

Returns
0 on succcess
-1 on error
Parameters
[in]ts[unused] the timestamp that records are compared to

Definition at line 177 of file telemeter.hpp.

◆ checkRecordTimes() [4/4]

int MagAOX::app::dev::telemeter< modalGainOpt >::checkRecordTimes ( timespec &  ts,
const telT &  tel,
telTs...  tels 
)
inherited

Worker function to actually perform the record time checking logic.

Recursively calls itself until the variadic template list is exhausted.

Returns
0 on succcess
-1 on error
Parameters
[in]ts[unused] the timestamp that records are compared to
[in]tel[unused] objects of the telemetry type to record
[in]tels[unused] objects of the additional telemetry types to record

Definition at line 167 of file telemeter.hpp.

◆ checkSizes()

◆ clearFSMAlert()

int MagAOX::app::MagAOXApp< _useINDI >::clearFSMAlert ( )
privateinherited

Clear the FSM alert state.

This can only be done from within this class, and this should only be possible via user action via INDI.

Definition at line 642 of file MagAOXApp.hpp.

◆ configBase()

std::string MagAOX::app::MagAOXApp< _useINDI >::configBase ( )
inherited

Get the config base file.

Returns
the value of m_confgBase

Definition at line 1268 of file MagAOXApp.hpp.

◆ configDir()

std::string MagAOX::app::MagAOXApp< _useINDI >::configDir ( )
inherited

Get the config directory.

Returns
the current value of m_configDir

Definition at line 1263 of file MagAOXApp.hpp.

◆ configLog()

void MagAOX::app::MagAOXApp< _useINDI >::configLog ( const std::string &  name,
const int &  code,
const std::string &  value,
const std::string &  source 
)
staticprotectedinherited

Callback for config system logging.

Called by appConfigurator each time a value is set using the config() operator. You never need to call this directly.

Parameters
[in]nameThe name of the config value
[in]codenumeric code specifying the type
[in]valuethe value read by the config system
[in]sourcethe source of the value.

Definition at line 384 of file MagAOXApp.hpp.

◆ configName()

std::string MagAOX::app::MagAOXApp< _useINDI >::configName ( )
inherited

Get the config name.

Returns
the current value of m_configName

Definition at line 1257 of file MagAOXApp.hpp.

◆ countEnabledGainFactors()

int MagAOX::app::modalGainOpt::countEnabledGainFactors ( const std::vector< float > &  gainFacts) const
protected

Count how many modes are enabled by a gain-factor vector.

Parameters
[in]gainFactsgain factors to inspect

Definition at line 2866 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

Referenced by libXWCTest::modalGainOptTest::TEST_CASE(), and updateAppliedModeCount().

◆ cpusetPath()

std::string MagAOX::app::MagAOXApp< _useINDI >::cpusetPath ( )
inherited

Get the cpuset path.

Returns
the value of m_cpusetPath

Definition at line 1288 of file MagAOXApp.hpp.

◆ create() [1/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [2/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [3/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [4/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [5/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [6/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [7/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [8/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [9/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [10/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [11/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [12/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [13/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [14/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ create() [15/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::create ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
uint8_t  datatype,
void *  initData = nullptr 
)
protectedinherited

Create the image.

This will create the shared memory image, erasing an existing. This is independent of the actual shmim monitoring function, which will pick up the new inode change on its own and restart the allocate() and processImage() cycle.

Returns
0 on success
<0 on error
Parameters
[in]widthwidth of the new image
[in]heightheight of the new image
[in]depthdepth of the new image
[in]datatypeCACAO data type of the new image
[in]initData[optional] data to initialize the new image with. Must be of size width*height*depth*sizeof(dataType)

Definition at line 256 of file shmimMonitor.hpp.

◆ createImageStream()

int MagAOX::app::modalGainOpt::createImageStream ( IMAGE *&  stream,
const std::string &  name,
uint32_t  size0,
uint32_t  size1,
uint32_t  size2,
uint8_t  dataType 
)
protected

Allocate and create an owned ImageStreamIO output stream.

Parameters
stream[in.out] stream pointer to allocate and create
[in]nameshmim name for the output stream
[in]size0first axis size
[in]size1second axis size
[in]size2third axis size
[in]dataTypeImageStreamIO datatype for the stream

Definition at line 2737 of file modalGainOpt.hpp.

References MagAOX::app::dev::shmimMonitor< modalGainOpt, psdShmimT >::dataType(), destroyImageStream(), and MagAOX::app::MagAOXApp< true >::log().

Referenced by allocate().

◆ createINDIFIFOS()

int MagAOX::app::MagAOXApp< _useINDI >::createINDIFIFOS ( )
protectedinherited

Create the INDI FIFOs.

Changes permissions to max available and creates the FIFOs at the configured path.

Todo:
make driver FIFO path full configurable.

Definition at line 960 of file MagAOXApp.hpp.

◆ createROIndiNumber()

int MagAOX::app::MagAOXApp< _useINDI >::createROIndiNumber ( pcf::IndiProperty &  prop,
const std::string &  propName,
const std::string &  propLabel = "",
const std::string &  propGroup = "" 
)
inherited

Create a ReadOnly INDI Number property.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]propNamethe name of the property
[in]propLabel[optional] the GUI label suggestion for this property
[in]propGroup[optional] the group for this property

Definition at line 783 of file MagAOXApp.hpp.

◆ createROIndiText()

int MagAOX::app::MagAOXApp< _useINDI >::createROIndiText ( pcf::IndiProperty &  prop,
const std::string &  propName,
const std::string &  elName,
const std::string &  propLabel = "",
const std::string &  propGroup = "",
const std::string &  elLabel = "" 
)
inherited

Create a standard ReadOnly INDI Text property, with at least one element.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]propNamethe name of the property
[in]elNamethe name of the element
[in]propLabel[optional] the GUI label suggestion for this property
[in]propGroup[optional] the group for this property
[in]elLabel[optional] the GUI label suggestion for the element

Definition at line 748 of file MagAOXApp.hpp.

◆ createStandardIndiNumber()

int MagAOX::app::MagAOXApp< _useINDI >::createStandardIndiNumber ( pcf::IndiProperty &  prop,
const std::string &  name,
const T &  min,
const T &  max,
const T &  step,
const std::string &  format,
const std::string &  label = "",
const std::string &  group = "" 
)
inherited

Create a standard R/W INDI Number property with target and current elements.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]namethe name of the property
[in]minthe minimum value for the elements, applied to both target and current
[in]maxthe minimum value for the elements, applied to both target and current
[in]stepthe step size for the elements, applied to both target and current
[in]formatthe _ value for the elements, applied to both target and current. Set to "" to use the MagAO-X standard for type.
[in]label[optional] the GUI label suggestion for this property
[in]group[optional] the group for this property

Definition at line 762 of file MagAOXApp.hpp.

◆ createStandardIndiRequestSw()

int MagAOX::app::MagAOXApp< _useINDI >::createStandardIndiRequestSw ( pcf::IndiProperty &  prop,
const std::string &  name,
const std::string &  label = "",
const std::string &  group = "" 
)
inherited

Create a standard R/W INDI switch with a single request element.

This switch is intended to function like a momentary switch.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]namethe name of the property
[in]label[optional] the GUI label suggestion for this property
[in]group[optional] the group for this property

Definition at line 809 of file MagAOXApp.hpp.

◆ createStandardIndiSelectionSw() [1/2]

int MagAOX::app::MagAOXApp< _useINDI >::createStandardIndiSelectionSw ( pcf::IndiProperty &  prop,
const std::string &  name,
const std::vector< std::string > &  elements,
const std::string &  label = "",
const std::string &  group = "" 
)
inherited

Create a standard R/W INDI selection (one of many) switch with vector of elements using the element strings as their own labels This switch is intended to function like drop down menu.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]namethe name of the property,
[in]elementsthe element names to give to the switches
[in]label[optional] the GUI label suggestion for this property
[in]group[optional] the group for this property

Definition at line 840 of file MagAOXApp.hpp.

◆ createStandardIndiSelectionSw() [2/2]

int MagAOX::app::MagAOXApp< _useINDI >::createStandardIndiSelectionSw ( pcf::IndiProperty &  prop,
const std::string &  name,
const std::vector< std::string > &  elements,
const std::vector< std::string > &  elementLabels,
const std::string &  label = "",
const std::string &  group = "" 
)
inherited

Create a standard R/W INDI selection (one of many) switch with vector of elements and element labels.

This switch is intended to function like drop down menu.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]namethe name of the property,
[in]elementsthe element names to give to the switches
[in]elementLabelsthe element labels to give to the switches
[in]label[optional] the GUI label suggestion for this property
[in]group[optional] the group for this property

Definition at line 822 of file MagAOXApp.hpp.

◆ createStandardIndiText()

int MagAOX::app::MagAOXApp< _useINDI >::createStandardIndiText ( pcf::IndiProperty &  prop,
const std::string &  propName,
const std::string &  label = "",
const std::string &  group = "" 
)
inherited

Create a standard R/W INDI Text property with target and current elements.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]propNamethe name of the property
[in]label[optional] the GUI label suggestion for this property
[in]group[optional] the group for this property

Definition at line 735 of file MagAOXApp.hpp.

◆ createStandardIndiToggleSw()

int MagAOX::app::MagAOXApp< _useINDI >::createStandardIndiToggleSw ( pcf::IndiProperty &  prop,
const std::string &  name,
const std::string &  label = "",
const std::string &  group = "" 
)
inherited

Create a standard R/W INDI switch with a single toggle element.

This switch is intended to function like an on/off toggle switch.

Returns
0 on success
-1 on error
Parameters
[out]propthe property to create and setup
[in]namethe name of the property
[in]label[optional] the GUI label suggestion for this property
[in]group[optional] the group for this property

Definition at line 796 of file MagAOXApp.hpp.

◆ dataType() [1/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [2/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [3/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [4/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [5/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [6/15]

const uint8_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::dataType ( ) const
inherited

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [7/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [8/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [9/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [10/15]

const uint8_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::dataType ( ) const
inherited

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [11/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [12/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [13/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [14/15]

Definition at line 156 of file shmimMonitor.hpp.

◆ dataType() [15/15]

const uint8_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::dataType ( ) const
inherited

Definition at line 156 of file shmimMonitor.hpp.

◆ depth() [1/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [2/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [3/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [4/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [5/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [6/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [7/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [8/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [9/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [10/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [11/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [12/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [13/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [14/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ depth() [15/15]

Definition at line 154 of file shmimMonitor.hpp.

◆ derived()

modalGainOpt & MagAOX::app::dev::telemeter< modalGainOpt >::derived ( )
inlineprivateinherited

Access the derived class.

Definition at line 181 of file telemeter.hpp.

◆ destroyImageStream()

void MagAOX::app::modalGainOpt::destroyImageStream ( IMAGE *&  stream)
protected

Destroy an owned ImageStreamIO output stream and clear its pointer.

Parameters
stream[in.out] stream pointer to destroy and clear

Definition at line 2725 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log().

Referenced by allocate(), appShutdown(), and createImageStream().

◆ driverCtrlName()

std::string MagAOX::app::MagAOXApp< _useINDI >::driverCtrlName ( )
inherited

Get the INDI control FIFO file name.

Returns
the current value of m_driverCtrlName

Definition at line 1317 of file MagAOXApp.hpp.

◆ driverInName()

std::string MagAOX::app::MagAOXApp< _useINDI >::driverInName ( )
inherited

Get the INDI input FIFO file name.

Returns
the current value of m_driverInName

Definition at line 1305 of file MagAOXApp.hpp.

◆ driverOutName()

std::string MagAOX::app::MagAOXApp< _useINDI >::driverOutName ( )
inherited

Get the INDI output FIFO file name.

Returns
the current value of m_driverOutName

Definition at line 1311 of file MagAOXApp.hpp.

◆ execute()

int MagAOX::app::MagAOXApp< _useINDI >::execute ( )
virtualinherited

The execute method implementing the standard main loop. Should not normally be overridden.

Performs final startup steps. That is:

  • Verifies correct effective user-id by comparison to logs directory.
  • PID locking lockPID()
  • log thread startup by logThreadStart()
  • signal handling installation by setSigTermHandler()
  • appStartup() is called
  • INDI communications started by startINDI()
  • power state is checked, pausing if unknown (if being managed)

Errors in the above steps will cause a process exit.

Then commences the main event loop. Conditions on entry to the main loop:

  • PID locked
  • Log thread running
  • Signal handling installed
  • appStartup successful
  • INDI communications started successfully (if being used)
  • power state known (if being managed)

In the event loop, the power state is checked (if being managed). If power is off, then onPowerOff is called. If power is on, or power is not managed, appLogic is called. These methods are implemented in derived classes, and are called every m_loopPause interval.

If an error is returned by either onPowerOff or appLogic, or a signal is handled, then the shutdown is managed. This includes shutting down INDI, calling appShutdown, and unlocking the PID. The log thread will shutdown.

Todo:
Need a heartbeat update here.

Definition at line 308 of file MagAOXApp.hpp.

◆ gitAlert()

bool MagAOX::app::MagAOXApp< _useINDI >::gitAlert ( )
inherited

Get the value of the git alert flag.

Returns
the current value of m_gitAlert

Definition at line 613 of file MagAOXApp.hpp.

◆ goptThreadExec()

void MagAOX::app::modalGainOpt::goptThreadExec ( )
protected

Gain optimization thread function.

Runs until m_shutdown is true.

Todo:
what to do about coeffs?
Todo:
what to do about coeffs?

Definition at line 4654 of file modalGainOpt.hpp.

References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::c_defaultLpContinuumWidthHz, MagAOX::app::c_extrapClosedLoopOlEstimateNtfAware, MagAOX::app::c_extrapNoiseEstimateClosedLoopPreXfer, MagAOX::app::c_extrapNoiseEstimateOpenLoop, MagAOX::app::c_olProcessNone, checkSizes(), MagAOX::app::modalPsdProcessor< realT >::estimateNoisePsd(), MagAOX::app::extrapClosedLoopOlEstimateMethodName(), MagAOX::app::extrapNoiseEstimateDomainName(), MagAOX::app::extrapNoiseEstimateRangeName(), MagAOX::app::extrapNoiseEstimateStatisticName(), MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), flatlogs::logPrio::LOG_NOTICE, m_autoUpdate, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_clMinSignificantFraction, m_clNtfCurrent, m_clNtfCurrentStream, m_clNtfLP, m_clNtfLPStream, m_clNtfSI, m_clNtfSIStream, m_clPSDs, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_clSignificanceThreshold, m_clXferCurrent, m_clXferCurrentStream, m_clXferLP, m_clXferLPStream, m_clXferSI, m_clXferSIStream, m_doPCCalcs, m_dump, m_extrapClosedLoopOlEstimateMethod, m_extrapConfig, m_extrapNoiseEstimateDomain, m_extrapNoiseEstimateRange, m_extrapNoiseEstimateStatistic, m_extrapOL, m_freq, m_gain, m_gainCalFacts, m_gainCals, m_gainFacts, m_gmaxLP, m_gmaxSI, m_goptCurrent, m_goptLP, m_goptMutex, m_goptSemaphore, m_goptSI, m_goptThreadID, m_goptThreadInit, MagAOX::app::dev::shmimMonitor< modalGainOpt, gainFactShmimT >::m_imageStream, MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::m_imageStream, MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::m_imageStream, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_imageStream, m_linPred, m_loop, m_maxGainLPStream, m_maxGainSIStream, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, m_modesOnLP, m_modesOnSI, m_modeVarLP, m_modeVarOL, m_modeVarSI, m_modevarStream, m_Na, m_nModes, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateLowFreqMaxHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateRange, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, m_noisePSDStream, m_nPSDs, m_nRegCycles, m_olPSDs, m_olPSDStream, m_optGainLP, m_optGainLPStream, m_optGainSI, m_optGainSIRaw, m_optGainSIRawStream, m_optGainSIStream, m_optGainStream, m_opticalGain, m_pcGain, m_pcGainFacts, m_pcOn, m_rawOlPSDs, m_rawOlPSDStream, m_regCounter, m_regScale, MagAOX::app::MagAOXApp< true >::m_shutdown, m_siGainStateNeedsSync, m_sinceChange, m_smoothOlPSDs, m_smoothOlPSDStream, m_timesOnLP, m_timesOnSI, m_updateOnce, m_updating, MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::m_width, MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::m_width, m_zeroGains, MGO_BREADCRUMB, MagAOX::app::olProcessMethodName(), refreshGoptStructures(), MagAOX::app::MagAOXApp< true >::shutdown(), syncSiGainStateFromAppliedGains(), updateIntegratedSiGain(), writePublishedGainArrays(), writePublishedPredictorArrays(), and XWC_SEM_WAIT_TS_RETVOID.

Referenced by goptThreadStart().

◆ goptThreadStart()

void MagAOX::app::modalGainOpt::goptThreadStart ( modalGainOpt p)
staticprotected

Gain Optimization thread starter function.

Parameters
[in]ppointer to this

Definition at line 4649 of file modalGainOpt.hpp.

References goptThreadExec().

Referenced by appStartup().

◆ handleDefProperty()

void MagAOX::app::MagAOXApp< _useINDI >::handleDefProperty ( const pcf::IndiProperty &  ipRecv)
inherited

Handler for the DEF INDI properties notification.

Uses the properties registered in m_indiSetCallBacks to process the notification. This is called by m_indiDriver's indiDriver::handleDefProperties.

Parameters
[in]ipRecvThe property being sent.

Definition at line 976 of file MagAOXApp.hpp.

◆ handleExtrapClosedLoopOlEstimateMethodProperty()

◆ handleExtrapMethodProperty()

◆ handleExtrapNoiseEstimateDomainProperty()

◆ handleExtrapNoiseEstimateRangeProperty()

◆ handleExtrapNoiseEstimateStatisticProperty()

◆ handleExtrapNumberProperty()

template<typename valueT >
int MagAOX::app::modalGainOpt::handleExtrapNumberProperty ( pcf::IndiProperty &  localProperty,
valueT localTarget,
const pcf::IndiProperty &  ipRecv,
const std::string &  label 
)
protected

Handle a standard target/current numeric extrapolation property update.

Definition at line 5671 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::indiTargetUpdate(), MagAOX::app::ipRecv, MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_goptMutex, m_sinceChange, m_updating, and MagAOX::app::target.

◆ handleExtrapPowerLawCrossoverModeProperty()

◆ handleExtrapToggleProperty()

int MagAOX::app::modalGainOpt::handleExtrapToggleProperty ( pcf::IndiProperty &  localProperty,
bool localTarget,
const pcf::IndiProperty &  ipRecv,
const std::string &  label 
)
protected

◆ handleGetProperties()

void MagAOX::app::MagAOXApp< _useINDI >::handleGetProperties ( const pcf::IndiProperty &  ipRecv)
inherited

Handler for the get INDI properties request.

Uses the properties registered in m_indiCallBacks to respond to the request. This is called by m_indiDriver's indiDriver::handleGetProperties.

Parameters
[in]ipRecvThe property being requested.

Definition at line 982 of file MagAOXApp.hpp.

◆ handleNewProperty()

void MagAOX::app::MagAOXApp< _useINDI >::handleNewProperty ( const pcf::IndiProperty &  ipRecv)
inherited

Handler for the new INDI property request.

Uses the properties registered in m_indiCallBacks to respond to the request, looking up the callback for this property and calling it.

This is called by m_indiDriver's indiDriver::handleGetProperties.

Todo:
handle errors, are they FATAL?
Parameters
[in]ipRecvThe property being changed.

Definition at line 992 of file MagAOXApp.hpp.

◆ handlerSigTerm()

void MagAOX::app::MagAOXApp< _useINDI >::handlerSigTerm ( int  signum,
siginfo_t *  siginf,
void *  ucont 
)
privateinherited

Handles SIGTERM, SIGQUIT, and SIGINT. Sets m_shutdown to 1 and logs the signal.

Parameters
[in]signumspecifies the signal.
[in]siginfignored by MagAOXApp
[in]ucontignored by MagAOXApp

Definition at line 410 of file MagAOXApp.hpp.

◆ handleSetProperty()

void MagAOX::app::MagAOXApp< _useINDI >::handleSetProperty ( const pcf::IndiProperty &  ipRecv)
inherited

Handler for the set INDI property request.

This is called by m_indiDriver's indiDriver::handleSetProperties.

Todo:
handle errors, are they FATAL?
Todo:
log an error here because callBack should not be null
Todo:
log invalid SetProperty request.
Parameters
[in]ipRecvThe property being changed.

Definition at line 1001 of file MagAOXApp.hpp.

◆ height() [1/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [2/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [3/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [4/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [5/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [6/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [7/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [8/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [9/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [10/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [11/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [12/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [13/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [14/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ height() [15/15]

Definition at line 152 of file shmimMonitor.hpp.

◆ INDI_NEWCALLBACK_DECL() [1/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_autoUpdate   
)

◆ INDI_NEWCALLBACK_DECL() [2/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_dump   
)

◆ INDI_NEWCALLBACK_DECL() [3/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapClMinSignificantFraction   
)

◆ INDI_NEWCALLBACK_DECL() [4/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapClosedLoopOlEstimateMethod   
)

◆ INDI_NEWCALLBACK_DECL() [5/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapClSignificanceThreshold   
)

◆ INDI_NEWCALLBACK_DECL() [6/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapDropoutGapFactor   
)

◆ INDI_NEWCALLBACK_DECL() [7/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapDropoutMaxBins   
)

◆ INDI_NEWCALLBACK_DECL() [8/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapDropoutTinyFactor   
)

◆ INDI_NEWCALLBACK_DECL() [9/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapFitPowerLawIndex   
)

◆ INDI_NEWCALLBACK_DECL() [10/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapMethod   
)

◆ INDI_NEWCALLBACK_DECL() [11/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapNoiseEstimateDomain   
)

◆ INDI_NEWCALLBACK_DECL() [12/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapNoiseEstimateLowFreqMaxHz   
)

◆ INDI_NEWCALLBACK_DECL() [13/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapNoiseEstimateRange   
)

◆ INDI_NEWCALLBACK_DECL() [14/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapNoiseEstimateStatistic   
)

◆ INDI_NEWCALLBACK_DECL() [15/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawAutoMaxFreqFraction   
)

◆ INDI_NEWCALLBACK_DECL() [16/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawAutoSmoothWidthHz   
)

◆ INDI_NEWCALLBACK_DECL() [17/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawBlendBins   
)

◆ INDI_NEWCALLBACK_DECL() [18/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawCrossoverMode   
)

◆ INDI_NEWCALLBACK_DECL() [19/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawFitBinWidthHz   
)

◆ INDI_NEWCALLBACK_DECL() [20/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawFitIncludesMatchPoint   
)

◆ INDI_NEWCALLBACK_DECL() [21/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawFitMaxFreqHz   
)

◆ INDI_NEWCALLBACK_DECL() [22/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawFitMinFreqHz   
)

◆ INDI_NEWCALLBACK_DECL() [23/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawIndex   
)

◆ INDI_NEWCALLBACK_DECL() [24/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawMatchFallbackWindowHz   
)

◆ INDI_NEWCALLBACK_DECL() [25/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawMatchFreq   
)

◆ INDI_NEWCALLBACK_DECL() [26/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawNormFreq   
)

◆ INDI_NEWCALLBACK_DECL() [27/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_extrapPowerLawOnlyAboveFreq   
)

◆ INDI_NEWCALLBACK_DECL() [28/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_gainGain   
)

◆ INDI_NEWCALLBACK_DECL() [29/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_gainLeak   
)

◆ INDI_NEWCALLBACK_DECL() [30/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_opticalGain   
)

◆ INDI_NEWCALLBACK_DECL() [31/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_opticalGainUpdate   
)

◆ INDI_NEWCALLBACK_DECL() [32/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_updateOnce   
)

◆ INDI_NEWCALLBACK_DECL() [33/33]

MagAOX::app::modalGainOpt::INDI_NEWCALLBACK_DECL ( modalGainOpt  ,
m_indiP_zeroGains   
)

◆ INDI_SETCALLBACK_DECL() [1/11]

MagAOX::app::MagAOXApp< _useINDI >::INDI_SETCALLBACK_DECL ( MagAOXApp< true >  ,
m_indiP_powerChannel   
)
inherited

◆ INDI_SETCALLBACK_DECL() [2/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_emg   
)

◆ INDI_SETCALLBACK_DECL() [3/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_loop   
)

◆ INDI_SETCALLBACK_DECL() [4/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_opticalGainSource   
)

◆ INDI_SETCALLBACK_DECL() [5/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_pcGain   
)

◆ INDI_SETCALLBACK_DECL() [6/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_pcMult   
)

◆ INDI_SETCALLBACK_DECL() [7/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_pcOn   
)

◆ INDI_SETCALLBACK_DECL() [8/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_psdAvgTime   
)

◆ INDI_SETCALLBACK_DECL() [9/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_psdTime   
)

◆ INDI_SETCALLBACK_DECL() [10/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_siGain   
)

◆ INDI_SETCALLBACK_DECL() [11/11]

MagAOX::app::modalGainOpt::INDI_SETCALLBACK_DECL ( modalGainOpt  ,
m_indiP_siMult   
)

◆ indiSetPropertyShouldRequest()

bool MagAOX::app::MagAOXApp< _useINDI >::indiSetPropertyShouldRequest ( const indiCallBack &  callBack,
bool  all,
const std::chrono::steady_clock::time_point &  now 
) const
inlineinherited

Determine whether an unresolved Set-property subscription should be requested now.

Parameters
[in]callBackthe subscription retry state to evaluate
[in]allif true, force an immediate refresh regardless of retry timing
[in]nowthe current monotonic time for scheduling

Definition at line 944 of file MagAOXApp.hpp.

◆ indiTargetUpdate()

int MagAOX::app::MagAOXApp< _useINDI >::indiTargetUpdate ( pcf::IndiProperty &  localProperty,
T &  localTarget,
const pcf::IndiProperty &  remoteProperty,
bool  setBusy = true 
)
protectedinherited

Get the target element value from an new property.

Returns
0 on success
-1 on error
Parameters
[out]localPropertyThe local property to update
[out]localTargetThe local value to update
[in]remotePropertythe new property received
[in]setBusy[optional] set property to busy if true

Definition at line 1098 of file MagAOXApp.hpp.

◆ loadBasicConfig()

void MagAOX::app::MagAOXApp< _useINDI >::loadBasicConfig ( )
virtualinherited

The basic MagAO-X configuration processing method. Should not normally be overridden.

This method processes the standard MagAO-X key=value pairs.

Though it is virtual, it should not normally be overridden unless you need to depart from the MagAO-X standard.

Processing of app specific config goes in loadConfig() implemented by the derived class.

Definition at line 272 of file MagAOXApp.hpp.

◆ loadConfig() [1/17]

void MagAOX::app::modalGainOpt::loadConfig ( )
virtual

Definition at line 2044 of file modalGainOpt.hpp.

References loadConfigImpl().

Referenced by libXWCTest::modalGainOptTest::TEST_CASE().

◆ loadConfig() [2/17]

int MagAOX::app::dev::telemeter< modalGainOpt >::loadConfig ( appConfigurator &  config)
inherited

Load the device section from an application configurator.

Returns
0 on success
-1 on error (nothing implemented yet)
Parameters
[in]configan application configuration from which to load values

Definition at line 120 of file telemeter.hpp.

◆ loadConfig() [3/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [4/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [5/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [6/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [7/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [8/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [9/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [10/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [11/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [12/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [13/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [14/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [15/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [16/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfig() [17/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::loadConfig ( mx::app::appConfigurator &  config)
inherited

load the configuration system results

This should be called in derivedT::loadConfig as

shmimMonitor<derivedT, specificT>::loadConfig(config);

with appropriate error checking.

Parameters
[in]configthe derived classes configurator

Definition at line 178 of file shmimMonitor.hpp.

◆ loadConfigImpl()

int MagAOX::app::modalGainOpt::loadConfigImpl ( mx::app::appConfigurator &  _config)

Implementation of loadConfig logic, separated for testing.

This is called by loadConfig().

Parameters
[in]_configan application configuration from which to load values

Definition at line 1861 of file modalGainOpt.hpp.

References MagAOX::app::extrapClosedLoopOlEstimateMethodFromName(), MagAOX::app::extrapClosedLoopOlEstimateMethodName(), MagAOX::app::extrapNoiseEstimateDomainFromName(), MagAOX::app::extrapNoiseEstimateDomainName(), MagAOX::app::extrapNoiseEstimateRangeFromName(), MagAOX::app::extrapNoiseEstimateRangeName(), MagAOX::app::extrapNoiseEstimateStatisticFromName(), MagAOX::app::extrapNoiseEstimateStatisticName(), MagAOX::app::extrapPowerLawCrossoverModeFromName(), MagAOX::app::extrapPowerLawCrossoverModeName(), MagAOX::app::dev::telemeter< modalGainOpt >::loadConfig(), MagAOX::app::MagAOXApp< true >::log(), flatlogs::logPrio::LOG_CRITICAL, m_autoUpdate, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_clMinSignificantFraction, m_clNtfCurrentShmimName, m_clNtfLPShmimName, m_clNtfSIShmimName, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_closedLoopOlEstimateMethod, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_clSignificanceThreshold, m_clXferCurrentShmimName, m_clXferLPShmimName, m_clXferSIShmimName, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_dropoutGapFactor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_dropoutMaxBins, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_dropoutTinyFactor, m_extrapClosedLoopOlEstimateMethod, m_extrapConfig, m_extrapNoiseEstimateDomain, m_extrapNoiseEstimateRange, m_extrapNoiseEstimateStatistic, m_extrapOL, m_extrapPowerLawCrossoverMode, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_fitPowerLawIndex, m_gainGain, m_gainLeak, m_loopName, m_loopNum, m_maxGainLPShmimName, m_maxGainSIShmimName, m_modevarShmimName, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateDomain, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateLowFreqMaxHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateRange, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, m_noisePSDShmimName, m_olPSDShmimName, m_optGainLPShmimName, m_optGainShmimName, m_optGainSIRawShmimName, m_optGainSIShmimName, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectBroadFactor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectFactor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectMinWidthLog, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectPasses, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectWidthHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakMoffatBeta, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawAutoMaxFreqFraction, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawAutoSmoothWidthHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawBlendBins, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawCrossoverMode, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitBinWidthHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitIncludesMatchPoint, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitMaxFreqHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitMinFreqHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFallbackWindowHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawNormFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawOnlyAboveFreq, m_psdDevice, m_rawOlPSDShmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, wfsmaskShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, gainFactShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, wfsavgShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, noiseShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, tauShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, bcoeffShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, psdShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, acoeffShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, multFactShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, freqShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, gainCalFactShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, gainCalShmimT >::m_shmimName, MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::m_shmimName, MagAOX::app::MagAOXApp< true >::m_shutdown, m_smoothOlPSDShmimName, MagAOX::app::olProcessMethodFromName(), MagAOX::app::olProcessMethodName(), and SHMIMMONITORT_LOAD_CONFIG.

Referenced by loadConfig().

◆ lockPID()

int MagAOX::app::MagAOXApp< _useINDI >::lockPID ( )
protectedinherited

Attempt to lock the PID by writing it to a file. Fails if a process is already running with the same config name. First checks the PID file for an existing PID. If found, interrogates /proc to determine if that process is running and if so if the command line matches. If a matching process is currently running, then this returns an error.

Will not fail if a PID file exists but the stored PID does not correspond to a running process with the same command line name.

Reference: https://linux.die.net/man/3/getpid

Returns
0 on success.
-1 on any error, including creating the PID file or if this app is already running.

Definition at line 522 of file MagAOXApp.hpp.

◆ log() [1/2]

int MagAOX::app::MagAOXApp< _useINDI >::log ( const typename logT::messageT &  msg,
logPrioT  level = logPrio::LOG_DEFAULT 
)
staticinherited

Make a log entry.

Wrapper for logManager::log

Template Parameters
logTthe log entry type
retvalthe value returned by this method.
Parameters
[in]msgthe message to log
[in]level[optional] the log level. The default is used if not specified.

Definition at line 355 of file MagAOXApp.hpp.

◆ log() [2/2]

int MagAOX::app::MagAOXApp< _useINDI >::log ( logPrioT  level = logPrio::LOG_DEFAULT)
staticinherited

Make a log entry.

Wrapper for logManager::log

Template Parameters
logTthe log entry type
retvalthe value returned by this method.
Parameters
[in]level[optional] the log level. The default is used if not specified.

Definition at line 368 of file MagAOXApp.hpp.

◆ logMessage()

void MagAOX::app::MagAOXApp< _useINDI >::logMessage ( bufferPtrT b)
inherited

Handle a log message from the logging system.

This is a callback from the logManager, and is called when the log thread is processing log entries.

Decides whether to display to stderr and whether to send via INDI.

Definition at line 377 of file MagAOXApp.hpp.

◆ loopPause()

unsigned long MagAOX::app::MagAOXApp< _useINDI >::loopPause ( )
inherited

Get the loop pause time.

Returns
the value of m_loopPause

Definition at line 1293 of file MagAOXApp.hpp.

◆ newCallBack_clearFSMAlert()

int MagAOX::app::MagAOXApp< _useINDI >::newCallBack_clearFSMAlert ( const pcf::IndiProperty &  ipRecv)
protectedinherited

The callback called by the static version, to actually process the FSM Alert Clear request.

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

Definition at line 1155 of file MagAOXApp.hpp.

◆ noisePSD()

float MagAOX::app::modalGainOpt::noisePSD ( int  n)
protected

◆ noteIndiSetPropertyRequested()

void MagAOX::app::MagAOXApp< _useINDI >::noteIndiSetPropertyRequested ( indiCallBack &  callBack,
const std::chrono::steady_clock::time_point &  now 
)
inlineinherited

Update retry tracking after sending a GetProperties request for a monitored Set-property.

Parameters
callBack[in/out] the subscription retry state to update
[in]nowthe current monotonic time for scheduling

Definition at line 951 of file MagAOXApp.hpp.

◆ onPowerOff()

int MagAOX::app::MagAOXApp< _useINDI >::onPowerOff ( )
protectedvirtualinherited

This method is called when the change to poweroff is detected.

Returns
0 on success.
-1 on any error which means the app should exit.

Reimplemented in MagAOX::app::alpaoCtrl, MagAOX::app::bmcCtrl, MagAOX::app::irisaoCtrl, MagAOX::app::zaberLowLevel, and MagAOX::app::zaberLowLevelBinary.

Definition at line 1200 of file MagAOXApp.hpp.

◆ powerOnWaitElapsed()

bool MagAOX::app::MagAOXApp< _useINDI >::powerOnWaitElapsed ( )
protectedinherited

This method tests whether the power on wait time has elapsed.

You would call this once per appLogic loop while in state POWERON. While false, you would return 0. Once it becomes true, take post-power-on actions and go on with life.

Returns
true if the time since POWERON is greater than the power-on wait, or if power management is not enabled
false otherwise

Definition at line 1216 of file MagAOXApp.hpp.

◆ powerState()

int MagAOX::app::MagAOXApp< _useINDI >::powerState ( )
inherited

Returns the current power state.

If power management is not enabled, this always returns 1=On.

Returns
-1 if power state is unknown
0 if power is off
1 if power is on or m_powerMgtEnabled==false

Definition at line 1226 of file MagAOXApp.hpp.

◆ powerStateTarget()

int MagAOX::app::MagAOXApp< _useINDI >::powerStateTarget ( )
inherited

Returns the target power state.

If power management is not enabled, this always returns 1=On.

Returns
-1 if target power state is unknown
0 if target power state is off
1 if target power is on or m_powerMgtEnabled==false

Definition at line 1235 of file MagAOXApp.hpp.

◆ processImage() [1/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const acoeffShmimT dummy 
)

◆ processImage() [2/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const bcoeffShmimT dummy 
)

◆ processImage() [3/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const freqShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3469 of file modalGainOpt.hpp.

References applyFrequencyUpdate(), MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_fps, m_freq, m_goptMutex, MagAOX::app::dev::shmimMonitor< modalGainOpt, freqShmimT >::m_height, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, freqShmimT >::m_width.

◆ processImage() [4/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const gainCalFactShmimT dummy 
)

◆ processImage() [5/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const gainCalShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4025 of file modalGainOpt.hpp.

References MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_gainCals, m_goptMutex, MagAOX::app::dev::shmimMonitor< modalGainOpt, gainCalShmimT >::m_height, m_sinceChange, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, gainCalShmimT >::m_width.

◆ processImage() [6/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const gainFactShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3528 of file modalGainOpt.hpp.

References applyGainFactorUpdate(), MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_gainFacts, m_goptMutex, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, gainFactShmimT >::m_width.

◆ processImage() [7/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const multFactShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3587 of file modalGainOpt.hpp.

References applyMultiplierUpdate(), MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_goptMutex, m_multFacts, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, multFactShmimT >::m_width.

◆ processImage() [8/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const noiseShmimT dummy 
)

◆ processImage() [9/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const numpccoeffShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3765 of file modalGainOpt.hpp.

References MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_gmaxLP, m_goptMutex, m_goptUpdated, m_loop, m_Na, m_Nb, m_nRegCycles, m_regCounter, m_regScale, m_sinceChange, m_updating, MagAOX::app::dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >::m_width, and nc.

◆ processImage() [10/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const pcGainFactShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3646 of file modalGainOpt.hpp.

References applyGainFactorUpdate(), MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_goptMutex, m_pcGainFacts, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >::m_width.

◆ processImage() [11/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const pcMultFactShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3705 of file modalGainOpt.hpp.

References applyMultiplierUpdate(), MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_goptMutex, m_pcMultFacts, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >::m_width.

◆ processImage() [12/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const psdShmimT dummy 
)
Todo:
update a frame-missed counter
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 3417 of file modalGainOpt.hpp.

References MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_clPSDs, m_goptMutex, m_goptSemaphore, MagAOX::app::dev::shmimMonitor< modalGainOpt, psdShmimT >::m_height, m_psdAvgTime, m_psdOverlapFraction, m_psdTime, m_sinceChange, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, psdShmimT >::m_width.

◆ processImage() [13/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const tauShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4154 of file modalGainOpt.hpp.

References MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_goptMutex, m_goptUpdated, MagAOX::app::dev::shmimMonitor< modalGainOpt, tauShmimT >::m_height, m_sinceChange, m_taus, m_updating, and MagAOX::app::dev::shmimMonitor< modalGainOpt, tauShmimT >::m_width.

◆ processImage() [14/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const wfsavgShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4284 of file modalGainOpt.hpp.

References MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_counts, m_goptMutex, MagAOX::app::dev::shmimMonitor< modalGainOpt, wfsavgShmimT >::m_height, m_wfsavg, m_wfsmask, and MagAOX::app::dev::shmimMonitor< modalGainOpt, wfsavgShmimT >::m_width.

◆ processImage() [15/15]

int MagAOX::app::modalGainOpt::processImage ( void curr_src,
const wfsmaskShmimT dummy 
)
Parameters
[in]curr_srcpointer to the start of the current frame
[in]dummytag to differentiate shmimMonitor parents.

Definition at line 4312 of file modalGainOpt.hpp.

References MagAOX::app::lock(), MagAOX::app::MagAOXApp< true >::log(), m_counts, m_goptMutex, MagAOX::app::dev::shmimMonitor< modalGainOpt, wfsmaskShmimT >::m_height, m_npix, m_wfsavg, m_wfsmask, and MagAOX::app::dev::shmimMonitor< modalGainOpt, wfsmaskShmimT >::m_width.

◆ recordModalGainOpt()

int MagAOX::app::modalGainOpt::recordModalGainOpt ( bool  force = false)
inline

◆ recordTelem()

int MagAOX::app::modalGainOpt::recordTelem ( const telem_modalgainopt )
inline

Definition at line 2682 of file modalGainOpt.hpp.

References recordModalGainOpt().

◆ refreshGoptStructures()

bool MagAOX::app::modalGainOpt::refreshGoptStructures ( )
protected

Refresh gain-optimization structures after coefficient, multiplier, or frequency changes. The gain-optimization mutex must be locked before calling this helper.

Returns
true when a structure refresh was performed
false when no refresh was needed

Definition at line 3010 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_as, m_bs, m_fps, m_freq, m_freqUpdated, m_gainFacts, m_gmaxSI, m_goptCurrent, m_goptLP, m_goptSI, m_goptUpdated, m_linPred, m_mult, m_multFacts, m_NaCurrent, m_NbCurrent, m_pcgoptUpdated, m_pcMult, m_pcMultFacts, m_pcOn, and m_taus.

Referenced by goptThreadExec(), and libXWCTest::modalGainOptTest::TEST_CASE().

◆ registerIndiPropertyNew() [1/3]

int MagAOX::app::MagAOXApp< _useINDI >::registerIndiPropertyNew ( pcf::IndiProperty &  prop,
const std::string &  propName,
const pcf::IndiProperty::Type &  propType,
const pcf::IndiProperty::PropertyPermType &  propPerm,
const pcf::IndiProperty::PropertyStateType &  propState,
const pcf::IndiProperty::SwitchRuleType &  propRule,
int(*)(void *, const pcf::IndiProperty &)   
)
inherited

Register an INDI property which is exposed for others to request a New Property for, with a switch rule.

This verison sets up the INDI property according to the arguments.

Returns
0 on success.
-1 on error.
Parameters
[out]propthe property to register
[in]propNamethe name of the property
[in]propTypethe type of the property
[in]propPermthe permissions of the property
[in]propStatethe state of the property
[in]propRulethe switch rule type

◆ registerIndiPropertyNew() [2/3]

int MagAOX::app::MagAOXApp< _useINDI >::registerIndiPropertyNew ( pcf::IndiProperty &  prop,
const std::string &  propName,
const pcf::IndiProperty::Type &  propType,
const pcf::IndiProperty::PropertyPermType &  propPerm,
const pcf::IndiProperty::PropertyStateType &  propState,
int(*)(void *, const pcf::IndiProperty &)   
)
inherited

Register an INDI property which is exposed for others to request a New Property for.

This verison sets up the INDI property according to the arguments.

Returns
0 on success.
-1 on error.
Parameters
[out]propthe property to register
[in]propNamethe name of the property
[in]propTypethe type of the property
[in]propPermthe permissions of the property
[in]propStatethe state of the property

◆ registerIndiPropertyNew() [3/3]

int MagAOX::app::MagAOXApp< _useINDI >::registerIndiPropertyNew ( pcf::IndiProperty &  prop,
int(*)(void *, const pcf::IndiProperty &)   
)
inherited

Register an INDI property which is exposed for others to request a New Property for.

In this version the supplied IndiProperty must be fully set up before passing in.

Returns
0 on success.
-1 on error.
Parameters
[in]propthe property to register, must be fully set up

◆ registerIndiPropertyReadOnly() [1/2]

int MagAOX::app::MagAOXApp< _useINDI >::registerIndiPropertyReadOnly ( pcf::IndiProperty &  prop)
inherited

Register an INDI property which is read only.

This version requires the property be fully set up.

Returns
0 on success.
-1 on error.
Parameters
[in]propthe property to register, must be completely setup

Definition at line 856 of file MagAOXApp.hpp.

◆ registerIndiPropertyReadOnly() [2/2]

int MagAOX::app::MagAOXApp< _useINDI >::registerIndiPropertyReadOnly ( pcf::IndiProperty &  prop,
const std::string &  propName,
const pcf::IndiProperty::Type &  propType,
const pcf::IndiProperty::PropertyPermType &  propPerm,
const pcf::IndiProperty::PropertyStateType &  propState 
)
inherited

Register an INDI property which is read only.

This verison sets up the INDI property according to the arguments.

Returns
0 on success.
-1 on error.
Parameters
[out]propthe property to register, will be configured
[in]propNamethe name of the property
[in]propTypethe type of the property
[in]propPermthe permissions of the property
[in]propStatethe state of the property

Definition at line 866 of file MagAOXApp.hpp.

◆ registerIndiPropertySet()

int MagAOX::app::MagAOXApp< _useINDI >::registerIndiPropertySet ( pcf::IndiProperty &  prop,
const std::string &  devName,
const std::string &  propName,
int(*)(void *, const pcf::IndiProperty &)   
)
inherited

Register an INDI property which is monitored for updates from others.

Returns
0 on success.
-1 on error.
Parameters
[out]propthe property to register
[in]devNamethe device which owns this property
[in]propNamethe name of the property

Definition at line 933 of file MagAOXApp.hpp.

◆ resetIndiSetPropertyRetry()

void MagAOX::app::MagAOXApp< _useINDI >::resetIndiSetPropertyRetry ( indiCallBack &  callBack)
inlineinherited

Reset retry tracking for a monitored INDI Set-property subscription.

Parameters
callBack[in/out] the subscription retry state to reset

Definition at line 941 of file MagAOXApp.hpp.

◆ secretsPath()

std::string MagAOX::app::MagAOXApp< _useINDI >::secretsPath ( )
inherited

Get the secrets path.

Returns
the value of m_secretsPath

Definition at line 1283 of file MagAOXApp.hpp.

◆ sendGetPropertySetList()

void MagAOX::app::MagAOXApp< _useINDI >::sendGetPropertySetList ( bool  all = false)
inherited

Definition at line 970 of file MagAOXApp.hpp.

◆ sendNewProperty() [1/2]

int MagAOX::app::MagAOXApp< _useINDI >::sendNewProperty ( const pcf::IndiProperty &  ipSend)
protectedinherited

Send a newProperty command to another device (using the INDI Client interface)

Returns
0 on success.
-1 on an error, which will be logged
Parameters
[in]ipSendThe property to send a "new" INDI command for

Definition at line 1121 of file MagAOXApp.hpp.

◆ sendNewProperty() [2/2]

int MagAOX::app::MagAOXApp< _useINDI >::sendNewProperty ( const pcf::IndiProperty &  ipSend,
const std::string &  el,
const T &  newVal 
)
protectedinherited

Send a newProperty command to another device (using the INDI Client interface)

Copies the input IndiProperty, then updates the element with the new value.

Returns
0 on success.
-1 on an errory.
Parameters
[in]ipSendThe property to send a "new" INDI command for
[in]elThe element of the property to change
[in]newValThe value to request for the element.

Definition at line 1111 of file MagAOXApp.hpp.

◆ sendNewStandardIndiToggle()

int MagAOX::app::MagAOXApp< _useINDI >::sendNewStandardIndiToggle ( const std::string &  device,
const std::string &  property,
bool  onoff 
)
protectedinherited

Send a new property commmand for a standard toggle switch.

Returns
0 on success
-1 on an error, which will be logged.
Parameters
[in]deviceThe device name
[in]propertyThe property name
[in]onoffSwitch state to send: true = on, false = off

Definition at line 1128 of file MagAOXApp.hpp.

◆ setDefaults()

void MagAOX::app::MagAOXApp< _useINDI >::setDefaults ( int  argc,
char **  argv 
)
virtualinherited

Set the paths for config files.

Replaces the mx::application defaults with the MagAO-X config system.

This function parses the CL for "-n" or "--name".

Do not override this unless you intend to depart from the MagAO-X standard.

Parameters
[in]argcstandard command line result specifying number of arguments in argv
[in]argvstandard command line result containing the arguments.

Definition at line 250 of file MagAOXApp.hpp.

◆ setEuidCalled()

int MagAOX::app::MagAOXApp< _useINDI >::setEuidCalled ( )
privateinherited

Set the effective user ID to the called value, i.e. the highest possible.

If setuid is set on the file, this will be super-user privileges.

Reference: http://pubs.opengroup.org/onlinepubs/009695399/functions/seteuid.html

Returns
0 on success
-1 on error from setuid().

Definition at line 481 of file MagAOXApp.hpp.

◆ setEuidReal()

int MagAOX::app::MagAOXApp< _useINDI >::setEuidReal ( )
privateinherited

Set the effective user ID to the real value, i.e. the file owner.

Reference: http://pubs.opengroup.org/onlinepubs/009695399/functions/seteuid.html

Returns
0 on success
-1 on error from setuid().

Definition at line 490 of file MagAOXApp.hpp.

◆ setSigTermHandler()

int MagAOX::app::MagAOXApp< _useINDI >::setSigTermHandler ( )
privateinherited

Sets the handler for SIGTERM, SIGQUIT, and SIGINT.

Definition at line 401 of file MagAOXApp.hpp.

◆ setupBasicConfig()

void MagAOX::app::MagAOXApp< _useINDI >::setupBasicConfig ( )
virtualinherited

The basic MagAO-X configuration setup method. Should not normally be overridden.

This method sets up the config system with the standard MagAO-X key=value pairs.

Though it is virtual, it should not normally be overridden unless you need to depart from the MagAO-X standard.

Setting up app specific config goes in setupConfig() implemented in the derived class.

Definition at line 262 of file MagAOXApp.hpp.

◆ setupConfig() [1/17]

void MagAOX::app::modalGainOpt::setupConfig ( )
virtual

◆ setupConfig() [2/17]

int MagAOX::app::dev::telemeter< modalGainOpt >::setupConfig ( appConfigurator &  config)
inherited

Setup an application configurator for the device section.

Returns
0 on success.
-1 on error (nothing implemented yet)
Parameters
[in]configan application configuration to setup

Definition at line 112 of file telemeter.hpp.

◆ setupConfig() [3/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [4/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [5/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [6/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [7/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [8/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [9/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [10/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [11/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [12/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [13/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [14/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [15/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [16/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ setupConfig() [17/17]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::setupConfig ( mx::app::appConfigurator &  config)
inherited

Setup the configuration system.

This should be called in derivedT::setupConfig as

shmimMonitor<derivedT, specificT>::setupConfig(config);

with appropriate error checking.

Parameters
[out]configthe derived classes configurator

Definition at line 168 of file shmimMonitor.hpp.

◆ shmimName() [1/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [2/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [3/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [4/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [5/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [6/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [7/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [8/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [9/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [10/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [11/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [12/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [13/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [14/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shmimName() [15/15]

const std::string & MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::shmimName ( ) const
inherited

Definition at line 148 of file shmimMonitor.hpp.

◆ shutdown()

int MagAOX::app::MagAOXApp< _useINDI >::shutdown ( )
inherited

Get the value of the shutdown flag.

Returns
the current value of m_shutdown

Definition at line 1299 of file MagAOXApp.hpp.

◆ smThreadExec() [1/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [2/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [3/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [4/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [5/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [6/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [7/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [8/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [9/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [10/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [11/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [12/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [13/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [14/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadExec() [15/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::smThreadExec ( )
protectedinherited

Execute the monitoring thread.

< The semaphore to monitor for new image data

Todo:
change to naxis?
Todo:
change to naxis?

Definition at line 246 of file shmimMonitor.hpp.

◆ smThreadStart() [1/15]

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [2/15]

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [3/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, gainCalShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [4/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, wfsmaskShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [5/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, gainFactShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [6/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, psdShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [7/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, noiseShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [8/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, multFactShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [9/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, tauShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [10/15]

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [11/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, bcoeffShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [12/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, acoeffShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [13/15]

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [14/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, wfsavgShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ smThreadStart() [15/15]

void MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::smThreadStart ( shmimMonitor< modalGainOpt, freqShmimT > *  s)
staticprotectedinherited

Thread starter, called by MagAOXApp::threadStart on thread construction. Calls smThreadExec.

Parameters
[in]sa pointer to a shmimMonitor instance (normally this)

Definition at line 243 of file shmimMonitor.hpp.

◆ st_newCallBack_clearFSMAlert()

int MagAOX::app::MagAOXApp< _useINDI >::st_newCallBack_clearFSMAlert ( void *  app,
const pcf::IndiProperty &  ipRecv 
)
staticprotectedinherited

The static callback function to be registered for requesting to clear the FSM alert.

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

Definition at line 1144 of file MagAOXApp.hpp.

◆ startINDI()

int MagAOX::app::MagAOXApp< _useINDI >::startINDI ( )
protectedinherited

Start INDI Communications.

Returns
0 on success
-1 on error. This is fatal.

Definition at line 967 of file MagAOXApp.hpp.

◆ state() [1/2]

Get the current state code.

Returns
m_state

Definition at line 591 of file MagAOXApp.hpp.

◆ state() [2/2]

void MagAOX::app::MagAOXApp< _useINDI >::state ( const stateCodes::stateCodeT s,
bool  stateAlert = false 
)
inherited

Set the current state code.

Todo:
move this to a function in stateCodes
Parameters
[in]sThe new application state
[in]stateAlert[optional] flag to set the alert state of the FSM property.

Definition at line 599 of file MagAOXApp.hpp.

◆ stateAlert()

bool MagAOX::app::MagAOXApp< _useINDI >::stateAlert ( )
inherited

Get the value of the state alert flag.

Returns
the current value of m_stateAlert

Definition at line 607 of file MagAOXApp.hpp.

◆ stateLogged()

int MagAOX::app::MagAOXApp< _useINDI >::stateLogged ( )
inherited

Updates and returns the value of m_stateLogged. Will be 0 on first call after a state change, >0 afterwards.

This method exists to facilitate logging the reason for a state change once, but not logging it on subsequent event loops. Returns the current value upon entry, but updates before returning so that the next call returns the incremented value. Example usage:

if( connection_failed ) //some condition set this to true
{
if(!stateLogged()) log<text_log>("Not connected");
}
stateCodes::stateCodeT state()
Get the current state code.
int stateLogged()
Updates and returns the value of m_stateLogged. Will be 0 on first call after a state change,...
static int log(const typename logT::messageT &msg, logPrioT level=logPrio::LOG_DEFAULT)
Make a log entry.
@ NOTCONNECTED
The application is not connected to the device or service.

In this example, the log entry is made the first time the state changes. If there are no changes to a different state in the mean time, then when the event loop gets here again and decides it is not connected, the log entry will not be made.

Returns
current value of m_stateLogged, that is the value before it is incremented.

Definition at line 632 of file MagAOXApp.hpp.

◆ syncSiGainStateFromAppliedGains()

void MagAOX::app::modalGainOpt::syncSiGainStateFromAppliedGains ( )
protected

Synchronize the integrated SI gain state from the applied gain-factor stream.

Definition at line 3083 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_gainCalFacts, m_gainCals, m_gainFacts, m_optGainSI, m_optGainSIRaw, m_opticalGain, and m_siGainStateNeedsSync.

Referenced by goptThreadExec().

◆ sysPath()

std::string MagAOX::app::MagAOXApp< _useINDI >::sysPath ( )
inherited

Get the system path.

Returns
the value of m_sysPath

Definition at line 1278 of file MagAOXApp.hpp.

◆ telem()

int MagAOX::app::dev::telemeter< modalGainOpt >::telem ( const typename telT::messageT &  msg)
inherited

Make a telemetry recording.

Wrapper for logManager::log, which updates telT::lastRecord.

Template Parameters
logTthe log entry type
retvalthe value returned by this method.
Parameters
[in]msgthe data to log

Definition at line 95 of file telemeter.hpp.

◆ threadStart()

int MagAOX::app::MagAOXApp< _useINDI >::threadStart ( std::thread &  thrd,
bool &  thrdInit,
pid_t &  tpid,
pcf::IndiProperty &  thProp,
int  thrdPrio,
const std::string &  cpuset,
const std::string &  thrdName,
thisPtr *  thrdThis,
Function &&  thrdStart 
)
inherited

Start a thread, using this class's privileges to set priority, etc.

The thread initialization synchronizer bool is set to true at the beginning of this function, then is set to false once all initialization is complete. The thread exec function should wait until this is false before doing anything except setting the pid. This is to avoid privilege escalation bugs.

The interface of the thread start function is:

static void impl::myThreadStart( impl * o )
{
o->myThreadExec(); //A member function which actually executes the thread
}

where impl is the derived class, and mThreadStart and myThreadExec are members of impl.

Returns
0 on success
-1 on error
Parameters
[out]thrdThe thread object to start executing
thrdInit[in/out] The thread initilization synchronizer.
tpid[in/out] The thread pid to be filled in by thrdStart immediately upon call
thProp[in/out] The INDI property to publish the thread details
[in]thrdPrioThe r/t priority to set for this thread
[in]cpusetthe cpuset to place this thread on. Ignored if "".
[in]thrdNameThe name of the thread (just for logging)
[in]thrdThisThe this pointer to pass to the thread starter function
[in]thrdStartThe thread starting function, a static function taking a this pointer as argument.

Definition at line 556 of file MagAOXApp.hpp.

◆ typeSize() [1/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [2/15]

const size_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::typeSize ( ) const
inherited

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [3/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [4/15]

const size_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::typeSize ( ) const
inherited

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [5/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [6/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [7/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [8/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [9/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [10/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [11/15]

const size_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::typeSize ( ) const
inherited

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [12/15]

const size_t & MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::typeSize ( ) const
inherited

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [13/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [14/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ typeSize() [15/15]

Definition at line 158 of file shmimMonitor.hpp.

◆ unlockPID()

int MagAOX::app::MagAOXApp< _useINDI >::unlockPID ( )
protectedinherited

Remove the PID file.

Definition at line 525 of file MagAOXApp.hpp.

◆ updateAppliedModeCount()

void MagAOX::app::modalGainOpt::updateAppliedModeCount ( const std::vector< float > &  gainFacts,
bool  predictorPath 
)
protected

Update m_modesOn when a changed gain-factor stream matches the active control path.

Parameters
[in]gainFactsgain factors from the changed stream
[in]predictorPathtrue when the values came from the predictor path

Definition at line 2881 of file modalGainOpt.hpp.

References countEnabledGainFactors(), MagAOX::app::MagAOXApp< true >::log(), m_modesOn, and m_pcOn.

Referenced by applyGainFactorUpdate(), and libXWCTest::modalGainOptTest::TEST_CASE().

◆ updateIfChanged() [1/4]

void MagAOX::app::MagAOXApp< _useINDI >::updateIfChanged ( pcf::IndiProperty &  p,
const std::string &  el,
const char *  newVal,
pcf::IndiProperty::PropertyStateType  ipState = pcf::IndiProperty::Ok 
)
protectedinherited

Update an INDI property element value if it has changed.

Will only peform a SetProperty if the new element value has changed compared to the stored value, or if the property state has changed.

This comparison is done in the true type of the value.

This is a specialization for const char * to std::string.

For a property with multiple elements, you should use the vector version to minimize network traffic. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
p[in/out] The property containing the element to possibly update
[in]elThe element name
[in]newValthe new value

Definition at line 1031 of file MagAOXApp.hpp.

◆ updateIfChanged() [2/4]

void MagAOX::app::MagAOXApp< _useINDI >::updateIfChanged ( pcf::IndiProperty &  p,
const std::string &  el,
const std::vector< T > &  newVals,
pcf::IndiProperty::PropertyStateType  ipState = pcf::IndiProperty::Ok 
)
protectedinherited

Update an INDI property if values have changed.

Will only peform a SetProperty if at least one value has changed compared to the stored value, or if the property state has changed.

Constructs the element names for each value as elX where X is the index of the vector.

This comparison is done in the true type of the value.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
p[in/out] The property containing the element to possibly update
[in]elBeginning of each element name
[in]newValsthe new values
[in]ipState[optional] the new state

Definition at line 1060 of file MagAOXApp.hpp.

◆ updateIfChanged() [3/4]

void MagAOX::app::MagAOXApp< _useINDI >::updateIfChanged ( pcf::IndiProperty &  p,
const std::string &  el,
const T &  newVal,
pcf::IndiProperty::PropertyStateType  ipState = pcf::IndiProperty::Ok 
)
protectedinherited

Update an INDI property element value if it has changed.

Will only peform a SetProperty if the new element value has changed compared to the stored value, or if the property state has changed.

This comparison is done in the true type of the value.

For a property with multiple elements, you should use the vector version to minimize network traffic.

Parameters
p[in/out] The property containing the element to possibly update
[in]elThe element name
[in]newValthe new value

Definition at line 1014 of file MagAOXApp.hpp.

◆ updateIfChanged() [4/4]

void MagAOX::app::MagAOXApp< _useINDI >::updateIfChanged ( pcf::IndiProperty &  p,
const std::vector< std::string > &  els,
const std::vector< T > &  newVals,
pcf::IndiProperty::PropertyStateType  newState = pcf::IndiProperty::Ok 
)
protectedinherited

Update an INDI property if values have changed.

Will only peform a SetProperty if at least one value has changed compared to the stored value, or if the property state has changed.

This comparison is done in the true type of the value.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
p[in/out] The property containing the element to possibly update
[in]elsString vector of element names
[in]newValsthe new values
[in]newState[optional] The state of the property

Definition at line 1077 of file MagAOXApp.hpp.

◆ updateINDI() [1/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [2/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [3/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [4/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [5/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [6/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [7/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [8/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [9/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [10/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [11/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [12/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [13/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::updateINDI ( )
inherited

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [14/15]

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 284 of file shmimMonitor.hpp.

◆ updateINDI() [15/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::updateINDI ( )
inherited

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 284 of file shmimMonitor.hpp.

◆ updateIntegratedSiGain()

void MagAOX::app::modalGainOpt::updateIntegratedSiGain ( size_t  modeIndex)
protected

Apply one SI leaky-integrator update from the raw optimal gain.

Definition at line 3119 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_gainGain, m_gainLeak, m_optGainSI, and m_optGainSIRaw.

Referenced by goptThreadExec().

◆ updatesIfChanged()

void MagAOX::app::MagAOXApp< _useINDI >::updatesIfChanged ( pcf::IndiProperty &  p,
const std::vector< const char * > &  els,
const std::vector< T > &  newVals,
pcf::IndiProperty::PropertyStateType  newState = pcf::IndiProperty::Ok 
)
protectedinherited
Parameters
p[in/out] The property containing the element to possibly update
[in]elsString vector of element names
[in]newValsthe new values
[in]newState[optional] The state of the property

Definition at line 1085 of file MagAOXApp.hpp.

◆ updateSwitchIfChanged()

void MagAOX::app::MagAOXApp< _useINDI >::updateSwitchIfChanged ( pcf::IndiProperty &  p,
const std::string &  el,
const pcf::IndiElement::SwitchStateType &  newVal,
pcf::IndiProperty::PropertyStateType  ipState = pcf::IndiProperty::Ok 
)
protectedinherited

Update an INDI switch element value if it has changed.

Will only peform a SetProperty if the new element switch state has changed, or the propery state has changed.

Parameters
p[in/out] The property containing the element to possibly update
[in]elThe element name
[in]newValthe new value

Definition at line 1042 of file MagAOXApp.hpp.

◆ whilePowerOff()

int MagAOX::app::MagAOXApp< _useINDI >::whilePowerOff ( )
protectedvirtualinherited

This method is called while the power is off, once per FSM loop.

Returns
0 on success.
-1 on any error which means the app should exit.

Reimplemented in MagAOX::app::alpaoCtrl, MagAOX::app::bmcCtrl, MagAOX::app::irisaoCtrl, MagAOX::app::zaberLowLevel, and MagAOX::app::zaberLowLevelBinary.

Definition at line 1207 of file MagAOXApp.hpp.

◆ width() [1/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [2/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [3/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [4/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [5/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [6/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [7/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [8/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [9/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [10/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [11/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [12/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [13/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [14/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ width() [15/15]

Definition at line 150 of file shmimMonitor.hpp.

◆ writePublishedGainArrays()

void MagAOX::app::modalGainOpt::writePublishedGainArrays ( float currentData,
float siRawData,
float siData,
float maxSiData,
float lpData,
float maxLpData,
float modeVarData 
)
protected

Populate the published gain and variance arrays from the current optimization state.

Parameters
[out]currentDatacurrent optimal-gain stream buffer
[out]siRawDataraw SI optimal-gain stream buffer
[out]siDataintegrated SI optimal-gain stream buffer
[out]maxSiDataSI max-gain stream buffer
[out]lpDataLP optimal-gain stream buffer
[out]maxLpDataLP max-gain stream buffer
[out]modeVarDatamode-variance buffer, laid out as 3 x N

Definition at line 2782 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_gainCalFacts, m_gainCals, m_gmaxLP, m_gmaxSI, m_modeVarLP, m_modeVarOL, m_modeVarSI, m_optGainLP, m_optGainSI, m_optGainSIRaw, and m_opticalGain.

Referenced by goptThreadExec().

◆ writePublishedPredictorArrays()

void MagAOX::app::modalGainOpt::writePublishedPredictorArrays ( float pcGainData,
float aCoeffData,
uint32_t  aWidth,
float bCoeffData,
uint32_t  bWidth,
bool  blend 
)
protected

Populate the published predictive-control gain and coefficient arrays.

Parameters
pcGainData[in.out] PC gain-factor stream buffer
aCoeffData[in.out] predictor a-coefficient stream buffer
[in]aWidthentries stored per mode in aCoeffData
bCoeffData[in.out] predictor b-coefficient stream buffer
[in]bWidthentries stored per mode in bCoeffData
[in]blendwhen true, blend against existing values

Definition at line 2808 of file modalGainOpt.hpp.

References MagAOX::app::MagAOXApp< true >::log(), m_gainCalFacts, m_gainCals, m_gainGain, m_goptLP, m_Na, m_Nb, m_optGainLP, and m_opticalGain.

Referenced by goptThreadExec().

Friends And Related Symbol Documentation

◆ dev::shmimMonitor< modalGainOpt, acoeffShmimT >

◆ dev::shmimMonitor< modalGainOpt, bcoeffShmimT >

◆ dev::shmimMonitor< modalGainOpt, freqShmimT >

Definition at line 736 of file modalGainOpt.hpp.

◆ dev::shmimMonitor< modalGainOpt, gainCalFactShmimT >

◆ dev::shmimMonitor< modalGainOpt, gainCalShmimT >

◆ dev::shmimMonitor< modalGainOpt, gainFactShmimT >

◆ dev::shmimMonitor< modalGainOpt, multFactShmimT >

◆ dev::shmimMonitor< modalGainOpt, noiseShmimT >

Definition at line 736 of file modalGainOpt.hpp.

◆ dev::shmimMonitor< modalGainOpt, numpccoeffShmimT >

◆ dev::shmimMonitor< modalGainOpt, pcGainFactShmimT >

◆ dev::shmimMonitor< modalGainOpt, pcMultFactShmimT >

◆ dev::shmimMonitor< modalGainOpt, psdShmimT >

Definition at line 736 of file modalGainOpt.hpp.

◆ dev::shmimMonitor< modalGainOpt, tauShmimT >

Definition at line 736 of file modalGainOpt.hpp.

◆ dev::shmimMonitor< modalGainOpt, wfsavgShmimT >

◆ dev::shmimMonitor< modalGainOpt, wfsmaskShmimT >

◆ dev::telemeter< modalGainOpt >

Definition at line 736 of file modalGainOpt.hpp.

◆ modalGainOpt_test

friend class modalGainOpt_test
friend

Definition at line 735 of file modalGainOpt.hpp.

Member Data Documentation

◆ m_allDefsReceived

bool MagAOX::app::MagAOXApp< _useINDI >::m_allDefsReceived
protectedinherited

Flag indicating that all registered Set properties have been updated since last Get.

Definition at line 716 of file MagAOXApp.hpp.

◆ m_as

eigenImage<float> MagAOX::app::modalGainOpt::m_as
protected

Definition at line 924 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_autoUpdate

bool MagAOX::app::modalGainOpt::m_autoUpdate { false }
protected

Flag controlling whether gains are automatically updated.

Definition at line 795 of file modalGainOpt.hpp.

Referenced by appLogic(), goptThreadExec(), loadConfigImpl(), and recordModalGainOpt().

◆ m_basePath

std::string MagAOX::app::MagAOXApp< _useINDI >::m_basePath
protectedinherited

The base path of the MagAO-X system.

Definition at line 188 of file MagAOXApp.hpp.

◆ m_bs

eigenImage<float> MagAOX::app::modalGainOpt::m_bs
protected

Definition at line 926 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_calibDir

std::string MagAOX::app::MagAOXApp< _useINDI >::m_calibDir
protectedinherited

The path to calibration files for MagAOX.

Definition at line 196 of file MagAOXApp.hpp.

◆ m_clNtfCurrent

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clNtfCurrent
protected

Published current closed-loop noise transfer function.

Definition at line 853 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_clNtfCurrentShmimName

std::string MagAOX::app::modalGainOpt::m_clNtfCurrentShmimName
protected

Definition at line 955 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_clNtfCurrentStream

IMAGE* MagAOX::app::modalGainOpt::m_clNtfCurrentStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the current NTF

Definition at line 981 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_clNtfLP

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clNtfLP
protected

Published predictive closed-loop noise transfer function.

Definition at line 860 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_clNtfLPShmimName

std::string MagAOX::app::modalGainOpt::m_clNtfLPShmimName
protected

Definition at line 959 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_clNtfLPStream

IMAGE* MagAOX::app::modalGainOpt::m_clNtfLPStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the LP NTF

Definition at line 989 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_clNtfSI

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clNtfSI
protected

Published simple-integrator closed-loop noise transfer function.

Definition at line 857 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_clNtfSIShmimName

std::string MagAOX::app::modalGainOpt::m_clNtfSIShmimName
protected

Definition at line 957 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_clNtfSIStream

IMAGE* MagAOX::app::modalGainOpt::m_clNtfSIStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the SI NTF

Definition at line 985 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_clPSDs

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clPSDs
protected

Definition at line 850 of file modalGainOpt.hpp.

Referenced by allocate(), checkSizes(), goptThreadExec(), and processImage().

◆ m_clXferCurrent

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clXferCurrent
protected

Published current closed-loop error transfer function.

Definition at line 851 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_clXferCurrentShmimName

std::string MagAOX::app::modalGainOpt::m_clXferCurrentShmimName
protected

Definition at line 954 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_clXferCurrentStream

IMAGE* MagAOX::app::modalGainOpt::m_clXferCurrentStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the current ETF

Definition at line 979 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_clXferLP

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clXferLP
protected

Published predictive closed-loop error transfer function.

Definition at line 859 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_clXferLPShmimName

std::string MagAOX::app::modalGainOpt::m_clXferLPShmimName
protected

Definition at line 958 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_clXferLPStream

IMAGE* MagAOX::app::modalGainOpt::m_clXferLPStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the LP ETF

Definition at line 987 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_clXferSI

mx::improc::eigenImage<float> MagAOX::app::modalGainOpt::m_clXferSI
protected

Published simple-integrator closed-loop error transfer function.

Definition at line 855 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_clXferSIShmimName

std::string MagAOX::app::modalGainOpt::m_clXferSIShmimName
protected

Definition at line 956 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_clXferSIStream

IMAGE* MagAOX::app::modalGainOpt::m_clXferSIStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the SI ETF

Definition at line 983 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_configBase

std::string MagAOX::app::MagAOXApp< _useINDI >::m_configBase
protectedinherited

The name of a base config class for this app (minus .conf).

Definition at line 194 of file MagAOXApp.hpp.

◆ m_configDir

std::string MagAOX::app::MagAOXApp< _useINDI >::m_configDir
protectedinherited

The path to configuration files for MagAOX.

Definition at line 192 of file MagAOXApp.hpp.

◆ m_configName

std::string MagAOX::app::MagAOXApp< _useINDI >::m_configName
protectedinherited

The name of the configuration file (minus .conf).

Definition at line 190 of file MagAOXApp.hpp.

◆ m_counts

float MagAOX::app::modalGainOpt::m_counts { 0 }
protected

Definition at line 944 of file modalGainOpt.hpp.

Referenced by noisePSD(), processImage(), and processImage().

◆ m_cpusetPath

std::string MagAOX::app::MagAOXApp< _useINDI >::m_cpusetPath
protectedinherited

Path to the cpusets mount.

The path to the cpusets mount is configured by the environment variable defined by MAGOX_env_cpuset in environment.hpp. This environment variable is normally named "CGROUPS1_CPUSET_MOUNTPOINT". If the environment variable is not set, the default defined by MAGAOX_cpusetPath in paths.hpp is used.

Definition at line 207 of file MagAOXApp.hpp.

◆ m_dataType [1/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [2/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [3/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [4/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [5/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [6/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [7/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [8/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [9/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [10/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [11/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [12/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [13/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [14/15]

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_dataType [15/15]

uint8_t MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_dataType
protectedinherited

The ImageStreamIO type code.

Definition at line 140 of file shmimMonitor.hpp.

◆ m_defaultNCoeff

uint32_t MagAOX::app::modalGainOpt::m_defaultNCoeff { 25 }
protected

Definition at line 805 of file modalGainOpt.hpp.

Referenced by allocatePCShmims().

◆ m_depth [1/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [2/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [3/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [4/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [5/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [6/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [7/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [8/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [9/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [10/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [11/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [12/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [13/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [14/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_depth [15/15]

The depth of the circular buffer in the stream.

Definition at line 138 of file shmimMonitor.hpp.

◆ m_doPCCalcs

bool MagAOX::app::modalGainOpt::m_doPCCalcs { true }
protected

Definition at line 900 of file modalGainOpt.hpp.

Referenced by goptThreadExec().

◆ m_driverCtrlName

std::string MagAOX::app::MagAOXApp< _useINDI >::m_driverCtrlName
protectedinherited

Full path name of the INDI driver control FIFO.

This is currently only used to signal restarts.

Definition at line 727 of file MagAOXApp.hpp.

◆ m_driverInName

std::string MagAOX::app::MagAOXApp< _useINDI >::m_driverInName
protectedinherited

Full path name of the INDI driver input FIFO.

Definition at line 719 of file MagAOXApp.hpp.

◆ m_driverOutName

std::string MagAOX::app::MagAOXApp< _useINDI >::m_driverOutName
protectedinherited

Full path name of the INDI driver output FIFO.

Definition at line 722 of file MagAOXApp.hpp.

◆ m_dump

bool MagAOX::app::modalGainOpt::m_dump { false }
protected

Flag to trigger a single update with no gain.

Definition at line 826 of file modalGainOpt.hpp.

Referenced by appLogic(), and goptThreadExec().

◆ m_emg

float MagAOX::app::modalGainOpt::m_emg { 1 }
protected

Definition at line 945 of file modalGainOpt.hpp.

Referenced by noisePSD().

◆ m_euidCalled

uid_t MagAOX::app::MagAOXApp< _useINDI >::m_euidCalled
privateinherited

The user id of the process as called (i.e. the higher privileged id of the owner, root if setuid).

Definition at line 422 of file MagAOXApp.hpp.

◆ m_euidReal

uid_t MagAOX::app::MagAOXApp< _useINDI >::m_euidReal
privateinherited

The real user id of the proces (i.e. the lower privileged id of the user)

Definition at line 421 of file MagAOXApp.hpp.

◆ m_extrapClosedLoopOlEstimateMethod

int MagAOX::app::modalGainOpt::m_extrapClosedLoopOlEstimateMethod { c_extrapClosedLoopOlEstimateEtfOnly }
protected

Which CL-to-OL reconstruction to use.

Definition at line 814 of file modalGainOpt.hpp.

Referenced by appLogic(), goptThreadExec(), handleExtrapClosedLoopOlEstimateMethodProperty(), and loadConfigImpl().

◆ m_extrapConfig

◆ m_extrapNoiseEstimateDomain

int MagAOX::app::modalGainOpt::m_extrapNoiseEstimateDomain { c_extrapNoiseEstimateOpenLoop }
protected

Where to estimate the modal noise floor.

Definition at line 808 of file modalGainOpt.hpp.

Referenced by appLogic(), goptThreadExec(), handleExtrapNoiseEstimateDomainProperty(), and loadConfigImpl().

◆ m_extrapNoiseEstimateRange

int MagAOX::app::modalGainOpt::m_extrapNoiseEstimateRange { c_extrapNoiseEstimateHighFreq }
protected

Which PSD end to use for the noise fit.

Definition at line 810 of file modalGainOpt.hpp.

Referenced by appLogic(), goptThreadExec(), handleExtrapNoiseEstimateRangeProperty(), and loadConfigImpl().

◆ m_extrapNoiseEstimateStatistic

int MagAOX::app::modalGainOpt::m_extrapNoiseEstimateStatistic { c_extrapNoiseEstimatePercentile }
protected

How the selected PSD bins are summarized into a noise floor.

Definition at line 812 of file modalGainOpt.hpp.

Referenced by appLogic(), goptThreadExec(), handleExtrapNoiseEstimateStatisticProperty(), and loadConfigImpl().

◆ m_extrapOL

int MagAOX::app::modalGainOpt::m_extrapOL { c_olProcessNone }
protected

Which extrapolation method to use for the OL PSD.

Definition at line 807 of file modalGainOpt.hpp.

Referenced by appLogic(), goptThreadExec(), handleExtrapMethodProperty(), and loadConfigImpl().

◆ m_extrapPowerLawCrossoverMode

int MagAOX::app::modalGainOpt::m_extrapPowerLawCrossoverMode { c_extrapPowerLawCrossoverManual }
protected

How the power-law match/cutoff frequencies are chosen.

Definition at line 816 of file modalGainOpt.hpp.

Referenced by appLogic(), handleExtrapPowerLawCrossoverModeProperty(), and loadConfigImpl().

◆ m_fps

float MagAOX::app::modalGainOpt::m_fps { 0 }
protected

◆ m_freq

std::vector<float> MagAOX::app::modalGainOpt::m_freq
protected

◆ m_freqUpdated

bool MagAOX::app::modalGainOpt::m_freqUpdated { true }
protected

Tracks if the frequency scale has updated, which necessitates additional calcs. If true, implies m_goptUpdate == true.

Definition at line 842 of file modalGainOpt.hpp.

Referenced by applyFrequencyUpdate(), and refreshGoptStructures().

◆ m_gain

float MagAOX::app::modalGainOpt::m_gain { 0 }
protected

Definition at line 892 of file modalGainOpt.hpp.

Referenced by goptThreadExec().

◆ m_gainCalFacts

std::vector<float> MagAOX::app::modalGainOpt::m_gainCalFacts
protected

◆ m_gainCals

std::vector<float> MagAOX::app::modalGainOpt::m_gainCals
protected

◆ m_gainFacts

std::vector<float> MagAOX::app::modalGainOpt::m_gainFacts
protected

◆ m_gainGain

float MagAOX::app::modalGainOpt::m_gainGain { 0.1 }
protected

The gain to use for SI gain correction updates. Default is 0.1.

Definition at line 799 of file modalGainOpt.hpp.

Referenced by appLogic(), loadConfigImpl(), recordModalGainOpt(), updateIntegratedSiGain(), and writePublishedPredictorArrays().

◆ m_gainLeak

float MagAOX::app::modalGainOpt::m_gainLeak { 0.9 }
protected

The leak factor used for SI gain integration. Default is 0.9.

Definition at line 800 of file modalGainOpt.hpp.

Referenced by appLogic(), loadConfigImpl(), recordModalGainOpt(), and updateIntegratedSiGain().

◆ m_getExistingFirst [1/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [2/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [3/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [4/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [5/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [6/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [7/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [8/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [9/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [10/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [11/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [12/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [13/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [14/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_getExistingFirst [15/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_getExistingFirst
protectedinherited

If set to true by derivedT, any existing image will be grabbed and sent to processImage before waiting on the semaphore.

Definition at line 127 of file shmimMonitor.hpp.

◆ m_gitAlert

bool MagAOX::app::MagAOXApp< _useINDI >::m_gitAlert
privateinherited

Definition at line 582 of file MagAOXApp.hpp.

◆ m_gmaxLP

std::vector<float> MagAOX::app::modalGainOpt::m_gmaxLP
protected

The previously calculated maximum gains for LP.

Definition at line 881 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), processImage(), and writePublishedGainArrays().

◆ m_gmaxSI

std::vector<float> MagAOX::app::modalGainOpt::m_gmaxSI
protected

The previously calculated maximum gains for SI.

Definition at line 873 of file modalGainOpt.hpp.

Referenced by allocate(), goptThreadExec(), refreshGoptStructures(), and writePublishedGainArrays().

◆ m_goptCurrent

std::vector<mx::AO::analysis::clGainOpt<float> > MagAOX::app::modalGainOpt::m_goptCurrent
protected

Each mode gets its own gain optimizer.

Definition at line 832 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), and refreshGoptStructures().

◆ m_goptLP

std::vector<mx::AO::analysis::clGainOpt<float> > MagAOX::app::modalGainOpt::m_goptLP
protected

◆ m_goptMutex

◆ m_goptSemaphore

sem_t MagAOX::app::modalGainOpt::m_goptSemaphore
protected

Semaphore used to synchronize the psdShmim thread and the gopt thread.

Definition at line 1295 of file modalGainOpt.hpp.

Referenced by appShutdown(), appStartup(), goptThreadExec(), and processImage().

◆ m_goptSemaphoreInit

bool MagAOX::app::modalGainOpt::m_goptSemaphoreInit { false }
protected

Tracks whether the gain optimization semaphore needs cleanup.

Definition at line 1297 of file modalGainOpt.hpp.

Referenced by appShutdown(), and appStartup().

◆ m_goptSI

std::vector<mx::AO::analysis::clGainOpt<float> > MagAOX::app::modalGainOpt::m_goptSI
protected

Definition at line 833 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), and refreshGoptStructures().

◆ m_goptThread

std::thread MagAOX::app::modalGainOpt::m_goptThread
protected

The gain optimization thread.

Definition at line 1286 of file modalGainOpt.hpp.

Referenced by appLogic(), appShutdown(), and appStartup().

◆ m_goptThreadCpuset

std::string MagAOX::app::modalGainOpt::m_goptThreadCpuset
protected

The cpuset to use for the gain optimization thread.

Definition at line 1283 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_goptThreadID

pid_t MagAOX::app::modalGainOpt::m_goptThreadID { 0 }
protected

gain optimization thread PID.

Definition at line 1290 of file modalGainOpt.hpp.

Referenced by appStartup(), and goptThreadExec().

◆ m_goptThreadInit

bool MagAOX::app::modalGainOpt::m_goptThreadInit { true }
protected

Initialization flag for the gain optimization thread.

Definition at line 1288 of file modalGainOpt.hpp.

Referenced by appStartup(), and goptThreadExec().

◆ m_goptThreadPrio

int MagAOX::app::modalGainOpt::m_goptThreadPrio { 0 }
protected

Priority of the gain optimization thread.

Definition at line 1281 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_goptThreadProp

pcf::IndiProperty MagAOX::app::modalGainOpt::m_goptThreadProp
protected

The property to hold the gain optimization thread details.

Definition at line 1292 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_goptUpdated

bool MagAOX::app::modalGainOpt::m_goptUpdated { true }
protected

Tracks if a parameter has updated requiring updates to the m_gopt entries.

Definition at line 837 of file modalGainOpt.hpp.

Referenced by applyFrequencyUpdate(), applyMultiplierUpdate(), processImage(), processImage(), processImage(), and refreshGoptStructures().

◆ m_height [1/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [2/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [3/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [4/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [5/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [6/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [7/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [8/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [9/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [10/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [11/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [12/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [13/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [14/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_height [15/15]

The height of the images in the stream.

Definition at line 137 of file shmimMonitor.hpp.

◆ m_imageStream [1/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [2/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [3/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [4/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [5/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [6/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [7/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [8/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [9/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [10/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [11/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [12/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [13/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [14/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_imageStream [15/15]

IMAGE MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_imageStream
protectedinherited

The ImageStreamIO shared memory buffer.

Definition at line 143 of file shmimMonitor.hpp.

◆ m_indiCallBackMutex

std::mutex MagAOX::app::MagAOXApp< _useINDI >::m_indiCallBackMutex
inherited

Mutex for locking INDI callback maps and per-entry callback state.

Lock ordering policy: 1) Prefer never holding both m_indiMutex and m_indiCallBackMutex at the same time. 2) If both are required in future code, always acquire m_indiMutex before m_indiCallBackMutex.

Definition at line 669 of file MagAOXApp.hpp.

◆ m_indiDriver

indiDriver<MagAOXApp>* MagAOX::app::MagAOXApp< _useINDI >::m_indiDriver
inherited

The INDI driver wrapper. Constructed and initialized by execute, which starts and stops communications.

Todo:
instead of making this public, provide an accessor.

Definition at line 659 of file MagAOXApp.hpp.

◆ m_indiMutex

std::mutex MagAOX::app::MagAOXApp< _useINDI >::m_indiMutex
inherited

Mutex for locking INDI communications.

Definition at line 662 of file MagAOXApp.hpp.

◆ m_indiNewCallBacks

std::unordered_map<std::string, indiCallBack> MagAOX::app::MagAOXApp< _useINDI >::m_indiNewCallBacks
protectedinherited

Map to hold the NewProperty indiCallBacks for this App, with fast lookup by property name.

The key for these is the property name.

Definition at line 707 of file MagAOXApp.hpp.

◆ m_indiP_autoUpdate

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_autoUpdate

Definition at line 1316 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_clearFSMAlert

pcf::IndiProperty MagAOX::app::MagAOXApp< _useINDI >::m_indiP_clearFSMAlert
protectedinherited

indi Property to clear an FSM alert.

Definition at line 1137 of file MagAOXApp.hpp.

◆ m_indiP_dump

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_dump

Definition at line 1318 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_emg

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_emg

Definition at line 1351 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_extrapClMinSignificantFraction

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapClMinSignificantFraction

Definition at line 1349 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapClosedLoopOlEstimateMethod

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapClosedLoopOlEstimateMethod

◆ m_indiP_extrapClSignificanceThreshold

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapClSignificanceThreshold

Definition at line 1348 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapDropoutGapFactor

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapDropoutGapFactor

Definition at line 1345 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapDropoutMaxBins

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapDropoutMaxBins

Definition at line 1347 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapDropoutTinyFactor

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapDropoutTinyFactor

Definition at line 1346 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapFitPowerLawIndex

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapFitPowerLawIndex

Definition at line 1338 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapMethod

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapMethod

Definition at line 1325 of file modalGainOpt.hpp.

Referenced by appLogic(), appStartup(), and handleExtrapMethodProperty().

◆ m_indiP_extrapNoiseEstimateDomain

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapNoiseEstimateDomain

◆ m_indiP_extrapNoiseEstimateLowFreqMaxHz

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapNoiseEstimateLowFreqMaxHz

Definition at line 1329 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapNoiseEstimateRange

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapNoiseEstimateRange

Definition at line 1327 of file modalGainOpt.hpp.

Referenced by appLogic(), appStartup(), and handleExtrapNoiseEstimateRangeProperty().

◆ m_indiP_extrapNoiseEstimateStatistic

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapNoiseEstimateStatistic

◆ m_indiP_extrapPowerLawAutoMaxFreqFraction

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawAutoMaxFreqFraction

Definition at line 1337 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawAutoSmoothWidthHz

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawAutoSmoothWidthHz

Definition at line 1336 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawBlendBins

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawBlendBins

Definition at line 1344 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawCrossoverMode

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawCrossoverMode

◆ m_indiP_extrapPowerLawFitBinWidthHz

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawFitBinWidthHz

Definition at line 1343 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawFitIncludesMatchPoint

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawFitIncludesMatchPoint

Definition at line 1340 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawFitMaxFreqHz

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawFitMaxFreqHz

Definition at line 1342 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawFitMinFreqHz

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawFitMinFreqHz

Definition at line 1341 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawIndex

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawIndex

Definition at line 1331 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawMatchFallbackWindowHz

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawMatchFallbackWindowHz

Definition at line 1334 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawMatchFreq

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawMatchFreq

Definition at line 1333 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawNormFreq

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawNormFreq

Definition at line 1332 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_extrapPowerLawOnlyAboveFreq

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_extrapPowerLawOnlyAboveFreq

Definition at line 1339 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_frameSize [1/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [2/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [3/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [4/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [5/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [6/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [7/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [8/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [9/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [10/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [11/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [12/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [13/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [14/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_frameSize [15/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_indiP_frameSize
protectedinherited

Property used to report the current frame size.

Definition at line 274 of file shmimMonitor.hpp.

◆ m_indiP_gainGain

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_gainGain

Definition at line 1322 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_gainLeak

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_gainLeak

Definition at line 1323 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_loop

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_loop

Definition at line 1354 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_modesOn

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_modesOn

Definition at line 1361 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_opticalGain

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_opticalGain

Definition at line 1320 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_opticalGainSource

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_opticalGainSource

Definition at line 1363 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_opticalGainUpdate

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_opticalGainUpdate

Definition at line 1364 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_pcGain

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_pcGain

Definition at line 1357 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_pcMult

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_pcMult

Definition at line 1358 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_pcOn

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_pcOn

Definition at line 1359 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_powerChannel

pcf::IndiProperty MagAOX::app::MagAOXApp< _useINDI >::m_indiP_powerChannel
protectedinherited

INDI property used to communicate power state.

Definition at line 1193 of file MagAOXApp.hpp.

◆ m_indiP_psdAvgTime

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_psdAvgTime

Definition at line 1353 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_psdTime

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_psdTime

Definition at line 1352 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_shmimName [1/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [2/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [3/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [4/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [5/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [6/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [7/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [8/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [9/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [10/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [11/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [12/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [13/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [14/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_shmimName [15/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_indiP_shmimName
protectedinherited

Property used to report the shmim buffer name.

Definition at line 272 of file shmimMonitor.hpp.

◆ m_indiP_siGain

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_siGain

Definition at line 1355 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_siMult

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_siMult

Definition at line 1356 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_indiP_state

pcf::IndiProperty MagAOX::app::MagAOXApp< _useINDI >::m_indiP_state
protectedinherited

indi Property to report the application state.

Definition at line 1134 of file MagAOXApp.hpp.

◆ m_indiP_updateOnce

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_updateOnce

Definition at line 1317 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiP_zeroGains

pcf::IndiProperty MagAOX::app::modalGainOpt::m_indiP_zeroGains

Definition at line 1324 of file modalGainOpt.hpp.

Referenced by appLogic(), and appStartup().

◆ m_indiSetCallBacks

std::unordered_map<std::string, indiCallBack> MagAOX::app::MagAOXApp< _useINDI >::m_indiSetCallBacks
protectedinherited

Map to hold the SetProperty indiCallBacks for this App, with fast lookup by property name.

The key for these is device.name

Definition at line 712 of file MagAOXApp.hpp.

◆ m_inode [1/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [2/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [3/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [4/15]

ino_t MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_inode
protectedinherited

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [5/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [6/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [7/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [8/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [9/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [10/15]

ino_t MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_inode
protectedinherited

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [11/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [12/15]

ino_t MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_inode
protectedinherited

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [13/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [14/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_inode [15/15]

The inode of the image stream file.

Definition at line 145 of file shmimMonitor.hpp.

◆ m_linPred

std::vector<mx::AO::analysis::clAOLinearPredictor<float> > MagAOX::app::modalGainOpt::m_linPred
protected

Definition at line 835 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), and refreshGoptStructures().

◆ m_log

Definition at line 345 of file MagAOXApp.hpp.

◆ m_loop

bool MagAOX::app::modalGainOpt::m_loop { false }
protected

◆ m_loopName

std::string MagAOX::app::modalGainOpt::m_loopName
protected

The name of the loop control INDI device name.

Definition at line 784 of file modalGainOpt.hpp.

Referenced by appStartup(), and loadConfigImpl().

◆ m_loopNum

int MagAOX::app::modalGainOpt::m_loopNum { 1 }
protected

The number of the loop. Used to set shmim names, as in aolN_mgainfact.

Definition at line 781 of file modalGainOpt.hpp.

Referenced by loadConfigImpl().

◆ m_loopPause

unsigned long MagAOX::app::MagAOXApp< _useINDI >::m_loopPause
protectedinherited

The time in nanoseconds to pause the main loop. The appLogic() function of the derived class is called every m_loopPause nanoseconds. Default is 1,000,000,000 ns. Config with loopPause=X.

Definition at line 209 of file MagAOXApp.hpp.

◆ m_maxGainLPShmimName

std::string MagAOX::app::modalGainOpt::m_maxGainLPShmimName
protected

Definition at line 967 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_maxGainLPStream

IMAGE* MagAOX::app::modalGainOpt::m_maxGainLPStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the LP max gains

Definition at line 1004 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), and goptThreadExec().

◆ m_maxGainSIShmimName

std::string MagAOX::app::modalGainOpt::m_maxGainSIShmimName
protected

Definition at line 964 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_maxGainSIStream

IMAGE* MagAOX::app::modalGainOpt::m_maxGainSIStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the SI max gains

Definition at line 999 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), and goptThreadExec().

◆ m_maxInterval

double MagAOX::app::dev::telemeter< modalGainOpt >::m_maxInterval
inherited

The maximum interval, in seconds, between telemetry records. Default is 10.0 seconds.

Definition at line 83 of file telemeter.hpp.

◆ m_maxNCoeff

uint32_t MagAOX::app::modalGainOpt::m_maxNCoeff { 1000 }
protected

Definition at line 803 of file modalGainOpt.hpp.

Referenced by allocatePCShmims().

◆ m_modesOn

int MagAOX::app::modalGainOpt::m_modesOn
protected

Definition at line 869 of file modalGainOpt.hpp.

Referenced by appLogic(), and updateAppliedModeCount().

◆ m_modesOnLP

int MagAOX::app::modalGainOpt::m_modesOnLP
protected

Definition at line 884 of file modalGainOpt.hpp.

Referenced by appLogic(), and goptThreadExec().

◆ m_modesOnSI

int MagAOX::app::modalGainOpt::m_modesOnSI
protected

Definition at line 876 of file modalGainOpt.hpp.

Referenced by appLogic(), and goptThreadExec().

◆ m_modeVarCL

std::vector<float> MagAOX::app::modalGainOpt::m_modeVarCL
protected

Definition at line 866 of file modalGainOpt.hpp.

◆ m_modeVarLP

std::vector<float> MagAOX::app::modalGainOpt::m_modeVarLP
protected

Definition at line 882 of file modalGainOpt.hpp.

Referenced by allocate(), goptThreadExec(), and writePublishedGainArrays().

◆ m_modeVarOL

std::vector<float> MagAOX::app::modalGainOpt::m_modeVarOL
protected

Definition at line 867 of file modalGainOpt.hpp.

Referenced by allocate(), goptThreadExec(), and writePublishedGainArrays().

◆ m_modevarShmimName

std::string MagAOX::app::modalGainOpt::m_modevarShmimName
protected

Definition at line 969 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_modeVarSI

std::vector<float> MagAOX::app::modalGainOpt::m_modeVarSI
protected

Definition at line 874 of file modalGainOpt.hpp.

Referenced by allocate(), goptThreadExec(), and writePublishedGainArrays().

◆ m_modevarStream

IMAGE* MagAOX::app::modalGainOpt::m_modevarStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the mode variances

Definition at line 1007 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), and goptThreadExec().

◆ m_mult

float MagAOX::app::modalGainOpt::m_mult { 1 }
protected

Definition at line 894 of file modalGainOpt.hpp.

Referenced by refreshGoptStructures().

◆ m_multFacts

std::vector<float> MagAOX::app::modalGainOpt::m_multFacts
protected

Definition at line 910 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_Na

std::vector<uint32_t> MagAOX::app::modalGainOpt::m_Na
protected

◆ m_NaCurrent

std::vector<uint32_t> MagAOX::app::modalGainOpt::m_NaCurrent
protected

Definition at line 918 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_Nb

std::vector<uint32_t> MagAOX::app::modalGainOpt::m_Nb
protected

Definition at line 920 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and writePublishedPredictorArrays().

◆ m_NbCurrent

std::vector<uint32_t> MagAOX::app::modalGainOpt::m_NbCurrent
protected

Definition at line 922 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_nFreq

uint32_t MagAOX::app::modalGainOpt::m_nFreq { 0 }
protected

Definition at line 821 of file modalGainOpt.hpp.

Referenced by allocate().

◆ m_nModes

uint32_t MagAOX::app::modalGainOpt::m_nModes { 0 }
protected

Definition at line 822 of file modalGainOpt.hpp.

Referenced by allocate(), allocatePCShmims(), checkSizes(), and goptThreadExec().

◆ m_noiseParams

eigenImage<float> MagAOX::app::modalGainOpt::m_noiseParams
protected

Definition at line 940 of file modalGainOpt.hpp.

Referenced by noisePSD(), and processImage().

◆ m_noisePSDShmimName

std::string MagAOX::app::modalGainOpt::m_noisePSDShmimName
protected

Definition at line 953 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_noisePSDStream

IMAGE* MagAOX::app::modalGainOpt::m_noisePSDStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the noise PSDs

Definition at line 977 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_npix

int MagAOX::app::modalGainOpt::m_npix { 0 }
protected

Definition at line 946 of file modalGainOpt.hpp.

Referenced by noisePSD(), and processImage().

◆ m_nPSDs

std::vector<std::vector<float> > MagAOX::app::modalGainOpt::m_nPSDs
protected

Definition at line 865 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_nRegCycles

int MagAOX::app::modalGainOpt::m_nRegCycles { 60 }
protected

How often to regularize each mode.

Definition at line 928 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), and processImage().

◆ m_olPSDs

std::vector<std::vector<float> > MagAOX::app::modalGainOpt::m_olPSDs
protected

Definition at line 862 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_olPSDShmimName

std::string MagAOX::app::modalGainOpt::m_olPSDShmimName
protected

Definition at line 950 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_olPSDStream

IMAGE* MagAOX::app::modalGainOpt::m_olPSDStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the open loop PSDs

Definition at line 971 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_optGainLP

std::vector<float> MagAOX::app::modalGainOpt::m_optGainLP
protected

◆ m_optGainLPShmimName

std::string MagAOX::app::modalGainOpt::m_optGainLPShmimName
protected

Definition at line 966 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_optGainLPStream

IMAGE* MagAOX::app::modalGainOpt::m_optGainLPStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the LP optimal gains

Definition at line 1002 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_optGainShmimName

std::string MagAOX::app::modalGainOpt::m_optGainShmimName
protected

Definition at line 961 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_optGainSI

std::vector<float> MagAOX::app::modalGainOpt::m_optGainSI
protected

The leaky-integrated SI optimal gains.

Definition at line 872 of file modalGainOpt.hpp.

Referenced by allocate(), goptThreadExec(), syncSiGainStateFromAppliedGains(), updateIntegratedSiGain(), and writePublishedGainArrays().

◆ m_optGainSIRaw

std::vector<float> MagAOX::app::modalGainOpt::m_optGainSIRaw
protected

The raw SI optimal gains before leaky integration.

Definition at line 871 of file modalGainOpt.hpp.

Referenced by allocate(), goptThreadExec(), syncSiGainStateFromAppliedGains(), updateIntegratedSiGain(), and writePublishedGainArrays().

◆ m_optGainSIRawShmimName

std::string MagAOX::app::modalGainOpt::m_optGainSIRawShmimName
protected

Definition at line 962 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_optGainSIRawStream

IMAGE* MagAOX::app::modalGainOpt::m_optGainSIRawStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the raw SI optimal gains

Definition at line 995 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_optGainSIShmimName

std::string MagAOX::app::modalGainOpt::m_optGainSIShmimName
protected

Definition at line 963 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_optGainSIStream

IMAGE* MagAOX::app::modalGainOpt::m_optGainSIStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the integrated SI optimal gains

Definition at line 997 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_optGainStream

IMAGE* MagAOX::app::modalGainOpt::m_optGainStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the current optimal gains

Definition at line 992 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_opticalGain

float MagAOX::app::modalGainOpt::m_opticalGain { 1 }
protected

◆ m_opticalGainDevice

std::string MagAOX::app::modalGainOpt::m_opticalGainDevice { "strehl" }
protected

Definition at line 791 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_opticalGainElement

std::string MagAOX::app::modalGainOpt::m_opticalGainElement { "pyramid" }
protected

Definition at line 793 of file modalGainOpt.hpp.

◆ m_opticalGainProperty

std::string MagAOX::app::modalGainOpt::m_opticalGainProperty { "strehl_optimal" }
protected

Definition at line 792 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_opticalGainSource

float MagAOX::app::modalGainOpt::m_opticalGainSource { 1 }
protected

Definition at line 890 of file modalGainOpt.hpp.

◆ m_opticalGainUpdate

bool MagAOX::app::modalGainOpt::m_opticalGainUpdate { false }
protected

Flag controlling whether optical gain is automatically updated;

Definition at line 796 of file modalGainOpt.hpp.

Referenced by appLogic(), and recordModalGainOpt().

◆ m_pcGain

float MagAOX::app::modalGainOpt::m_pcGain { 0 }
protected

Definition at line 902 of file modalGainOpt.hpp.

Referenced by goptThreadExec().

◆ m_pcGainFacts

std::vector<float> MagAOX::app::modalGainOpt::m_pcGainFacts
protected

Definition at line 912 of file modalGainOpt.hpp.

Referenced by checkSizes(), goptThreadExec(), and processImage().

◆ m_pcgoptUpdated

bool MagAOX::app::modalGainOpt::m_pcgoptUpdated { true }
protected

Tracks if a parameter has updated requiring updates to the m_gopt entries.

Definition at line 839 of file modalGainOpt.hpp.

Referenced by applyMultiplierUpdate(), processImage(), processImage(), and refreshGoptStructures().

◆ m_pcMult

float MagAOX::app::modalGainOpt::m_pcMult { 0 }
protected

Definition at line 904 of file modalGainOpt.hpp.

Referenced by refreshGoptStructures().

◆ m_pcMultFacts

std::vector<float> MagAOX::app::modalGainOpt::m_pcMultFacts
protected

Definition at line 914 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_pcOn

bool MagAOX::app::modalGainOpt::m_pcOn { false }
protected

◆ m_pid

pid_t MagAOX::app::MagAOXApp< _useINDI >::m_pid
protectedinherited

This process's PID.

Definition at line 506 of file MagAOXApp.hpp.

◆ m_powerChannel

std::string MagAOX::app::MagAOXApp< _useINDI >::m_powerChannel
protectedinherited

The INDI property name of the channel controlling this device's power.

Definition at line 1179 of file MagAOXApp.hpp.

◆ m_powerDevice

std::string MagAOX::app::MagAOXApp< _useINDI >::m_powerDevice
protectedinherited

The INDI device name of the power controller.

Definition at line 1178 of file MagAOXApp.hpp.

◆ m_powerElement

std::string MagAOX::app::MagAOXApp< _useINDI >::m_powerElement
protectedinherited

The INDI element name to monitor for this device's power state.

Definition at line 1180 of file MagAOXApp.hpp.

◆ m_powerMgtEnabled

bool MagAOX::app::MagAOXApp< _useINDI >::m_powerMgtEnabled
protectedinherited

Flag controls whether power mgt is used. Set this in the constructor of a derived app. If true, then if after loadConfig the powerDevice and powerChannel are empty, then the app will exit with a critical error.

Definition at line 1173 of file MagAOXApp.hpp.

◆ m_powerOnCounter

int MagAOX::app::MagAOXApp< _useINDI >::m_powerOnCounter
protectedinherited

Counts numer of loops after power on, implements delay for device bootup. If -1, then device was NOT powered off on app startup.

Definition at line 1186 of file MagAOXApp.hpp.

◆ m_powerOnWait

unsigned long MagAOX::app::MagAOXApp< _useINDI >::m_powerOnWait
protectedinherited

Default time in sec to wait for device to boot after power on.

Definition at line 1183 of file MagAOXApp.hpp.

◆ m_powerState

int MagAOX::app::MagAOXApp< _useINDI >::m_powerState
protectedinherited

Current power state, 1=On, 0=Off, -1=Unk.

Definition at line 1190 of file MagAOXApp.hpp.

◆ m_powerTargetElement

std::string MagAOX::app::MagAOXApp< _useINDI >::m_powerTargetElement
protectedinherited

The INDI element name to monitor for this device's power state.

Definition at line 1181 of file MagAOXApp.hpp.

◆ m_powerTargetState

int MagAOX::app::MagAOXApp< _useINDI >::m_powerTargetState
protectedinherited

Current target power state, 1=On, 0=Off, -1=Unk.

Definition at line 1191 of file MagAOXApp.hpp.

◆ m_psdAvgTime

float MagAOX::app::modalGainOpt::m_psdAvgTime { 10 }
protected

Definition at line 845 of file modalGainOpt.hpp.

Referenced by processImage().

◆ m_psdDevice

std::string MagAOX::app::modalGainOpt::m_psdDevice { "hopsds" }
protected

The INDI device name of the PSD calculator. Defaults to aolN_modevalPSDs where N is m_loopNum.

Definition at line 788 of file modalGainOpt.hpp.

Referenced by appStartup(), and loadConfigImpl().

◆ m_psdOverlapFraction

float MagAOX::app::modalGainOpt::m_psdOverlapFraction { 0.5 }
protected

Definition at line 846 of file modalGainOpt.hpp.

Referenced by processImage().

◆ m_psdTime

float MagAOX::app::modalGainOpt::m_psdTime { 1 }
protected

Definition at line 844 of file modalGainOpt.hpp.

Referenced by processImage().

◆ m_rawOlPSDs

std::vector<std::vector<float> > MagAOX::app::modalGainOpt::m_rawOlPSDs
protected

Definition at line 863 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_rawOlPSDShmimName

std::string MagAOX::app::modalGainOpt::m_rawOlPSDShmimName
protected

Definition at line 951 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_rawOlPSDStream

IMAGE* MagAOX::app::modalGainOpt::m_rawOlPSDStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the raw OL PSDs

Definition at line 973 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_regCounter

std::vector<int> MagAOX::app::modalGainOpt::m_regCounter
protected

Counters to track when this mode was last regularized.

Definition at line 930 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), and processImage().

◆ m_regScale

std::vector<float> MagAOX::app::modalGainOpt::m_regScale
protected

The regularization scale factors for each mode.

Definition at line 932 of file modalGainOpt.hpp.

Referenced by goptThreadExec(), and processImage().

◆ m_restart [1/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [2/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [3/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [4/15]

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [5/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [6/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [7/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [8/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [9/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [10/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [11/15]

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [12/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [13/15]

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [14/15]

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_restart [15/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_restart
protectedinherited

Flag indicating tha the shared memory should be reinitialized.

Definition at line 224 of file shmimMonitor.hpp.

◆ m_secretsPath

std::string MagAOX::app::MagAOXApp< _useINDI >::m_secretsPath
protectedinherited

Path to the secrets directory, where passwords, etc, are stored.

Definition at line 200 of file MagAOXApp.hpp.

◆ m_self

MagAOXApp< _useINDI > * MagAOX::app::MagAOXApp< _useINDI >::m_self
staticprivateinherited

Static pointer to this (set in constructor). Used to test whether a a MagAOXApp is already instatiated (a fatal error) and used for getting out of static signal handlers.

Definition at line 397 of file MagAOXApp.hpp.

◆ m_semaphoreNumber [1/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [2/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [3/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [4/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [5/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [6/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [7/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [8/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [9/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [10/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [11/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [12/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [13/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [14/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_semaphoreNumber [15/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_semaphoreNumber
protectedinherited

The image structure semaphore index.

Definition at line 134 of file shmimMonitor.hpp.

◆ m_shmimName [1/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [2/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [3/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [4/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [5/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [6/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [7/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [8/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [9/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [10/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [11/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [12/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [13/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [14/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shmimName [15/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_shmimName
protectedinherited

The name of the shared memory image, is used in /tmp/<shmimName>.im.shm. Derived classes should set a default.

Definition at line 118 of file shmimMonitor.hpp.

◆ m_shutdown

int MagAOX::app::MagAOXApp< _useINDI >::m_shutdown
protectedinherited

Flag to signal it's time to shutdown. When not 0, the main loop exits.

Definition at line 214 of file MagAOXApp.hpp.

◆ m_siGain

float MagAOX::app::modalGainOpt::m_siGain { 0 }
protected

Definition at line 896 of file modalGainOpt.hpp.

◆ m_siGainStateNeedsSync

bool MagAOX::app::modalGainOpt::m_siGainStateNeedsSync { true }
protected

Tracks whether the SI gain integrator state should be synced from the applied gain factors.

Definition at line 877 of file modalGainOpt.hpp.

Referenced by allocate(), applyGainFactorUpdate(), goptThreadExec(), and syncSiGainStateFromAppliedGains().

◆ m_siMult

float MagAOX::app::modalGainOpt::m_siMult { 1 }
protected

Definition at line 898 of file modalGainOpt.hpp.

◆ m_sinceChange

◆ m_smCpuset [1/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [2/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [3/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [4/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [5/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [6/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [7/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [8/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [9/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [10/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [11/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [12/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [13/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [14/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smCpuset [15/15]

std::string MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smCpuset
protectedinherited

The cpuset to assign the shmimMonitor thread to. Ignored if empty (the default).

Definition at line 123 of file shmimMonitor.hpp.

◆ m_smoothOlPSDs

std::vector<std::vector<float> > MagAOX::app::modalGainOpt::m_smoothOlPSDs
protected

Definition at line 864 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_smoothOlPSDShmimName

std::string MagAOX::app::modalGainOpt::m_smoothOlPSDShmimName
protected

Definition at line 952 of file modalGainOpt.hpp.

Referenced by allocate(), and loadConfigImpl().

◆ m_smoothOlPSDStream

IMAGE* MagAOX::app::modalGainOpt::m_smoothOlPSDStream { nullptr }
protected

The ImageStreamIO shared memory buffer to publish the smoothed OL PSDs

Definition at line 975 of file modalGainOpt.hpp.

Referenced by allocate(), appShutdown(), checkSizes(), and goptThreadExec().

◆ m_smState [1/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [2/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [3/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [4/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [5/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [6/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [7/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [8/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [9/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [10/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [11/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [12/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [13/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [14/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smState [15/15]

shmimMonitorState MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smState
protectedinherited

Definition at line 132 of file shmimMonitor.hpp.

◆ m_smThread [1/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [2/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [3/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [4/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [5/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [6/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [7/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [8/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [9/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [10/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [11/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [12/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [13/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [14/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThread [15/15]

std::thread MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smThread
protectedinherited

A separate thread for the actual monitoring.

Definition at line 240 of file shmimMonitor.hpp.

◆ m_smThreadID [1/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [2/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [3/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [4/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [5/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [6/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [7/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [8/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [9/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [10/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [11/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [12/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [13/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [14/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadID [15/15]

pid_t MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smThreadID
protectedinherited

The s.m. thread PID.

Definition at line 236 of file shmimMonitor.hpp.

◆ m_smThreadInit [1/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [2/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [3/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [4/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [5/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [6/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [7/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [8/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [9/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [10/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [11/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [12/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [13/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [14/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadInit [15/15]

bool MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smThreadInit
protectedinherited

Synchronizer for thread startup, to allow priority setting to finish.

Definition at line 234 of file shmimMonitor.hpp.

◆ m_smThreadPrio [1/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [2/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [3/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [4/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [5/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [6/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [7/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [8/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [9/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [10/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [11/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [12/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [13/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [14/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadPrio [15/15]

int MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smThreadPrio
protectedinherited

Priority of the shmimMonitor thread, should normally be > 00.

Definition at line 121 of file shmimMonitor.hpp.

◆ m_smThreadProp [1/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [2/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [3/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , pcGainFactShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [4/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [5/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [6/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [7/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , pcMultFactShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [8/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , multFactShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [9/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [10/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [11/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [12/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [13/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , numpccoeffShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [14/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalFactShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_smThreadProp [15/15]

pcf::IndiProperty MagAOX::app::dev::shmimMonitor< modalGainOpt , gainFactShmimT >::m_smThreadProp
protectedinherited

The property to hold the s.m. thread details.

Definition at line 238 of file shmimMonitor.hpp.

◆ m_state

The application's state. Never ever set this directly, use state(const stateCodeT & s).

Definition at line 576 of file MagAOXApp.hpp.

◆ m_stateAlert

bool MagAOX::app::MagAOXApp< _useINDI >::m_stateAlert
privateinherited

Definition at line 579 of file MagAOXApp.hpp.

◆ m_stateLogged

int MagAOX::app::MagAOXApp< _useINDI >::m_stateLogged
privateinherited

Counter and flag for use to log errors just once. Never ever access directly, use stateLogged().

Definition at line 584 of file MagAOXApp.hpp.

◆ m_suid

uid_t MagAOX::app::MagAOXApp< _useINDI >::m_suid
privateinherited

The save-set user id of the process.

Definition at line 424 of file MagAOXApp.hpp.

◆ m_sysPath

std::string MagAOX::app::MagAOXApp< _useINDI >::m_sysPath
protectedinherited

The path to the system directory, for PID file, etc.

Definition at line 198 of file MagAOXApp.hpp.

◆ m_targetState [1/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [2/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [3/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [4/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [5/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [6/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [7/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [8/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [9/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [10/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [11/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [12/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [13/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [14/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_targetState [15/15]

Definition at line 130 of file shmimMonitor.hpp.

◆ m_taus

std::vector<float> MagAOX::app::modalGainOpt::m_taus
protected

Definition at line 938 of file modalGainOpt.hpp.

Referenced by checkSizes(), processImage(), and refreshGoptStructures().

◆ m_tel

Definition at line 81 of file telemeter.hpp.

◆ m_timesOnLP

std::vector<int> MagAOX::app::modalGainOpt::m_timesOnLP
protected

Definition at line 883 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_timesOnSI

std::vector<int> MagAOX::app::modalGainOpt::m_timesOnSI
protected

Definition at line 875 of file modalGainOpt.hpp.

Referenced by allocate(), and goptThreadExec().

◆ m_typeSize [1/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , acoeffShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [2/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsmaskShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [3/15]

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [4/15]

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [5/15]

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [6/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , bcoeffShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [7/15]

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [8/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , psdShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [9/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , noiseShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [10/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , tauShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [11/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , wfsavgShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [12/15]

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [13/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , gainCalShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [14/15]

size_t MagAOX::app::dev::shmimMonitor< modalGainOpt , freqShmimT >::m_typeSize
protectedinherited

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_typeSize [15/15]

The size of the type, in bytes. Result of sizeof.

Definition at line 141 of file shmimMonitor.hpp.

◆ m_updateOnce

bool MagAOX::app::modalGainOpt::m_updateOnce { false }
protected

Flag to trigger a single update with gain.

Definition at line 824 of file modalGainOpt.hpp.

Referenced by appLogic(), and goptThreadExec().

◆ m_updating

◆ m_useINDI

constexpr bool MagAOX::app::MagAOXApp< _useINDI >::m_useINDI
staticconstexprprotectedinherited

Flag controlling whether INDI is used. If false, then no INDI code executes.

Definition at line 654 of file MagAOXApp.hpp.

◆ m_wfsavg

eigenImage<float> MagAOX::app::modalGainOpt::m_wfsavg
protected

Definition at line 942 of file modalGainOpt.hpp.

Referenced by processImage(), and processImage().

◆ m_wfsDevice

std::string MagAOX::app::modalGainOpt::m_wfsDevice { "camwfs" }
protected

Definition at line 786 of file modalGainOpt.hpp.

Referenced by appStartup().

◆ m_wfsmask

eigenImage<float> MagAOX::app::modalGainOpt::m_wfsmask
protected

Definition at line 943 of file modalGainOpt.hpp.

Referenced by processImage(), and processImage().

◆ m_width [1/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [2/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [3/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [4/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [5/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [6/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [7/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [8/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [9/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [10/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [11/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [12/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [13/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [14/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_width [15/15]

The width of the images in the stream.

Definition at line 136 of file shmimMonitor.hpp.

◆ m_zeroGains

bool MagAOX::app::modalGainOpt::m_zeroGains { false }
protected

Flag requesting the SI gain integrator state be zeroed.

Definition at line 827 of file modalGainOpt.hpp.

Referenced by appLogic(), and goptThreadExec().

◆ pidFileName

std::string MagAOX::app::MagAOXApp< _useINDI >::pidFileName
protectedinherited

The name of the PID file.

Definition at line 504 of file MagAOXApp.hpp.


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