|
cfitsTK
|
Function prototypes for Adaptive Optics Control loop engine. More...
Go to the source code of this file.
Data Structures | |
| struct | AOLOOPCONTROL_CONF |
Functions | |
| int_fast8_t | init_AOloopControl () |
| Initialize AOloopControl command line interface. More... | |
AOloopControl - 1. INITIALIZATION, configurations | |
Allocate memory, import/export configurations | |
| int_fast8_t | AOloopControl_loadconfigure (long loop, int mode, int level) |
| Load configuation parameters from disk. More... | |
| int_fast8_t | AOloopControl_InitializeMemory () |
| Initialize memory - function called within C code only (no CLI call) More... | |
AOloopControl - 6. REAL TIME COMPUTING ROUTINES | |
calls CPU and GPU processing | |
| int_fast8_t | AOloopControl_WFSzpupdate_loop (const char *IDzpdm_name, const char *IDzrespM_name, const char *IDwfszp_name) |
| int_fast8_t | AOloopControl_WFSzeropoint_sum_update_loop (long loopnb, const char *ID_WFSzp_name, int NBzp, const char *IDwfsref0_name, const char *IDwfsref_name) |
| int_fast8_t | AOloopControl_run () |
| Main loop function. More... | |
| int_fast8_t | ControlMatrixMultiply (float *cm_array, float *imarray, long m, long n, float *outvect) |
| int_fast8_t | set_DM_modes (long loop) |
| Sends modal commands to DM by matrix-vector multiplication. More... | |
| int_fast8_t | set_DM_modesRM (long loop) |
| int_fast8_t | AOcompute (long loop, int normalize) |
| Main computation function, runs once per loop iteration. More... | |
| int_fast8_t | AOloopControl_CompModes_loop (const char *ID_CM_name, const char *ID_WFSref_name, const char *ID_WFSim_name, const char *ID_WFSimtot_name, const char *ID_coeff_name) |
| int_fast8_t | AOloopControl_GPUmodecoeffs2dm_filt_loop (const char *modecoeffs_name, const char *DMmodes_name, int semTrigg, const char *out_name, int GPUindex, long loop, int offloadMode) |
| long | AOloopControl_sig2Modecoeff (const char *WFSim_name, const char *IDwfsref_name, const char *WFSmodes_name, const char *outname) |
| long | AOloopControl_computeWFSresidualimage (long loop, char *IDalpha_name) |
| long | AOloopControl_ComputeOpenLoopModes (long loop) |
| int_fast8_t | AOloopControl_AutoTuneGains (long loop, const char *IDout_name, float GainCoeff, long NBsamples) |
| long | AOloopControl_dm2dm_offload (const char *streamin, const char *streamout, float twait, float offcoeff, float multcoeff) |
AOloopControl - 8. LOOP CONTROL INTERFACE | |
Set parameters | |
| int_fast8_t | AOloopControl_setLoopNumber (long loop) |
| int_fast8_t | AOloopControl_setparam (long loop, const char *key, double value) |
AOloopControl - 8.1. LOOP CONTROL INTERFACE - MAIN CONTROL : LOOP ON/OFF START/STOP/STEP/RESET | |
Set parameters | |
| int_fast8_t | AOloopControl_loopon () |
| int_fast8_t | AOloopControl_loopoff () |
| int_fast8_t | AOloopControl_loopkill () |
| int_fast8_t | AOloopControl_loopstep (long loop, long NBstep) |
| int_fast8_t | AOloopControl_loopreset () |
AOloopControl - 8.2. LOOP CONTROL INTERFACE - DATA LOGGING | |
| int_fast8_t | AOloopControl_logon () |
| int_fast8_t | AOloopControl_logoff () |
AOloopControl - 8.3. LOOP CONTROL INTERFACE - PRIMARY AND FILTERED DM WRITE | |
| int_fast8_t | AOloopControl_DMprimaryWrite_on () |
| int_fast8_t | AOloopControl_DMprimaryWrite_off () |
| int_fast8_t | AOloopControl_DMfilteredWrite_on () |
| int_fast8_t | AOloopControl_DMfilteredWrite_off () |
AOloopControl - 8.4. LOOP CONTROL INTERFACE - INTEGRATOR AUTO TUNING | |
| int_fast8_t | AOloopControl_AUTOTUNE_LIMITS_on () |
| int_fast8_t | AOloopControl_AUTOTUNE_LIMITS_off () |
| int_fast8_t | AOloopControl_set_AUTOTUNE_LIMITS_delta (float AUTOTUNE_LIMITS_delta) |
| int_fast8_t | AOloopControl_set_AUTOTUNE_LIMITS_perc (float AUTOTUNE_LIMITS_perc) |
| int_fast8_t | AOloopControl_set_AUTOTUNE_LIMITS_mcoeff (float AUTOTUNE_LIMITS_mcoeff) |
| int_fast8_t | AOloopControl_AUTOTUNE_GAINS_on () |
| int_fast8_t | AOloopControl_AUTOTUNE_GAINS_off () |
AOloopControl - 8.5. LOOP CONTROL INTERFACE - PREDICTIVE FILTER ON/OFF | |
| int_fast8_t | AOloopControl_ARPFon () |
| int_fast8_t | AOloopControl_ARPFoff () |
AOloopControl - 8.6. LOOP CONTROL INTERFACE - TIMING PARAMETERS | |
| int_fast8_t | AOloopControl_set_loopfrequ (float loopfrequ) |
| int_fast8_t | AOloopControl_set_hardwlatency_frame (float hardwlatency_frame) |
| int_fast8_t | AOloopControl_set_complatency_frame (float complatency_frame) |
| int_fast8_t | AOloopControl_set_wfsmextrlatency_frame (float wfsmextrlatency_frame) |
AOloopControl - 8.7. LOOP CONTROL INTERFACE - CONTROL LOOP PARAMETERS | |
| int_fast8_t | AOloopControl_setgain (float gain) |
| int_fast8_t | AOloopControl_setARPFgain (float gain) |
| int_fast8_t | AOloopControl_setWFSnormfloor (float WFSnormfloor) |
| int_fast8_t | AOloopControl_setmaxlimit (float maxlimit) |
| int_fast8_t | AOloopControl_setmult (float multcoeff) |
| int_fast8_t | AOloopControl_setframesAve (long nbframes) |
| int_fast8_t | AOloopControl_set_modeblock_gain (long loop, long blocknb, float gain, int add) |
| int_fast8_t | AOloopControl_scanGainBlock (long NBblock, long NBstep, float gainStart, float gainEnd, long NBgain) |
AOloopControl - 10. FOCAL PLANE SPECKLE MODULATION / CONTROL | |
custom FP AO routines | |
| int_fast8_t | AOloopControl_OptimizePSF_LO (const char *psfstream_name, const char *IDmodes_name, const char *dmstream_name, long delayframe, long NBframes) |
| int_fast8_t | AOloopControl_DMmodulateAB (const char *IDprobeA_name, const char *IDprobeB_name, const char *IDdmstream_name, const char *IDrespmat_name, const char *IDwfsrefstream_name, double delay, long NBprobes) |
AOloopControl - 11. PROCESS LOG FILES | |
process log files | |
| int_fast8_t | AOloopControl_logprocess_modeval (const char *IDname) |
AOloopControl - 12. OBSOLETE ? | |
| int_fast8_t | AOloopControl_setgainrange (long m0, long m1, float gainval) |
| int_fast8_t | AOloopControl_setlimitrange (long m0, long m1, float limval) |
| int_fast8_t | AOloopControl_setmultfrange (long m0, long m1, float multfval) |
| int_fast8_t | AOloopControl_setgainblock (long mb, float gainval) |
| int_fast8_t | AOloopControl_setlimitblock (long mb, float limitval) |
| int_fast8_t | AOloopControl_setmultfblock (long mb, float multfval) |
| int_fast8_t | AOloopControl_AutoTune () |
Variables | |
| static int | loadcreateshm_log = 0 |
| static FILE * | loadcreateshm_fplog |
Function prototypes for Adaptive Optics Control loop engine.
AO engine uses stream data structure
| int_fast8_t AOcompute | ( | long | loop, |
| int | normalize | ||
| ) |
Main computation function, runs once per loop iteration.
| int_fast8_t AOloopControl_ARPFoff | ( | ) |
| int_fast8_t AOloopControl_ARPFon | ( | ) |
| int_fast8_t AOloopControl_AutoTune | ( | ) |
| int_fast8_t AOloopControl_AUTOTUNE_GAINS_off | ( | ) |
| int_fast8_t AOloopControl_AUTOTUNE_GAINS_on | ( | ) |
| int_fast8_t AOloopControl_AUTOTUNE_LIMITS_off | ( | ) |
| int_fast8_t AOloopControl_AUTOTUNE_LIMITS_on | ( | ) |
| int_fast8_t AOloopControl_AutoTuneGains | ( | long | loop, |
| const char * | IDout_name, | ||
| float | GainCoeff, | ||
| long | NBsamples | ||
| ) |
| int_fast8_t AOloopControl_CompModes_loop | ( | const char * | ID_CM_name, |
| const char * | ID_WFSref_name, | ||
| const char * | ID_WFSim_name, | ||
| const char * | ID_WFSimtot_name, | ||
| const char * | ID_coeff_name | ||
| ) |
| long AOloopControl_ComputeOpenLoopModes | ( | long | loop | ) |
| long AOloopControl_computeWFSresidualimage | ( | long | loop, |
| char * | IDalpha_name | ||
| ) |
Computes average of residual in WFS
| [in] | loop | INT loop number |
| [in] | alpha | FLOAT averaging coefficient |
| long AOloopControl_dm2dm_offload | ( | const char * | streamin, |
| const char * | streamout, | ||
| float | twait, | ||
| float | offcoeff, | ||
| float | multcoeff | ||
| ) |
| int_fast8_t AOloopControl_DMfilteredWrite_off | ( | ) |
| int_fast8_t AOloopControl_DMfilteredWrite_on | ( | ) |
| int_fast8_t AOloopControl_DMmodulateAB | ( | const char * | IDprobeA_name, |
| const char * | IDprobeB_name, | ||
| const char * | IDdmstream_name, | ||
| const char * | IDrespmat_name, | ||
| const char * | IDwfsrefstream_name, | ||
| double | delay, | ||
| long | NBprobes | ||
| ) |
| int_fast8_t AOloopControl_DMprimaryWrite_off | ( | ) |
| int_fast8_t AOloopControl_DMprimaryWrite_on | ( | ) |
| int_fast8_t AOloopControl_GPUmodecoeffs2dm_filt_loop | ( | const char * | modecoeffs_name, |
| const char * | DMmodes_name, | ||
| int | semTrigg, | ||
| const char * | out_name, | ||
| int | GPUindex, | ||
| long | loop, | ||
| int | offloadMode | ||
| ) |
| int_fast8_t AOloopControl_logoff | ( | ) |
| int_fast8_t AOloopControl_logon | ( | ) |
| int_fast8_t AOloopControl_logprocess_modeval | ( | const char * | IDname | ) |
| int_fast8_t AOloopControl_loopkill | ( | ) |
| int_fast8_t AOloopControl_loopoff | ( | ) |
| int_fast8_t AOloopControl_loopon | ( | ) |
| int_fast8_t AOloopControl_loopreset | ( | ) |
| int_fast8_t AOloopControl_loopstep | ( | long | loop, |
| long | NBstep | ||
| ) |
| int_fast8_t AOloopControl_OptimizePSF_LO | ( | const char * | psfstream_name, |
| const char * | IDmodes_name, | ||
| const char * | dmstream_name, | ||
| long | delayframe, | ||
| long | NBframes | ||
| ) |
| int_fast8_t AOloopControl_run | ( | ) |
Main loop function.
Main AO loop function
Load arrays
| int_fast8_t AOloopControl_scanGainBlock | ( | long | NBblock, |
| long | NBstep, | ||
| float | gainStart, | ||
| float | gainEnd, | ||
| long | NBgain | ||
| ) |
| int_fast8_t AOloopControl_set_AUTOTUNE_LIMITS_delta | ( | float | AUTOTUNE_LIMITS_delta | ) |
| int_fast8_t AOloopControl_set_AUTOTUNE_LIMITS_mcoeff | ( | float | AUTOTUNE_LIMITS_mcoeff | ) |
| int_fast8_t AOloopControl_set_AUTOTUNE_LIMITS_perc | ( | float | AUTOTUNE_LIMITS_perc | ) |
| int_fast8_t AOloopControl_set_complatency_frame | ( | float | complatency_frame | ) |
| int_fast8_t AOloopControl_set_hardwlatency_frame | ( | float | hardwlatency_frame | ) |
| int_fast8_t AOloopControl_set_loopfrequ | ( | float | loopfrequ | ) |
| int_fast8_t AOloopControl_set_modeblock_gain | ( | long | loop, |
| long | blocknb, | ||
| float | gain, | ||
| int | add | ||
| ) |
| int_fast8_t AOloopControl_set_wfsmextrlatency_frame | ( | float | wfsmextrlatency_frame | ) |
| int_fast8_t AOloopControl_setARPFgain | ( | float | gain | ) |
| int_fast8_t AOloopControl_setframesAve | ( | long | nbframes | ) |
| int_fast8_t AOloopControl_setgain | ( | float | gain | ) |
| int_fast8_t AOloopControl_setgainblock | ( | long | mb, |
| float | gainval | ||
| ) |
| int_fast8_t AOloopControl_setgainrange | ( | long | m0, |
| long | m1, | ||
| float | gainval | ||
| ) |
| int_fast8_t AOloopControl_setlimitblock | ( | long | mb, |
| float | limitval | ||
| ) |
| int_fast8_t AOloopControl_setlimitrange | ( | long | m0, |
| long | m1, | ||
| float | limval | ||
| ) |
| int_fast8_t AOloopControl_setLoopNumber | ( | long | loop | ) |
append process name with loop number
| int_fast8_t AOloopControl_setmaxlimit | ( | float | maxlimit | ) |
| int_fast8_t AOloopControl_setmult | ( | float | multcoeff | ) |
| int_fast8_t AOloopControl_setmultfblock | ( | long | mb, |
| float | multfval | ||
| ) |
| int_fast8_t AOloopControl_setmultfrange | ( | long | m0, |
| long | m1, | ||
| float | multfval | ||
| ) |
| int_fast8_t AOloopControl_setparam | ( | long | loop, |
| const char * | key, | ||
| double | value | ||
| ) |
| int_fast8_t AOloopControl_setWFSnormfloor | ( | float | WFSnormfloor | ) |
| long AOloopControl_sig2Modecoeff | ( | const char * | WFSim_name, |
| const char * | IDwfsref_name, | ||
| const char * | WFSmodes_name, | ||
| const char * | outname | ||
| ) |
| int_fast8_t AOloopControl_WFSzeropoint_sum_update_loop | ( | long | loopnb, |
| const char * | ID_WFSzp_name, | ||
| int | NBzp, | ||
| const char * | IDwfsref0_name, | ||
| const char * | IDwfsref_name | ||
| ) |
| int_fast8_t AOloopControl_WFSzpupdate_loop | ( | const char * | IDzpdm_name, |
| const char * | IDzrespM_name, | ||
| const char * | IDwfszp_name | ||
| ) |
| int_fast8_t ControlMatrixMultiply | ( | float * | cm_array, |
| float * | imarray, | ||
| long | m, | ||
| long | n, | ||
| float * | outvect | ||
| ) |
| int_fast8_t init_AOloopControl | ( | ) |
Initialize AOloopControl command line interface.
| int_fast8_t set_DM_modes | ( | long | loop | ) |
Sends modal commands to DM by matrix-vector multiplication.
Send modal commands to DM.
Converts mode coefficient to DM map by matrix-vector multiplication
Runs in CPU or GPU.
Takes mode values from aol_DMmode_cmd (ID = aoconfID_cmd_modes)
| int_fast8_t set_DM_modesRM | ( | long | loop | ) |
|
static |
|
static |