cfitsTK
SCExAO_DM.h
Go to the documentation of this file.
1 #ifndef _AOSYSTSIM_H
2 #define _AOSYSTSIM_H
3 
4 
5 
6 #define DISPCOMB_FILENAME_CONF "/tmp/dmdispcombconf.conf.shm"
7 #define DMTURBCONF_FILENAME "/tmp/dmturb.conf.shm"
8 
9 
10 
11 typedef struct
12 {
13  int ON;
14 
15  long loopcnt;
16  long updatecnt;
17 
18  int busy; // if set to 1, hold off and wait
19  float MAXVOLT; // maximum voltage on DM
20 
21  int status;
22 
23  struct timespec tstart;
24  struct timespec tend;
25 
26  long moninterval; // [us]
28 
29 
30 
31 typedef struct
32 {
33  int on;
34  long cnt;
35 
36 
37  double wspeed; // wind speed [m/s]
38  double ampl; // [um RMS]
39  double LOcoeff; // 0 for full correction of low orders, 1 for no correction
40 
41  long tint; // interval between consecutive DM updates [us]
42 
43 
44  double simtime;
45 
46  struct timespec tstart;
47  struct timespec tend;
48 
50 
51 
52 
53 
54 int init_AOsystSim();
55 int SCExAO_DM_disp2V(long IDdisp, long IDvolt);
57 int SCEXAO_DM_loadconf();
59 int SCExAO_DM_CombineChannels(int mode);
63 
67 int SCExAO_DM_dmturb_wspeed(double wspeed);
68 int SCExAO_DM_dmturb_ampl(double ampl);
69 int SCExAO_DM_dmturb_LOcoeff(double LOcoeff);
70 int SCExAO_DM_dmturb_tint(long tint);
72 int SCExAO_DM_turb();
73 
74 
75 #endif
int SCEXAO_DM_unloadconf()
Definition: SCExAO_DM.c:374
double simtime
Definition: SCExAO_DM.h:44
int init_AOsystSim()
Module initialization.
Definition: AOsystSim.c:174
long updatecnt
Definition: SCExAO_DM.h:16
int SCExAO_DM_dmturb_wspeed(double wspeed)
Definition: SCExAO_DM.c:764
int status
Definition: SCExAO_DM.h:21
float MAXVOLT
Definition: SCExAO_DM.h:19
int SCExAO_DM_dmturboff()
Definition: SCExAO_DM.c:755
int SCExAO_DM_dmturb_ampl(double ampl)
Definition: SCExAO_DM.c:773
Definition: SCExAO_DM.h:31
long cnt
Definition: SCExAO_DM.h:34
int busy
Definition: SCExAO_DM.h:18
int SCExAO_DM_dmturb_tint(long tint)
Definition: SCExAO_DM.c:791
int SCExAO_DM_dmturb_LOcoeff(double LOcoeff)
Definition: SCExAO_DM.c:782
int SCEXAO_DMturb_loadconf()
Definition: SCExAO_DM.c:726
int ON
Definition: SCExAO_DM.h:13
long tint
Definition: SCExAO_DM.h:41
int SCExAO_DM_dmturb_printstatus()
Definition: SCExAO_DM.c:802
int SCEXAO_DMturb_createconf()
Definition: SCExAO_DM.c:663
int SCExAO_DM_dmtrigoff()
Definition: SCExAO_DM.c:628
double ampl
Definition: SCExAO_DM.h:38
double wspeed
Definition: SCExAO_DM.h:37
long moninterval
Definition: SCExAO_DM.h:26
long loopcnt
Definition: SCExAO_DM.h:15
int SCExAO_DM_CombineChannels(int mode)
Definition: SCExAO_DM.c:397
int on
Definition: SCExAO_DM.h:33
int SCExAO_DM_turb()
Definition: SCExAO_DM.c:830
int SCExAO_DM_dmdispcombstatus()
Definition: SCExAO_DM.c:577
int SCExAO_DM_disp2V(long IDdisp, long IDvolt)
Definition: SCExAO_DM.c:264
Definition: SCExAO_DM.h:11
int SCExAO_DM_dmdispcomboff()
Definition: SCExAO_DM.c:620
int SCEXAO_DM_createconf()
Definition: SCExAO_DM.c:293
int SCEXAO_DM_loadconf()
Definition: SCExAO_DM.c:345
double LOcoeff
Definition: SCExAO_DM.h:39