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

AO loop Control compute functions. More...

#include <time.h>
#include <string.h>
#include <sched.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_blas.h>
#include <pthread.h>
#include "ImageStreamIO/ImageStreamIO.h"
#include "CommandLineInterface/CLIcore.h"
#include "info/info.h"
#include "AOloopControl/AOloopControl.h"
#include "00CORE/00CORE.h"
#include "COREMOD_memory/COREMOD_memory.h"
#include "COREMOD_iofits/COREMOD_iofits.h"
#include "AOloopControl_IOtools/AOloopControl_IOtools.h"
#include <ncurses.h>
Include dependency graph for AOloopControl_AOcompute.c:

Macros

#define _GNU_SOURCE
 

Functions

int AOloopControl_AOcompute_ProcessInit (long loop)
 
int printstatus_AOloopControl_AOcompute (int loop)
 
int AOloopControl_AOcompute_GUI (long loop, double frequ)
 
errno_t __attribute__ ((hot))
 Compute modes in open loop. More...
 

Variables

static struct timespec tnow
 
static struct timespec tdiff
 
static double tdiffv
 
static double tdiffv00
 
static double tdiffv01
 
static long long aoconfcnt0_contrM_current = -1
 
long aoconfID_imWFS2_active [100]
 
AOLOOPCONTROL_CONFAOconf
 CLI function for AOloopControl_setframesAve. More...
 
AOloopControl_var aoloopcontrol_var
 
double ntimerval [50]
 
double ltimerval [50]
 
static int wcol
 
static int wrow
 
static int AOcompute_WFSlinlimit = 0
 
static int AOloopControl_AOcompute_ProcessInit_Value = 0
 

Detailed Description

AO loop Control compute functions.

Low level compute

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Function Documentation

◆ __attribute__()

errno_t __attribute__ ( (hot)  )

Compute modes in open loop.

Purpose

Main computation routine.
AOcompute() is called inside the aorun loop.
AOcompute main steps are:

  • Read WFS image (call to Read_cam_frame())
  • Process WFS frame
  • Multiply by control matrix

Arguments

Parameters
[in]paramnamelong number of the loop
[in]paramnameint normalize

◆ AOloopControl_AOcompute_GUI()

int AOloopControl_AOcompute_GUI ( long  loop,
double  frequ 
)

◆ AOloopControl_AOcompute_ProcessInit()

int AOloopControl_AOcompute_ProcessInit ( long  loop)

◆ printstatus_AOloopControl_AOcompute()

int printstatus_AOloopControl_AOcompute ( int  loop)

Variable Documentation

◆ AOcompute_WFSlinlimit

int AOcompute_WFSlinlimit = 0
static

◆ AOconf

CLI function for AOloopControl_setframesAve.

◆ aoconfcnt0_contrM_current

long long aoconfcnt0_contrM_current = -1
static

◆ aoconfID_imWFS2_active

long aoconfID_imWFS2_active[100]

◆ AOloopControl_AOcompute_ProcessInit_Value

int AOloopControl_AOcompute_ProcessInit_Value = 0
static

◆ aoloopcontrol_var

AOloopControl_var aoloopcontrol_var

◆ ltimerval

double ltimerval[50]

◆ ntimerval

double ntimerval[50]

◆ tdiff

struct timespec tdiff
static

◆ tdiffv

double tdiffv
static

◆ tdiffv00

double tdiffv00
static

◆ tdiffv01

double tdiffv01
static

◆ tnow

struct timespec tnow
static

◆ wcol

int wcol
static

◆ wrow

int wrow
static