cfitsTK
AOLOOPCONTROL_CONF Struct Reference

#include <AOloopControl.h>

Data Fields

AOLOOPCONTROL_CONF: TIMING

LOOP Timing info

float loopfrequ
 
float hardwlatency
 
float hardwlatency_frame
 
float complatency
 
float complatency_frame
 
float wfsmextrlatency
 
float wfsmextrlatency_frame
 
int_fast8_t status
 
int_fast8_t statusM
 
int_fast8_t statusM1
 
int_fast8_t GPUstatus [50]
 
uint_fast16_t NBtimer
 
struct timespec timer [MAX_NUMBER_TIMER]
 
AOLOOPCONTROL_CONF: SETUP & INITIALIZATION STATE
int_fast8_t init
 
uint_fast64_t cnt
 
uint_fast64_t cntmax
 
uint_fast64_t DMupdatecnt
 
int_fast8_t kill
 
char name [80]
 
int_fast8_t init_RM
 
int_fast8_t init_CM
 
int_fast8_t init_CMc
 
int_fast8_t initmapping
 
char respMname [80]
 
char contrMname [80]
 
AOLOOPCONTROL_CONF: WFS CAMERA
char WFSname [80]
 WFS stream name. More...
 
uint_fast32_t sizexWFS
 
uint_fast32_t sizeyWFS
 
uint_fast32_t sizeWFS
 
uint_fast32_t activeWFScnt
 
uint_fast32_t sizeWFS_active [100]
 
uint_fast64_t WFScnt
 
uint_fast64_t WFScntRM
 
int_fast8_t WFSnormalize
 
float WFSnormfloor
 
float WFStotalflux
 
AOLOOPCONTROL_CONF: DEFORMABLE MIRROR
char dmCname [80]
 
char dmdispname [80]
 
char dmRMname [80]
 
uint_fast8_t DMMODE
 
uint_fast32_t sizexDM
 
uint_fast32_t sizeyDM
 
uint_fast32_t sizeDM
 
uint_fast32_t activeDMcnt
 
uint_fast32_t sizeDM_active
 
AOLOOPCONTROL_CONF: CONTROL MODES
char DMmodesname [80]
 
uint_fast16_t DMmodesNBblock
 
uint_fast16_t NBmodes_block [100]
 
uint_fast16_t modeBlockIndex [MAXNBMODES]
 
uint_fast16_t indexmaxMB [maxNBMB]
 
uint_fast16_t NBDMmodes
 
int_fast8_t init_wfsref0
 
float maxlimit
 
float mult
 
AOLOOPCONTROL_CONF: LOOP CONTROL
int_fast8_t on
 
float gain
 
uint_fast16_t framesAve
 
int_fast8_t DMprimaryWriteON
 
int_fast8_t CMMODE
 
int_fast8_t DMfilteredWriteON
 
int_fast8_t AUTOTUNE_LIMITS_ON
 
float AUTOTUNE_LIMITS_perc
 
float AUTOTUNE_LIMITS_mcoeff
 
float AUTOTUNE_LIMITS_delta
 
int_fast8_t AUTOTUNE_GAINS_ON
 
float AUTOTUNEGAINS_updateGainCoeff
 
float AUTOTUNEGAINS_evolTimescale
 
long AUTOTUNEGAINS_NBsamples
 
AOLOOPCONTROL_CONF: PREDICTIVE CONTROL
int_fast8_t ARPFon
 
float ARPFgain
 
AOLOOPCONTROL_CONF: COMPUTATION MODES
int_fast8_t GPU0
 
int_fast8_t GPU1
 
int_fast8_t GPU2
 
int_fast8_t GPU3
 
int_fast8_t GPU4
 
int_fast8_t GPU5
 
int_fast8_t GPU6
 
int_fast8_t GPU7
 
int_fast8_t GPUall
 
int_fast8_t GPUusesem
 
int_fast8_t AOLCOMPUTE_TOTAL_ASYNC
 
AOLOOPCONTROL_CONF: BASIC LOOP TELEMETRY AND PERFORMANCE
double RMSmodes
 
double RMSmodesCumul
 
uint_fast64_t RMSmodesCumulcnt
 
double block_PFresrms [100]
 
double block_OLrms [100]
 
double block_Crms [100]
 
double block_WFSrms [100]
 
double block_limFrac [100]
 
double ALL_OLrms
 
double ALL_Crms
 
double ALL_WFSrms
 
double ALL_limFrac
 
uint_fast32_t AveStats_NBpt
 
double blockave_PFresrms [100]
 
double blockave_OLrms [100]
 
double blockave_Crms [100]
 
double blockave_WFSrms [100]
 
double blockave_limFrac [100]
 
double ALLave_OLrms
 
double ALLave_Crms
 
double ALLave_WFSrms
 
double ALLave_limFrac
 

Detailed Description

Main AOloopControl structure.

Holds key parameters for the AO engine as well as higher level variables describing the state of the control loop

Field Documentation

uint_fast32_t AOLOOPCONTROL_CONF::activeDMcnt

number of active actuators

uint_fast32_t AOLOOPCONTROL_CONF::activeWFScnt

Number of active WFS pixels

double AOLOOPCONTROL_CONF::ALL_Crms
double AOLOOPCONTROL_CONF::ALL_limFrac
double AOLOOPCONTROL_CONF::ALL_OLrms
double AOLOOPCONTROL_CONF::ALL_WFSrms
double AOLOOPCONTROL_CONF::ALLave_Crms
double AOLOOPCONTROL_CONF::ALLave_limFrac
double AOLOOPCONTROL_CONF::ALLave_OLrms
double AOLOOPCONTROL_CONF::ALLave_WFSrms
int_fast8_t AOLOOPCONTROL_CONF::AOLCOMPUTE_TOTAL_ASYNC
float AOLOOPCONTROL_CONF::ARPFgain
int_fast8_t AOLOOPCONTROL_CONF::ARPFon
int_fast8_t AOLOOPCONTROL_CONF::AUTOTUNE_GAINS_ON
float AOLOOPCONTROL_CONF::AUTOTUNE_LIMITS_delta
float AOLOOPCONTROL_CONF::AUTOTUNE_LIMITS_mcoeff
int_fast8_t AOLOOPCONTROL_CONF::AUTOTUNE_LIMITS_ON
float AOLOOPCONTROL_CONF::AUTOTUNE_LIMITS_perc
float AOLOOPCONTROL_CONF::AUTOTUNEGAINS_evolTimescale

Evolution timescale, beyond which errors stop growing

long AOLOOPCONTROL_CONF::AUTOTUNEGAINS_NBsamples

Number of samples

float AOLOOPCONTROL_CONF::AUTOTUNEGAINS_updateGainCoeff

Averaging coefficient (usually about 0.1)

uint_fast32_t AOLOOPCONTROL_CONF::AveStats_NBpt
double AOLOOPCONTROL_CONF::block_Crms[100]
double AOLOOPCONTROL_CONF::block_limFrac[100]
double AOLOOPCONTROL_CONF::block_OLrms[100]
double AOLOOPCONTROL_CONF::block_PFresrms[100]
double AOLOOPCONTROL_CONF::block_WFSrms[100]
double AOLOOPCONTROL_CONF::blockave_Crms[100]
double AOLOOPCONTROL_CONF::blockave_limFrac[100]
double AOLOOPCONTROL_CONF::blockave_OLrms[100]
double AOLOOPCONTROL_CONF::blockave_PFresrms[100]
double AOLOOPCONTROL_CONF::blockave_WFSrms[100]
int_fast8_t AOLOOPCONTROL_CONF::CMMODE

Combined matrix. 0: matrix is WFS pixels -> modes, 1: matrix is WFS pixels -> DM actuators

uint_fast64_t AOLOOPCONTROL_CONF::cnt
uint_fast64_t AOLOOPCONTROL_CONF::cntmax
float AOLOOPCONTROL_CONF::complatency

Computation latency [sec]

float AOLOOPCONTROL_CONF::complatency_frame

Computation latency (main loop) from WFS image reception to DM command output [frame]

char AOLOOPCONTROL_CONF::contrMname[80]
char AOLOOPCONTROL_CONF::dmCname[80]
char AOLOOPCONTROL_CONF::dmdispname[80]
int_fast8_t AOLOOPCONTROL_CONF::DMfilteredWriteON

Filtered write to DM

uint_fast8_t AOLOOPCONTROL_CONF::DMMODE

0: zonal DM, 1: modal DM

char AOLOOPCONTROL_CONF::DMmodesname[80]
uint_fast16_t AOLOOPCONTROL_CONF::DMmodesNBblock

number of mode blocks (read from parameter)

int_fast8_t AOLOOPCONTROL_CONF::DMprimaryWriteON

primary DM write

char AOLOOPCONTROL_CONF::dmRMname[80]
uint_fast64_t AOLOOPCONTROL_CONF::DMupdatecnt
uint_fast16_t AOLOOPCONTROL_CONF::framesAve

number of WFS frames to average

float AOLOOPCONTROL_CONF::gain

overall loop gain

int_fast8_t AOLOOPCONTROL_CONF::GPU0
int_fast8_t AOLOOPCONTROL_CONF::GPU1
int_fast8_t AOLOOPCONTROL_CONF::GPU2
int_fast8_t AOLOOPCONTROL_CONF::GPU3
int_fast8_t AOLOOPCONTROL_CONF::GPU4
int_fast8_t AOLOOPCONTROL_CONF::GPU5
int_fast8_t AOLOOPCONTROL_CONF::GPU6
int_fast8_t AOLOOPCONTROL_CONF::GPU7
int_fast8_t AOLOOPCONTROL_CONF::GPUall
int_fast8_t AOLOOPCONTROL_CONF::GPUstatus[50]

GPU status index

int_fast8_t AOLOOPCONTROL_CONF::GPUusesem
float AOLOOPCONTROL_CONF::hardwlatency

hardware latency between DM command and WFS response [sec]

float AOLOOPCONTROL_CONF::hardwlatency_frame

hardware latency between DM command and WFS response [frame]

uint_fast16_t AOLOOPCONTROL_CONF::indexmaxMB[maxNBMB]
int_fast8_t AOLOOPCONTROL_CONF::init

Has the structure been initialized ?

int_fast8_t AOLOOPCONTROL_CONF::init_CM

Control Matrix loaded

int_fast8_t AOLOOPCONTROL_CONF::init_CMc

Combined control matrix computed

int_fast8_t AOLOOPCONTROL_CONF::init_RM

Response Matrix loaded

int_fast8_t AOLOOPCONTROL_CONF::init_wfsref0
int_fast8_t AOLOOPCONTROL_CONF::initmapping
int_fast8_t AOLOOPCONTROL_CONF::kill

set to 1 to kill computation loop

float AOLOOPCONTROL_CONF::loopfrequ

Loop frequency [Hz]

float AOLOOPCONTROL_CONF::maxlimit
uint_fast16_t AOLOOPCONTROL_CONF::modeBlockIndex[MAXNBMODES]

block index to which each mode belongs (computed by AOloopControl_loadconfigure)

float AOLOOPCONTROL_CONF::mult
char AOLOOPCONTROL_CONF::name[80]
uint_fast16_t AOLOOPCONTROL_CONF::NBDMmodes
uint_fast16_t AOLOOPCONTROL_CONF::NBmodes_block[100]

number of modes within each block (computed from files by AOloopControl_loadconfigure)

uint_fast16_t AOLOOPCONTROL_CONF::NBtimer

Number of active timers - 1 timer per status value

int_fast8_t AOLOOPCONTROL_CONF::on

goes to 1 when loop starts, put to 0 to turn loop off

char AOLOOPCONTROL_CONF::respMname[80]
double AOLOOPCONTROL_CONF::RMSmodes
double AOLOOPCONTROL_CONF::RMSmodesCumul
uint_fast64_t AOLOOPCONTROL_CONF::RMSmodesCumulcnt
uint_fast32_t AOLOOPCONTROL_CONF::sizeDM

DM total image (= x size * y size)

uint_fast32_t AOLOOPCONTROL_CONF::sizeDM_active

only takes into account DM actuators that are active/in use

uint_fast32_t AOLOOPCONTROL_CONF::sizeWFS

WFS total image (= x size * y size)

uint_fast32_t AOLOOPCONTROL_CONF::sizeWFS_active[100]

Only takes into account WFS pixels in use/active for each slice

uint_fast32_t AOLOOPCONTROL_CONF::sizexDM

DM x size

uint_fast32_t AOLOOPCONTROL_CONF::sizexWFS

WFS image x size

uint_fast32_t AOLOOPCONTROL_CONF::sizeyDM

DM y size

uint_fast32_t AOLOOPCONTROL_CONF::sizeyWFS

WFS image y size

int_fast8_t AOLOOPCONTROL_CONF::status

loop status for main loop

int_fast8_t AOLOOPCONTROL_CONF::statusM

loop status for modal loop

int_fast8_t AOLOOPCONTROL_CONF::statusM1

loop status for modal loop

struct timespec AOLOOPCONTROL_CONF::timer[MAX_NUMBER_TIMER]

Timers

uint_fast64_t AOLOOPCONTROL_CONF::WFScnt

WFS stream counter 0 value at WFS image read

uint_fast64_t AOLOOPCONTROL_CONF::WFScntRM

WFS stream counter 0 value at WFS image read (RM acqu mode)

float AOLOOPCONTROL_CONF::wfsmextrlatency

WFS mode extraction latency [sec]

float AOLOOPCONTROL_CONF::wfsmextrlatency_frame

WFS mode extraction latency [frame]

char AOLOOPCONTROL_CONF::WFSname[80]

WFS stream name.

Usually set to aol_wfsim by function AOloopControl_loadconfigure

int_fast8_t AOLOOPCONTROL_CONF::WFSnormalize

1 if each WFS frame should be normalized to 1

float AOLOOPCONTROL_CONF::WFSnormfloor

normalized by dividing by (total + AOconf[loop].WFSnormfloor)*AOconf[loop].WFSsize

float AOLOOPCONTROL_CONF::WFStotalflux

Total WFS flux after dark subtraction


The documentation for this struct was generated from the following file: