![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
Adaptive Optics Control loop engine. More...
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <gsl/gsl_math.h>
#include <time.h>
#include "CommandLineInterface/CLIcore.h"
#include "00CORE/00CORE.h"
#include "COREMOD_memory/COREMOD_memory.h"
#include "COREMOD_iofits/COREMOD_iofits.h"
#include "COREMOD_tools/COREMOD_tools.h"
#include "COREMOD_arith/COREMOD_arith.h"
#include "linopt_imtools/linopt_imtools.h"
#include "AOloopControl/AOloopControl.h"
#include "image_filter/image_filter.h"
#include "info/info.h"
#include "ZernikePolyn/ZernikePolyn.h"
#include "image_gen/image_gen.h"
#include "statistic/statistic.h"
#include "fft/fft.h"
#include "AOloopControl_IOtools/AOloopControl_IOtools.h"
#include "AOloopControl_PredictiveControl/AOloopControl_PredictiveControl.h"
#include "AOloopControl_acquireCalib/AOloopControl_acquireCalib.h"
#include "AOloopControl_computeCalib/AOloopControl_computeCalib.h"
#include "AOloopControl_perfTest/AOloopControl_perfTest.h"
Macros | |
#define | MODULE_SHORTNAME_DEFAULT "" |
#define | MODULE_DESCRIPTION "AO loop control" |
#define | MODULE_APPLICATION "cacao" |
#define | _GNU_SOURCE |
#define | likely(x) __builtin_expect(!!(x), 1) |
#define | unlikely(x) __builtin_expect(!!(x), 0) |
#define | NB_AOloopcontrol 10 |
Functions | ||||
AOloopControl - 1. INITIALIZATION, configurations | ||||
errno_t | AOloopControl_loadconfigure_cli () | |||
CLI function for AOloopControl_loadconfigure. More... | ||||
errno_t | AOloopControl_aorun_cli () | |||
CLI function for AOloopControl_stream3Dto2D. More... | ||||
int | AOloopControl_bogusfunc () | |||
AOloopControl - 6. REAL TIME COMPUTING ROUTINES | ||||
calls CPU and GPU processing | ||||
errno_t | AOloopControl_AOcompute_GUI_cli () | |||
CLI function for AOloopControl_AOcompute_GUI. More... | ||||
errno_t | AOloopControl_aorun_GUI_cli () | |||
CLI function for AOloopControl_aorun_GUI. More... | ||||
errno_t | AOloopControl_WFSzpupdate_loop_cli () | |||
CLI function for AOloopControl_WFSzpupdate_loop. More... | ||||
errno_t | AOloopControl_WFSzeropoint_sum_update_loop_cli () | |||
CLI function for AOloopControl_WFSzeropoint_sum_update_loop. More... | ||||
errno_t | AOloopControl_CompModes_loop_cli () | |||
CLI function for AOloopControl_CompModes_loop. More... | ||||
errno_t | AOloopControl_GPUmodecoeffs2dm_filt_loop_cli () | |||
CLI function for AOloopControl_GPUmodecoeffs2dm_filt. More... | ||||
errno_t | AOloopControl_computeWFSresidualimage_cli () | |||
CLI function for AOloopControl_computeWFSresidualimage. More... | ||||
errno_t | AOloopControl_ProcessModeCoefficients_cli () | |||
CLI function for AOloopControl_ProcessModeCoefficients. More... | ||||
errno_t | AOloopControl_AutoTuneGains_cli () | |||
CLI function for AOloopControl_AutoTuneGains. More... | ||||
errno_t | AOloopControl_dm2dm_offload_cli () | |||
CLI function for AOloopControl_dm2dm_offload. More... | ||||
errno_t | AOloopControl_sig2Modecoeff_cli () | |||
CLI function for AOloopControl_sig2Modecoeff. More... | ||||
AOloopControl - 8. LOOP CONTROL INTERFACE | ||||
errno_t | AOloopControl_setLoopNumber_cli () | |||
CLI function for AOloopControl_setLoopNumber. More... | ||||
AOloopControl - 10. FOCAL PLANE SPECKLE MODULATION / CONTROL | ||||
errno_t | AOloopControl_DMmodulateAB_cli () | |||
CLI function for AOloopControl_DMmodulateAB. More... | ||||
AOloopControl - 11. PROCESS LOG FILES | ||||
PurposeInitialization of the AO loop Control with all of the CLI command line interface commands Arguments
| ||||
errno_t | AOloopControl_logprocess_modeval_cli () | |||
CLI function for AOloopControl_logprocess_modeval. More... | ||||
errno_t | AOloopControl_setgainrange (long m0, long m1, float gainval) | |||
errno_t | AOloopControl_setlimitrange (long m0, long m1, float limval) | |||
errno_t | AOloopControl_setmultfrange (long m0, long m1, float multfval) | |||
errno_t | AOloopControl_setgainblock (long mb, float gainval) | |||
errno_t | AOloopControl_setlimitblock (long mb, float limitval) | |||
errno_t | AOloopControl_setmultfblock (long mb, float multfval) | |||
errno_t | AOloopControl_AutoTune () | |||
AOloopControl - 6. REAL-TIME LOGGING - AOloopControl_RTstreamLOG.c | ||||
errno_t | AOloopControl_RTstreamLOG_init_cli () | |||
errno_t | AOloopControl_RTstreamLOG_printstatus_cli () | |||
errno_t | AOloopControl_RTstreamLOG_GUI_cli () | |||
errno_t | AOloopControl_RTstreamLOG_saveloop_cli () | |||
errno_t | AOloopControl_RTstreamLOG_set_saveON_cli () | |||
errno_t | AOloopControl_RTstreamLOG_set_saveOFF_cli () | |||
errno_t | AOloopControl_RTstreamLOG_set_ON_cli () | |||
errno_t | AOloopControl_RTstreamLOG_set_OFF_cli () | |||
errno_t | AOloopControl_setparam_cli () | |||
Variables | |
static int | DISABLE_CLI_AOloopControl = 0 |
long | LOOPNUMBER = 0 |
AOloopControl_var | aoloopcontrol_var |
AOloopControl - 8.7. LOOP CONTROL INTERFACE - CONTROL LOOP PARAMETERS | |
AOLOOPCONTROL_CONF * | AOconf |
CLI function for AOloopControl_setframesAve. More... | |
errno_t | AOloopControl_set_modeblock_gain_cli () |
CLI function for AOloopControl_set_modeblock_gain. More... | |
errno_t | AOloopControl_loopstep_cli () |
CLI function for AOloopControl_loopstep. More... | |
errno_t | AOloopControl_set_loopfrequ_cli () |
CLI function for AOloopControl_set_loopfrequ. More... | |
errno_t | AOloopControl_set_hardwlatency_frame_cli () |
CLI function for AOloopControl_set_hardwlatency_frame. More... | |
errno_t | AOloopControl_set_complatency_frame_cli () |
CLI function for AOloopControl_set_complatency_frame. More... | |
errno_t | AOloopControl_set_wfsmextrlatency_frame_cli () |
CLI function for AOloopControl_set_wfsmextrlatency_frame. More... | |
errno_t | AOloopControl_set_AUTOTUNE_LIMITS_delta_cli () |
CLI function for AOloopControl_set_AUTOTUNE_LIMITS_delta. More... | |
errno_t | AOloopControl_set_AUTOTUNE_LIMITS_perc_cli () |
CLI function for AOloopControl_set_AUTOTUNE_LIMITS_perc. More... | |
errno_t | AOloopControl_set_AUTOTUNE_LIMITS_mcoeff_cli () |
CLI function for AOloopControl_set_AUTOTUNE_LIMITS_mcoeff. More... | |
errno_t | AOloopControl_setgain_cli () |
CLI function for AOloopControl_setgain. More... | |
errno_t | AOloopControl_setARPFgain_cli () |
CLI function for AOloopControl_setARPFgain. More... | |
errno_t | AOloopControl_setARPFgainAutoMin_cli () |
CLI function for AOloopControl_setARPFgain. More... | |
errno_t | AOloopControl_setARPFgainAutoMax_cli () |
CLI function for AOloopControl_setARPFgain. More... | |
errno_t | AOloopControl_setWFSnormfloor_cli () |
CLI function for AOloopControl_setWFSnormfloor. More... | |
errno_t | AOloopControl_setmaxlimit_cli () |
CLI function for AOloopControl_setmaxlimit. More... | |
errno_t | AOloopControl_setmult_cli () |
CLI function for AOloopControl_setmult. More... | |
errno_t | AOloopControl_setgainrange_cli () |
CLI function for AOloopControl_setgainrange. More... | |
errno_t | AOloopControl_setlimitrange_cli () |
CLI function for AOloopControl_setlimitrange. More... | |
errno_t | AOloopControl_setmultfrange_cli () |
CLI function for AOloopControl_setmultfrange. More... | |
errno_t | AOloopControl_setgainblock_cli () |
CLI function for AOloopControl_setgainblock. More... | |
errno_t | AOloopControl_setlimitblock_cli () |
CLI function for AOloopControl_setlimitblock. More... | |
errno_t | AOloopControl_setmultfblock_cli () |
CLI function for AOloopControl_setmultfblock. More... | |
errno_t | AOloopControl_scanGainBlock_cli () |
CLI function for AOloopControl_scanGainBlock. More... | |
Adaptive Optics Control loop engine.
AO engine uses stream data structure
AOloopControl_initmem.c Initialize memory AOloopControl_loadconfigure.c Load and save configuration AOloopControl_aorun.c Main level loop function, calls AOcompute AOloopControl_AOcompute.c AO Compute function, WFS to DM commands AOloopControl_wfs.c Read WFS data, low level processing of WFS data AOloopControl_dm.c Deformable mirror control, write modes to DM AOloopControl_dmwrite.c Turn DM write on/off AOloopControl_loop_ctr.c Loop control user interface AOloopControl_loop_onoff.c Turn loop on/off, pause, step AOloopControl_param.c Set parameters AOloopControl_read_param.c Read parameters AOloopControl_ProcessModeCoefficients.c Modal control AOloopControl_CompModes_loop.c Compute modes (loop)
AOloopControl_RTstreamLOG.c Log real-time telemetry
AOloopControl_arpf_onoff.c Autoregressive predictive control On/Off AOloopControl_predfilter_onoff.c Turn predictive control on/off AOloopControl_autotune.c Automatic loop tuning (mostly gain values) AOloopControl_process_files.c – EXPERIMENTAL – RM optimization from telemetry
AOloopControl_time_param.c ?? AOloopControl_sig2Modecoeff.c ?? AOloopControl_fpspeckle_mod.c Speckle modulation (experimental)
#define _GNU_SOURCE |
#define likely | ( | x | ) | __builtin_expect(!!(x), 1) |
#define MODULE_APPLICATION "cacao" |
#define MODULE_DESCRIPTION "AO loop control" |
#define MODULE_SHORTNAME_DEFAULT "" |
#define NB_AOloopcontrol 10 |
#define unlikely | ( | x | ) | __builtin_expect(!!(x), 0) |
errno_t AOloopControl_AOcompute_GUI_cli | ( | ) |
CLI function for AOloopControl_AOcompute_GUI.
errno_t AOloopControl_aorun_cli | ( | ) |
CLI function for AOloopControl_stream3Dto2D.
CLI function for AOloopControl_mkCM
errno_t AOloopControl_aorun_GUI_cli | ( | ) |
CLI function for AOloopControl_aorun_GUI.
errno_t AOloopControl_AutoTune | ( | ) |
errno_t AOloopControl_AutoTuneGains_cli | ( | ) |
CLI function for AOloopControl_AutoTuneGains.
int AOloopControl_bogusfunc | ( | ) |
errno_t AOloopControl_CompModes_loop_cli | ( | ) |
CLI function for AOloopControl_CompModes_loop.
errno_t AOloopControl_computeWFSresidualimage_cli | ( | ) |
CLI function for AOloopControl_computeWFSresidualimage.
errno_t AOloopControl_dm2dm_offload_cli | ( | ) |
CLI function for AOloopControl_dm2dm_offload.
errno_t AOloopControl_DMmodulateAB_cli | ( | ) |
CLI function for AOloopControl_DMmodulateAB.
errno_t AOloopControl_GPUmodecoeffs2dm_filt_loop_cli | ( | ) |
CLI function for AOloopControl_GPUmodecoeffs2dm_filt.
errno_t AOloopControl_loadconfigure_cli | ( | ) |
CLI function for AOloopControl_loadconfigure.
errno_t AOloopControl_logprocess_modeval_cli | ( | ) |
CLI function for AOloopControl_logprocess_modeval.
errno_t AOloopControl_loopstep_cli | ( | ) |
CLI function for AOloopControl_loopstep.
errno_t AOloopControl_ProcessModeCoefficients_cli | ( | ) |
CLI function for AOloopControl_ProcessModeCoefficients.
errno_t AOloopControl_RTstreamLOG_GUI_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_init_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_printstatus_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_saveloop_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_set_OFF_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_set_ON_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_set_saveOFF_cli | ( | ) |
errno_t AOloopControl_RTstreamLOG_set_saveON_cli | ( | ) |
errno_t AOloopControl_scanGainBlock_cli | ( | ) |
CLI function for AOloopControl_scanGainBlock.
errno_t AOloopControl_set_AUTOTUNE_LIMITS_delta_cli | ( | ) |
CLI function for AOloopControl_set_AUTOTUNE_LIMITS_delta.
errno_t AOloopControl_set_AUTOTUNE_LIMITS_mcoeff_cli | ( | ) |
CLI function for AOloopControl_set_AUTOTUNE_LIMITS_mcoeff.
errno_t AOloopControl_set_AUTOTUNE_LIMITS_perc_cli | ( | ) |
CLI function for AOloopControl_set_AUTOTUNE_LIMITS_perc.
errno_t AOloopControl_set_complatency_frame_cli | ( | ) |
CLI function for AOloopControl_set_complatency_frame.
errno_t AOloopControl_set_hardwlatency_frame_cli | ( | ) |
CLI function for AOloopControl_set_hardwlatency_frame.
errno_t AOloopControl_set_loopfrequ_cli | ( | ) |
CLI function for AOloopControl_set_loopfrequ.
errno_t AOloopControl_set_modeblock_gain_cli | ( | ) |
CLI function for AOloopControl_set_modeblock_gain.
errno_t AOloopControl_set_wfsmextrlatency_frame_cli | ( | ) |
CLI function for AOloopControl_set_wfsmextrlatency_frame.
errno_t AOloopControl_setARPFgain_cli | ( | ) |
CLI function for AOloopControl_setARPFgain.
errno_t AOloopControl_setARPFgainAutoMax_cli | ( | ) |
CLI function for AOloopControl_setARPFgain.
errno_t AOloopControl_setARPFgainAutoMin_cli | ( | ) |
CLI function for AOloopControl_setARPFgain.
errno_t AOloopControl_setgain_cli | ( | ) |
CLI function for AOloopControl_setgain.
errno_t AOloopControl_setgainblock | ( | long | mb, |
float | gainval | ||
) |
errno_t AOloopControl_setgainblock_cli | ( | ) |
CLI function for AOloopControl_setgainblock.
errno_t AOloopControl_setgainrange | ( | long | m0, |
long | m1, | ||
float | gainval | ||
) |
errno_t AOloopControl_setgainrange_cli | ( | ) |
CLI function for AOloopControl_setgainrange.
errno_t AOloopControl_setlimitblock | ( | long | mb, |
float | limitval | ||
) |
errno_t AOloopControl_setlimitblock_cli | ( | ) |
CLI function for AOloopControl_setlimitblock.
errno_t AOloopControl_setlimitrange | ( | long | m0, |
long | m1, | ||
float | limval | ||
) |
errno_t AOloopControl_setlimitrange_cli | ( | ) |
CLI function for AOloopControl_setlimitrange.
errno_t AOloopControl_setLoopNumber_cli | ( | ) |
CLI function for AOloopControl_setLoopNumber.
errno_t AOloopControl_setmaxlimit_cli | ( | ) |
CLI function for AOloopControl_setmaxlimit.
errno_t AOloopControl_setmult_cli | ( | ) |
CLI function for AOloopControl_setmult.
errno_t AOloopControl_setmultfblock | ( | long | mb, |
float | multfval | ||
) |
errno_t AOloopControl_setmultfblock_cli | ( | ) |
CLI function for AOloopControl_setmultfblock.
errno_t AOloopControl_setmultfrange | ( | long | m0, |
long | m1, | ||
float | multfval | ||
) |
errno_t AOloopControl_setmultfrange_cli | ( | ) |
CLI function for AOloopControl_setmultfrange.
errno_t AOloopControl_setparam_cli | ( | ) |
errno_t AOloopControl_setWFSnormfloor_cli | ( | ) |
CLI function for AOloopControl_setWFSnormfloor.
errno_t AOloopControl_sig2Modecoeff_cli | ( | ) |
CLI function for AOloopControl_sig2Modecoeff.
errno_t AOloopControl_WFSzeropoint_sum_update_loop_cli | ( | ) |
CLI function for AOloopControl_WFSzeropoint_sum_update_loop.
errno_t AOloopControl_WFSzpupdate_loop_cli | ( | ) |
CLI function for AOloopControl_WFSzpupdate_loop.
AOLOOPCONTROL_CONF * AOconf |
CLI function for AOloopControl_setframesAve.
AOloopControl_var aoloopcontrol_var |
|
static |
long LOOPNUMBER = 0 |