#include <dm.hpp>

Public Member Functions | |
| ~dm () | |
| Destructor. | |
| const std::string & | calibPath () const |
| Get the. | |
| const std::string & | flatPath () const |
| Get the. | |
| const std::string & | testPath () const |
| Get the. | |
| const std::string & | flatDefault () const |
| Get the. | |
| const std::string & | testDefault () const |
| Get the. | |
| const std::string & | shmimFlat () const |
| Get the. | |
| const std::string & | shmimTest () const |
| Get the. | |
| const std::string & | shmimSat () const |
| Get the. | |
| const std::string & | shmimSatPerc () const |
| Get the stream name for saturation percentage. | |
| int | satAvgInt () const |
| Get the saturation accumulation interval. | |
| int | satThreadPrio () const |
| Get the saturation thread priority. | |
| const std::string & | shmimShape () const |
| Get the. | |
| const std::string & | shmimDelta () const |
| Get the. | |
| uint32_t | dmWidth () const |
| Get the DM Width. | |
| uint32_t | dmHeight () const |
| Get the DM Height. | |
| uint8_t | dmDataType () const |
| Get the DM data type. | |
| float | percThreshold () const |
| Get the saturation percentage threshold. | |
| float | intervalSatThreshold () const |
| Get the interval saturation threshold. | |
| int | intervalSatCountThreshold () const |
| Get the interval saturation count threshold. | |
| const std::vector< std::string > & | satTriggerDevice () const |
| Get the saturation trigger device(s) | |
| const std::vector< std::string > & | satTriggerProperty () const |
| Get the saturation trigger property(ies) | |
| const std::string & | calibRelDir () const |
| int | numChannels () const |
| const mx::improc::eigenImage< uint8_t > & | instSatMap () const |
| const mx::improc::eigenImage< uint16_t > & | accumSatMap () const |
| const mx::improc::eigenImage< float > & | satPercMap () const |
| const std::vector< std::string > & | deltaChannels () const |
| const std::vector< size_t > & | notDeltas () const |
| const mx::improc::eigenImage< float > & | totalFlat () const |
| int | setupConfig (mx::app::appConfigurator &config) |
| Setup the configuration system. | |
| int | loadConfig (mx::app::appConfigurator &config) |
| load the configuration system results | |
| int | appStartup () |
| Startup function. | |
| int | appLogic () |
| DM application logic. | |
| int | appShutdown () |
| DM shutdown. | |
| int | onPowerOff () |
| DM Poweroff. | |
| int | whilePowerOff () |
| DM Poweroff Updates. | |
| int | findDMChannels () |
| Find the DM comb channels. | |
| int | allocate (const dev::shmimT &sp) |
| Called after shmimMonitor connects to the dmXXdisp stream. Checks for proper size. | |
| int | processImage (void *curr_src, const dev::shmimT &sp) |
| int | baseInitDM () |
| Calls derived()->initDM() | |
| int | baseReleaseDM () |
| Calls derived()->releaseDM() and then 0s all channels and the sat map. | |
| int | checkFlats () |
| Check the flats directory and update the list of flats if anything changes. | |
| int | loadFlat (const std::string &target) |
| Load a flat file. | |
| int | setFlat (bool update=false) |
| Send the current flat command to the DM. | |
| int | zeroFlat () |
| Zero the flat command on the DM. | |
| int | checkTests () |
| Check the tests directory and update the list of tests if anything changes. | |
| int | loadTest (const std::string &target) |
| Load a test file. | |
| int | setTest () |
| Send the current test command to the DM. | |
| int | zeroTest () |
| Zero the test command on the DM. | |
| int | zeroAll (bool nosem=false) |
| Zero all channels. | |
| int | makeDelta () |
| Calculate the delta command from the output shape. | |
| int | clearSat () |
| Clear the saturation maps and zero the shared memory. | |
Protected Attributes | |
| std::string | m_calibRelDir |
| int | m_numChannels { 0 } |
| The number of dmcomb channels found as part of allocation. | |
| std::vector< mx::improc::milkImage< realT > * > | m_channels |
| std::map< std::string, std::string > | m_flatCommands |
| Map of flat file name to full path. | |
| std::string | m_flatCurrent |
| The name of the current flat command. | |
| mx::improc::eigenImage< realT > | m_flatCommand |
| Data storage for the flat command. | |
| bool | m_flatLoaded { false } |
| Flag indicating whether a flat is loaded in memory. | |
| IMAGE | m_flatImageStream |
| The ImageStreamIO shared memory buffer for the flat. | |
| bool | m_flatSet { false } |
| Flag indicating whether the flat command has been set. | |
| mx::improc::milkImage< realT > | m_actMask |
| std::map< std::string, std::string > | m_testCommands |
| Map of test file name to full path. | |
| std::string | m_testCurrent |
| mx::improc::eigenImage< realT > | m_testCommand |
| Data storage for the test command. | |
| bool | m_testLoaded { false } |
| Flag indicating whether a test command is loaded in memory. | |
| IMAGE | m_testImageStream |
| The ImageStreamIO shared memory buffer for the test. | |
| bool | m_testSet { false } |
| Flag indicating whether the test command has been set. | |
| mx::improc::eigenImage< uint8_t > | m_instSatMap |
| mx::improc::eigenImage< uint16_t > | m_accumSatMap |
| mx::improc::eigenImage< float > | m_satPercMap |
| IMAGE | m_satImageStream |
| The ImageStreamIO shared memory buffer for the sat map. | |
| IMAGE | m_satPercImageStream |
| The ImageStreamIO shared memory buffer for the sat percentage map. | |
| int | m_overSatAct { 0 } |
| int | m_intervalSatExceeds { 0 } |
| bool | m_intervalSatTrip { 0 } |
| mx::improc::milkImage< realT > | m_outputShape |
| The true output shape after saturation. | |
| std::vector< std::string > | m_deltaChannels |
| The names of channels which are treated as delta commands. | |
| std::vector< size_t > | m_deltas |
| Indices of the channels which are delta commands. | |
| std::vector< size_t > | m_notDeltas |
| Indices of the channels which are not delta commands. | |
| mx::improc::eigenImage< realT > | m_totalFlat |
| the total of all non-delta channels | |
| mx::improc::eigenImage< realT > | m_totalDelta |
| the total of all delta channels | |
| mx::improc::milkImage< realT > | m_outputDelta |
| The true output delta command after saturation. | |
| mx::improc::milkImage< realT > | m_outputDiff |
| The difference between command and true delta command after saturation. | |
Saturation Thread Data | |
This thread processes the saturation maps | |
| sem_t | m_satSemaphore |
| Semaphore used to tell the saturation thread to run. | |
| bool | m_satThreadInit { true } |
| Synchronizer for thread startup, to allow priority setting to finish. | |
| pid_t | m_satThreadID { 0 } |
| The ID of the saturation thread. | |
| pcf::IndiProperty | m_satThreadProp |
| The property to hold the saturation thread details. | |
| std::thread | m_satThread |
| A separate thread for the actual saturation processing. | |
Private Types | |
| typedef mx::verbose::vvv | verboseT |
Private Member Functions | |
| derivedT & | derived () |
Configurable Parameters | |
| std::string | m_calibPath |
| The path to this DM's calibration files. | |
| std::string | m_flatPath |
| The path to this DM's flat files (usually the same as calibPath) | |
| std::string | m_testPath |
| The path to this DM's test files (default is calibPath/tests;. | |
| std::string | m_actMaskPath |
| The file name of the actuator mask for this DM. | |
| std::string | m_flatDefault |
| std::string | m_testDefault |
| std::string | m_shmimFlat |
| The name of the shmim stream to write the flat to. | |
| std::string | m_shmimTest |
| The name of the shmim stream to write the test to. | |
| std::string | m_shmimSat |
| The name of the shmim stream to write the saturation map to. | |
| std::string | m_shmimSatPerc |
| The name of the shmim stream to write the saturation percentage map to. | |
| int | m_satAvgInt { 100 } |
| The time in milliseconds to accumulate saturation over. | |
| int | m_satThreadPrio { 0 } |
| Priority of the saturation thread. Usually ok to be 0. | |
| std::string | m_shmimShape |
| The name of the shmim stream to write the desaturated true shape to. | |
| std::string | m_shmimDelta |
| The name of the shmim stream to write the desaturated delta command to. | |
| std::string | m_shmimDiff |
| The name of the shmim stream to write the difference to. | |
| uint32_t | m_dmWidth { 0 } |
| The width of the images in the stream. | |
| uint32_t | m_dmHeight { 0 } |
| The height of the images in the stream. | |
| float | m_percThreshold { 0.98 } |
| Threshold on percentage of frames an actuator is saturated over an interval. | |
| float | m_intervalSatThreshold { 0.50 } |
| int | m_intervalSatCountThreshold { 10 } |
| std::vector< std::string > | m_satTriggerDevice |
| Device(s) with a toggle switch to toggle on saturation trigger. | |
| std::vector< std::string > | m_satTriggerProperty |
| static constexpr uint8_t | m_dmDataType = ImageStreamTypeCode<realT>() |
| The ImageStreamIO type code. | |
INDI | |
| pcf::IndiProperty | m_indiP_flat |
| Property used to set and report the current flat. | |
| pcf::IndiProperty | m_indiP_init |
| pcf::IndiProperty | m_indiP_zero |
| pcf::IndiProperty | m_indiP_release |
| pcf::IndiProperty | m_indiP_flats |
| INDI Selection switch containing the flat files. | |
| pcf::IndiProperty | m_indiP_flatShmim |
| Publish the shmim being used for the flat. | |
| pcf::IndiProperty | m_indiP_setFlat |
| INDI toggle switch to set the current flat. | |
| pcf::IndiProperty | m_indiP_tests |
| INDI Selection switch containing the test pattern files. | |
| pcf::IndiProperty | m_indiP_testShmim |
| Publish the shmim being used for the test command. | |
| pcf::IndiProperty | m_indiP_setTest |
| INDI toggle switch to set the current test pattern. | |
| pcf::IndiProperty | m_indiP_zeroAll |
| int | newCallBack_init (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_zero (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_release (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_flats (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_setFlat (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_tests (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_setTest (const pcf::IndiProperty &ipRecv) |
| The callback called by the static version, to actually process the new request. | |
| int | newCallBack_zeroAll (const pcf::IndiProperty &ipRecv) |
| The callback for the zeroAll toggle switch, called by the static version. | |
| int | updateINDI () |
| Update the INDI properties for this device controller. | |
| static int | st_newCallBack_init (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for initializing the DM. | |
| static int | st_newCallBack_zero (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for initializing the DM. | |
| static int | st_newCallBack_release (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for initializing the DM. | |
| static int | st_newCallBack_flats (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for selecting the flat file. | |
| static int | st_newCallBack_setFlat (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for setting the flat. | |
| static int | st_newCallBack_tests (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for selecting the test file. | |
| static int | st_newCallBack_setTest (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for setting the test shape. | |
| static int | st_newCallBack_zeroAll (void *app, const pcf::IndiProperty &ipRecv) |
| The static callback function to be registered for zeroing all channels. | |
Saturation Thread Functions | |
This thread processes the saturation maps | |
| static void | satThreadStart (dm *d) |
| Thread starter, called by MagAOXApp::threadStart on thread construction. Calls satThreadExec. | |
| void | satThreadExec () |
| Execute saturation processing. | |
| void | intervalSatTrip () |
| Trigger loop openings because of excessive saturation. | |
MagAO-X generic deformable mirror controller
The derived class derivedT must meet the following requirements:
setupConfig, loadConfig, appStartup, appLogic, appShutdown, and udpdateINDI functions must be placed in the derived class's functions of the same name. For convenience the following macros are defined to provide error checking:
|
private |
| MagAOX::app::dev::dm< derivedT, realT >::~dm | ( | ) |
| const mx::improc::eigenImage< uint16_t > & MagAOX::app::dev::dm< derivedT, realT >::accumSatMap | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::allocate | ( | const dev::shmimT & | sp | ) |
Called after shmimMonitor connects to the dmXXdisp stream. Checks for proper size.
| int MagAOX::app::dev::dm< derivedT, realT >::appLogic | ( | ) |
DM application logic.
This should be called in derivedT::appLogic as
with appropriate error checking.
Definition at line 1551 of file dm.hpp.
Referenced by MagAOX::app::irisaoCtrl::appLogic().
| int MagAOX::app::dev::dm< derivedT, realT >::appShutdown | ( | ) |
DM shutdown.
This should be called in derivedT::appShutdown as
with appropriate error checking.
Definition at line 1617 of file dm.hpp.
Referenced by MagAOX::app::irisaoCtrl::appShutdown().
| int MagAOX::app::dev::dm< derivedT, realT >::appStartup | ( | ) |
Startup function.
This should be called in derivedT::appStartup as
with appropriate error checking.
Definition at line 1405 of file dm.hpp.
Referenced by MagAOX::app::irisaoCtrl::appStartup().
| int MagAOX::app::dev::dm< derivedT, realT >::baseInitDM | ( | ) |
Calls derived()->initDM()
Definition at line 1920 of file dm.hpp.
References MagAOX::app::stateCodes::ERROR, MagAOX::app::stateCodes::HOMING, and MagAOX::app::stateCodes::NOTHOMED.
| int MagAOX::app::dev::dm< derivedT, realT >::baseReleaseDM | ( | ) |
Calls derived()->releaseDM() and then 0s all channels and the sat map.
This is called by the relevant INDI callback
Definition at line 1943 of file dm.hpp.
References MagAOX::app::stateCodes::ERROR, MagAOX::app::stateCodes::NOTHOMED, and MagAOX::app::stateCodes::POWEROFF.
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::calibPath | ( | ) | const |
Get the.
Definition at line 822 of file dm.hpp.
Referenced by TEST_CASE().
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::calibRelDir | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::checkFlats | ( | ) |
Check the flats directory and update the list of flats if anything changes.
This is called once per appLogic and whilePowerOff loops.
Definition at line 1969 of file dm.hpp.
References MagAOX::app::it.
| int MagAOX::app::dev::dm< derivedT, realT >::checkTests | ( | ) |
Check the tests directory and update the list of tests if anything changes.
This is called once per appLogic and whilePowerOff loops.
Definition at line 2402 of file dm.hpp.
References MagAOX::app::it.
| int MagAOX::app::dev::dm< derivedT, realT >::clearSat | ( | ) |
| const std::vector< std::string > & MagAOX::app::dev::dm< derivedT, realT >::deltaChannels | ( | ) | const |
|
inlineprivate |
| uint8_t MagAOX::app::dev::dm< derivedT, realT >::dmDataType | ( | ) | const |
| uint32_t MagAOX::app::dev::dm< derivedT, realT >::dmHeight | ( | ) | const |
| uint32_t MagAOX::app::dev::dm< derivedT, realT >::dmWidth | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::findDMChannels | ( | ) |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::flatDefault | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::flatPath | ( | ) | const |
| const mx::improc::eigenImage< uint8_t > & MagAOX::app::dev::dm< derivedT, realT >::instSatMap | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::intervalSatCountThreshold | ( | ) | const |
| float MagAOX::app::dev::dm< derivedT, realT >::intervalSatThreshold | ( | ) | const |
|
protected |
| int MagAOX::app::dev::dm< derivedT, realT >::loadConfig | ( | mx::app::appConfigurator & | config | ) |
load the configuration system results
This should be called in derivedT::loadConfig as
with appropriate error checking.
| [in] | config | the derived classes configurator |
Definition at line 1255 of file dm.hpp.
Referenced by MagAOX::app::irisaoCtrl::loadConfigImpl(), and TEST_CASE().
| int MagAOX::app::dev::dm< derivedT, realT >::loadFlat | ( | const std::string & | target | ) |
Load a flat file.
Uses the target argument for lookup in m_flatCommands to find the path and loads the command in the local memory. Calls setFlat if the flat is currently set.
| [in] | target | the name of the flat to load |
Definition at line 2118 of file dm.hpp.
References MagAOX::app::target.
| int MagAOX::app::dev::dm< derivedT, realT >::loadTest | ( | const std::string & | target | ) |
Load a test file.
Uses the target argument for lookup in m_testCommands to find the path and loads the command in the local memory. Calls setTest if the test is currently set.
Definition at line 2513 of file dm.hpp.
References MagAOX::app::target.
| int MagAOX::app::dev::dm< derivedT, realT >::makeDelta | ( | ) |
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_flats | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3247 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_init | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3168 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_release | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the new property request. |
Definition at line 3223 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_setFlat | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3298 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_setTest | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3376 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_tests | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3325 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_zero | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback called by the static version, to actually process the new request.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3199 of file dm.hpp.
References MagAOX::app::ipRecv.
| int MagAOX::app::dev::dm< derivedT, realT >::newCallBack_zeroAll | ( | const pcf::IndiProperty & | ipRecv | ) |
The callback for the zeroAll toggle switch, called by the static version.
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3403 of file dm.hpp.
References INDI_BUSY, MagAOX::app::ipRecv, and MagAOX::app::indi::updateSwitchIfChanged().
| const std::vector< size_t > & MagAOX::app::dev::dm< derivedT, realT >::notDeltas | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::numChannels | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::onPowerOff | ( | ) |
DM Poweroff.
This should be called in derivedT::onPowerOff as
with appropriate error checking.
| float MagAOX::app::dev::dm< derivedT, realT >::percThreshold | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::processImage | ( | void * | curr_src, |
| const dev::shmimT & | sp | ||
| ) |
Called by shmimMonitor when a new DM command is available. This is just a pass-through to derivedT::commandDM(char*).
| int MagAOX::app::dev::dm< derivedT, realT >::satAvgInt | ( | ) | const |
Get the saturation accumulation interval.
| const mx::improc::eigenImage< float > & MagAOX::app::dev::dm< derivedT, realT >::satPercMap | ( | ) | const |
|
protected |
Execute saturation processing.
Definition at line 2924 of file dm.hpp.
References IMAGESTRUCT_FLOAT, and IMAGESTRUCT_UINT8.
Referenced by MagAOX::app::dev::dm< derivedT, realT >::satThreadStart().
| int MagAOX::app::dev::dm< derivedT, realT >::satThreadPrio | ( | ) | const |
Get the saturation thread priority.
|
staticprotected |
Thread starter, called by MagAOXApp::threadStart on thread construction. Calls satThreadExec.
| [in] | d | a pointer to a dm instance (normally this) |
Definition at line 2918 of file dm.hpp.
References MagAOX::app::dev::dm< derivedT, realT >::satThreadExec().
| const std::vector< std::string > & MagAOX::app::dev::dm< derivedT, realT >::satTriggerDevice | ( | ) | const |
| const std::vector< std::string > & MagAOX::app::dev::dm< derivedT, realT >::satTriggerProperty | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::setFlat | ( | bool | update = false | ) |
Send the current flat command to the DM.
Writes the command to the designated shmim.
| [in] | update | If true, this is an update rather than a new set |
Definition at line 2222 of file dm.hpp.
References MagAOX::app::stateCodes::OPERATING, and MagAOX::app::stateCodes::READY.
| int MagAOX::app::dev::dm< derivedT, realT >::setTest | ( | ) |
Send the current test command to the DM.
Writes the command to the designated shmim.
| int MagAOX::app::dev::dm< derivedT, realT >::setupConfig | ( | mx::app::appConfigurator & | config | ) |
Setup the configuration system.
This should be called in derivedT::setupConfig as
with appropriate error checking.
| [out] | config | the derived classes configurator |
Definition at line 984 of file dm.hpp.
Referenced by MagAOX::app::irisaoCtrl::setupConfig(), and TEST_CASE().
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::shmimDelta | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::shmimFlat | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::shmimSat | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::shmimSatPerc | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::shmimShape | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::shmimTest | ( | ) | const |
|
static |
The static callback function to be registered for selecting the flat file.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the new property request. |
Definition at line 3241 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for initializing the DM.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3162 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for initializing the DM.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3217 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for setting the flat.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3292 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for setting the test shape.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3370 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for selecting the test file.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3319 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for initializing the DM.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3193 of file dm.hpp.
References MagAOX::app::ipRecv.
|
static |
The static callback function to be registered for zeroing all channels.
| [in] | app | a pointer to this, will be static_cast-ed to derivedT. |
| [in] | ipRecv | the INDI property sent with the the new property request. |
Definition at line 3397 of file dm.hpp.
References MagAOX::app::ipRecv.
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::testDefault | ( | ) | const |
| const std::string & MagAOX::app::dev::dm< derivedT, realT >::testPath | ( | ) | const |
| const mx::improc::eigenImage< float > & MagAOX::app::dev::dm< derivedT, realT >::totalFlat | ( | ) | const |
| int MagAOX::app::dev::dm< derivedT, realT >::updateINDI | ( | ) |
| int MagAOX::app::dev::dm< derivedT, realT >::whilePowerOff | ( | ) |
DM Poweroff Updates.
This should be called in derivedT::whilePowerOff as
with appropriate error checking.
| int MagAOX::app::dev::dm< derivedT, realT >::zeroAll | ( | bool | nosem = false | ) |
Zero all channels.
| [in] | nosem | [optional] if true then the semaphore is not raised after zeroing all channels |
Definition at line 2742 of file dm.hpp.
References INDI_IDLE, MagAOX::app::stateCodes::OPERATING, and MagAOX::app::stateCodes::READY.
| int MagAOX::app::dev::dm< derivedT, realT >::zeroFlat | ( | ) |
Zero the flat command on the DM.
Writes a 0 array the designated shmim.
Definition at line 2326 of file dm.hpp.
References MagAOX::app::stateCodes::OPERATING, and MagAOX::app::stateCodes::READY.
| int MagAOX::app::dev::dm< derivedT, realT >::zeroTest | ( | ) |
Zero the test command on the DM.
Writes a 0 array the designated shmim.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The directory relative to the calibPath. Set this before calling dm<derivedT,realT>::loadConfig().
|
protected |
|
protected |
|
protected |
|
staticconstexprprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |