cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
FPAOloopControl.h
Go to the documentation of this file.
1 #ifndef _FPAOLOOPCONTROL_H
2 #define _FPAOLOOPCONTROL_H
3 
4 
5 
6 
7 typedef struct
8 {
9  char name[80];
10 
11  // DM stream
12  char dmCname[80];
13  char dmRMname[80];
14  long sizexDM;
15  long sizeyDM;
16  long sizeDM;
17  long long DMupdatecnt;
18 
19  // Focal plane image stream
20  char WFSname[80];
21  long sizexWFS;
22  long sizeyWFS;
23  long sizeWFS;
24  long long WFScnt;
25 
26  // timing info
27  float loopfrequ; // Hz
28  float hardwlatency; // hardware latency between DM command and WFS response [sec]
29  float hardwlatency_frame; // hardware latency between DM command and WFS response
30 
31 
32  // ============= RESPONSE CALIBRATION ===================
33  float fpim_normFlux; // total focal plane flux in the absence of a coronagraph
34  float fpim_Xcent;
35  float fpim_Ycent;
36 
37 
38  // ======= LEVEL 1 CALIBRATION ==============
39  // Each actuator influence function has the same amplitude, phase is ramp set accordingly to actuator position
40  // to be acquired without coronagraph
41 
43 
44 
45 
46 void __attribute__((constructor)) libinit_FPAOloopControl();
47 
48 
49 
50 
52  int mode
53 );
54 
55 
57  long loop,
58  int mode,
59  int level
60 );
61 
62 
63 int FPAOloopControl_showparams(long loop);
64 
65 int FPAOloopControl_set_hardwlatency_frame(float hardwlatency_frame);
66 
67 
68 
69 
70 
71 // RM Calibration
72 
73 long FPAO_Measure_WFSrespC(long loop, long delayfr, long delayRM1us, long NBave,
74  long NBexcl, char *IDpokeC_name, char *IDoutC_name, int FPAOinitMode,
75  long NBcycle);
76 
77 
78 // level 1
79 // Each actuator influence function has the same amplitude, phase is ramp set accordingly to actuator position
80 // to be acquired without coronagraph
81 long FPAOloopControl_MeasureResp_level1(float ampl, long delayfr,
82  long delayRM1us, long NBave, long NBexcl, int FPAOinitMode, long NBiter);
83 
84 long FPAOloopControl_MakeLinComb_seq(char *IDpC_name, long xsize0, long ysize0,
85  long NBmaster0, long N, char *IDout_name);
86 
87 #endif
float hardwlatency
Definition: FPAOloopControl.h:28
long sizexWFS
Definition: FPAOloopControl.h:21
int FPAOloopControl_set_hardwlatency_frame(float hardwlatency_frame)
Definition: FPAOloopControl.c:778
Definition: FPAOloopControl.h:7
float fpim_Ycent
Definition: FPAOloopControl.h:35
long FPAOloopControl_MakeLinComb_seq(char *IDpC_name, long xsize0, long ysize0, long NBmaster0, long N, char *IDout_name)
Definition: FPAOloopControl.c:1326
long sizeyWFS
Definition: FPAOloopControl.h:22
void __attribute__((constructor)) libinit_FPAOloopControl()
Initialize module.
Definition: ImageStreamIO.c:77
int errno_t
Definition: AOloopControl_IOtools.h:20
float fpim_normFlux
Definition: FPAOloopControl.h:33
float hardwlatency_frame
Definition: FPAOloopControl.h:29
long FPAO_Measure_WFSrespC(long loop, long delayfr, long delayRM1us, long NBave, long NBexcl, char *IDpokeC_name, char *IDoutC_name, int FPAOinitMode, long NBcycle)
Definition: FPAOloopControl.c:984
long sizeyDM
Definition: FPAOloopControl.h:15
errno_t FPAOloopControl_InitializeMemory(int mode)
long sizexDM
Definition: FPAOloopControl.h:14
long long DMupdatecnt
Definition: FPAOloopControl.h:17
long sizeDM
Definition: FPAOloopControl.h:16
int FPAOloopControl_showparams(long loop)
Definition: FPAOloopControl.c:743
long sizeWFS
Definition: FPAOloopControl.h:23
errno_t FPAOloopControl_loadconfigure(long loop, int mode, int level)
float fpim_Xcent
Definition: FPAOloopControl.h:34
float loopfrequ
Definition: FPAOloopControl.h:27
long long WFScnt
Definition: FPAOloopControl.h:24
long FPAOloopControl_MeasureResp_level1(float ampl, long delayfr, long delayRM1us, long NBave, long NBexcl, int FPAOinitMode, long NBiter)
Definition: FPAOloopControl.c:1242