cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
AOloopControl_wfs.c File Reference

AO loop Control functions wave front sensor and deformable mirror. More...

#include <string.h>
#include <gsl/gsl_blas.h>
#include <pthread.h>
#include "CommandLineInterface/CLIcore.h"
#include "AOloopControl/AOloopControl.h"
#include "00CORE/00CORE.h"
#include "info/info.h"
#include "COREMOD_memory/COREMOD_memory.h"
#include "COREMOD_iofits/COREMOD_iofits.h"
#include "AOloopControl_IOtools/AOloopControl_IOtools.h"
Include dependency graph for AOloopControl_wfs.c:

Macros

#define _GNU_SOURCE
 
#define NB_AOloopcontrol   10
 

Functions

errno_t AOloopControl_WFSzpupdate_loop (const char *IDzpdm_name, const char *IDzrespM_name, const char *IDwfszp_name)
 WFS zero point update. More...
 
errno_t AOloopControl_WFSzeropoint_sum_update_loop (__attribute__((unused)) long loopnb, const char *ID_WFSzp_name, int NBzp, const char *IDwfsref0_name, const char *IDwfsref_name)
 
errno_t ControlMatrixMultiply (float *cm_array, float *imarray, long m, long n, float *outvect)
 CPU based matrix-vector multiplication - when no GPU. More...
 
imageID AOloopControl_computeWFSresidualimage (long loop, char *IDalpha_name)
 Compute WFS residual image. More...
 

Variables

static struct timespec tdiff
 
static double tdiffv
 
AOLOOPCONTROL_CONFAOconf
 CLI function for AOloopControl_setframesAve. More...
 
AOloopControl_var aoloopcontrol_var
 

Detailed Description

AO loop Control functions wave front sensor and deformable mirror.

REAL TIME COMPUTING ROUTINES

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

◆ NB_AOloopcontrol

#define NB_AOloopcontrol   10

Function Documentation

◆ AOloopControl_computeWFSresidualimage()

imageID AOloopControl_computeWFSresidualimage ( long  loop,
char *  IDalpha_name 
)

Compute WFS residual image.

Purpose

Computes average of residual in WFS

Arguments

Parameters
[in]loopINT loop number
[in]alphaFLOAT averaging coefficient

Output files

  • aol_wfsres_ave
  • aol_wfsres_ave
  • aol_wfsresm
  • aol_wfsresm_ave
  • aol_wfsres_rms

◆ AOloopControl_WFSzeropoint_sum_update_loop()

errno_t AOloopControl_WFSzeropoint_sum_update_loop ( __attribute__((unused)) long  loopnb,
const char *  ID_WFSzp_name,
int  NBzp,
const char *  IDwfsref0_name,
const char *  IDwfsref_name 
)

◆ AOloopControl_WFSzpupdate_loop()

errno_t AOloopControl_WFSzpupdate_loop ( const char *  IDzpdm_name,
const char *  IDzrespM_name,
const char *  IDwfszp_name 
)

WFS zero point update.

◆ ControlMatrixMultiply()

errno_t ControlMatrixMultiply ( float *  cm_array,
float *  imarray,
long  m,
long  n,
float *  outvect 
)

CPU based matrix-vector multiplication - when no GPU.

Variable Documentation

◆ AOconf

CLI function for AOloopControl_setframesAve.

◆ aoloopcontrol_var

AOloopControl_var aoloopcontrol_var

◆ tdiff

struct timespec tdiff
static

◆ tdiffv

double tdiffv
static