cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
AOloopControl_aorun.h
Go to the documentation of this file.
1 #ifndef _AOLOOPCONTROL_aorun_H
2 #define _AOLOOPCONTROL_aorun_H
3 
4 
5 
6 #define MAX_NUMBER_TIMER 100
7 
8 
9 
10 typedef struct
11 {
12  /* SETTINGS / CONF ********************************************** */
13 
14  char respMname[80];
15  char contrMname[80];
16  char name[80];
17  int_fast8_t CMMODE;
20  /* STATUS ******************************************************** */
21 
22  int_fast8_t init;
23  uint_fast64_t cnt;
24  uint_fast64_t cntmax;
25  uint_fast64_t DMupdatecnt;
27  int_fast8_t init_RM;
28  int_fast8_t init_CM;
29  int_fast8_t init_CMc;
30  int_fast8_t init_wfsref0;
31  int_fast8_t initmapping;
32  uint64_t LOOPiteration;
35  /* CONTROL ******************************************************** */
36 
37  int_fast8_t kill;
38  int_fast8_t on;
39  int_fast8_t DMprimaryWriteON;
40  int_fast8_t DMfilteredWriteON;
42  float maxlimit;
43  float mult;
44  float gain;
46  // predictive control (auto-regressive predictive filter)
47  int_fast8_t ARPFon;
48  float ARPFgain;
51 
53 
54 
55 
56 
57 
58 
59 
60 typedef struct
61 {
62  float loopfrequ;
64  // Hardware latency = time from DM command issued to WFS response changed
65  float hardwlatency;
68  // Computation time for direct WFS->DM mode through single matrix multiplication
69  float complatency;
72  // Computation time for full computation including open loop computation
76  int_fast8_t status;
77  int_fast8_t statusM;
78  int_fast8_t statusM1;
80  int_fast8_t GPUstatus[50];
81  uint_fast16_t NBtimer;
82  struct timespec timer[MAX_NUMBER_TIMER];
85 
86 
87 
88 
89 typedef struct
90 {
91  char WFSname[80];
92 
93  uint_fast32_t sizexWFS;
94  uint_fast32_t sizeyWFS;
95  uint_fast32_t sizeWFS;
96  uint_fast32_t activeWFScnt;
97  uint_fast32_t sizeWFS_active[100];
98  uint_fast64_t WFScnt;
99  uint_fast64_t WFScntRM;
101  int_fast8_t WFSnormalize;
102  int_fast8_t WFSrefzero;
103  float WFSnormfloor;
104  float WFStotalflux;
107 
108 
109 
110 
111 
112 #endif
int_fast8_t statusM1
Definition: AOloopControl_aorun.h:78
int_fast8_t kill
Definition: AOloopControl_aorun.h:37
uint_fast64_t DMupdatecnt
Definition: AOloopControl_aorun.h:25
uint_fast64_t cntmax
Definition: AOloopControl_aorun.h:24
int_fast8_t init_RM
Definition: AOloopControl_aorun.h:27
int_fast8_t CMMODE
Definition: AOloopControl_aorun.h:17
float WFStotalflux
Definition: AOloopControl_aorun.h:104
uint_fast32_t activeWFScnt
Definition: AOloopControl_aorun.h:96
int_fast8_t init_CM
Definition: AOloopControl_aorun.h:28
int_fast8_t DMprimaryWriteON
Definition: AOloopControl_aorun.h:39
float gain
Definition: AOloopControl_aorun.h:44
uint_fast32_t sizeyWFS
Definition: AOloopControl_aorun.h:94
Definition: AOloopControl_aorun.h:60
int_fast8_t statusM
Definition: AOloopControl_aorun.h:77
float wfsmextrlatency_frame
Definition: AOloopControl_aorun.h:74
float wfsmextrlatency
Definition: AOloopControl_aorun.h:73
float ARPFgainAutoMin
Definition: AOloopControl_aorun.h:49
uint64_t LOOPiteration
Definition: AOloopControl_aorun.h:32
int_fast8_t initmapping
Definition: AOloopControl_aorun.h:31
float complatency_frame
Definition: AOloopControl_aorun.h:70
int_fast8_t init_CMc
Definition: AOloopControl_aorun.h:29
uint_fast64_t cnt
Definition: AOloopControl_aorun.h:23
int_fast8_t init
Definition: AOloopControl_aorun.h:22
int_fast8_t on
Definition: AOloopControl_aorun.h:38
int_fast8_t init_wfsref0
Definition: AOloopControl_aorun.h:30
float hardwlatency
Definition: AOloopControl_aorun.h:65
float ARPFgainAutoMax
Definition: AOloopControl_aorun.h:50
float maxlimit
Definition: AOloopControl_aorun.h:42
uint_fast32_t sizexWFS
Definition: AOloopControl_aorun.h:93
float ARPFgain
Definition: AOloopControl_aorun.h:48
float loopfrequ
Definition: AOloopControl_aorun.h:62
Definition: AOloopControl_aorun.h:10
#define MAX_NUMBER_TIMER
Definition: AOloopControl_aorun.h:6
uint_fast32_t sizeWFS
Definition: AOloopControl_aorun.h:95
int_fast8_t status
Definition: AOloopControl_aorun.h:76
int_fast8_t DMfilteredWriteON
Definition: AOloopControl_aorun.h:40
uint_fast64_t WFScnt
Definition: AOloopControl_aorun.h:98
int_fast8_t WFSnormalize
Definition: AOloopControl_aorun.h:101
int_fast8_t WFSrefzero
Definition: AOloopControl_aorun.h:102
Definition: AOloopControl_aorun.h:89
float mult
Definition: AOloopControl_aorun.h:43
float WFSnormfloor
Definition: AOloopControl_aorun.h:103
uint_fast64_t WFScntRM
Definition: AOloopControl_aorun.h:99
float complatency
Definition: AOloopControl_aorun.h:69
int_fast8_t ARPFon
Definition: AOloopControl_aorun.h:47
float hardwlatency_frame
Definition: AOloopControl_aorun.h:66
uint_fast16_t NBtimer
Definition: AOloopControl_aorun.h:81